Freigeben über


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

Weitere Informationen

CHANGER_ELEMENT

CHANGER_ELEMENT_LIST

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

CHANGER_READ_ELEMENT STATUS

ChangerGetStatus

ChangerInitializeElementStatus

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS