VDS_DISK_PROP構造体 (vds.h)
[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。
ディスク オブジェクトのプロパティを定義します。
構文
typedef struct _VDS_DISK_PROP {
VDS_OBJECT_ID id;
VDS_DISK_STATUS status;
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;
} VDS_DISK_PROP, *PVDS_DISK_PROP;
メンバー
id
ディスク オブジェクトの GUID。
status
VDS_DISK_STATUSによって列挙された物理ディスクの可用性。 VDS サービスがディスクへのハンドルを開くことができない場合は、このメンバーを VDS_DS_UNKNOWN に設定します。
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 以下である必要があります。 IVdsDisk::GetProperties を呼び出してVDS_DISK_PROP構造体を受け取るアプリケーションは、このメンバーが NULL であるかどうかを確認する必要があります。
pwszName
CreateFile 関数を使用して作成されたオブジェクトへのハンドルを開くために使用される名前。 例: \\?\PhysicalDrive2
pwszFriendlyName
プラグ アンド プレイ マネージャーによって返される名前。 この名前は、"SEAGATE ST34573N SCSI ディスク デバイス" など、プラグ アンド プレイ Manager によって Windows レジストリに保持されます。
pwszAdaptorName
このディスクが接続されているアダプターの名前。 プラグ アンド プレイ マネージャーは、Windows レジストリに保持されている名前を返します。たとえば、"Adaptec AHA-2940U2W - Ultra2 SCSI" です。
pwszDevicePath
プラグ アンド プレイ マネージャーによって返される文字列。 プラグ アンド プレイ マネージャーは、デバイス パスを使用して、コンピューター上のデバイスを一意に識別します。 詳細については、「 SP_DEVICE_INTERFACE_DETAIL_DATA_W」を参照してください。
解説
IVdsDisk::GetProperties メソッドは、ディスク オブジェクトのプロパティを報告するために、この構造体の値を返します。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ヘッダー | vds.h |