ChangerGetElementStatus-Funktion (mcd.h)
ChangerGetElementStatus behandelt die gerätespezifischen Aspekte eines IRP für die Gerätesteuerung 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 die IRP.
Rückgabewert
ChangerGetElementStatus gibt die vom Systemporttreiber zurückgegebene status oder einen der folgenden Werte zurück:
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.
Hinweise
Diese Routine ist erforderlich.
ChangerGetElementStatus gibt die status und optional Volumetaginformationen für alle Elemente in einem Changer oder die status einer bestimmten Anzahl von Elementen eines bestimmten Typs zurück.
Der Changer-Klassentreiber überprüft die Längen des Eingabe- und Ausgabepuffers am E/A-Stapelspeicherort, bevor ChangerGetElementStatus aufgerufen wird.
Irp-SystemBuffer> verweist auf eine CHANGER_READ_ELEMENT_STATUS-Struktur als Eingabeparameter, der angibt, für welche Elemente status gemeldet werden sollen, und ob Volumetaginformationen gemeldet werden sollen.
ChangerGetElementStatus erstellt zunächst einen SRB mit einem CDB zum Lesen des Elements status Befehls und sendet es an den Systemporttreiber, um die status der Elemente des Changers abzurufen. Für die meisten Elementtypen füllt ChangerGetElementStatus dann eine CHANGER_ELEMENT_STATUS-Struktur unter Irp-AssociatedIrp.SystemBuffer > für jedes Element aus, für das status gemeldet wird. Einige Elemente des Typs ChangerDrive geben jedoch Produktinformationsdaten zurück. Wenn das Gerät Produktinformationen bereitstellt, muss der Miniklassentreiber das Element status Daten 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-Member der -Struktur festgelegt wird.
ChangerGetElementStatus legt das Feld Information im E/A-status-Block auf die Anzahl der zurückgegebenen Bytes fest, bevor zum Changer-Klassentreiber zurückgegeben wird.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | mcd.h (include Mcd.h, Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |