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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per