Condividi tramite


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

Vedi anche

CHANGER_ELEMENT

CHANGER_ELEMENT_LIST

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

STATO CHANGER_READ_ELEMENT

ChangerGetStatus

ChangerInitializeElementStatus

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS