Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
ChangerExchangeMedium behandelt die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_EXCHANGE_MEDIUM.
Syntax
NTSTATUS ChangerExchangeMedium(
[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
Wenn der Changer den Austausch von Medien unterstützt, gibt ChangerExchangeMedium den vom Systemporttreiber zurückgegebenen Status oder einen der folgenden Werte zurück:
STATUS_SUCCESS
STATUS_DESTINATION_ELEMENT_FULL
STATUS_INVALID_ELEMENT_ADDRESS
STATUS_SOURCE_ELEMENT_EMPTY
Wenn der Changer den Austausch von Medien nicht unterstützt, gibt ChangerExchangeMedium STATUS_INVALID_DEVICE_REQUEST zurück.
Bemerkungen
Diese Routine ist erforderlich.
ChangerExchangeMedium ein Medienelement von einem Quellelement auf ein Ziel und von diesem Ziel zu einem anderen Ziel verschiebt. Die Quelle und das zweite Ziel sind häufig identisch, was zu einem einfachen Austausch von Medien führt.
Das CHANGER_EXCHANGE_MEDIA-Flag in Features0 der GET_CHANGER_PARAMETERS Struktur gibt an, ob der Changer diese Funktionalität unterstützt. Ein Changer, der den Austausch von Medien unterstützt, verfügt in der Regel über zwei Auswahlmechanismen für ein einzelnes Transportelement oder mindestens zwei Transportelemente. Ein Changer mit einem einzigen Auswahlmechanismus kann den Austausch von Medium über die Emulation des Befehls unterstützen.
Der Änderungsklassentreiber überprüft die Länge des Eingabepuffers am I/O-Stapelspeicherort, bevor die ChangerExchangeMedium Routine eines Miniklassentreibers aufgerufen wird. Irp->SystemBuffer verweist als Eingabeparameter auf eine CHANGER_EXCHANGE_MEDIUM Struktur, die das Transportelement und das festzulegende Ziel angibt.
ChangerExchangeMedium zuerst überprüft, ob die Transport-, Quell- und Zielelementadressen gültig sind, und konvertiert dann nullbasierte Elementadressen in gerätespezifische Elementadressen. Anschließend wird ein SRB mit einem CDB erstellt, um die Medien auszutauschen und an den Systemporttreiber zu senden.
Anforderungen
| Anforderung | Wert |
|---|---|
| Zielplattform- | Desktop |
| Header- | mcd.h (include Mcd.h, Ntddchgr.h) |
| IRQL- | PASSIVE_LEVEL |