source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/naptypes.idl

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 5.4 KB
Line 
1/**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5
6import "oaidl.idl";
7import "ocidl.idl";
8
9cpp_quote("#include <winapifamily.h>")
10cpp_quote("")
11cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
12
13[pointer_default (unique)]
14interface INapTypes {
15 const UINT8 freshSoHRequest = 0x1;
16 const UINT8 shaFixup = 0x1;
17 const UINT8 percentageNotSupported = 101;
18
19 const UINT16 maxSoHAttributeCount = 100;
20 const UINT16 maxSoHAttributeSize = 4000;
21 const UINT16 minNetworkSoHSize = 12;
22 const UINT16 maxNetworkSoHSize = 4000;
23 const UINT16 maxDwordCountPerSoHAttribute = maxSoHAttributeSize / sizeof (DWORD);
24 const UINT16 maxIpv4CountPerSoHAttribute = maxSoHAttributeSize / 4;
25 const UINT16 maxIpv6CountPerSoHAttribute = maxSoHAttributeSize / 16;
26 const UINT16 maxStringLength = 1024;
27 const UINT16 maxStringLengthInBytes = (maxStringLength + 1) * sizeof (WCHAR);
28 const UINT16 maxSystemHealthEntityCount = 20;
29 const UINT16 maxEnforcerCount = 20;
30 const UINT16 maxPrivateDataSize = 200;
31 const UINT16 maxConnectionCountPerEnforcer = 20;
32 const UINT16 maxCachedSoHCount = maxSystemHealthEntityCount * maxEnforcerCount * maxConnectionCountPerEnforcer;
33 const UINT16 failureCategoryCount = 5;
34
35 const UINT32 ComponentTypeEnforcementClientSoH = 0x1;
36 const UINT32 ComponentTypeEnforcementClientRp = 0x2;
37
38 typedef enum tagIsolationState {
39 isolationStateNotRestricted = 1,
40 isolationStateInProbation = 2,
41 isolationStateRestrictedAccess = 3
42 } IsolationState;
43
44 typedef enum tagExtendedIsolationState {
45 extendedIsolationStateNoData = 0x0,
46 extendedIsolationStateTransition = 0x1,
47 extendedIsolationStateInfected = 0x2,
48 extendedIsolationStateUnknown = 0x3
49 } ExtendedIsolationState;
50
51 typedef enum tagNapTracingLevel {
52 tracingLevelUndefined = 0,
53 tracingLevelBasic = 1,
54 tracingLevelAdvanced = 2,
55 tracingLevelDebug = 3
56 } NapTracingLevel;
57
58 typedef enum tagFailureCategory {
59 failureCategoryNone = 0,
60 failureCategoryOther = 1,
61 failureCategoryClientComponent = 2,
62 failureCategoryClientCommunication = 3,
63 failureCategoryServerComponent = 4,
64 failureCategoryServerCommunication = 5
65 } FailureCategory;
66
67 typedef enum tagFixupState {
68 fixupStateSuccess = 0,
69 fixupStateInProgress = 1,
70 fixupStateCouldNotUpdate = 2
71 } FixupState;
72
73 typedef enum tagNapNotifyType {
74 napNotifyTypeUnknown = 0,
75 napNotifyTypeServiceState = 1,
76 napNotifyTypeQuarState = 2
77 } NapNotifyType;
78
79 typedef enum tagRemoteConfigurationType {
80 remoteConfigTypeMachine = 1,
81 remoteConfigTypeConfigBlob
82 } RemoteConfigurationType;
83
84 typedef FILETIME ProbationTime;
85 typedef UINT32 MessageId;
86 typedef UINT32 NapComponentId;
87 typedef NapComponentId SystemHealthEntityId;
88 typedef NapComponentId EnforcementEntityId;
89
90 typedef struct tagCountedString {
91 UINT16 length;
92 [size_is (length + 1), string] WCHAR *string;
93 } CountedString;
94 typedef CountedString StringCorrelationId;
95
96 typedef struct tagIsolationInfo {
97 IsolationState isolationState;
98 ProbationTime probEndTime;
99 CountedString failureUrl;
100 } IsolationInfo;
101
102 typedef struct tagIsolationInfoEx {
103 IsolationState isolationState;
104 ExtendedIsolationState extendedIsolationState;
105 ProbationTime probEndTime;
106 CountedString failureUrl;
107 } IsolationInfoEx;
108
109 typedef struct tagFailureCategoryMapping {
110 BOOL mappingCompliance[failureCategoryCount];
111 } FailureCategoryMapping;
112
113 typedef [range (0, maxSystemHealthEntityCount)] UINT16 SystemHealthEntityCount;
114 typedef [range (0, maxEnforcerCount)] UINT16 EnforcementEntityCount;
115
116 typedef struct tagCorrelationId {
117 GUID connId;
118 FILETIME timeStamp;
119 } CorrelationId;
120
121 typedef GUID ConnectionId;
122
123 typedef [range (0, percentageNotSupported)] UINT8 Percentage;
124
125 typedef struct tagResultCodes {
126 [range (0, maxDwordCountPerSoHAttribute)] UINT16 count;
127 [size_is (count)] HRESULT *results;
128 } ResultCodes;
129
130 typedef struct tagIpv4Address {
131 BYTE addr[4];
132 } Ipv4Address;
133
134 typedef struct tagIpv6Address {
135 BYTE addr[16];
136 } Ipv6Address;
137
138 typedef struct tagFixupInfo {
139 FixupState state;
140 Percentage percentage;
141 ResultCodes resultCodes;
142 MessageId fixupMsgId;
143 } FixupInfo;
144
145 typedef struct tagSystemHealthAgentState {
146 SystemHealthEntityId id;
147 ResultCodes shaResultCodes;
148 FailureCategory failureCategory;
149 FixupInfo fixupInfo;
150 } SystemHealthAgentState;
151
152 typedef struct tagSoHAttribute {
153 UINT16 type;
154 [range (0, maxSoHAttributeSize)] UINT16 size;
155 [size_is (size)] BYTE *value;
156 } SoHAttribute;
157
158 typedef struct tagSoH {
159 [range (0, maxSoHAttributeCount)] UINT16 count;
160 [size_is (count)] SoHAttribute *attributes;
161 } SoH, SoHRequest, SoHResponse;
162
163 typedef struct tagNetworkSoH {
164 [range (minNetworkSoHSize, maxNetworkSoHSize)] UINT16 size;
165 [size_is (size)] BYTE *data;
166 } NetworkSoH, NetworkSoHRequest, NetworkSoHResponse;
167
168 typedef struct tagPrivateData {
169 [range (0, maxPrivateDataSize)] UINT16 size;
170 [size_is (size)] BYTE *data;
171 } PrivateData;
172
173 typedef struct tagNapComponentRegistrationInfo {
174 NapComponentId id;
175 CountedString friendlyName;
176 CountedString description;
177 CountedString version;
178 CountedString vendorName;
179 CLSID infoClsid;
180 CLSID configClsid;
181 FILETIME registrationDate;
182 UINT32 componentType;
183 } NapComponentRegistrationInfo;
184};
185cpp_quote("#endif")
186
Note: See TracBrowser for help on using the repository browser.