blob: ad596cf75193c66a5ce62a34112d9be3a6016c5f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
//*********************************************************************
//* Microsoft Windows **
//* Copyright(c) Microsoft Corp., 1994 **
//*********************************************************************
#ifndef _PARSE_H_
#define _PARSE_H_
#define KYWD_ID_KEYNAME 1
#define KYWD_ID_VALUENAME 2
#define KYWD_ID_CATEGORY 3
#define KYWD_ID_POLICY 4
#define KYWD_ID_PART 5
#define KYWD_ID_CHECKBOX 6
#define KYWD_ID_TEXT 7
#define KYWD_ID_EDITTEXT 8
#define KYWD_ID_NUMERIC 9
#define KYWD_ID_DEFCHECKED 10
#define KYWD_ID_MAXLENGTH 11
#define KYWD_ID_MIN 12
#define KYWD_ID_MAX 13
#define KYWD_ID_SPIN 14
#define KYWD_ID_REQUIRED 15
#define KYWD_ID_EDITTEXT_DEFAULT 16
#define KYWD_ID_COMBOBOX_DEFAULT 17
#define KYWD_ID_NUMERIC_DEFAULT 18
#define KYWD_ID_OEMCONVERT 19
#define KYWD_ID_CLASS 20
#define KYWD_ID_USER 21
#define KYWD_ID_MACHINE 22
#define KYWD_ID_TXTCONVERT 23
#define KYWD_ID_VALUE 24
#define KYWD_ID_VALUEON 25
#define KYWD_ID_VALUEOFF 26
#define KYWD_ID_ACTIONLIST 27
#define KYWD_ID_ACTIONLISTON 28
#define KYWD_ID_ACTIONLISTOFF 29
#define KYWD_ID_DELETE 30
#define KYWD_ID_COMBOBOX 31
#define KYWD_ID_SUGGESTIONS 32
#define KYWD_ID_DROPDOWNLIST 33
#define KYWD_ID_NAME 34
#define KYWD_ID_ITEMLIST 35
#define KYWD_ID_DEFAULT 36
#define KYWD_ID_SOFT 37
#define KYWD_ID_STRINGSSECT 38
#define KYWD_ID_LISTBOX 39
#define KYWD_ID_VALUEPREFIX 40
#define KYWD_ID_ADDITIVE 41
#define KYWD_ID_EXPLICITVALUE 42
#define KYWD_ID_VERSION 43
#define KYWD_ID_GT 44
#define KYWD_ID_GTE 45
#define KYWD_ID_LT 46
#define KYWD_ID_LTE 47
#define KYWD_ID_EQ 48
#define KYWD_ID_NE 49
#define KYWD_ID_END 50
#define KYWD_ID_NOSORT 51
#define KYWD_ID_EXPANDABLETEXT 52
#define KYWD_DONE 100
#define DEFAULT_TMP_BUF_SIZE 512
#define WORDBUFSIZE 255
#define FILEBUFSIZE 8192
#define CI_FREE 0
#define CI_UNLOCKANDFREE 1
#define CI_FREETABLE 2
#define CLEANLISTSIZE 4
typedef struct tagKEYWORDINFO {
LPCTSTR pWord;
UINT nID;
} KEYWORDINFO;
typedef struct tagCLEANUPINFO {
HGLOBAL hMem;
UINT nAction;
} CLEANUPINFO;
typedef struct tagENTRYDATA {
BOOL fHasKey;
BOOL fHasValue;
BOOL fParentHasKey;
} ENTRYDATA;
typedef struct tagPARSEPROCSTRUCT {
HANDLE hFile; // file handle of .INF file
HGLOBAL hTable; // handle of current table
TABLEENTRY *pTableEntry; // pointer to struct for current entry
DWORD *pdwBufSize; // size of buffer of pTableEntry
ENTRYDATA *pData; // used to maintain state between calls to parseproc
KEYWORDINFO *pEntryCmpList;
} PARSEPROCSTRUCT;
typedef UINT (* PARSEPROC) (HWND,UINT,PARSEPROCSTRUCT *,BOOL *,BOOL *);
typedef struct tagPARSEENTRYSTRUCT {
HANDLE hFile;
TABLEENTRY * pParent;
DWORD dwEntryType;
KEYWORDINFO *pEntryCmpList;
KEYWORDINFO *pTypeCmpList;
PARSEPROC pParseProc;
DWORD dwStructSize;
BOOL fHasSubtable;
BOOL fParentHasKey;
} PARSEENTRYSTRUCT;
#endif // _PARSE_H_
|