IOCTL_STORAGE_SET_HOTPLUG_INFO IOCTL (ntddstor.h)

指定したデバイスの hotplug 構成を設定します。 この要求は、 STORAGE_HOTPLUG_INFO 構造体を入力として受け取ります。 STORAGE_HOTPLUG_INFO構造体の DeviceHotplug メンバーによって、実行されるアクションが決まります。 そのメンバーの値が 0 以外の場合、レジストリ内のデバイスの削除ポリシーの値は ExpectSurpriseRemoval に設定され、キャッシュのすべてのレベルが無効になります。 DeviceHotplug の値が 0 の場合、削除ポリシーは ExpectOrderlyRemoval に設定され、キャッシュが選択的に有効になる可能性があります。

メジャー コード

IRP_MJ_DEVICE_CONTROL

[入力バッファー]

入力バッファー。

入力バッファーの長さ

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 を含む)

こちらもご覧ください

IOCTL_STORAGE_GET_HOTPLUG_INFO

STORAGE_HOTPLUG_INFO