Freigeben über


ChangerMoveMedium-Funktion (mcd.h)

ChangerMoveMedium behandelt die gerätespezifischen Aspekte eines 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 das IRP.

Rückgabewert

ChangerMoveMedium den vom Systemporttreiber zurückgegebenen 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

Bemerkungen

Diese Routine ist erforderlich.

ChangerMoveMedium ein Medienelement von einem Element in ein anderes verschiebt.

Der Änderungsklassentreiber überprüft die Eingabepufferlänge an der E/A-Stapelposition, bevor ChangerMoveMediumaufgerufen wird. Irp-->SystemBuffer-verweist auf eine CHANGER_MOVE_MEDIUM Struktur, die das Transportelement, die Quelle, das Ziel angibt und ob das Medium gekippt werden soll.

ChangerMoveMedium zuerst überprüft, 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 erstellt, um den Medienteil zu verschieben und an den Systemporttreiber zu senden.

ChangerMoveMedium legt das Feld Information im E/A-Statusblock auf Größe(CHANGER_MOVE_MEDIUM) fest, bevor sie zum Änderungsklassentreiber zurückkehren.

Anforderungen

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

Siehe auch

,

CHANGER_ELEMENT

CHANGER_MOVE_MEDIUM

ChangerExchangeMedium-