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

另請參閱

,

CHANGER_ELEMENT

CHANGER_MOVE_MEDIUM

ChangerExchangeMedium