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 dünnen Bereitstellungsfunktionen 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;
Angehörige
Version
Die Version dieser Struktur.
Size
Die Größe dieser Struktur. Dies ist auf sizeof(DEVICE_LB_PROVISIONING_DESCRIPTOR)
festgelegt.
ThinProvisioningEnabled
Der Status "Thin Provisioning–enabled".
Wert | Bedeutung |
---|---|
0 | Die dünne Bereitstellung ist deaktiviert. |
1 | Die dünne Bereitstellung ist aktiviert. |
ThinProvisioningReadZeros
Lesevorgänge in nicht zugeordneten 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-Zuordnungszustand.
Wert | Bedeutung |
---|---|
0 | Der verankerte LBA-Zuordnungszustand wird nicht unterstützt. |
1 | Der verankerte LBA-Zuordnungszustand wird unterstützt. |
UnmapGranularityAlignmentValid
Die Gültigkeit der Unmap-Granularitätsausrichtung für das Gerät.
Wert | Bedeutung |
---|---|
0 | Die Granularitätsausrichtung der Zuordnung ist ungültig. |
1 | Die Granularitätsausrichtung der Zuordnung ist gültig. |
GetFreeSpaceSupported
Gibt die Unterstützung für DeviceDsmAction_GetFreeSpacean.
Wert | Bedeutung |
---|---|
0 | DeviceDsmAction_GetFreeSpace wird nicht unterstützt. |
1 | DeviceDsmAction_GetFreeSpace wird unterstützt. |
MapSupported
Gibt die Unterstützung für DeviceDsmAction_Mapan.
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 für die Unmap-Granularität für das Gerät.
UnmapGranularityAlignment
Der aktuelle Wert in Blöcken wird für die Ausrichtung der Nichtzuordnungs granularität auf dem Gerät festgelegt. 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.
Bemerkungen
Diese Struktur wird im Systempuffer aus einer IOCTL_STORAGE_QUERY_PROPERTY Anforderung zurückgegeben, wenn das PropertyId-Element von STORAGE_PROPERTY_QUERY auf StorageDeviceLBProvisioningPropertyfestgelegt ist.
Die DEVICE_LB_PROVISIONING_DESCRIPTOR-Struktur wird in den Systempuffer geschrieben, Irp->AssociatedIrp.SystemBuffermit dem Wert Sizeof(DEVICE_LB_PROVISIONING_DESCRIPTOR) festgelegt in Parameters.DeviceIoControl.OutputBufferLength für die aktuelle IRP-Stapelposition.
Wenn UnmapGranularityAlignmentValid 0 ist, sollte jeder Code mit UnmapGranularityAlignment- davon ausgehen, dass er den Wert 0 hat.
Wenn es sich bei dem zugrunde liegenden Speichergerät um ein SCSI-Gerät handelt, kann die Unmapping-Funktion abgefragt werden. Wenn das TrimEnabled Member der DEVICE_TRIM_DESCRIPTOR Struktur WAHR ist, wird UNMAP unterstützt. Die DEVICE_TRIM_DESCRIPTOR Struktur wird im Systempuffer aus einer IOCTL_STORAGE_QUERY_PROPERTY Anforderung zurückgegeben, wenn das PropertyId-element von STORAGE_PROPERTY_QUERY auf StorageDeviceTrimProperty-festgelegt ist.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 8 |
Header- | ntddstor.h (include Ntddstor.h) |