ndattrib.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _INC_NDATTRIB
  7. #define _INC_NDATTRIB
  8. #if (_WIN32_WINNT >= 0x0600)
  9. /* In ndhelper.idl
  10. typedef struct tagDIAG_SOCKADDR {
  11. USHORT family;
  12. CHAR data[126];
  13. } DIAG_SOCKADDR, *PDIAG_SOCKADDR;
  14. */
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. typedef struct tagDIAG_SOCKADDR DIAG_SOCKADDR;
  19. typedef enum tagATTRIBUTE_TYPE {
  20. AT_INVALID = 0,
  21. AT_BOOLEAN,
  22. AT_INT8,
  23. AT_UINT8,
  24. AT_INT16,
  25. AT_UINT16,
  26. AT_INT32,
  27. AT_UINT32,
  28. AT_INT64,
  29. AT_UINT64,
  30. AT_STRING,
  31. AT_GUID,
  32. AT_LIFE_TIME,
  33. AT_SOCKADDR,
  34. AT_OCTET_STRING
  35. } ATTRIBUTE_TYPE;
  36. typedef enum tagREPAIR_SCOPE {
  37. RS_SYSTEM = 0,
  38. RS_USER = 1,
  39. RS_APPLICATION = 2,
  40. RS_PROCESS = 3
  41. } REPAIR_SCOPE;
  42. typedef enum tagREPAIR_RISK {
  43. RR_NOROLLBACK = 0,
  44. RR_ROLLBACK = 1,
  45. RR_NORISK = 2
  46. } REPAIR_RISK;
  47. typedef enum tagUI_INFO_TYPE {
  48. UIT_NONE = 0,
  49. UIT_SHELL_COMMAND,
  50. UIT_HELP_PANE,
  51. UIT_DUI
  52. } UI_INFO_TYPE;
  53. typedef enum tagPROBLEM_TYPE {
  54. PT_LOW_HEALTH = 1,
  55. PT_LOWER_HEALTH = 2,
  56. PT_DOWN_STREAM_HEALTH = 4,
  57. PT_HIGH_UTILIZATION = 8,
  58. PT_HIGHER_UTILIZATION = 16,
  59. PT_UP_STREAM_UTILIZATION = 32
  60. } PROBLEM_TYPE;
  61. typedef enum tagREPAIR_STATUS {
  62. RS_NOT_IMPLEMENTED = 0,
  63. RS_REPAIRED = 1,
  64. RS_UNREPAIRED = 2,
  65. RS_DEFERRED = 3,
  66. RS_USER_ACTION = 4
  67. } REPAIR_STATUS;
  68. typedef struct tagLIFE_TIME {
  69. FILETIME startTime;
  70. FILETIME endTime;
  71. } LIFE_TIME, *PLIFE_TIME;
  72. typedef struct tagOCTET_STRING {
  73. DWORD dwLength;
  74. BYTE *lpValue;
  75. } OCTET_STRING, *POCTET_STRING;
  76. typedef struct tagUiInfo {
  77. UI_INFO_TYPE type;
  78. __C89_NAMELESS union {
  79. LPWSTR pwzNull;
  80. ShellCommandInfo ShellInfo;
  81. LPWSTR pwzHelpURL;
  82. LPWSTR pwzDui;
  83. };
  84. } UiInfo, *PUiInfo;
  85. typedef struct tagRepairInfo {
  86. GUID guid;
  87. LPWSTR pwszClassName;
  88. LPWSTR pwszDescription;
  89. DWORD sidType;
  90. __LONG32 cost;
  91. ULONG flags;
  92. REPAIR_SCOPE scope;
  93. REPAIR_RISK risk;
  94. UiInfo UiInfo;
  95. } RepairInfo, *PRepairInfo;
  96. typedef struct tagShellCommandInfo {
  97. LPWSTR pwszOperation;
  98. LPWSTR pwszFile;
  99. LPWSTR pwszParameters;
  100. LPWSTR pwszDirectory;
  101. ULONG nShowCmd;
  102. } ShellCommandInfo, *PShellCommandInfo;
  103. typedef struct tagHELPER_ATTRIBUTE {
  104. LPWSTR pwszName;
  105. ATTRIBUTE_TYPE type;
  106. __C89_NAMELESS union {
  107. WINBOOL Boolean;
  108. char Char;
  109. byte Byte;
  110. short Short;
  111. WORD Word;
  112. int Int;
  113. DWORD DWord;
  114. LONGLONG Int64;
  115. ULONGLONG UInt64;
  116. LPWSTR PWStr;
  117. GUID Guid;
  118. LIFE_TYPE LifeTime;
  119. DIAG_SOCKADDR Address;
  120. OCTET_STRING OctetString;
  121. };
  122. } HELPER_ATTRIBUTE;
  123. #ifdef __cplusplus
  124. }
  125. #endif
  126. #if (_WIN32_WINNT >= 0x0601)
  127. #ifdef __cplusplus
  128. extern "C" {
  129. #endif
  130. #define RCF_ISLEAF 0x1
  131. #define RCF_ISCONFIRMED 0x2
  132. #define RCF_ISTHIRDPARTY 0x4
  133. typedef struct tagRepairInfoEx {
  134. RepairInfo repair;
  135. USHORT repairRank;
  136. } RepairInfoEx, *PRepairInfoEx;
  137. typedef struct tagRootCauseInfo {
  138. LPWSTR pwszDescription;
  139. GUID rootCauseID;
  140. DWORD rootCauseFlags;
  141. GUID networkInterfaceID;
  142. RepairInfoEx *pRepairs;
  143. USHORT repairCount;
  144. } RootCauseInfo;
  145. #ifdef __cplusplus
  146. }
  147. #endif
  148. #endif /*(_WIN32_WINNT >= 0x0601)*/
  149. #endif /*(_WIN32_WINNT >= 0x0600)*/
  150. #endif /*_INC_NDATTRIB*/