IOCTL_STORAGE_MEDIA_REMOVAL IOCTL (ntddstor.h)
鎖定裝置以防止移除媒體。 如果驅動程式可以在磁碟驅動器正在使用時防止移除媒體,它會停用或啟用在裝置上退出媒體的機制 - 呼叫端已開啟以進行讀取或寫入存取。
不同於 驅動程式依呼叫端追蹤要求的IOCTL_STORAGE_EJECTION_CONTROL,驅動程式只會在鎖定計數已經為零時忽略IOCTL_STORAGE_MEDIA_REMOVAL解除鎖定要求,藉此允許任何呼叫端解除鎖定磁碟驅動器。
這類可移動媒體裝置的驅動程式可支援此 IOCTL 必須執行下列動作:
- 在裝置物件延伸模組中保留鎖定計數。
- 保留每個實體裝置的鎖定計數。
- 使用此 IOCTL 呼叫時,如果已設定防止移除媒體的旗標,請遞增計數;如果旗標清楚,請遞減計數。
- 除非所有鎖定計數都是零,否則防止移除媒體。
主要程序代碼
輸入緩衝區
Irp-AssociatedIrp.SystemBuffer> 上的緩衝區包含布爾值,而 TRUE 表示驅動程式應該鎖定磁碟驅動器中的媒體。
輸入緩衝區長度
布爾值的長度。
輸出緩衝區
無。
輸出緩衝區長度
無。
狀態區塊
[資訊] 欄位設定為零。 [ 狀態 ] 欄位會設定為 [STATUS_SUCCESS],或可能設定為 [STATUS_INVALID_DEVICE_REQUEST]、[STATUS_NO_MEDIA_IN_DEVICE] 或 [STATUS_DEVICE_NOT_CONNECTED]。
規格需求
需求 | 值 |
---|---|
標頭 | ntddstor.h (包含 Ntddstor.h) |