共用方式為


IOCTL_STORAGE_MEDIA_REMOVAL IOCTL (ntddstor.h)

鎖定裝置以防止移除媒體。 如果驅動程式可在磁碟驅動器使用時防止移除媒體,則會停用或啟用在裝置上退出媒體的機制-呼叫端已開啟供讀取或寫入存取。

IOCTL_STORAGE_EJECTION_CONTROL不同,驅動程式會追蹤呼叫者的要求,驅動程式只會忽略IOCTL_STORAGE_MEDIA_REMOVAL解除鎖定要求,前提是其鎖定計數已經為零,因此允許任何呼叫者解除鎖定磁碟驅動器。

支援此 IOCTL 之抽取式媒體裝置的驅動程式必須執行下列動作:

  1. 將鎖定計數保留在裝置物件延伸模組中。
  2. 保留每個實體裝置的鎖定計數。
  3. 使用此 IOCTL 呼叫時,如果已設定防止移除媒體的旗標,則遞增計數;如果旗標是清楚的,請遞減計數。
  4. 除非所有鎖定計數都是零,否則防止移除媒體。

主要程序代碼

IRP_MJ_DEVICE_CONTROL

輸入緩衝區

Irp->AssociatedIrp.SystemBuffer 的緩衝區包含布爾值,TRUE 表示驅動程式應該鎖定磁碟驅動器中的媒體。

輸入緩衝區長度

布爾值的長度。

輸出緩衝區

沒有。

輸出緩衝區長度

沒有。

狀態區塊

[資訊 ] 字段 設定為零。 [狀態] 字段會設定為 [STATUS_SUCCESS],或可能設定為 [STATUS_INVALID_DEVICE_REQUEST]、[STATUS_NO_MEDIA_IN_DEVICE] 或 [STATUS_DEVICE_NOT_CONNECTED]。

要求

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

另請參閱

IOCTL_STORAGE_EJECTION_CONTROL