huago-corrcet_tools/HuaGoCorrect/pub/ddk/mpiowmi.h

807 lines
23 KiB
C
Raw Normal View History

2020-08-31 08:08:50 +00:00
#ifndef _mpiowmi_h_
#define _mpiowmi_h_
// MPIO_PATH_HEALTH_CLASS - MPIO_PATH_HEALTH_CLASS
#define MPIO_PATH_HEALTH_CLASSGuid \
{ 0xea0f7134,0x269e,0x44ca, { 0xb3,0x50,0x7c,0x7e,0xbe,0xba,0x8b,0xbc } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_PATH_HEALTH_CLASS_GUID, \
0xea0f7134,0x269e,0x44ca,0xb3,0x50,0x7c,0x7e,0xbe,0xba,0x8b,0xbc);
#endif
typedef struct _MPIO_PATH_HEALTH_CLASS
{
//
ULONGLONG PathId;
#define MPIO_PATH_HEALTH_CLASS_PathId_SIZE sizeof(ULONGLONG)
#define MPIO_PATH_HEALTH_CLASS_PathId_ID 1
//
ULONGLONG NumberReads;
#define MPIO_PATH_HEALTH_CLASS_NumberReads_SIZE sizeof(ULONGLONG)
#define MPIO_PATH_HEALTH_CLASS_NumberReads_ID 2
//
ULONGLONG NumberWrites;
#define MPIO_PATH_HEALTH_CLASS_NumberWrites_SIZE sizeof(ULONGLONG)
#define MPIO_PATH_HEALTH_CLASS_NumberWrites_ID 3
//
ULONGLONG NumberBytesRead;
#define MPIO_PATH_HEALTH_CLASS_NumberBytesRead_SIZE sizeof(ULONGLONG)
#define MPIO_PATH_HEALTH_CLASS_NumberBytesRead_ID 4
//
ULONGLONG NumberBytesWritten;
#define MPIO_PATH_HEALTH_CLASS_NumberBytesWritten_SIZE sizeof(ULONGLONG)
#define MPIO_PATH_HEALTH_CLASS_NumberBytesWritten_ID 5
//
ULONGLONG NumberRetries;
#define MPIO_PATH_HEALTH_CLASS_NumberRetries_SIZE sizeof(ULONGLONG)
#define MPIO_PATH_HEALTH_CLASS_NumberRetries_ID 6
//
ULONGLONG NumberIoErrors;
#define MPIO_PATH_HEALTH_CLASS_NumberIoErrors_SIZE sizeof(ULONGLONG)
#define MPIO_PATH_HEALTH_CLASS_NumberIoErrors_ID 7
//
ULONGLONG CreateTime;
#define MPIO_PATH_HEALTH_CLASS_CreateTime_SIZE sizeof(ULONGLONG)
#define MPIO_PATH_HEALTH_CLASS_CreateTime_ID 8
//
ULONGLONG FailTime;
#define MPIO_PATH_HEALTH_CLASS_FailTime_SIZE sizeof(ULONGLONG)
#define MPIO_PATH_HEALTH_CLASS_FailTime_ID 9
//
BOOLEAN PathOffline;
#define MPIO_PATH_HEALTH_CLASS_PathOffline_SIZE sizeof(BOOLEAN)
#define MPIO_PATH_HEALTH_CLASS_PathOffline_ID 10
//
UCHAR NumberReadsWrap;
#define MPIO_PATH_HEALTH_CLASS_NumberReadsWrap_SIZE sizeof(UCHAR)
#define MPIO_PATH_HEALTH_CLASS_NumberReadsWrap_ID 11
//
UCHAR NumberWritesWrap;
#define MPIO_PATH_HEALTH_CLASS_NumberWritesWrap_SIZE sizeof(UCHAR)
#define MPIO_PATH_HEALTH_CLASS_NumberWritesWrap_ID 12
//
UCHAR NumberBytesReadWrap;
#define MPIO_PATH_HEALTH_CLASS_NumberBytesReadWrap_SIZE sizeof(UCHAR)
#define MPIO_PATH_HEALTH_CLASS_NumberBytesReadWrap_ID 13
//
UCHAR NumberBytesWrittenWrap;
#define MPIO_PATH_HEALTH_CLASS_NumberBytesWrittenWrap_SIZE sizeof(UCHAR)
#define MPIO_PATH_HEALTH_CLASS_NumberBytesWrittenWrap_ID 14
//
UCHAR OutstandingRequests;
#define MPIO_PATH_HEALTH_CLASS_OutstandingRequests_SIZE sizeof(UCHAR)
#define MPIO_PATH_HEALTH_CLASS_OutstandingRequests_ID 15
//
UCHAR Pad[2];
#define MPIO_PATH_HEALTH_CLASS_Pad_SIZE sizeof(UCHAR[2])
#define MPIO_PATH_HEALTH_CLASS_Pad_ID 16
} MPIO_PATH_HEALTH_CLASS, *PMPIO_PATH_HEALTH_CLASS;
#define MPIO_PATH_HEALTH_CLASS_SIZE (FIELD_OFFSET(MPIO_PATH_HEALTH_CLASS, Pad) + MPIO_PATH_HEALTH_CLASS_Pad_SIZE)
// MPIO_PATH_HEALTH_INFO - MPIO_PATH_HEALTH_INFO
#define MPIO_PATH_HEALTH_INFOGuid \
{ 0x01ea1dfb,0x668b,0x48bc, { 0xa8,0x6e,0xa8,0xb4,0xca,0xbf,0xce,0x33 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_PATH_HEALTH_INFO_GUID, \
0x01ea1dfb,0x668b,0x48bc,0xa8,0x6e,0xa8,0xb4,0xca,0xbf,0xce,0x33);
#endif
typedef struct _MPIO_PATH_HEALTH_INFO
{
//
ULONG NumberPathPackets;
#define MPIO_PATH_HEALTH_INFO_NumberPathPackets_SIZE sizeof(ULONG)
#define MPIO_PATH_HEALTH_INFO_NumberPathPackets_ID 1
//
ULONG Reserved;
#define MPIO_PATH_HEALTH_INFO_Reserved_SIZE sizeof(ULONG)
#define MPIO_PATH_HEALTH_INFO_Reserved_ID 2
//
MPIO_PATH_HEALTH_CLASS PathHealthPackets[1];
#define MPIO_PATH_HEALTH_INFO_PathHealthPackets_ID 3
} MPIO_PATH_HEALTH_INFO, *PMPIO_PATH_HEALTH_INFO;
// MPIO_DISK_HEALTH_CLASS - MPIO_DISK_HEALTH_CLASS
#define MPIO_DISK_HEALTH_CLASSGuid \
{ 0x6453c476,0x0499,0x42ab, { 0x98,0x25,0x51,0x33,0x28,0x2b,0x0b,0x56 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_DISK_HEALTH_CLASS_GUID, \
0x6453c476,0x0499,0x42ab,0x98,0x25,0x51,0x33,0x28,0x2b,0x0b,0x56);
#endif
typedef struct _MPIO_DISK_HEALTH_CLASS
{
//
WCHAR Name[63 + 1];
#define MPIO_DISK_HEALTH_CLASS_Name_ID 1
//
ULONGLONG NumberReads;
#define MPIO_DISK_HEALTH_CLASS_NumberReads_SIZE sizeof(ULONGLONG)
#define MPIO_DISK_HEALTH_CLASS_NumberReads_ID 2
//
ULONGLONG NumberWrites;
#define MPIO_DISK_HEALTH_CLASS_NumberWrites_SIZE sizeof(ULONGLONG)
#define MPIO_DISK_HEALTH_CLASS_NumberWrites_ID 3
//
ULONGLONG NumberBytesRead;
#define MPIO_DISK_HEALTH_CLASS_NumberBytesRead_SIZE sizeof(ULONGLONG)
#define MPIO_DISK_HEALTH_CLASS_NumberBytesRead_ID 4
//
ULONGLONG NumberBytesWritten;
#define MPIO_DISK_HEALTH_CLASS_NumberBytesWritten_SIZE sizeof(ULONGLONG)
#define MPIO_DISK_HEALTH_CLASS_NumberBytesWritten_ID 5
//
ULONGLONG NumberRetries;
#define MPIO_DISK_HEALTH_CLASS_NumberRetries_SIZE sizeof(ULONGLONG)
#define MPIO_DISK_HEALTH_CLASS_NumberRetries_ID 6
//
ULONGLONG NumberIoErrors;
#define MPIO_DISK_HEALTH_CLASS_NumberIoErrors_SIZE sizeof(ULONGLONG)
#define MPIO_DISK_HEALTH_CLASS_NumberIoErrors_ID 7
//
ULONGLONG CreateTime;
#define MPIO_DISK_HEALTH_CLASS_CreateTime_SIZE sizeof(ULONGLONG)
#define MPIO_DISK_HEALTH_CLASS_CreateTime_ID 8
//
ULONGLONG PathFailures;
#define MPIO_DISK_HEALTH_CLASS_PathFailures_SIZE sizeof(ULONGLONG)
#define MPIO_DISK_HEALTH_CLASS_PathFailures_ID 9
//
ULONGLONG FailTime;
#define MPIO_DISK_HEALTH_CLASS_FailTime_SIZE sizeof(ULONGLONG)
#define MPIO_DISK_HEALTH_CLASS_FailTime_ID 10
//
BOOLEAN DeviceOffline;
#define MPIO_DISK_HEALTH_CLASS_DeviceOffline_SIZE sizeof(BOOLEAN)
#define MPIO_DISK_HEALTH_CLASS_DeviceOffline_ID 11
//
UCHAR NumberReadsWrap;
#define MPIO_DISK_HEALTH_CLASS_NumberReadsWrap_SIZE sizeof(UCHAR)
#define MPIO_DISK_HEALTH_CLASS_NumberReadsWrap_ID 12
//
UCHAR NumberWritesWrap;
#define MPIO_DISK_HEALTH_CLASS_NumberWritesWrap_SIZE sizeof(UCHAR)
#define MPIO_DISK_HEALTH_CLASS_NumberWritesWrap_ID 13
//
UCHAR NumberBytesReadWrap;
#define MPIO_DISK_HEALTH_CLASS_NumberBytesReadWrap_SIZE sizeof(UCHAR)
#define MPIO_DISK_HEALTH_CLASS_NumberBytesReadWrap_ID 14
//
UCHAR NumberBytesWrittenWrap;
#define MPIO_DISK_HEALTH_CLASS_NumberBytesWrittenWrap_SIZE sizeof(UCHAR)
#define MPIO_DISK_HEALTH_CLASS_NumberBytesWrittenWrap_ID 15
//
UCHAR Pad[3];
#define MPIO_DISK_HEALTH_CLASS_Pad_SIZE sizeof(UCHAR[3])
#define MPIO_DISK_HEALTH_CLASS_Pad_ID 16
} MPIO_DISK_HEALTH_CLASS, *PMPIO_DISK_HEALTH_CLASS;
#define MPIO_DISK_HEALTH_CLASS_SIZE (FIELD_OFFSET(MPIO_DISK_HEALTH_CLASS, Pad) + MPIO_DISK_HEALTH_CLASS_Pad_SIZE)
// MPIO_DISK_HEALTH_INFO - MPIO_DISK_HEALTH_INFO
#define MPIO_DISK_HEALTH_INFOGuid \
{ 0xef04568a,0x782b,0x443c, { 0xa3,0xdb,0x96,0x6a,0xb4,0x37,0x75,0xf9 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_DISK_HEALTH_INFO_GUID, \
0xef04568a,0x782b,0x443c,0xa3,0xdb,0x96,0x6a,0xb4,0x37,0x75,0xf9);
#endif
typedef struct _MPIO_DISK_HEALTH_INFO
{
//
ULONG NumberDiskPackets;
#define MPIO_DISK_HEALTH_INFO_NumberDiskPackets_SIZE sizeof(ULONG)
#define MPIO_DISK_HEALTH_INFO_NumberDiskPackets_ID 1
//
ULONG Reserved;
#define MPIO_DISK_HEALTH_INFO_Reserved_SIZE sizeof(ULONG)
#define MPIO_DISK_HEALTH_INFO_Reserved_ID 2
//
MPIO_DISK_HEALTH_CLASS DiskHealthPackets[1];
#define MPIO_DISK_HEALTH_INFO_DiskHealthPackets_ID 3
} MPIO_DISK_HEALTH_INFO, *PMPIO_DISK_HEALTH_INFO;
// SCSI_ADDR - SCSI_ADDR
#define SCSI_ADDRGuid \
{ 0xc74aece4,0x468b,0x4113, { 0xb0,0x06,0x0c,0xec,0xdc,0x96,0x8a,0xc4 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(SCSI_ADDR_GUID, \
0xc74aece4,0x468b,0x4113,0xb0,0x06,0x0c,0xec,0xdc,0x96,0x8a,0xc4);
#endif
typedef struct _SCSI_ADDR
{
//
UCHAR PortNumber;
#define SCSI_ADDR_PortNumber_SIZE sizeof(UCHAR)
#define SCSI_ADDR_PortNumber_ID 1
//
UCHAR ScsiPathId;
#define SCSI_ADDR_ScsiPathId_SIZE sizeof(UCHAR)
#define SCSI_ADDR_ScsiPathId_ID 2
//
UCHAR TargetId;
#define SCSI_ADDR_TargetId_SIZE sizeof(UCHAR)
#define SCSI_ADDR_TargetId_ID 3
//
UCHAR Lun;
#define SCSI_ADDR_Lun_SIZE sizeof(UCHAR)
#define SCSI_ADDR_Lun_ID 4
} SCSI_ADDR, *PSCSI_ADDR;
#define SCSI_ADDR_SIZE (FIELD_OFFSET(SCSI_ADDR, Lun) + SCSI_ADDR_Lun_SIZE)
// MPIO_DRIVE_INFO - MPIO_DRIVE_INFO
#define MPIO_DRIVE_INFOGuid \
{ 0xcb9d55b2,0xd833,0x4a4c, { 0x8c,0xaa,0x4a,0xee,0x3f,0x24,0x0e,0x9a } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_DRIVE_INFO_GUID, \
0xcb9d55b2,0xd833,0x4a4c,0x8c,0xaa,0x4a,0xee,0x3f,0x24,0x0e,0x9a);
#endif
typedef struct _MPIO_DRIVE_INFO
{
//
ULONG NumberPaths;
#define MPIO_DRIVE_INFO_NumberPaths_SIZE sizeof(ULONG)
#define MPIO_DRIVE_INFO_NumberPaths_ID 1
//
WCHAR Name[63 + 1];
#define MPIO_DRIVE_INFO_Name_ID 2
//
WCHAR SerialNumber[63 + 1];
#define MPIO_DRIVE_INFO_SerialNumber_ID 3
//
WCHAR DsmName[63 + 1];
#define MPIO_DRIVE_INFO_DsmName_ID 4
} MPIO_DRIVE_INFO, *PMPIO_DRIVE_INFO;
// MPIO_DISK_INFO - MPIO_DISK_INFO
#define MPIO_DISK_INFOGuid \
{ 0x9f9765ed,0xc3a0,0x451f, { 0x86,0xc1,0x47,0x0a,0x1d,0xdd,0x32,0x17 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_DISK_INFO_GUID, \
0x9f9765ed,0xc3a0,0x451f,0x86,0xc1,0x47,0x0a,0x1d,0xdd,0x32,0x17);
#endif
typedef struct _MPIO_DISK_INFO
{
//
ULONG NumberDrives;
#define MPIO_DISK_INFO_NumberDrives_SIZE sizeof(ULONG)
#define MPIO_DISK_INFO_NumberDrives_ID 1
//
MPIO_DRIVE_INFO DriveInfo[1];
#define MPIO_DISK_INFO_DriveInfo_ID 2
} MPIO_DISK_INFO, *PMPIO_DISK_INFO;
// DSM_VERSION - DSM_VERSION
#define DSM_VERSIONGuid \
{ 0x7cc0ae8e,0xf30d,0x4ecd, { 0xa3,0xc6,0x5b,0xee,0x8d,0xe6,0x1d,0x48 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(DSM_VERSION_GUID, \
0x7cc0ae8e,0xf30d,0x4ecd,0xa3,0xc6,0x5b,0xee,0x8d,0xe6,0x1d,0x48);
#endif
typedef struct _DSM_VERSION
{
//
ULONG MajorVersion;
#define DSM_VERSION_MajorVersion_SIZE sizeof(ULONG)
#define DSM_VERSION_MajorVersion_ID 1
//
ULONG MinorVersion;
#define DSM_VERSION_MinorVersion_SIZE sizeof(ULONG)
#define DSM_VERSION_MinorVersion_ID 2
//
ULONG ProductBuild;
#define DSM_VERSION_ProductBuild_SIZE sizeof(ULONG)
#define DSM_VERSION_ProductBuild_ID 3
//
ULONG QfeNumber;
#define DSM_VERSION_QfeNumber_SIZE sizeof(ULONG)
#define DSM_VERSION_QfeNumber_ID 4
} DSM_VERSION, *PDSM_VERSION;
#define DSM_VERSION_SIZE (FIELD_OFFSET(DSM_VERSION, QfeNumber) + DSM_VERSION_QfeNumber_SIZE)
// DSM_COUNTERS - DSM_COUNTERS
#define DSM_COUNTERSGuid \
{ 0x39026ae4,0x9e81,0x468b, { 0x81,0x9c,0x25,0x34,0x48,0x12,0x7f,0xd5 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(DSM_COUNTERS_GUID, \
0x39026ae4,0x9e81,0x468b,0x81,0x9c,0x25,0x34,0x48,0x12,0x7f,0xd5);
#endif
typedef struct _DSM_COUNTERS
{
//
ULONG PathVerifyEnabled;
#define DSM_COUNTERS_PathVerifyEnabled_SIZE sizeof(ULONG)
#define DSM_COUNTERS_PathVerifyEnabled_ID 1
//
ULONG PathVerificationPeriod;
#define DSM_COUNTERS_PathVerificationPeriod_SIZE sizeof(ULONG)
#define DSM_COUNTERS_PathVerificationPeriod_ID 2
//
ULONG PDORemovePeriod;
#define DSM_COUNTERS_PDORemovePeriod_SIZE sizeof(ULONG)
#define DSM_COUNTERS_PDORemovePeriod_ID 3
//
ULONG RetryCount;
#define DSM_COUNTERS_RetryCount_SIZE sizeof(ULONG)
#define DSM_COUNTERS_RetryCount_ID 4
//
ULONG RetryInterval;
#define DSM_COUNTERS_RetryInterval_SIZE sizeof(ULONG)
#define DSM_COUNTERS_RetryInterval_ID 5
//
ULONG Reserved32;
#define DSM_COUNTERS_Reserved32_SIZE sizeof(ULONG)
#define DSM_COUNTERS_Reserved32_ID 6
//
ULONGLONG Reserved64;
#define DSM_COUNTERS_Reserved64_SIZE sizeof(ULONGLONG)
#define DSM_COUNTERS_Reserved64_ID 7
} DSM_COUNTERS, *PDSM_COUNTERS;
#define DSM_COUNTERS_SIZE (FIELD_OFFSET(DSM_COUNTERS, Reserved64) + DSM_COUNTERS_Reserved64_SIZE)
// DSM_PARAMETERS - DSM_PARAMETERS
#define DSM_PARAMETERSGuid \
{ 0x695df15f,0x9bd1,0x49f7, { 0xbe,0xbb,0x16,0xde,0xbd,0x15,0x11,0xcb } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(DSM_PARAMETERS_GUID, \
0x695df15f,0x9bd1,0x49f7,0xbe,0xbb,0x16,0xde,0xbd,0x15,0x11,0xcb);
#endif
typedef struct _DSM_PARAMETERS
{
//
WCHAR DsmName[63 + 1];
#define DSM_PARAMETERS_DsmName_ID 1
//
ULONGLONG DsmContext;
#define DSM_PARAMETERS_DsmContext_SIZE sizeof(ULONGLONG)
#define DSM_PARAMETERS_DsmContext_ID 2
//
DSM_VERSION DsmVersion;
#define DSM_PARAMETERS_DsmVersion_SIZE sizeof(DSM_VERSION)
#define DSM_PARAMETERS_DsmVersion_ID 3
//
DSM_COUNTERS DsmCounters;
#define DSM_PARAMETERS_DsmCounters_SIZE sizeof(DSM_COUNTERS)
#define DSM_PARAMETERS_DsmCounters_ID 4
} DSM_PARAMETERS, *PDSM_PARAMETERS;
#define DSM_PARAMETERS_SIZE (FIELD_OFFSET(DSM_PARAMETERS, DsmCounters) + DSM_PARAMETERS_DsmCounters_SIZE)
// MPIO_REGISTERED_DSM - MPIO_REGISTERED_DSM
#define MPIO_REGISTERED_DSMGuid \
{ 0x0c2c484b,0x030b,0x4540, { 0x88,0x90,0xbb,0x66,0x81,0x94,0x1c,0xe3 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_REGISTERED_DSM_GUID, \
0x0c2c484b,0x030b,0x4540,0x88,0x90,0xbb,0x66,0x81,0x94,0x1c,0xe3);
#endif
typedef struct _MPIO_REGISTERED_DSM
{
//
ULONG NumberDSMs;
#define MPIO_REGISTERED_DSM_NumberDSMs_SIZE sizeof(ULONG)
#define MPIO_REGISTERED_DSM_NumberDSMs_ID 1
//
DSM_PARAMETERS DsmParameters[1];
#define MPIO_REGISTERED_DSM_DsmParameters_ID 2
} MPIO_REGISTERED_DSM, *PMPIO_REGISTERED_DSM;
// MPIO_ADAPTER_INFORMATION - MPIO_ADAPTER_INFORMATION
#define MPIO_ADAPTER_INFORMATIONGuid \
{ 0xb87c0fec,0x88b7,0x451d, { 0xa3,0x78,0x38,0x7b,0xa6,0x1a,0xeb,0x89 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_ADAPTER_INFORMATION_GUID, \
0xb87c0fec,0x88b7,0x451d,0xa3,0x78,0x38,0x7b,0xa6,0x1a,0xeb,0x89);
#endif
typedef struct _MPIO_ADAPTER_INFORMATION
{
//
ULONGLONG PathId;
#define MPIO_ADAPTER_INFORMATION_PathId_SIZE sizeof(ULONGLONG)
#define MPIO_ADAPTER_INFORMATION_PathId_ID 1
//
UCHAR BusNumber;
#define MPIO_ADAPTER_INFORMATION_BusNumber_SIZE sizeof(UCHAR)
#define MPIO_ADAPTER_INFORMATION_BusNumber_ID 2
//
UCHAR DeviceNumber;
#define MPIO_ADAPTER_INFORMATION_DeviceNumber_SIZE sizeof(UCHAR)
#define MPIO_ADAPTER_INFORMATION_DeviceNumber_ID 3
//
UCHAR FunctionNumber;
#define MPIO_ADAPTER_INFORMATION_FunctionNumber_SIZE sizeof(UCHAR)
#define MPIO_ADAPTER_INFORMATION_FunctionNumber_ID 4
//
UCHAR Pad;
#define MPIO_ADAPTER_INFORMATION_Pad_SIZE sizeof(UCHAR)
#define MPIO_ADAPTER_INFORMATION_Pad_ID 5
//
WCHAR AdapterName[63 + 1];
#define MPIO_ADAPTER_INFORMATION_AdapterName_ID 6
} MPIO_ADAPTER_INFORMATION, *PMPIO_ADAPTER_INFORMATION;
// MPIO_PATH_INFORMATION - MPIO_PATH_INFORMATION
#define MPIO_PATH_INFORMATIONGuid \
{ 0xb3a05997,0x2077,0x40a3, { 0xbf,0x36,0xeb,0xd9,0x1f,0xf8,0xb2,0x54 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_PATH_INFORMATION_GUID, \
0xb3a05997,0x2077,0x40a3,0xbf,0x36,0xeb,0xd9,0x1f,0xf8,0xb2,0x54);
#endif
typedef struct _MPIO_PATH_INFORMATION
{
//
ULONG NumberPaths;
#define MPIO_PATH_INFORMATION_NumberPaths_SIZE sizeof(ULONG)
#define MPIO_PATH_INFORMATION_NumberPaths_ID 1
//
ULONG Pad;
#define MPIO_PATH_INFORMATION_Pad_SIZE sizeof(ULONG)
#define MPIO_PATH_INFORMATION_Pad_ID 2
//
MPIO_ADAPTER_INFORMATION PathList[1];
#define MPIO_PATH_INFORMATION_PathList_ID 3
} MPIO_PATH_INFORMATION, *PMPIO_PATH_INFORMATION;
// MPIO_CONTROLLER_INFO - MPIO_CONTROLLER_INFO
#define MPIO_CONTROLLER_INFOGuid \
{ 0xe732405b,0xb15e,0x4872, { 0xaf,0xd0,0x0d,0xf6,0x9d,0xc1,0xbb,0x01 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_CONTROLLER_INFO_GUID, \
0xe732405b,0xb15e,0x4872,0xaf,0xd0,0x0d,0xf6,0x9d,0xc1,0xbb,0x01);
#endif
typedef struct _MPIO_CONTROLLER_INFO
{
//
ULONG IdentifierType;
#define MPIO_CONTROLLER_INFO_IdentifierType_SIZE sizeof(ULONG)
#define MPIO_CONTROLLER_INFO_IdentifierType_ID 1
//
ULONG IdentifierLength;
#define MPIO_CONTROLLER_INFO_IdentifierLength_SIZE sizeof(ULONG)
#define MPIO_CONTROLLER_INFO_IdentifierLength_ID 2
//
UCHAR Identifier[32];
#define MPIO_CONTROLLER_INFO_Identifier_SIZE sizeof(UCHAR[32])
#define MPIO_CONTROLLER_INFO_Identifier_ID 3
//
ULONG ControllerState;
#define MPIO_CONTROLLER_INFO_ControllerState_SIZE sizeof(ULONG)
#define MPIO_CONTROLLER_INFO_ControllerState_ID 4
//
ULONG Pad;
#define MPIO_CONTROLLER_INFO_Pad_SIZE sizeof(ULONG)
#define MPIO_CONTROLLER_INFO_Pad_ID 5
//
WCHAR AssociatedDsm[63 + 1];
#define MPIO_CONTROLLER_INFO_AssociatedDsm_ID 6
} MPIO_CONTROLLER_INFO, *PMPIO_CONTROLLER_INFO;
// MPIO_CONTROLLER_CONFIGURATION - MPIO_CONTROLLER_CONFIGURATION
#define MPIO_CONTROLLER_CONFIGURATIONGuid \
{ 0xcf07da2c,0xe598,0x45d2, { 0x9d,0x78,0x75,0xc3,0x8b,0x81,0x64,0xe8 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_CONTROLLER_CONFIGURATION_GUID, \
0xcf07da2c,0xe598,0x45d2,0x9d,0x78,0x75,0xc3,0x8b,0x81,0x64,0xe8);
#endif
typedef struct _MPIO_CONTROLLER_CONFIGURATION
{
//
ULONG NumberControllers;
#define MPIO_CONTROLLER_CONFIGURATION_NumberControllers_SIZE sizeof(ULONG)
#define MPIO_CONTROLLER_CONFIGURATION_NumberControllers_ID 1
//
MPIO_CONTROLLER_INFO ControllerInfo[1];
#define MPIO_CONTROLLER_CONFIGURATION_ControllerInfo_ID 2
} MPIO_CONTROLLER_CONFIGURATION, *PMPIO_CONTROLLER_CONFIGURATION;
// MPIO_TIMERS_COUNTERS - MPIO_TIMERS_COUNTERS
#define MPIO_TIMERS_COUNTERSGuid \
{ 0xce49b95b,0x690f,0x4cd0, { 0x8a,0x95,0xec,0xe3,0xfa,0xd8,0xef,0xc2 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_TIMERS_COUNTERS_GUID, \
0xce49b95b,0x690f,0x4cd0,0x8a,0x95,0xec,0xe3,0xfa,0xd8,0xef,0xc2);
#endif
typedef struct _MPIO_TIMERS_COUNTERS
{
//
ULONG PathVerifyEnabled;
#define MPIO_TIMERS_COUNTERS_PathVerifyEnabled_SIZE sizeof(ULONG)
#define MPIO_TIMERS_COUNTERS_PathVerifyEnabled_ID 1
//
ULONG PathVerificationPeriod;
#define MPIO_TIMERS_COUNTERS_PathVerificationPeriod_SIZE sizeof(ULONG)
#define MPIO_TIMERS_COUNTERS_PathVerificationPeriod_ID 2
//
ULONG PDORemovePeriod;
#define MPIO_TIMERS_COUNTERS_PDORemovePeriod_SIZE sizeof(ULONG)
#define MPIO_TIMERS_COUNTERS_PDORemovePeriod_ID 3
//
ULONG RetryCount;
#define MPIO_TIMERS_COUNTERS_RetryCount_SIZE sizeof(ULONG)
#define MPIO_TIMERS_COUNTERS_RetryCount_ID 4
//
ULONG RetryInterval;
#define MPIO_TIMERS_COUNTERS_RetryInterval_SIZE sizeof(ULONG)
#define MPIO_TIMERS_COUNTERS_RetryInterval_ID 5
} MPIO_TIMERS_COUNTERS, *PMPIO_TIMERS_COUNTERS;
#define MPIO_TIMERS_COUNTERS_SIZE (FIELD_OFFSET(MPIO_TIMERS_COUNTERS, RetryInterval) + MPIO_TIMERS_COUNTERS_RetryInterval_SIZE)
// MPIO_WMI_METHODS - MPIO_WMI_METHODS
#define MPIO_WMI_METHODSGuid \
{ 0xe37bc327,0xf7b1,0x4675, { 0x80,0x18,0x85,0x27,0x32,0xe2,0xed,0xe1 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_WMI_METHODS_GUID, \
0xe37bc327,0xf7b1,0x4675,0x80,0x18,0x85,0x27,0x32,0xe2,0xed,0xe1);
#endif
//
// Method id definitions for MPIO_WMI_METHODS
#define MPIOMoveDevice 1
typedef struct _MPIOMoveDevice_IN
{
//
ULONG DiskOrdinal;
#define MPIOMoveDevice_IN_DiskOrdinal_SIZE sizeof(ULONG)
#define MPIOMoveDevice_IN_DiskOrdinal_ID 1
//
ULONG Flags;
#define MPIOMoveDevice_IN_Flags_SIZE sizeof(ULONG)
#define MPIOMoveDevice_IN_Flags_ID 2
//
ULONGLONG PathID;
#define MPIOMoveDevice_IN_PathID_SIZE sizeof(ULONGLONG)
#define MPIOMoveDevice_IN_PathID_ID 3
} MPIOMoveDevice_IN, *PMPIOMoveDevice_IN;
#define MPIOMoveDevice_IN_SIZE (FIELD_OFFSET(MPIOMoveDevice_IN, PathID) + MPIOMoveDevice_IN_PathID_SIZE)
#define GetPathConfiguration 2
typedef struct _GetPathConfiguration_IN
{
//
ULONGLONG PathID;
#define GetPathConfiguration_IN_PathID_SIZE sizeof(ULONGLONG)
#define GetPathConfiguration_IN_PathID_ID 1
} GetPathConfiguration_IN, *PGetPathConfiguration_IN;
#define GetPathConfiguration_IN_SIZE (FIELD_OFFSET(GetPathConfiguration_IN, PathID) + GetPathConfiguration_IN_PathID_SIZE)
typedef struct _GetPathConfiguration_OUT
{
//
ULONG EntryCount;
#define GetPathConfiguration_OUT_EntryCount_SIZE sizeof(ULONG)
#define GetPathConfiguration_OUT_EntryCount_ID 2
//
SCSI_ADDR Address[1];
#define GetPathConfiguration_OUT_Address_ID 3
} GetPathConfiguration_OUT, *PGetPathConfiguration_OUT;
#define SetDSMCounters 3
typedef struct _SetDSMCounters_IN
{
//
ULONGLONG DsmContext;
#define SetDSMCounters_IN_DsmContext_SIZE sizeof(ULONGLONG)
#define SetDSMCounters_IN_DsmContext_ID 1
//
DSM_COUNTERS DsmCounters;
#define SetDSMCounters_IN_DsmCounters_SIZE sizeof(DSM_COUNTERS)
#define SetDSMCounters_IN_DsmCounters_ID 2
} SetDSMCounters_IN, *PSetDSMCounters_IN;
#define SetDSMCounters_IN_SIZE (FIELD_OFFSET(SetDSMCounters_IN, DsmCounters) + SetDSMCounters_IN_DsmCounters_SIZE)
#define ClearAllHealthCounters 4
#define ClearPathHealthCounters 5
typedef struct _ClearPathHealthCounters_IN
{
//
ULONGLONG PathID;
#define ClearPathHealthCounters_IN_PathID_SIZE sizeof(ULONGLONG)
#define ClearPathHealthCounters_IN_PathID_ID 1
} ClearPathHealthCounters_IN, *PClearPathHealthCounters_IN;
#define ClearPathHealthCounters_IN_SIZE (FIELD_OFFSET(ClearPathHealthCounters_IN, PathID) + ClearPathHealthCounters_IN_PathID_SIZE)
#define ClearAllPathsHealthCounters 6
#define ClearMpioDiskHealthCounters 7
typedef struct _ClearMpioDiskHealthCounters_IN
{
//
ULONG DiskOrdinal;
#define ClearMpioDiskHealthCounters_IN_DiskOrdinal_SIZE sizeof(ULONG)
#define ClearMpioDiskHealthCounters_IN_DiskOrdinal_ID 1
} ClearMpioDiskHealthCounters_IN, *PClearMpioDiskHealthCounters_IN;
#define ClearMpioDiskHealthCounters_IN_SIZE (FIELD_OFFSET(ClearMpioDiskHealthCounters_IN, DiskOrdinal) + ClearMpioDiskHealthCounters_IN_DiskOrdinal_SIZE)
#define ClearAllMpioDisksHealthCounters 8
// MPIO_EventEntry - MPIO_EventEntry
#define MPIO_EventEntryGuid \
{ 0x2abb031a,0x71aa,0x46d4, { 0xa5,0x3f,0xea,0xe3,0x40,0x51,0xe3,0x57 } }
#if ! (defined(MIDL_PASS))
DEFINE_GUID(MPIO_EventEntry_GUID, \
0x2abb031a,0x71aa,0x46d4,0xa5,0x3f,0xea,0xe3,0x40,0x51,0xe3,0x57);
#endif
typedef struct _MPIO_EventEntry
{
//
ULONGLONG TimeStamp;
#define MPIO_EventEntry_TimeStamp_SIZE sizeof(ULONGLONG)
#define MPIO_EventEntry_TimeStamp_ID 1
#define MPIO_FATAL_ERROR 1
#define MPIO_ERROR 2
#define MPIO_WARNING 3
#define MPIO_INFORMATION 4
//
ULONG Severity;
#define MPIO_EventEntry_Severity_SIZE sizeof(ULONG)
#define MPIO_EventEntry_Severity_ID 2
//
WCHAR Component[63 + 1];
#define MPIO_EventEntry_Component_ID 3
//
WCHAR EventDescription[63 + 1];
#define MPIO_EventEntry_EventDescription_ID 4
} MPIO_EventEntry, *PMPIO_EventEntry;
#endif