DEVICE_LB_PROVISIONING_DESCRIPTOR-Struktur (ntddstor.h)
Die DEVICE_LB_PROVISIONING_DESCRIPTOR-Struktur ist eine der Abfrageergebnisstrukturen, die von einer IOCTL_STORAGE_QUERY_PROPERTY-Anforderung zurückgegeben werden. Diese Struktur enthält die Funktionen für die dünne Bereitstellung für ein Speichergerät.
Syntax
typedef struct _DEVICE_LB_PROVISIONING_DESCRIPTOR {
ULONG Version;
ULONG Size;
UCHAR ThinProvisioningEnabled : 1;
UCHAR ThinProvisioningReadZeros : 1;
UCHAR AnchorSupported : 3;
UCHAR UnmapGranularityAlignmentValid : 1;
UCHAR GetFreeSpaceSupported : 1;
UCHAR MapSupported : 1;
UCHAR Reserved1[7];
ULONGLONG OptimalUnmapGranularity;
ULONGLONG UnmapGranularityAlignment;
ULONG MaxUnmapLbaCount;
ULONG MaxUnmapBlockDescriptorCount;
} DEVICE_LB_PROVISIONING_DESCRIPTOR, *PDEVICE_LB_PROVISIONING_DESCRIPTOR;
Member
Version
Die Version dieser Struktur.
Size
Die Größe dieser Struktur. Dies ist auf sizeof(DEVICE_LB_PROVISIONING_DESCRIPTOR)
festgelegt.
ThinProvisioningEnabled
Die thin provisioning-enabled status.
Wert | Bedeutung |
---|---|
0 | Thin Provisioning ist deaktiviert. |
1 | Thin Provisioning ist aktiviert. |
ThinProvisioningReadZeros
Lesevorgänge in nicht zugeordnete Regionen geben Nullen zurück.
Wert | Bedeutung |
---|---|
0 | Daten, die aus nicht zugeordneten Regionen gelesen werden, sind nicht definiert. |
1 | Lesevorgänge geben Nullen zurück. |
AnchorSupported
Unterstützung für den verankerten LBA-Zuordnungsstatus.
Wert | Bedeutung |
---|---|
0 | Der verankerte LBA-Zuordnungsstatus wird nicht unterstützt. |
1 | Der verankerte LBA-Zuordnungsstatus wird unterstützt. |
UnmapGranularityAlignmentValid
Die Gültigkeit der Zuordnungsgranularitätsausrichtung für das Gerät.
Wert | Bedeutung |
---|---|
0 | Die Zuordnungsgranularitätsausrichtung ist ungültig. |
1 | Die Zuordnungsgranularitätsausrichtung ist gültig. |
GetFreeSpaceSupported
Gibt die Unterstützung für DeviceDsmAction_GetFreeSpace an.
Wert | Bedeutung |
---|---|
0 | DeviceDsmAction_GetFreeSpace wird nicht unterstützt. |
1 | DeviceDsmAction_GetFreeSpace wird unterstützt. |
MapSupported
Gibt die Unterstützung für DeviceDsmAction_Map an.
Wert | Bedeutung |
---|---|
0 | DeviceDsmAction_Map wird nicht unterstützt. |
1 | DeviceDsmAction_Map wird unterstützt. |
Reserved1[7]
Reserviert; nicht verwenden.
OptimalUnmapGranularity
Die optimale Anzahl von Blöcken zum Aufheben der Zuordnungsgranularität für das Gerät.
UnmapGranularityAlignment
Der aktuelle Wert in Blöcken, der zum Aufheben der Granularitätsausrichtung auf dem Gerät festgelegt ist. Der Wert UnmapGranularityAlignmentValid gibt die Gültigkeit dieses Elements an.
MaxUnmapLbaCount
Maximale Anzahl von LBAs, die in einem einzelnen UNMAP-Befehl in Einheiten logischer Blöcke nicht zugeordnet werden können. Gültig ab Windows 10.
MaxUnmapBlockDescriptorCount
Maximale Anzahl von Deskriptoren, die in einem einzelnen UNMAP-Befehl zulässig sind. Gültig ab Windows 10.
Hinweise
Diese Struktur wird im Systempuffer von einer IOCTL_STORAGE_QUERY_PROPERTY Anforderung zurückgegeben, wenn das PropertyId-Element von STORAGE_PROPERTY_QUERY auf StorageDeviceLBProvisioningProperty festgelegt ist.
Die DEVICE_LB_PROVISIONING_DESCRIPTOR-Struktur wird in den Systempuffer Irp-AssociatedIrp.SystemBuffer> geschrieben, wobei der Wert sizeof(DEVICE_LB_PROVISIONING_DESCRIPTOR) in Parameters.DeviceIoControl.OutputBufferLength für den aktuellen IRP-Stapelspeicherort festgelegt ist.
Wenn UnmapGranularityAlignmentValid 0 ist, sollte jeder Code, der UnmapGranularityAlignment verwendet, davon ausgehen, dass er den Wert 0 aufweist.
Wenn es sich bei dem zugrunde liegenden Speichergerät um ein SCSI-Gerät handelt, kann die Entfappungsfunktion abgefragt werden. Wenn das TrimEnabled-Element der DEVICE_TRIM_DESCRIPTOR-Struktur TRUE ist, wird UNMAP unterstützt. Die DEVICE_TRIM_DESCRIPTOR-Struktur wird im Systempuffer von einer IOCTL_STORAGE_QUERY_PROPERTY-Anforderung zurückgegeben, wenn das PropertyId-Element von STORAGE_PROPERTY_QUERY auf StorageDeviceTrimProperty festgelegt ist.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 8 |
Kopfzeile | ntddstor.h (include Ntddstor.h) |