共用方式為


changerSetPosition 函式 (mcd.h)

ChangerSetPosition 會使用 IOCTL 程式代碼 IOCTL_CHANGER_SET_POSITION來處理裝置控制項 IRP 的裝置特定層面。

語法

NTSTATUS ChangerSetPosition(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

參數

[in] DeviceObject

代表變更器的裝置物件的指標。

[in] Irp

IRP 的指標。

傳回值

如果變更程式支援設定傳輸專案的位置, ChangerSetPosition 會傳回系統埠驅動程式所傳回的狀態,或下列其中一個值:

STATUS_SUCCESS

STATUS_INFO_LENGTH_MISMATCH

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

如果變更程式不支援設定傳輸專案的位置,ChangerSetPosition 會傳回STATUS_INVALID_DEVICE_REQUEST。

備註

此例程是必要的。

ChangerSetPosition 會將變更器的機器人傳輸機制設定為指定的目的地,通常藉由先定位傳輸來優化移動或交換媒體。

GET_CHANGER_PARAMETERSFeatures0 中的 CHANGER_POSITION_TO_ELEMENT 旗標會指出變更器是否支援這項功能。

變更器類別驅動程式會在呼叫 ChangerSetPosition 之前,先檢查 I/O 堆棧位置中的輸入緩衝區長度。 Irp-SystemBuffer> 指向CHANGER_SET_POSITION結構做為輸入參數,表示要設定的傳輸專案和目的地。

ChangerSetPosition 會先確認傳輸和目的地項目位址有效,並將以零起始的專案位址轉換為裝置特定的位址。 然後,它會使用CDB建置SRB來放置元素,並將它傳送至系統埠驅動程式。

ChangerSetPosition 會將 I/O 狀態區塊中的 [資訊 ] 欄位設定為 sizeof (CHANGER_SET_POSITION) ,然後再返回 changer 類別驅動程式。

規格需求

需求
目標平台 桌面
標頭 mcd.h (包括 Mcd.h、Ntddchgr.h)
IRQL PASSIVE_LEVEL

另請參閱

、IOCTL_CHANGER_SET_POSITION

CHANGER_ELEMENT

CHANGER_SET_POSITION