72 lines
1.5 KiB
Plaintext
72 lines
1.5 KiB
Plaintext
|
//
|
||
|
// Wmi internal classes
|
||
|
//
|
||
|
class WMIEvent : __ExtrinsicEvent
|
||
|
{
|
||
|
};
|
||
|
|
||
|
|
||
|
[WMI,
|
||
|
guid("{c74aece4-468b-4113-b006-0cecdc968ac4}")]
|
||
|
class SCSI_ADDR {
|
||
|
[WmiDataId(1)] uint8 PortNumber;
|
||
|
[WmiDataId(2)] uint8 ScsiPathId;
|
||
|
[WmiDataId(3)] uint8 TargetId;
|
||
|
[WmiDataId(4)] uint8 Lun;
|
||
|
};
|
||
|
|
||
|
[WMI,
|
||
|
guid("{e69e581d-6580-4bc2-bad1-7eee85989086}")]
|
||
|
class PDO_INFORMATION {
|
||
|
|
||
|
[WmiDataId(1)] SCSI_ADDR ScsiAddress;
|
||
|
|
||
|
//
|
||
|
// The PathId here matches that of the ADAPTER_INFORMATION
|
||
|
// class of this device's adapter.
|
||
|
//
|
||
|
[WmiDataId(2)] uint64 PathIdentifier;
|
||
|
|
||
|
//
|
||
|
// Matches the MPIO_CONTROLLER_INFO ControllerId of the controller
|
||
|
// fronting this device.
|
||
|
//
|
||
|
[WmiDataId(3)] uint64 ControllerIdentifier;
|
||
|
};
|
||
|
|
||
|
//
|
||
|
// Methods that actually do work are in class MPIO_EXECUTE
|
||
|
//
|
||
|
[WMI,
|
||
|
Dynamic,
|
||
|
Provider("WmiProv"),
|
||
|
Description("Retrieve Object Information about a Multi-Path Disk."),
|
||
|
Locale("MS\\0x409"),
|
||
|
guid("{85134d46-d17c-4992-83f9-070dd4c48e0b}")]
|
||
|
class MPIO_GET_DESCRIPTOR
|
||
|
{
|
||
|
[key, read]
|
||
|
string InstanceName;
|
||
|
[read] boolean Active;
|
||
|
|
||
|
[WmiDataId(1),
|
||
|
read,
|
||
|
Description("Number of Port Objects backing the device.")
|
||
|
] uint32 NumberPdos;
|
||
|
|
||
|
[WmiDataId(2),
|
||
|
read,
|
||
|
MaxLen(63),
|
||
|
Description("Name of Device.")
|
||
|
] string DeviceName;
|
||
|
|
||
|
[WmiDataId(3),
|
||
|
read,
|
||
|
Description("Array of Infomation classes describing the real device."),
|
||
|
WmiSizeIs("NumberPdos")
|
||
|
] PDO_INFORMATION PdoInformation[];
|
||
|
|
||
|
};
|
||
|
|
||
|
|