80 lines
1.4 KiB
C
80 lines
1.4 KiB
C
//
|
|
// hwcompp.h
|
|
//
|
|
|
|
//
|
|
// Include the interface exported in miglib.lib:
|
|
//
|
|
|
|
#include "miglib.h"
|
|
#undef HASHTABLE
|
|
|
|
//
|
|
// Enumeration tracking macros
|
|
//
|
|
|
|
#ifdef DEBUG
|
|
|
|
INT g_EnumsActive;
|
|
INT g_NetEnumsActive;
|
|
|
|
#define START_ENUM g_EnumsActive++
|
|
#define END_ENUM g_EnumsActive--
|
|
#define START_NET_ENUM g_NetEnumsActive++
|
|
#define END_NET_ENUM g_NetEnumsActive--
|
|
|
|
#else
|
|
|
|
#define START_ENUM
|
|
#define END_ENUM
|
|
#define START_NET_ENUM
|
|
#define END_NET_ENUM
|
|
|
|
#endif
|
|
|
|
//
|
|
// Hardware ID tables
|
|
//
|
|
|
|
extern HASHTABLE g_NeededHardwareIds;
|
|
extern HASHTABLE g_UiSuppliedIds;
|
|
|
|
//
|
|
// GrowBuffer access
|
|
//
|
|
|
|
#define GETPNPIDTEXT(offset) ((PCTSTR) (g_PnpIdText.Buf + offset))
|
|
#define GETINFFILENAME(offset) ((PCTSTR) (g_InfFileName.Buf + offset))
|
|
|
|
//
|
|
// Typedefs
|
|
//
|
|
|
|
typedef struct {
|
|
HANDLE File;
|
|
HASHITEM InfFileOffset;
|
|
BOOL UnsupportedDevice;
|
|
} SAVE_ENUM_PARAMS, *PSAVE_ENUM_PARAMS;
|
|
|
|
|
|
//
|
|
// Constants
|
|
//
|
|
|
|
#define STATE_ENUM_FIRST_KEY 0
|
|
#define STATE_ENUM_NEXT_KEY 1
|
|
#define STATE_ENUM_FIRST_VALUE 2
|
|
#define STATE_ENUM_NEXT_VALUE 3
|
|
#define STATE_EVALUATE_VALUE 4
|
|
#define STATE_VALUE_CLEANUP 5
|
|
#define STATE_ENUM_CHECK_KEY 6
|
|
|
|
#define STATE_ENUM_FIRST_HARDWARE 0
|
|
#define STATE_ENUM_NEXT_HARDWARE 1
|
|
#define STATE_EVALUATE_HARDWARE 2
|
|
|
|
#define ENUM_USER_SUPPLIED_FLAG_NEEDED (ENUM_WANT_USER_SUPPLIED_FLAG|ENUM_WANT_USER_SUPPLIED_ONLY|ENUM_DONT_WANT_USER_SUPPLIED)
|
|
|
|
#define MAX_PNP_ID 1024
|
|
#define HWCOMPDAT_SIGNATURE "HwCompDat-v2"
|