Condividi tramite


Funzione ChangerMoveMedium (mcd.h)

ChangerMoveMedium gestisce gli aspetti specifici del dispositivo di un IRP di controllo del dispositivo con il codice IOCTL IOCTL_CHANGER_MOVE_MEDIUM.

Sintassi

NTSTATUS ChangerMoveMedium(
  [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

ChangerMoveMedium 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_INVALID_DEVICE_REQUEST

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

STATUS_SOURCE_ELEMENT_EMPTY

Osservazioni

Questa routine è obbligatoria.

ChangerMoveMedium sposta un elemento multimediale da un elemento a un altro.

Il driver della classe changer controlla la lunghezza del buffer di input nella posizione dello stack I/O prima di chiamare ChangerMoveMedium. Irp:>SystemBuffer punta a una struttura CHANGER_MOVE_MEDIUM che indica l'elemento di trasporto, l'origine, la destinazione e se capovolgere il supporto.

ChangerMoveMedium verifica innanzitutto che gli indirizzi degli elementi di trasporto, origine e destinazione siano validi e quindi convertano gli indirizzi degli elementi in base zero in indirizzi specifici del dispositivo. Crea quindi un SRB con un CDB per spostare il componente multimediale e lo invia al driver della porta di sistema.

ChangerMoveMedium imposta il campo informazioni nel blocco di stato I/O su sizeof(CHANGER_MOVE_MEDIUM) prima di tornare al driver di classe del modificatore.

Fabbisogno

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

Vedere anche

,

CHANGER_ELEMENT

CHANGER_MOVE_MEDIUM

ChangerExchangeMedium