1 /*** Autogenerated by WIDL 1.6 from include/naptypes.idl - Do not edit ***/
2 
3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
5 #endif
6 
7 #include <rpc.h>
8 #include <rpcndr.h>
9 
10 #ifndef COM_NO_WINDOWS_H
11 #include <windows.h>
12 #include <ole2.h>
13 #endif
14 
15 #ifndef __naptypes_h__
16 #define __naptypes_h__
17 
18 /* Forward declarations */
19 
20 /* Headers for imported files */
21 
22 #include <oaidl.h>
23 #include <ocidl.h>
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 #include <winapifamily.h>
30 
31 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
32 /*****************************************************************************
33  * INapTypes interface (v0.0)
34  */
35 #ifndef __INapTypes_INTERFACE_DEFINED__
36 #define __INapTypes_INTERFACE_DEFINED__
37 
38 extern RPC_IF_HANDLE INapTypes_v0_0_c_ifspec;
39 extern RPC_IF_HANDLE INapTypes_v0_0_s_ifspec;
40 #define freshSoHRequest (0x1)
41 
42 #define shaFixup (0x1)
43 
44 #define percentageNotSupported (101)
45 
46 #define maxSoHAttributeCount (100)
47 
48 #define maxSoHAttributeSize (4000)
49 
50 #define minNetworkSoHSize (12)
51 
52 #define maxNetworkSoHSize (4000)
53 
54 #define maxDwordCountPerSoHAttribute (maxSoHAttributeSize / sizeof(DWORD))
55 
56 #define maxIpv4CountPerSoHAttribute (maxSoHAttributeSize / 4)
57 
58 #define maxIpv6CountPerSoHAttribute (maxSoHAttributeSize / 16)
59 
60 #define maxStringLength (1024)
61 
62 #define maxStringLengthInBytes ((maxStringLength + 1) * sizeof(WCHAR))
63 
64 #define maxSystemHealthEntityCount (20)
65 
66 #define maxEnforcerCount (20)
67 
68 #define maxPrivateDataSize (200)
69 
70 #define maxConnectionCountPerEnforcer (20)
71 
72 #define maxCachedSoHCount ((maxSystemHealthEntityCount * maxEnforcerCount) * maxConnectionCountPerEnforcer)
73 
74 #define failureCategoryCount (5)
75 
76 #define ComponentTypeEnforcementClientSoH (0x1)
77 
78 #define ComponentTypeEnforcementClientRp (0x2)
79 
80 typedef enum tagIsolationState {
81     isolationStateNotRestricted = 1,
82     isolationStateInProbation = 2,
83     isolationStateRestrictedAccess = 3
84 } IsolationState;
85 typedef enum tagExtendedIsolationState {
86     extendedIsolationStateNoData = 0x0,
87     extendedIsolationStateTransition = 0x1,
88     extendedIsolationStateInfected = 0x2,
89     extendedIsolationStateUnknown = 0x3
90 } ExtendedIsolationState;
91 typedef enum tagNapTracingLevel {
92     tracingLevelUndefined = 0,
93     tracingLevelBasic = 1,
94     tracingLevelAdvanced = 2,
95     tracingLevelDebug = 3
96 } NapTracingLevel;
97 typedef enum tagFailureCategory {
98     failureCategoryNone = 0,
99     failureCategoryOther = 1,
100     failureCategoryClientComponent = 2,
101     failureCategoryClientCommunication = 3,
102     failureCategoryServerComponent = 4,
103     failureCategoryServerCommunication = 5
104 } FailureCategory;
105 typedef enum tagFixupState {
106     fixupStateSuccess = 0,
107     fixupStateInProgress = 1,
108     fixupStateCouldNotUpdate = 2
109 } FixupState;
110 typedef enum tagNapNotifyType {
111     napNotifyTypeUnknown = 0,
112     napNotifyTypeServiceState = 1,
113     napNotifyTypeQuarState = 2
114 } NapNotifyType;
115 typedef enum tagRemoteConfigurationType {
116     remoteConfigTypeMachine = 1,
117     remoteConfigTypeConfigBlob = 2
118 } RemoteConfigurationType;
119 typedef FILETIME ProbationTime;
120 typedef UINT32 MessageId;
121 typedef UINT32 NapComponentId;
122 typedef NapComponentId SystemHealthEntityId;
123 typedef NapComponentId EnforcementEntityId;
124 typedef struct tagCountedString {
125     UINT16 length;
126     WCHAR *string;
127 } CountedString;
128 typedef CountedString StringCorrelationId;
129 typedef struct tagIsolationInfo {
130     IsolationState isolationState;
131     ProbationTime probEndTime;
132     CountedString failureUrl;
133 } IsolationInfo;
134 typedef struct tagIsolationInfoEx {
135     IsolationState isolationState;
136     ExtendedIsolationState extendedIsolationState;
137     ProbationTime probEndTime;
138     CountedString failureUrl;
139 } IsolationInfoEx;
140 typedef struct tagFailureCategoryMapping {
141     WINBOOL mappingCompliance[5];
142 } FailureCategoryMapping;
143 typedef UINT16 SystemHealthEntityCount;
144 typedef UINT16 EnforcementEntityCount;
145 typedef struct tagCorrelationId {
146     GUID connId;
147     FILETIME timeStamp;
148 } CorrelationId;
149 typedef GUID ConnectionId;
150 typedef UINT8 Percentage;
151 typedef struct tagResultCodes {
152     UINT16 count;
153     HRESULT *results;
154 } ResultCodes;
155 typedef struct tagIpv4Address {
156     BYTE addr[4];
157 } Ipv4Address;
158 typedef struct tagIpv6Address {
159     BYTE addr[16];
160 } Ipv6Address;
161 typedef struct tagFixupInfo {
162     FixupState state;
163     Percentage percentage;
164     ResultCodes resultCodes;
165     MessageId fixupMsgId;
166 } FixupInfo;
167 typedef struct tagSystemHealthAgentState {
168     SystemHealthEntityId id;
169     ResultCodes shaResultCodes;
170     FailureCategory failureCategory;
171     FixupInfo fixupInfo;
172 } SystemHealthAgentState;
173 typedef struct tagSoHAttribute {
174     UINT16 type;
175     UINT16 size;
176     BYTE *value;
177 } SoHAttribute;
178 typedef struct tagSoH {
179     UINT16 count;
180     SoHAttribute *attributes;
181 } SoH;
182 typedef struct tagSoH SoHRequest;
183 typedef struct tagSoH SoHResponse;
184 typedef struct tagNetworkSoH {
185     UINT16 size;
186     BYTE *data;
187 } NetworkSoH;
188 typedef struct tagNetworkSoH NetworkSoHRequest;
189 typedef struct tagNetworkSoH NetworkSoHResponse;
190 typedef struct tagPrivateData {
191     UINT16 size;
192     BYTE *data;
193 } PrivateData;
194 typedef struct tagNapComponentRegistrationInfo {
195     NapComponentId id;
196     CountedString friendlyName;
197     CountedString description;
198     CountedString version;
199     CountedString vendorName;
200     CLSID infoClsid;
201     CLSID configClsid;
202     FILETIME registrationDate;
203     UINT32 componentType;
204 } NapComponentRegistrationInfo;
205 
206 #endif  /* __INapTypes_INTERFACE_DEFINED__ */
207 
208 #endif
209 /* Begin additional prototypes for all interfaces */
210 
211 
212 /* End additional prototypes */
213 
214 #ifdef __cplusplus
215 }
216 #endif
217 
218 #endif /* __naptypes_h__ */
219