Funzione ChangerSetAccess (mcd.h)
ChangerSetAccess gestisce gli aspetti specifici del dispositivo di un IRP di controllo del dispositivo con il codice IOCTL IOCTL_CHANGER_SET_ACCESS.
Sintassi
NTSTATUS ChangerSetAccess(
[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 l'accesso all'impostazione, ChangerSetAccess restituisce il valore STATUS_XXX restituito dal driver della porta di sistema o uno dei valori seguenti:
STATUS_SUCCESS
STATUS_INSUFFICIENT_RESOURCES
STATUS_INVALID_PARAMETER
Se il modificatore non supporta l'accesso all'impostazione, ChangerSetAccess restituisce STATUS_INVALID_DEVICE_REQUEST.
Commenti
Questa routine è obbligatoria.
ChangerSetAccess blocca o sblocca l'IEport, la porta o il tastierino di un modificatore e estende o ritrae un IEport.
Il driver di classe changer controlla la lunghezza del buffer di input nella posizione dello stack di I/O prima di chiamare ChangerSetAccess. Irp-SystemBuffer> punta a una struttura CHANGER_SET_ACCESS come parametro di input che indica l'elemento da impostare e l'operazione da eseguire.
ChangerSetAccess verifica innanzitutto la presenza di elementi e operazioni non supportati e restituisce il codice di stato appropriato per quelli che non supporta.
ChangerSetAccess converte quindi l'indirizzo dell'elemento in base zero passato dal sistema all'indirizzo dell'elemento specifico del dispositivo richiesto dal modificatore.
ChangerSetAccess compila infine un SRB con un CDB per l'operazione specificata sull'elemento specificato e lo invia al driver della porta di sistema. Il comando da usare dipende dal modificatore. Ad esempio, il driver miniclass Exabyte usa il comando SCSI PREVENT ALLOW MEDIUM REMOVAL to lock or unlock a changer door and MOVE MEDIUM to extend or ritir an IEport.For example, the Exabyte miniclass driver uses the SCSI command PREVENT ALLOW MEDIUM REMOVAL to lock or unlock a changer door and MOVE MEDIUM to extend or retraiport.
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 gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per