Freigeben über


ChangerGetParameters-Funktion (mcd.h)

ChangerGetParameters behandelt die gerätespezifischen Aspekte eines IRP für Gerätesteuerung mit dem IOCTL-Code IOCTL_CHANGER_GET_PARAMETERS.

Syntax

NTSTATUS ChangerGetParameters(
  [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

ChangerGetParameters gibt den vom Systemporttreiber zurückgegebenen STATUS_XXX-Wert oder einen der folgenden Werte zurück:

STATUS_SUCCESS

STATUS_INFO_LENGTH_MISMATCH

STATUS_INSUFFICIENT_RESOURCES

Hinweise

Diese Routine ist erforderlich.

ChangerGetParameters gibt die Parameter eines Changers zurück, einschließlich der Anzahl und des Typs seiner Elemente und der unterstützten Funktionalität.

Der Changer-Klassentreiber überprüft die Ausgabepufferlänge am E/A-Stapelspeicherort, bevor ChangerGetParameters aufgerufen wird. Wenn die Länge des Ausgabepuffers kleiner als sizeof(GET_CHANGER_PARAMETERS) ist, gibt der Changerklassentreiber den Wert STATUS_INFO_LENGTH_MISMATCH zurück.

ChangerGetParameters ruft Parameterdaten vom Gerät ab, indem SRBs mit CDBs erstellt werden, um die Kopfzeilenseite des SCSI-Parameters, die Seite der Elementadresse, die Seite für die Transportgeometrie und die Seite mit den Gerätefunktionen oder die Nicht-SCSI-Entsprechung dieser Daten abzurufen.

ChangerGetParameters füllt dann eine GET_CHANGER_PARAMETERS-Struktur bei Irp-AssociatedIrp.SystemBuffer> aus, bevor sie zum Changer-Klassentreiber zurückkehren.

Anforderungen

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

Weitere Informationen

GET_CHANGER_PARAMETERS

IOCTL_CHANGER_GET_PARAMETERS