次の方法で共有


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 フィールドは、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 を含む)

関連項目

IOCTL_STORAGE_GET_HOTPLUG_INFO

STORAGE_HOTPLUG_INFO