Condividi tramite


Funzione ChangerInitializeElementStatus (mcd.h)

ChangerInitializeElementStatus gestisce gli aspetti specifici del dispositivo di un IRP di controllo del dispositivo 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 modificatore.

[in] Irp

Puntatore all'IRP.

Valore restituito

ChangerInitializeElementStatus restituisce lo stato restituito dal driver della porta di sistema o uno dei valori seguenti:

STATUS_SUCCESS

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

Se il modificatore non supporta l'inizializzazione di un intervallo di elementi di un particolare tipo e ChangerInitializeElementStatus viene chiamato con un tipo di elemento diverso da AllElements, restituisce STATUS_INVALID_PARAMETER.

Osservazioni

Questa routine è obbligatoria.

ChangerInitializeElementStatus aggiorna la memoria interna del modificatore con le informazioni correnti sui relativi 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 degli elementi con i dati ottenuti dalle etichette di codice a barre.

Per un modificatore SCSI, ChangerInitializeElementStatus compila un SRB con un cdb per inizializzare lo stato dell'elemento, converte gli indirizzi degli elementi in base zero in indirizzi specifici del dispositivo e invia SRB al driver della porta di sistema.

ChangerInitializeElementStatus imposta il campo informazioni nel blocco di stato I/O su sizeof(CHANGER_INITIALIZE_ELEMENT_STATUS) prima di tornare al driver di classe del modificatore.

Fabbisogno

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

Vedere anche

CHANGER_ELEMENT_LIST

CHANGER_INITIALIZE_ELEMENT_STATUS

ChangerGetElementStatus