Funzione ChangerGetElementStatus (mcd.h)
ChangerGetElementStatus gestisce gli aspetti specifici del dispositivo di un IRP di controllo del dispositivo con il codice IOCTL IOCTL_CHANGER_GET_ELEMENT_STATUS.
Sintassi
NTSTATUS ChangerGetElementStatus(
[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
ChangerGetElementStatus restituisce lo stato restituito dal driver della porta di sistema o uno dei valori seguenti:
STATUS_SUCCESS
STATUS_INFO_LENGTH_MISMATCH
STATUS_INSUFFICIENT_RESOURCES
STATUS_INVALID_DEVICE_REQUEST
STATUS_INVALID_ELEMENT_ADDRESS
Se VolumeTagInfo è impostato per un modificatore che non supporta le informazioni sui tag del volume, ChangerGetElementStatus restituisce STATUS_INVALID_PARAMETER.
Commenti
Questa routine è obbligatoria.
ChangerGetElementStatus restituisce lo stato e, facoltativamente, le informazioni sui tag del volume per tutti gli elementi di un modificatore o lo stato di un numero specifico di elementi di un particolare tipo.
Il driver di classe changer controlla le lunghezze del buffer di input e output nella posizione dello stack di I/O prima di chiamare ChangerGetElementStatus.
Irp-SystemBuffer> punta a una struttura CHANGER_READ_ELEMENT_STATUS come parametro di input che indica gli elementi per cui segnalare lo stato e se segnalare le informazioni sui tag del volume.
ChangerGetElementStatus compila innanzitutto un SRB con un cdb per leggere il comando di stato dell'elemento e lo invia al driver della porta di sistema per recuperare lo stato degli elementi del modificatore. Per la maggior parte dei tipi di elemento, ChangerGetElementStatus compila quindi una struttura CHANGER_ELEMENT_STATUS in Irp-AssociatedIrp.SystemBuffer> per ogni elemento per cui segnala lo stato. Tuttavia, alcuni elementi di tipo ChangerDrive restituiscono dati sulle informazioni sul prodotto. Se il dispositivo fornisce informazioni sul prodotto, il driver miniclasse deve segnalare i dati sullo stato dell'elemento in una struttura di tipo CHANGER_ELEMENT_STATUS_EX anziché usare CHANGER_ELEMENT_STATUS. ChangerGetElementStatus deve indicare che le informazioni sul prodotto sono presenti impostando ELEMENT_STATUS_PRODUCT_DATA nel membro Flags della struttura.
ChangerGetElementStatus imposta il campo Information nel blocco di stato di I/O sul numero di byte restituiti prima di tornare al driver di classe del modificatore.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | mcd.h (include Mcd.h, Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |