Funzione ChangerExchangeMedium (mcd.h)

ChangerExchangeMedium gestisce gli aspetti specifici del dispositivo di un IRP di controllo del dispositivo con il codice IOCTL IOCTL_CHANGER_EXCHANGE_MEDIUM.

Sintassi

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

Parametri

[in] DeviceObject

Puntatore all'oggetto dispositivo che rappresenta il modificatore.

[in] Irp

Puntatore all'IRP.

Valore restituito

Se il modificatore supporta lo scambio di supporti, ChangerExchangeMedium restituisce lo stato restituito dal driver della porta di sistema o uno dei valori seguenti:

STATUS_SUCCESS

STATUS_DESTINATION_ELEMENT_FULL

STATUS_INVALID_ELEMENT_ADDRESS

STATUS_SOURCE_ELEMENT_EMPTY

Se il modificatore non supporta lo scambio di supporti, ChangerExchangeMedium restituisce STATUS_INVALID_DEVICE_REQUEST.

Commenti

Questa routine è obbligatoria.

ChangerExchangeMedium sposta un elemento multimediale da un elemento di origine a una destinazione e da tale destinazione a un'altra destinazione. L'origine e la seconda destinazione sono spesso uguali, con conseguente semplice scambio di supporti.

Il flag CHANGER_EXCHANGE_MEDIA in Features0 della struttura GET_CHANGER_PARAMETERS indica se il modificatore supporta questa funzionalità. Un modificatore che supporta lo scambio di supporti include in genere due meccanismi di selezione su un singolo elemento di trasporto o almeno due elementi di trasporto. Un modificatore con un singolo meccanismo di selezione può supportare lo scambio di supporto tramite l'emulazione del comando.

Il driver di classe changer controlla la lunghezza del buffer di input nella posizione dello stack di I/O prima di chiamare la routine ChangerExchangeMedium di un driver miniclasse. Irp-SystemBuffer> punta a una struttura CHANGER_EXCHANGE_MEDIUM come parametro di input che indica l'elemento di trasporto e la destinazione da impostare.

ChangerExchangeMedium verifica innanzitutto che gli indirizzi degli elementi di trasporto, di origine e di destinazione siano validi, quindi converte gli indirizzi degli elementi in base zero in indirizzi di elementi specifici del dispositivo. Compila quindi un SRB con una rete CDB per scambiare il supporto e lo invia al driver della porta di sistema.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione mcd.h (include Mcd.h, Ntddchgr.h)
IRQL PASSIVE_LEVEL

Vedi anche

CHANGER_ELEMENT

CHANGER_EXCHANGE_MEDIUM

ChangerMoveMedium

GET_CHANGER_PARAMETERS