Freigeben über


ChangerReinitializeUnit-Funktion (mcd.h)

ChangerReinitializeUnit behandelt die gerätespezifischen Aspekte eines Gerätesteuerungs-IRP mit dem IOCTL-Code IOCTL_CHANGER_REINITIALIZE_TRANSPORT.

Syntax

NTSTATUS ChangerReinitializeUnit(
  [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 das Realibrating eines Transportelements unterstützt, gibt ChangerReinitializeUnit den STATUS_vom Systemporttreiber zurückgegebenen XXX- Wert zurück, oder einen der folgenden Werte:

STATUS_SUCCESS

STATUS_INVALID_ELEMENT_ADDRESS

STATUS_INVALID_PARAMETER

STATUS_INSUFFICIENT_RESOURCES

Wenn der Changer das Realibrating eines Transportelements nicht unterstützt, gibt ChangerReinitializeUnit STATUS_INVALID_DEVICE_REQUEST zurück.

Bemerkungen

Diese Routine ist erforderlich.

ChangerReinitializeUnit bewirkt, dass der Changer das Transportelement neu kalibriert. Je nach Änderung kann dies den Transport an eine "Home"-Position zurückgeben. Der Änderungsklassentreiber ruft in der Regel ChangerReinitializeUnit auf, nachdem der Changer eingeschaltet wurde oder eine aufrufende Anwendung einen Wiederherstellungsvorgang initiiert hat. Das CHANGER_DEVICE_REINITIALIZE_CAPABLE-Kennzeichen in Features0 von GET_CHANGER_PARAMETERS gibt an, ob der Transport des Änderungers unter diesen Umständen eine Neukalibrierung unterstützt.

Der Änderungsklassentreiber überprüft die Länge des Eingabepuffers an der E/A-Stapelposition, bevor ChangerReinitializeUnitaufgerufen wird. Irp-->SystemBuffer- verweist auf eine CHANGER_ELEMENT Struktur, die das zu relibrierende Element angibt.

ChangerReinitializeUnit erstellt einen SRB mit einem CDB, um das Transportelement zu positionieren und an den Systemporttreiber zu senden.

ChangerReinitializeUnit legt das Feld Information im E/A-Statusblock auf Größe(CHANGER_ELEMENT) 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

, IOCTL_CHANGER_REINITIALIZE_TRANSPORT

CHANGER_ELEMENT

GET_CHANGER_PARAMETERS