IOCTL_STORAGE_MCN_CONTROL IOCTL (ntddstor.h)
暫時啟用或停用卸除式媒體裝置上自定義 PnP 事件的傳遞GUID_IO_MEDIA_ARRIVAL和GUID_IO_MEDIA_REMOVAL。 接著,如果呼叫端已開啟具有FILE_READ_ATTRIBUTES存取權的裝置,以及裝置已在登錄中啟用 AutoPlay,則啟用或停用媒體變更偵測 (自動播放) 。 呼叫端不得開啟裝置進行讀取或寫入存取,否則 IOCTL 作業將會失敗。 此 IOCTL 不會影響登錄中的 [自動播放] 設定。
這類抽取式媒體裝置的驅動程序必須執行下列動作:
- 在裝置物件擴充功能中,保留每個實體裝置的停用要求計數。
- 使用此 IOCTL 呼叫時,如果已設定停用媒體變更偵測的旗標,則遞增計數;如果旗標是清除的,請遞減計數。
- 只有在停用要求計數為零時,才會變更媒體狀態時,設定裝置的媒體變更事件。
主要程序代碼
輸入緩衝區
Irp-AssociatedIrp.SystemBuffer> 的緩衝區包含布爾值,其值為 TRUE,表示驅動程式應該停用媒體變更偵測。
輸入緩衝區長度
布爾值的長度。
輸出緩衝區
無。
輸出緩衝區長度
無。
狀態區塊
[ 資訊] 欄位設定為零。 [ 狀態 ] 欄位會設定為 [STATUS_SUCCESS],或可能設定為 [STATUS_BUFFER_TOO_SMALL]、[STATUS_INVALID_PARAMETER] 或 [STATUS_INVALID_DEVICE_STATE]。
規格需求
需求 | 值 |
---|---|
標頭 | ntddstor.h (包含 Ntddstor.h) |