123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- /**
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER within this package.
- */
- import "oaidl.idl";
- import "ocidl.idl";
- cpp_quote("#include <winapifamily.h>")
- cpp_quote("")
- cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
- [pointer_default (unique)]
- interface INapTypes {
- const UINT8 freshSoHRequest = 0x1;
- const UINT8 shaFixup = 0x1;
- const UINT8 percentageNotSupported = 101;
- const UINT16 maxSoHAttributeCount = 100;
- const UINT16 maxSoHAttributeSize = 4000;
- const UINT16 minNetworkSoHSize = 12;
- const UINT16 maxNetworkSoHSize = 4000;
- const UINT16 maxDwordCountPerSoHAttribute = maxSoHAttributeSize / sizeof (DWORD);
- const UINT16 maxIpv4CountPerSoHAttribute = maxSoHAttributeSize / 4;
- const UINT16 maxIpv6CountPerSoHAttribute = maxSoHAttributeSize / 16;
- const UINT16 maxStringLength = 1024;
- const UINT16 maxStringLengthInBytes = (maxStringLength + 1) * sizeof (WCHAR);
- const UINT16 maxSystemHealthEntityCount = 20;
- const UINT16 maxEnforcerCount = 20;
- const UINT16 maxPrivateDataSize = 200;
- const UINT16 maxConnectionCountPerEnforcer = 20;
- const UINT16 maxCachedSoHCount = maxSystemHealthEntityCount * maxEnforcerCount * maxConnectionCountPerEnforcer;
- const UINT16 failureCategoryCount = 5;
- const UINT32 ComponentTypeEnforcementClientSoH = 0x1;
- const UINT32 ComponentTypeEnforcementClientRp = 0x2;
- typedef enum tagIsolationState {
- isolationStateNotRestricted = 1,
- isolationStateInProbation = 2,
- isolationStateRestrictedAccess = 3
- } IsolationState;
- typedef enum tagExtendedIsolationState {
- extendedIsolationStateNoData = 0x0,
- extendedIsolationStateTransition = 0x1,
- extendedIsolationStateInfected = 0x2,
- extendedIsolationStateUnknown = 0x3
- } ExtendedIsolationState;
- typedef enum tagNapTracingLevel {
- tracingLevelUndefined = 0,
- tracingLevelBasic = 1,
- tracingLevelAdvanced = 2,
- tracingLevelDebug = 3
- } NapTracingLevel;
- typedef enum tagFailureCategory {
- failureCategoryNone = 0,
- failureCategoryOther = 1,
- failureCategoryClientComponent = 2,
- failureCategoryClientCommunication = 3,
- failureCategoryServerComponent = 4,
- failureCategoryServerCommunication = 5
- } FailureCategory;
- typedef enum tagFixupState {
- fixupStateSuccess = 0,
- fixupStateInProgress = 1,
- fixupStateCouldNotUpdate = 2
- } FixupState;
- typedef enum tagNapNotifyType {
- napNotifyTypeUnknown = 0,
- napNotifyTypeServiceState = 1,
- napNotifyTypeQuarState = 2
- } NapNotifyType;
- typedef enum tagRemoteConfigurationType {
- remoteConfigTypeMachine = 1,
- remoteConfigTypeConfigBlob
- } RemoteConfigurationType;
- typedef FILETIME ProbationTime;
- typedef UINT32 MessageId;
- typedef UINT32 NapComponentId;
- typedef NapComponentId SystemHealthEntityId;
- typedef NapComponentId EnforcementEntityId;
- typedef struct tagCountedString {
- UINT16 length;
- [size_is (length + 1), string] WCHAR *string;
- } CountedString;
- typedef CountedString StringCorrelationId;
- typedef struct tagIsolationInfo {
- IsolationState isolationState;
- ProbationTime probEndTime;
- CountedString failureUrl;
- } IsolationInfo;
- typedef struct tagIsolationInfoEx {
- IsolationState isolationState;
- ExtendedIsolationState extendedIsolationState;
- ProbationTime probEndTime;
- CountedString failureUrl;
- } IsolationInfoEx;
- typedef struct tagFailureCategoryMapping {
- BOOL mappingCompliance[failureCategoryCount];
- } FailureCategoryMapping;
- typedef [range (0, maxSystemHealthEntityCount)] UINT16 SystemHealthEntityCount;
- typedef [range (0, maxEnforcerCount)] UINT16 EnforcementEntityCount;
- typedef struct tagCorrelationId {
- GUID connId;
- FILETIME timeStamp;
- } CorrelationId;
- typedef GUID ConnectionId;
- typedef [range (0, percentageNotSupported)] UINT8 Percentage;
- typedef struct tagResultCodes {
- [range (0, maxDwordCountPerSoHAttribute)] UINT16 count;
- [size_is (count)] HRESULT *results;
- } ResultCodes;
- typedef struct tagIpv4Address {
- BYTE addr[4];
- } Ipv4Address;
- typedef struct tagIpv6Address {
- BYTE addr[16];
- } Ipv6Address;
- typedef struct tagFixupInfo {
- FixupState state;
- Percentage percentage;
- ResultCodes resultCodes;
- MessageId fixupMsgId;
- } FixupInfo;
- typedef struct tagSystemHealthAgentState {
- SystemHealthEntityId id;
- ResultCodes shaResultCodes;
- FailureCategory failureCategory;
- FixupInfo fixupInfo;
- } SystemHealthAgentState;
- typedef struct tagSoHAttribute {
- UINT16 type;
- [range (0, maxSoHAttributeSize)] UINT16 size;
- [size_is (size)] BYTE *value;
- } SoHAttribute;
- typedef struct tagSoH {
- [range (0, maxSoHAttributeCount)] UINT16 count;
- [size_is (count)] SoHAttribute *attributes;
- } SoH, SoHRequest, SoHResponse;
- typedef struct tagNetworkSoH {
- [range (minNetworkSoHSize, maxNetworkSoHSize)] UINT16 size;
- [size_is (size)] BYTE *data;
- } NetworkSoH, NetworkSoHRequest, NetworkSoHResponse;
- typedef struct tagPrivateData {
- [range (0, maxPrivateDataSize)] UINT16 size;
- [size_is (size)] BYTE *data;
- } PrivateData;
- typedef struct tagNapComponentRegistrationInfo {
- NapComponentId id;
- CountedString friendlyName;
- CountedString description;
- CountedString version;
- CountedString vendorName;
- CLSID infoClsid;
- CLSID configClsid;
- FILETIME registrationDate;
- UINT32 componentType;
- } NapComponentRegistrationInfo;
- };
- cpp_quote("#endif")
|