Condividi tramite


Funzione ChangerGetElementStatus (mcd.h)

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

Osservazioni

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 della classe changer controlla le lunghezze del buffer di input e output nel percorso dello stack 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 prima compila uno 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 quindi compila 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 di 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 flag della struttura.

ChangerGetElementStatus imposta il campo Information nel blocco di stato I/O sul numero di byte restituiti prima di tornare al driver della 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

CHANGER_ELEMENT_LIST

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

CHANGER_READ_ELEMENT STATUS

ChangerGetStatus

ChangerInitializeElementStatus

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS