IOCTL_STORAGE_SET_HOTPLUG_INFO IOCTL (ntddstor.h)
Legt die Hotplug-Konfiguration des angegebenen Geräts fest. Diese Anforderung akzeptiert eine STORAGE_HOTPLUG_INFO Struktur als Eingabe. Das DeviceHotplug- Mitglied der STORAGE_HOTPLUG_INFO-Struktur bestimmt, welche Aktion ausgeführt wird. Wenn der Wert dieses Elements "nonzero" ist, wird der Wert für die Entfernungsrichtlinie des Geräts in der Registrierung auf ExpectSurpriseRemoval festgelegt, und alle Zwischenspeicherungsebenen sind deaktiviert. Wenn der Wert von DeviceHotplug null ist, wird die Entfernungsrichtlinie auf ExpectOrderlyRemovalfestgelegt, und die Zwischenspeicherung kann selektiv aktiviert sein.
Hauptcode
Eingabepuffer
Der Eingabepuffer.
Eingabepufferlänge
Parameters.DeviceIoControl.InputBufferLength- an der E/A-Stapelposition gibt die Größe des Parameterpuffers in Bytes an, der größer oder gleich Größe(STORAGE_HOTPLUG_INFO) sein muss.
Ausgabepuffer
Der Treiber gibt die Hotplug-Konfigurationsdaten in einer STORAGE_HOTPLUG_INFO Struktur im Puffer bei Irp->AssociatedIrp.SystemBufferzurück.
Länge des Ausgabepuffers
Die Länge einer STORAGE_HOTPLUG_INFO Struktur.
Statusblock
Das feld Status wird auf STATUS_SUCCESS oder möglicherweise auf STATUS_INFO_LENGTH_MISMATCH festgelegt, wenn der Eingabepuffer zu klein ist. Sie ist auf STATUS_INVALID_PARAMETER_1 festgelegt, wenn das Size Member von STORAGE_HOTPLUG_INFO nicht die vom Klassentreiber für dieses Gerät erwartete Größe ist. Sie wird auf STATUS_INVALID_PARAMETER_2 festgelegt, wenn der MediaRemoveable Member einen anderen Wert aufweist als der klassentreiber. Sie wird auf STATUS_INVALID_PARAMETER_3 festgelegt, wenn der MediaHotplug- Member einen anderen Wert aufweist als der, der vom Klassentreiber gehalten wird, und es wird auf STATUS_INVALID_PARAMETER_5 festgelegt, wenn der WriteCacheEnableOverride Member einen anderen Wert aufweist als der, der vom Klassentreiber gehalten wird.
Anforderungen
Anforderung | Wert |
---|---|
Header- | ntddstor.h (include Ntddstor.h) |