IOCTL_STORAGE_SET_HOTPLUG_INFO IOCTL (ntddstor.h)
指定したデバイスの hotplug 構成を設定します。 この要求は、STORAGE_HOTPLUG_INFO 構造体を入力として受け取ります。 STORAGE_HOTPLUG_INFO構造体の DeviceHotplug メンバーによって、実行されるアクションが決まります。 そのメンバーの値が 0 以外の場合、レジストリ内のデバイスの削除ポリシーの値が ExpectSurpriseRemoval に設定され、すべてのレベルのキャッシュが無効になります。 DeviceHotplug の値が 0 の場合、削除ポリシーは ExpectOrderlyRemoval に設定され、キャッシュが選択的に有効になっている可能性があります。
メジャー コード
入力バッファー
入力バッファー。
入力バッファーの長さ
I/O スタックの場所 Parameters.DeviceIoControl.InputBufferLength は、パラメーター バッファーのサイズ (バイト単位) を示します。これは、sizeof(STORAGE_HOTPLUG_INFO) 以上である必要があります。
出力バッファー
ドライバーは、irp->AssociatedIrp.SystemBuffer のバッファー内のSTORAGE_HOTPLUG_INFO構造体ホットプラグ構成データを返します。
出力バッファーの長さ
STORAGE_HOTPLUG_INFO 構造体の長さ。
状態ブロック
Status フィールドは、STATUS_SUCCESSに設定されているか、入力バッファーが小さすぎる場合はSTATUS_INFO_LENGTH_MISMATCHに設定されます。 STORAGE_HOTPLUG_INFOの Size メンバーがこのデバイスのクラス ドライバーで想定されるサイズでない場合は、STATUS_INVALID_PARAMETER_1に設定されます。 MediaRemoveable メンバーがクラス ドライバーによって保持されている値とは異なる値を持っている場合は、STATUS_INVALID_PARAMETER_2に設定されます。 MediaHotplug メンバーがクラス ドライバーによって保持されている値とは異なる値を持つ場合はSTATUS_INVALID_PARAMETER_3に設定され、WriteCacheEnableOverride メンバーがクラス ドライバーによって保持されている値とは異なる値を持つ場合はSTATUS_INVALID_PARAMETER_5に設定されます。
必要条件
要件 | 価値 |
---|---|
ヘッダー | ntddstor.h (Ntddstor.h を含む) |