共用方式為


IOCTL_STORAGE_SET_HOTPLUG_INFO IOCTL (ntddstor.h)

設定指定裝置的 hotplug 組態。 此要求會採用 STORAGE_HOTPLUG_INFO 結構作為輸入。 STORAGE_HOTPLUG_INFO 結構的 DeviceHotplug 成員會決定採取哪些動作。 如果該成員的值是非零的,則登錄中裝置移除原則的值會設定為 ExpectSurpriseRemoval ,而且所有層級的快取都會停用。 如果 DeviceHotplug 的值為零,移除原則會設定為 ExpectOrderlyRemoval,而且可能會選擇性地啟用快取。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

輸入緩衝區。

輸入緩衝區長度

I/O 堆棧位置中的 Parameters.DeviceIoControl.InputBufferLength 表示參數緩衝區的大小,以位元組為單位,其必須大於或等於 sizeof (STORAGE_HOTPLUG_INFO) 。

輸出緩衝區

驅動程式會在 Irp-AssociatedIrp.SystemBuffer> 緩衝區的STORAGE_HOTPLUG_INFO結構中傳回 hotplug 組態數據。

輸出緩衝區長度

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

規格需求

需求
標頭 ntddstor.h (包含 Ntddstor.h)

另請參閱

IOCTL_STORAGE_GET_HOTPLUG_INFO

STORAGE_HOTPLUG_INFO