/** * This file has no copyright assigned and is placed in the Public Domain. * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ #ifndef _INC_NDATTRIB #define _INC_NDATTRIB #if (_WIN32_WINNT >= 0x0600) /* In ndhelper.idl typedef struct tagDIAG_SOCKADDR { USHORT family; CHAR data[126]; } DIAG_SOCKADDR, *PDIAG_SOCKADDR; */ #ifdef __cplusplus extern "C" { #endif typedef struct tagDIAG_SOCKADDR DIAG_SOCKADDR; typedef enum tagATTRIBUTE_TYPE { AT_INVALID = 0, AT_BOOLEAN, AT_INT8, AT_UINT8, AT_INT16, AT_UINT16, AT_INT32, AT_UINT32, AT_INT64, AT_UINT64, AT_STRING, AT_GUID, AT_LIFE_TIME, AT_SOCKADDR, AT_OCTET_STRING } ATTRIBUTE_TYPE; typedef enum tagREPAIR_SCOPE { RS_SYSTEM = 0, RS_USER = 1, RS_APPLICATION = 2, RS_PROCESS = 3 } REPAIR_SCOPE; typedef enum tagREPAIR_RISK { RR_NOROLLBACK = 0, RR_ROLLBACK = 1, RR_NORISK = 2 } REPAIR_RISK; typedef enum tagUI_INFO_TYPE { UIT_NONE = 0, UIT_SHELL_COMMAND, UIT_HELP_PANE, UIT_DUI } UI_INFO_TYPE; typedef enum tagPROBLEM_TYPE { PT_LOW_HEALTH = 1, PT_LOWER_HEALTH = 2, PT_DOWN_STREAM_HEALTH = 4, PT_HIGH_UTILIZATION = 8, PT_HIGHER_UTILIZATION = 16, PT_UP_STREAM_UTILIZATION = 32 } PROBLEM_TYPE; typedef enum tagREPAIR_STATUS { RS_NOT_IMPLEMENTED = 0, RS_REPAIRED = 1, RS_UNREPAIRED = 2, RS_DEFERRED = 3, RS_USER_ACTION = 4 } REPAIR_STATUS; typedef struct tagLIFE_TIME { FILETIME startTime; FILETIME endTime; } LIFE_TIME, *PLIFE_TIME; typedef struct tagOCTET_STRING { DWORD dwLength; BYTE *lpValue; } OCTET_STRING, *POCTET_STRING; typedef struct tagUiInfo { UI_INFO_TYPE type; __C89_NAMELESS union { LPWSTR pwzNull; ShellCommandInfo ShellInfo; LPWSTR pwzHelpURL; LPWSTR pwzDui; }; } UiInfo, *PUiInfo; typedef struct tagRepairInfo { GUID guid; LPWSTR pwszClassName; LPWSTR pwszDescription; DWORD sidType; __LONG32 cost; ULONG flags; REPAIR_SCOPE scope; REPAIR_RISK risk; UiInfo UiInfo; } RepairInfo, *PRepairInfo; typedef struct tagShellCommandInfo { LPWSTR pwszOperation; LPWSTR pwszFile; LPWSTR pwszParameters; LPWSTR pwszDirectory; ULONG nShowCmd; } ShellCommandInfo, *PShellCommandInfo; typedef struct tagHELPER_ATTRIBUTE { LPWSTR pwszName; ATTRIBUTE_TYPE type; __C89_NAMELESS union { WINBOOL Boolean; char Char; byte Byte; short Short; WORD Word; int Int; DWORD DWord; LONGLONG Int64; ULONGLONG UInt64; LPWSTR PWStr; GUID Guid; LIFE_TYPE LifeTime; DIAG_SOCKADDR Address; OCTET_STRING OctetString; }; } HELPER_ATTRIBUTE; #ifdef __cplusplus } #endif #if (_WIN32_WINNT >= 0x0601) #ifdef __cplusplus extern "C" { #endif #define RCF_ISLEAF 0x1 #define RCF_ISCONFIRMED 0x2 #define RCF_ISTHIRDPARTY 0x4 typedef struct tagRepairInfoEx { RepairInfo repair; USHORT repairRank; } RepairInfoEx, *PRepairInfoEx; typedef struct tagRootCauseInfo { LPWSTR pwszDescription; GUID rootCauseID; DWORD rootCauseFlags; GUID networkInterfaceID; RepairInfoEx *pRepairs; USHORT repairCount; } RootCauseInfo; #ifdef __cplusplus } #endif #endif /*(_WIN32_WINNT >= 0x0601)*/ #endif /*(_WIN32_WINNT >= 0x0600)*/ #endif /*_INC_NDATTRIB*/