1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 | #ifndef _INC_NDATTRIB
|
---|
7 | #define _INC_NDATTRIB
|
---|
8 |
|
---|
9 | #if (_WIN32_WINNT >= 0x0600)
|
---|
10 |
|
---|
11 | /* In ndhelper.idl
|
---|
12 | typedef struct tagDIAG_SOCKADDR {
|
---|
13 | USHORT family;
|
---|
14 | CHAR data[126];
|
---|
15 | } DIAG_SOCKADDR, *PDIAG_SOCKADDR;
|
---|
16 | */
|
---|
17 |
|
---|
18 | #ifdef __cplusplus
|
---|
19 | extern "C" {
|
---|
20 | #endif
|
---|
21 |
|
---|
22 | typedef struct tagDIAG_SOCKADDR DIAG_SOCKADDR;
|
---|
23 |
|
---|
24 | typedef enum tagATTRIBUTE_TYPE {
|
---|
25 | AT_INVALID = 0,
|
---|
26 | AT_BOOLEAN,
|
---|
27 | AT_INT8,
|
---|
28 | AT_UINT8,
|
---|
29 | AT_INT16,
|
---|
30 | AT_UINT16,
|
---|
31 | AT_INT32,
|
---|
32 | AT_UINT32,
|
---|
33 | AT_INT64,
|
---|
34 | AT_UINT64,
|
---|
35 | AT_STRING,
|
---|
36 | AT_GUID,
|
---|
37 | AT_LIFE_TIME,
|
---|
38 | AT_SOCKADDR,
|
---|
39 | AT_OCTET_STRING
|
---|
40 | } ATTRIBUTE_TYPE;
|
---|
41 |
|
---|
42 | typedef enum tagREPAIR_SCOPE {
|
---|
43 | RS_SYSTEM = 0,
|
---|
44 | RS_USER = 1,
|
---|
45 | RS_APPLICATION = 2,
|
---|
46 | RS_PROCESS = 3
|
---|
47 | } REPAIR_SCOPE;
|
---|
48 |
|
---|
49 | typedef enum tagREPAIR_RISK {
|
---|
50 | RR_NOROLLBACK = 0,
|
---|
51 | RR_ROLLBACK = 1,
|
---|
52 | RR_NORISK = 2
|
---|
53 | } REPAIR_RISK;
|
---|
54 |
|
---|
55 | typedef enum tagUI_INFO_TYPE {
|
---|
56 | UIT_NONE = 0,
|
---|
57 | UIT_SHELL_COMMAND,
|
---|
58 | UIT_HELP_PANE,
|
---|
59 | UIT_DUI
|
---|
60 | } UI_INFO_TYPE;
|
---|
61 |
|
---|
62 | typedef enum tagPROBLEM_TYPE {
|
---|
63 | PT_LOW_HEALTH = 1,
|
---|
64 | PT_LOWER_HEALTH = 2,
|
---|
65 | PT_DOWN_STREAM_HEALTH = 4,
|
---|
66 | PT_HIGH_UTILIZATION = 8,
|
---|
67 | PT_HIGHER_UTILIZATION = 16,
|
---|
68 | PT_UP_STREAM_UTILIZATION = 32
|
---|
69 | } PROBLEM_TYPE;
|
---|
70 |
|
---|
71 | typedef enum tagREPAIR_STATUS {
|
---|
72 | RS_NOT_IMPLEMENTED = 0,
|
---|
73 | RS_REPAIRED = 1,
|
---|
74 | RS_UNREPAIRED = 2,
|
---|
75 | RS_DEFERRED = 3,
|
---|
76 | RS_USER_ACTION = 4
|
---|
77 | } REPAIR_STATUS;
|
---|
78 |
|
---|
79 | typedef struct tagLIFE_TIME {
|
---|
80 | FILETIME startTime;
|
---|
81 | FILETIME endTime;
|
---|
82 | } LIFE_TIME, *PLIFE_TIME;
|
---|
83 |
|
---|
84 | typedef struct tagOCTET_STRING {
|
---|
85 | DWORD dwLength;
|
---|
86 | BYTE *lpValue;
|
---|
87 | } OCTET_STRING, *POCTET_STRING;
|
---|
88 |
|
---|
89 | typedef struct tagUiInfo {
|
---|
90 | UI_INFO_TYPE type;
|
---|
91 | __C89_NAMELESS union {
|
---|
92 | LPWSTR pwzNull;
|
---|
93 | ShellCommandInfo ShellInfo;
|
---|
94 | LPWSTR pwzHelpURL;
|
---|
95 | LPWSTR pwzDui;
|
---|
96 | };
|
---|
97 | } UiInfo, *PUiInfo;
|
---|
98 |
|
---|
99 | typedef struct tagRepairInfo {
|
---|
100 | GUID guid;
|
---|
101 | LPWSTR pwszClassName;
|
---|
102 | LPWSTR pwszDescription;
|
---|
103 | DWORD sidType;
|
---|
104 | __LONG32 cost;
|
---|
105 | ULONG flags;
|
---|
106 | REPAIR_SCOPE scope;
|
---|
107 | REPAIR_RISK risk;
|
---|
108 | UiInfo UiInfo;
|
---|
109 | } RepairInfo, *PRepairInfo;
|
---|
110 |
|
---|
111 | typedef struct tagShellCommandInfo {
|
---|
112 | LPWSTR pwszOperation;
|
---|
113 | LPWSTR pwszFile;
|
---|
114 | LPWSTR pwszParameters;
|
---|
115 | LPWSTR pwszDirectory;
|
---|
116 | ULONG nShowCmd;
|
---|
117 | } ShellCommandInfo, *PShellCommandInfo;
|
---|
118 |
|
---|
119 | typedef struct tagHELPER_ATTRIBUTE {
|
---|
120 | LPWSTR pwszName;
|
---|
121 | ATTRIBUTE_TYPE type;
|
---|
122 | __C89_NAMELESS union {
|
---|
123 | WINBOOL Boolean;
|
---|
124 | char Char;
|
---|
125 | byte Byte;
|
---|
126 | short Short;
|
---|
127 | WORD Word;
|
---|
128 | int Int;
|
---|
129 | DWORD DWord;
|
---|
130 | LONGLONG Int64;
|
---|
131 | ULONGLONG UInt64;
|
---|
132 | LPWSTR PWStr;
|
---|
133 | GUID Guid;
|
---|
134 | LIFE_TYPE LifeTime;
|
---|
135 | DIAG_SOCKADDR Address;
|
---|
136 | OCTET_STRING OctetString;
|
---|
137 | };
|
---|
138 | } HELPER_ATTRIBUTE;
|
---|
139 |
|
---|
140 | #ifdef __cplusplus
|
---|
141 | }
|
---|
142 | #endif
|
---|
143 |
|
---|
144 |
|
---|
145 | #if (_WIN32_WINNT >= 0x0601)
|
---|
146 |
|
---|
147 | #ifdef __cplusplus
|
---|
148 | extern "C" {
|
---|
149 | #endif
|
---|
150 |
|
---|
151 | #define RCF_ISLEAF 0x1
|
---|
152 | #define RCF_ISCONFIRMED 0x2
|
---|
153 | #define RCF_ISTHIRDPARTY 0x4
|
---|
154 |
|
---|
155 | typedef struct tagRepairInfoEx {
|
---|
156 | RepairInfo repair;
|
---|
157 | USHORT repairRank;
|
---|
158 | } RepairInfoEx, *PRepairInfoEx;
|
---|
159 |
|
---|
160 | typedef struct tagRootCauseInfo {
|
---|
161 | LPWSTR pwszDescription;
|
---|
162 | GUID rootCauseID;
|
---|
163 | DWORD rootCauseFlags;
|
---|
164 | GUID networkInterfaceID;
|
---|
165 | RepairInfoEx *pRepairs;
|
---|
166 | USHORT repairCount;
|
---|
167 | } RootCauseInfo;
|
---|
168 |
|
---|
169 | #ifdef __cplusplus
|
---|
170 | }
|
---|
171 | #endif
|
---|
172 |
|
---|
173 | #endif /*(_WIN32_WINNT >= 0x0601)*/
|
---|
174 |
|
---|
175 |
|
---|
176 | #endif /*(_WIN32_WINNT >= 0x0600)*/
|
---|
177 |
|
---|
178 | #endif /*_INC_NDATTRIB*/
|
---|
179 |
|
---|