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_SUCCESSに設定され、入力バッファーが小さすぎる場合はSTATUS_INFO_LENGTH_MISMATCHされる可能性があります。 STORAGE_HOTPLUG_INFO の Size メンバーがこのデバイスのクラス ドライバーによって予期されるサイズでない場合は、STATUS_INVALID_PARAMETER_1に設定されます。 MediaRemoveable メンバーがクラス ドライバーによって保持されている値とは異なる値を持つ場合は、STATUS_INVALID_PARAMETER_2に設定されます。 MediaHotplug メンバーがクラス ドライバーによって保持されている値とは異なる値を持ち、WriteCacheEnableOverride メンバーがクラス ドライバーによって保持されている値とは異なる値を持つ場合、STATUS_INVALID_PARAMETER_5に設定されている場合は、STATUS_INVALID_PARAMETER_3に設定されます。
要件
要件 | 値 |
---|---|
Header | ntddstor.h (Ntddstor.h を含む) |