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 |