VDS_DISK_PROP2 構造体 (vds.h)
[Windows 8とWindows Server 2012以降、Virtual Disk Service COM インターフェイスは Windows Storage Management API に置き換えられます。
ディスク オブジェクトのプロパティを定義します。 この構造体は 、VDS_DISK_PROP 構造と同じですが、場所パスも含まれており、ディスクがオフラインの場合はオフラインの理由が含まれます。
構文
typedef struct _VDS_DISK_PROP2 {
VDS_OBJECT_ID id;
VDS_DISK_STATUS status;
VDS_DISK_OFFLINE_REASON OfflineReason;
VDS_LUN_RESERVE_MODE ReserveMode;
VDS_HEALTH health;
DWORD dwDeviceType;
DWORD dwMediaType;
ULONGLONG ullSize;
ULONG ulBytesPerSector;
ULONG ulSectorsPerTrack;
ULONG ulTracksPerCylinder;
ULONG ulFlags;
VDS_STORAGE_BUS_TYPE BusType;
VDS_PARTITION_STYLE PartitionStyle;
union {
DWORD dwSignature;
GUID DiskGuid;
};
LPWSTR pwszDiskAddress;
LPWSTR pwszName;
LPWSTR pwszFriendlyName;
LPWSTR pwszAdaptorName;
LPWSTR pwszDevicePath;
LPWSTR pwszLocationPath;
} VDS_DISK_PROP2, *PVDS_DISK_PROP2;
メンバー
id
ディスク オブジェクトの GUID。
status
ディスク の 状態を指定するVDS_DISK_STATUS列挙値。VDS サービスがディスクへのハンドルを開くことができない場合は、このメンバーを VDS_DS_UNKNOWN に設定します。
OfflineReason
ディスクがオフラインの場合、このメンバーはオフラインである理由を指定する VDS_DISK_OFFLINE_REASON 列挙値です。
ReserveMode
このメンバーは将来使用するために予約されています。
health
ディスク の 正常性状態を指定するVDS_HEALTH列挙値。 このメンバーの有効な値を次に示します。
VDS_H_UNKNOWN (0)
VDS_H_HEALTHY (1)
VDS_H_FAILING (4)
VDS_H_FAILED (8)
dwDeviceType
Winioctl.h で定義されているデバイスの種類。これには、次のような種類が含まれます。
dwMediaType
STORAGE_MEDIA_TYPEによって列挙されるメディアの種類。 Basic ディスクとダイナミック ディスクは 、FixedMedia 列挙子にマップされます。 詳細については、「 STORAGE_MEDIA_TYPE」を参照してください。
ullSize
ディスクのサイズ (バイト単位)。 ディスクの最大ボリューム サイズを確認するには、 IVdsDisk3::QueryFreeExtents を呼び出し、すべての空きエクステントのサイズを追加します。
ulBytesPerSector
各セクターのバイト数。
ulSectorsPerTrack
各トラックのセクター数。
ulTracksPerCylinder
各円柱内のトラックの数。
ulFlags
さまざまなディスク属性 VDS_DISK_FLAG 指定する列挙値のビットマスク。
BusType
VDS_STORAGE_BUS_TYPEによって列挙される入出力バスの種類。
PartitionStyle
パーティション スタイルを指定する VDS_PARTITION_STYLE 列挙。 このメンバーは、共用体の判別です。
dwSignature
PartitionStyle がVDS_PST_MBR (1) の場合に使用されます。 MBR パーティションの署名。 この値は一意であるとは限りません。
DiskGuid
PartitionStyle がVDS_PST_GPT (2) の場合に使用されます。 次に、
ディスクの GUID。 さらに、各 GPT パーティションには独自の GUID があります。 ( 「VDS_PARTITION_INFO_GPT」を参照してください)。
pwszDiskAddress
ポートNNN パス NNNターゲットNNN Lun NNN形式の SCSI に似たディスクのアドレス 。NNN は 1 桁以上です。
SCSI ディスク、IDE ディスク、ファイバー チャネル ディスクには、このようなアドレスを指定できます。 USB ディスクと 1394 ディスクのアドレス形式は異なり、保存されません。
このメンバーは省略可能であり、使用可能な値がない場合は NULL にすることができます 。 NULL でない場合、その長さは 22 WCHAR 以上で、必要な NULL ターミネータを含め、64 WCHAR 以下である必要があります。 IVdsDisk3::GetProperties2 を呼び出してVDS_DISK_PROP2構造体を受け取るアプリケーションは、このメンバーが NULL であるかどうかをチェックする必要があります。
pwszName
CreateFile 関数を使用して作成されたオブジェクトへのハンドルを開くために使用される名前。 例:
pwszFriendlyName
プラグ アンド プレイ (PnP) マネージャーによって返される名前。 この名前は、プラグ アンド プレイ マネージャーによって Windows レジストリに保持されます 。たとえば、"SEAGATE ST34573N SCSI ディスク デバイス" です。
pwszAdaptorName
このディスクが接続されているアダプターの名前。 PnP マネージャーは、Windows レジストリに保持されている名前を返します。たとえば、"Adaptec AHA-2940U2W - Ultra2 SCSI" などです。
pwszDevicePath
PnP マネージャーによって返される文字列。 PnP マネージャーは、デバイス パスを使用して、コンピューター上のデバイスを一意に識別します。 詳細については、「 SP_DEVICE_INTERFACE_DETAIL_DATA_W」を参照してください。
pwszLocationPath
ディスクの PnP の場所パスを含む文字列。 この文字列の形式は、バスの種類によって異なります。 バスの種類が SCSI、SAS、または PCI RAID の場合、形式は AdapterPnpLocationPath#BusType(PPathIdTTargetIdLLunId) です。 バスの種類が IDE、ATA、PATA、または SATA の場合、形式は AdapterPnpLocationPath#BusType(CPathIdTTargetIdLLunId) です。 この文字列の部分を一覧表示する表については、次の「解説」セクションを参照してください。
注釈
IVdsDisk3::GetProperties2 メソッドは、ディスク オブジェクトのプロパティを報告するためにこの構造体を返します。
次の表に、 pwszLocationPath メンバーで使用される場所パス文字列の部分を示します。
場所パス パーツ | 説明 |
---|---|
AdapterPnpLocationPath | アダプターの PnP 位置パス。 これは、 SetupDiGetDeviceProperty 関数を呼び出し、 PropertyKey パラメーターの &DEVPKEY_Device_LocationPaths を渡すことによって取得されます。 |
BusType | バスの種類: ATA、RAID、SAS、SCSI。 メモ バスの種類が IDE、PATA、または SATA の場合は、場所パス文字列に ATA として表示されます。 PCI RAID の場合は、RAID と表示されます。
|
PathId | バスの番号。 これは、IOCTL_SCSI_GET_ADDRESSコントロール コードによって返されるSCSI_ADDRESS構造体の PathId メンバーの値です。 |
Targetid | ターゲット デバイスの番号。 これは、IOCTL_SCSI_GET_ADDRESS コントロール コードによって返されるSCSI_ADDRESS構造体の TargetId メンバーの値です。 |
LunId | LUN の番号。 これは、IOCTL_SCSI_GET_ADDRESSコントロール コードによって返されるSCSI_ADDRESS構造体の Lun メンバーの値です。 |
次の表に、場所パスの例を示します。
バスの種類 | 場所パスの例 |
---|---|
ATA | PCIROOT(0)#PCI(0100)#ATA(C01T03L00) |
RAID | PCIROOT(0)#PCI(0200)#PCI(0003)#PCI(0100)#RAID(P02T00L00) |
SAS | PCIROOT(1)#PCI(0300)#SAS(P00T03L00) |
SCSI | PCIROOT(0)#PCI(1C00)#PCI(0000)#SCSI(P00T01L01) |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
Header | vds.h |