Funzione ChangerInitializeElementStatus (mcd.h)
ChangerInitializeElementStatus gestisce gli aspetti specifici del dispositivo di un'IRP con il codice IOCTL IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS.
Sintassi
NTSTATUS ChangerInitializeElementStatus(
[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
ChangerInitializeElementStatus restituisce lo stato restituito dal driver della porta di sistema o da uno dei valori seguenti:
STATUS_SUCCESS
STATUS_INVALID_PARAMETER
STATUS_INSUFFICIENT_RESOURCES
Se il changer non supporta l'inizializzazione di un intervallo di elementi di un tipo specifico e ChangerInitializeElementStatus viene chiamato con un tipo di elemento diverso da AllElements, restituisce STATUS_INVALID_PARAMETER.
Commenti
Questa routine è necessaria.
ChangerInitializeElementStatus aggiorna la memoria interna del changer con informazioni correnti sugli elementi.
Il driver della classe changer controlla la lunghezza del buffer di input nella posizione dello stack I/O prima di chiamare ChangerInitializeElementStatus.
Irp-SystemBuffer> punta a una struttura CHANGER_INITIALIZE_ELEMENT_STATUS come parametro di input che indica gli elementi per cui inizializzare lo stato e se inizializzare lo stato dell'elemento con i dati ottenuti dalle etichette del codice a barre.
Per un changer SCSI, ChangerInitializeElementStatus compila una SRB con una rete CDB per inizializzare lo stato dell'elemento, converte gli indirizzi degli elementi in base zero a indirizzi specifici del dispositivo e invia SRB al driver di porta di sistema.
ChangerInitializeElementStatus imposta il campo Information nel blocco di stato I/O su sizeof(CHANGER_INITIALIZE_ELEMENT_STATUS) 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 |