IOCTL_STORAGE_SET_HOTPLUG_INFO IOCTL (ntddstor.h)
設定指定裝置的 hotplug 組態。 此要求會採用 STORAGE_HOTPLUG_INFO 結構作為輸入。 STORAGE_HOTPLUG_INFO 結構的 DeviceHotplug 成員會決定採取哪些動作。 如果該成員的值是非零的,則登錄中裝置移除原則的值會設定為 ExpectSurpriseRemoval ,而且所有層級的快取都會停用。 如果 DeviceHotplug 的值為零,移除原則會設定為 ExpectOrderlyRemoval,而且可能會選擇性地啟用快取。
主要程序代碼
輸入緩衝區
輸入緩衝區。
輸入緩衝區長度
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) |