Funzione ChangerMoveMedium (mcd.h)

ChangerMoveMedium gestisce gli aspetti specifici del dispositivo di un'IRP 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 changer.

[in] Irp

Puntatore all'IRP.

Valore restituito

ChangerMoveMedium restituisce lo stato restituito dal driver di 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

Commenti

Questa routine è necessaria.

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 scorrere il mezzo.

ChangerMoveMedium verifica prima che gli indirizzi degli elementi di trasporto, origine e destinazione siano validi e quindi converta gli indirizzi degli elementi in base zero a indirizzi specifici del dispositivo. Compila quindi una 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 della classe changer.

Requisiti

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

Vedi anche

,

CHANGER_ELEMENT

CHANGER_MOVE_MEDIUM

ChangerExchangeMedium