DEVICE_MANAGE_DATA_SET_ATTRIBUTES Struktur (ntddstor.h)
Die DEVICE_DSM_INPUT -Struktur (oder DEVICE_MANAGE_DATA_SET_ATTRIBUTES) gibt eine Verwaltungsaktion für die Datensatzattribute für ein Gerät an.
Syntax
typedef struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES {
ULONG Size;
DEVICE_DSM_ACTION Action;
ULONG Flags;
ULONG ParameterBlockOffset;
ULONG ParameterBlockLength;
ULONG DataSetRangesOffset;
ULONG DataSetRangesLength;
} DEVICE_MANAGE_DATA_SET_ATTRIBUTES, *PDEVICE_MANAGE_DATA_SET_ATTRIBUTES, DEVICE_DSM_INPUT, *PDEVICE_DSM_INPUT;
Angehörige
Size
Größe der DEVICE_DSM_INPUT Struktur in Byte. Der Wert dieses Elements ändert sich, wenn Elemente der Struktur hinzugefügt werden.
Action
Ein DEVICE_DSM_ACTION Wert, der die auszuführende Aktion angibt. Eine Liste der Aktionswerte und Beschreibungen finden Sie unter DEVICE_DSM_ACTION Beschreibungen.
Wenn das DeviceDsmActionFlag_NonDestructive Flag (wichtigstes Bit) in Aktionfestgelegt wird, ist die angegebene Aktion nicht destruktiv. Bei nicht destruktiven Aktionen kann der Treiber die IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES Anforderung sicher an den nächsten unteren Treiber im Stapel weiterleiten, auch wenn der Treiber die angegebene Aktion nicht behandelt. Wenn der Treiber den DSM verarbeitet, sollte er die normale Verarbeitung des Datensatzbereichsblocks ausführen, der durch die DataSetRangesOffset- und DataSetRangesLength--Member angegeben wird, bevor die IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES Anforderung an den nächsten niedrigeren Treiber weitergeleitet wird.
Flags
Diese Flags sind global für alle Steuerelementaktionen. Dieses Element kann auf eines der folgenden Flags festgelegt werden:
Flag-Wert | Bedeutung |
---|---|
DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE | Die Steuerelementaktion wird für den gesamten Datensatzbereich angegeben. Wenn dieses Flag festgelegt ist, müssen die DataSetRangesOffset- und DataSetRangesLength- elemente auf Null festgelegt werden. |
ParameterBlockOffset
Gibt den Start des Parameterblocks innerhalb der Nutzlast der IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES-Anforderung an. Das Format des Parameterblocks hängt vom Wert des elements Action ab. Weitere Informationen zum Parameterblockformat finden Sie unter DEVICE_DSM_ACTION Beschreibungen. Hinweis: Der Offset des Parameterblocks muss an der Adressgrenze des entsprechenden Parameters ausgerichtet werden.
Wenn ParameterBlockOffset- auf Null festgelegt ist, ist der Parameterblock nicht vorhanden.
ParameterBlockLength
Gibt die Länge des Parameterblocks in Bytes innerhalb der Nutzlast der IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES-Anforderung an.
Wenn ParameterBlockLength- auf Null festgelegt ist, ist der Parameterblock nicht vorhanden.
DataSetRangesOffset
Gibt den Anfang des Blocks von Datasetbereichen innerhalb der Nutzlast der IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES-Anforderung an. Dieser Block besteht aus einem oder mehreren zusammenhängenden Einträgen, die als DEVICE_DSM_RANGE Strukturen formatiert sind. Hinweis: Der Offset des Datensatzbereichsblocks muss an der Adressgrenze der DEVICE_DSM_RANGE Struktur ausgerichtet werden.
Wenn dieser Wert auf Null festgelegt ist, ist der Datensatzbereichsblock nicht vorhanden.
DataSetRangesLength
Gibt die Länge des Datensatzblocks in Byte innerhalb der Nutzlast der IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES Anforderung an. Wenn DataSetRangesLength- auf Null festgelegt ist, ist der Block von Datasetbereichen nicht vorhanden.
Bemerkungen
Weitere Informationen zum Format der Nutzlast für eine IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES Anforderung finden Sie unter Data Set Management Overview. Die Gesamtgröße des Puffers sollte mindestens sizeof(DEVICE_DSM_INPUT) + ParameterBlockLength + DataSetRangesLength
sein.
Der Block von Datasetbereichen wird durch die DataSetRangesOffset- und DataSetRangesLength-elemente angegeben. Wenn dieser Block vorhanden ist, enthält er zusammenhängende DEVICE_DSM_RANGE Strukturen.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ntddstor.h (include Ntddstor.h) |
Siehe auch
übersicht über Data Set Management