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

CHANGER_SET_ACCESS

GET_CHANGER_PARAMETERS

IOCTL_CHANGER_SET_ACCESS