共用方式為


IOCTL_STORAGE_SET_HOTPLUG_INFO IOCTL (ntddstor.h)

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

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

輸入緩衝區。

輸入緩衝區長度

參數.DeviceIoControl.InputBufferLength I/O 堆棧位置中的參數緩衝區,其大小必須大於或等於 sizeof(STORAGE_HOTPLUG_INFO)。

輸出緩衝區

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

輸出緩衝區長度

STORAGE_HOTPLUG_INFO 結構的長度。

狀態區塊

[狀態] 字段會設定為 [STATUS_SUCCESS],或輸入緩衝區太小時可能STATUS_INFO_LENGTH_MISMATCH。 如果 Size 成員STORAGE_HOTPLUG_INFO不是此裝置類別驅動程式預期的大小,則會設定為STATUS_INVALID_PARAMETER_1。 如果 MediaRemoveable 成員的值與類別驅動程式所持有的值不同,則會設定為STATUS_INVALID_PARAMETER_2。 如果 mediaHotplug 成員的 值與類別驅動程式所持有的值不同,而且如果 WriteCacheEnableOverride 成員的值與類別驅動程式所持有的值不同,則會設定為 STATUS_INVALID_PARAMETER_5。 STATUS_INVALID_PARAMETER_3

要求

要求 價值
標頭 ntddstor.h (include Ntddstor.h)

另請參閱

IOCTL_STORAGE_GET_HOTPLUG_INFO

STORAGE_HOTPLUG_INFO