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 Änderungsgeber darstellt.

[in] Irp

Zeiger auf das IRP.

Rückgabewert

ChangerMoveMedium gibt 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 verschiebt einen Medienteil von einem Element zu einem anderen.

Der Änderungsklassentreiber überprüft die Eingabepufferlänge an der I/O-Stapelposition vor dem Aufrufen von ChangerMoveMedium. Irp-SystemBuffer>verweist auf eine CHANGER_MOVE_MEDIUM Struktur, die das Transportelement angibt, die Quelle, das Ziel und ob das Medium gedreht werden soll.

ChangerMoveMedium überprüft zunächst, ob die Adressen für Transport, Quelle und Zielelement gültig sind und dann nullbasierte Elementadressen in gerätespezifische Adressen konvertiert werden. 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 I/O-Statusblock auf sizeof(CHANGER_MOVE_MEDIUM) fest, bevor er an den Änderungsklassentreiber zurückgibt.

Requirements (Anforderungen)

   
Zielplattform Desktop
Header mcd.h (einschließlich Mcd.h, Ntddchgr.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

,

CHANGER_ELEMENT

CHANGER_MOVE_MEDIUM

ChangerExchangeMedium