DEVICE_LB_PROVISIONING_DESCRIPTOR構造体 (winioctl.h)
DEVICE_LB_PROVISIONING_DESCRIPTOR構造体は、IOCTL_STORAGE_QUERY_PROPERTY要求から返されるクエリ結果構造体の 1 つです。 この構造には、ストレージ デバイスのシン プロビジョニング機能が含まれています。
構文
typedef struct _DEVICE_LB_PROVISIONING_DESCRIPTOR {
DWORD Version;
DWORD Size;
BYTE ThinProvisioningEnabled : 1;
BYTE ThinProvisioningReadZeros : 1;
BYTE AnchorSupported : 3;
BYTE UnmapGranularityAlignmentValid : 1;
BYTE GetFreeSpaceSupported : 1;
BYTE MapSupported : 1;
BYTE Reserved1[7];
DWORDLONG OptimalUnmapGranularity;
DWORDLONG UnmapGranularityAlignment;
DWORD MaxUnmapLbaCount;
DWORD MaxUnmapBlockDescriptorCount;
} DEVICE_LB_PROVISIONING_DESCRIPTOR, *PDEVICE_LB_PROVISIONING_DESCRIPTOR;
メンバー
Version
この構造体のサイズをバイト単位で格納します。 構造体にメンバーが追加されると、このメンバーの値が変更されます。
Size
返されるデータの合計サイズをバイト単位で指定します。 これには、この構造に続くデータが含まれる場合があります。
ThinProvisioningEnabled
シン プロビジョニングが有効な状態。
値 | 意味 |
---|---|
|
シン プロビジョニングが無効になっています。 |
|
シン プロビジョニングが有効になっています。 |
ThinProvisioningReadZeros
マップされていない領域への読み取りでは、0 が返されます。
値 | 意味 |
---|---|
|
マップされていないリージョンから読み取られたデータは未定義です。 |
|
読み取りでは 0 が返されます。 |
AnchorSupported
トリミングのサポート後の決定論的な読み取り。
値 | 意味 |
---|---|
|
トリミング後の確定的な読み取りはサポートされていません。 |
|
トリミング後の確定的な読み取りがサポートされています。 |
UnmapGranularityAlignmentValid
デバイスのマップ解除粒度のアラインメントの有効性。
値 | 意味 |
---|---|
|
マップ解除の粒度の調整が無効です。 |
|
細分性のアラインメントのマップ解除は有効です。 |
GetFreeSpaceSupported
MapSupported
Reserved1[7]
予約済み。
OptimalUnmapGranularity
デバイスのマップ解除粒度に最適な論理セクター数。
UnmapGranularityAlignment
論理セクターの現在の値は、デバイス上の粒度のアラインメントをマップ解除するために設定されます。
MaxUnmapLbaCount
Windows 10以降: 論理ブロック内の単一のマップ解除コマンドでマップ解除できる LBA の最大数。
MaxUnmapBlockDescriptorCount
Windows 10以降: 1 つのマップ解除コマンドで許可される記述子の最大数。
注釈
この構造体は、STORAGE_PROPERTY_QUERYの PropertyId メンバーが StorageDeviceLBProvisioningProperty に設定されている場合に、IOCTL_STORAGE_QUERY_PROPERTY要求から返されます。
UnmapGranularityAlignmentValid = 0 の場合、UnmapGranularityAlignment を使用するコードでは、値が 0 であると想定する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
Header | winioctl.h (Windows.h を含む) |