ChangerMoveMedium 函式 (mcd.h)
ChangerMoveMedium 會使用 IOCTL 程式代碼 IOCTL_CHANGER_MOVE_MEDIUM來處理裝置控制項 IRP 的裝置特定層面。
語法
NTSTATUS ChangerMoveMedium(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIRP Irp
);
參數
[in] DeviceObject
代表變更器的裝置物件的指標。
[in] Irp
IRP 的指標。
傳回值
ChangerMoveMedium 會傳回系統埠驅動程式所傳回的狀態,或下列其中一個值:
STATUS_SUCCESS
STATUS_DESTINATION_ELEMENT_FULL
STATUS_INVALID_ELEMENT_ADDRESS
STATUS_INVALID_DEVICE_REQUEST
STATUS_INVALID_PARAMETER
STATUS_INSUFFICIENT_RESOURCES
STATUS_SOURCE_ELEMENT_EMPTY
備註
此例程是必要的。
ChangerMoveMedium 會將媒體片段從某個元素移到另一個專案。
changer 類別驅動程式會在呼叫 ChangerMoveMedium 之前,先檢查 I/O 堆棧位置中的輸入緩衝區長度。 Irp-SystemBuffer>指向CHANGER_MOVE_MEDIUM結構,表示傳輸元素、來源、目的地,以及是否翻轉媒體。
ChangerMoveMedium 會先確認傳輸、來源和目的地元素位址有效,然後將以零起始的專案位址轉換為裝置特定的位址。 然後它會使用CDB建置SRB,以行動媒體片段,並將其傳送至系統埠驅動程式。
ChangerMoveMedium 會將 I/O 狀態區塊中的 [資訊 ] 欄位設定為 sizeof (CHANGER_MOVE_MEDIUM) ,然後再返回變更程式類別驅動程式。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | mcd.h (包括 Mcd.h、Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |