Freigeben über


ChangerMoveMedium-Funktion (mcd.h)

ChangerMoveMedium behandelt die gerätespezifischen Aspekte einer Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_MOVE_MEDIUM.

Syntax

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

ChangerMoveMedium gibt die vom Systemporttreiber zurückgegebene status oder einen der folgenden Werte zurück:

STATUS_SUCCESS

STATUS_DESTINATION_ELEMENT_FULL

STATUS_INVALID_ELEMENT_ADDRESS

STATUS_INVALID_DEVICE_REQUEST

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

STATUS_SOURCE_ELEMENT_EMPTY

Hinweise

Diese Routine ist erforderlich.

ChangerMoveMedium verschiebt ein Medienelement von einem Element in ein anderes.

Der Changer-Klassentreiber überprüft die Länge des Eingabepuffers am E/A-Stapelspeicherort, bevor ChangerMoveMedium aufgerufen wird. Irp-SystemBuffer>zeigt auf eine CHANGER_MOVE_MEDIUM-Struktur, die das Transportelement, die Quelle, das Ziel und ob das Medium umgedreht werden soll.

ChangerMoveMedium überprüft zunächst, ob die Transport-, Quell- und Zielelementadressen gültig sind, und konvertiert dann nullbasierte Elementadressen in gerätespezifische Adressen. Anschließend wird ein SRB mit einem CDB zum Verschieben des Medienteils erstellt und an den Systemporttreiber gesendet.

ChangerMoveMedium legt das Feld Information im E/A-status-Block auf sizeof(CHANGER_MOVE_MEDIUM) fest, bevor zum Changer-Klassentreiber zurückzukehren.

Anforderungen

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

Weitere Informationen

,

CHANGER_ELEMENT

CHANGER_MOVE_MEDIUM

ChangerExchangeMedium