Freigeben über


ChangerGetElementStatus-Funktion (mcd.h)

ChangerGetElementStatus behandelt die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_GET_ELEMENT_STATUS.

Syntax

NTSTATUS ChangerGetElementStatus(
  [in] PDEVICE_OBJECT DeviceObject,
  [in] PIRP           Irp
);

Parameter

[in] DeviceObject

Zeiger auf das Geräteobjekt, das den Changer darstellt.

[in] Irp

Zeiger auf das IRP.

Rückgabewert

ChangerGetElementStatus den Status zurück, der vom Systemporttreiber oder einem der folgenden Werte zurückgegeben wird:

STATUS_SUCCESS

STATUS_INFO_LENGTH_MISMATCH

STATUS_INSUFFICIENT_RESOURCES

STATUS_INVALID_DEVICE_REQUEST

STATUS_INVALID_ELEMENT_ADDRESS

Wenn VolumeTagInfo für einen Changer festgelegt ist, der keine Volumetaginformationen unterstützt, gibt ChangerGetElementStatus STATUS_INVALID_PARAMETER zurück.

Bemerkungen

Diese Routine ist erforderlich.

ChangerGetElementStatus den Status und optional Volumetaginformationen für alle Elemente in einem Changer oder den Status einer bestimmten Anzahl von Elementen eines bestimmten Typs zurück.

Der Änderungsklassentreiber überprüft die Länge des Eingabe- und Ausgabepuffers an der E/A-Stapelposition, bevor ChangerGetElementStatusaufgerufen wird.

Irp-–>SystemBuffer- verweist auf eine CHANGER_READ_ELEMENT_STATUS Struktur als Eingabeparameter, die die Elemente angibt, für die der Status berichtet werden soll und ob Volumetaginformationen angegeben werden sollen.

ChangerGetElementStatus erstellt zunächst einen SRB mit einem CDB zum Lesen des Elementstatusbefehls und sendet ihn an den Systemporttreiber, um den Status der Elemente des Changers abzurufen. Für die meisten Elementtypen ChangerGetElementStatus dann eine CHANGER_ELEMENT_STATUS Struktur bei Irp-ausfüllt –>AssociatedIrp.SystemBuffer für jedes Element, für das der Status gemeldet wird. Einige Elemente vom Typ ChangerDrive jedoch Produktinformationsdaten zurückgeben. Wenn das Gerät Produktinformationen bereitstellt, muss der Miniklassentreiber die Elementstatusdaten in einer Struktur vom Typ CHANGER_ELEMENT_STATUS_EX melden, anstatt CHANGER_ELEMENT_STATUS zu verwenden. ChangerGetElementStatus- muss angeben, dass Produktinformationen vorhanden sind, indem ELEMENT_STATUS_PRODUCT_DATA im Flags Element der Struktur festgelegt wird.

ChangerGetElementStatus legt das Feld Information im E/A-Statusblock auf die Anzahl der zurückgegebenen Bytes fest, bevor sie an den Änderungsklassentreiber zurückgegeben werden.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- mcd.h (include Mcd.h, Ntddchgr.h)
IRQL- PASSIVE_LEVEL

Siehe auch

CHANGER_ELEMENT

CHANGER_ELEMENT_LIST

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

CHANGER_READ_ELEMENT STATUS-

ChangerGetStatus-

ChangerInitializeElementStatus-

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS