| /** |
| * 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") |
| |