ChangerClassSendSrbSynchronous-Funktion (mcd.h)
Die ChangerClassSendSrbSynchronous routinesynchron sendet einen SRB an ein angegebenes Gerät.
Syntax
NTSTATUS ChangerClassSendSrbSynchronous(
[in] PDEVICE_OBJECT DeviceObject,
[in] PSCSI_REQUEST_BLOCK Srb,
[in] PVOID Buffer,
[in] ULONG BufferSize,
[in] BOOLEAN WriteToDevice
);
Parameter
[in] DeviceObject
Zeigen Sie auf das funktionale Geräteobjekt des Zielgeräts.
[in] Srb
Zeiger auf einen teilweise initialisierten SCSI-Anforderungsblock (SRB), der an das Zielgerät gesendet werden soll.
[in] Buffer
Gibt die Adresse des Puffers an, auf den Srb->DataBuffer- verweisen soll. ChangerClassSendSrbSynchronous erstellt eine MDL für diesen Puffer und übergibt sie an den Zielgerätetreiber im SRB IRP.
[in] BufferSize
Gibt die Länge des Puffers in Bytes an.
[in] WriteToDevice
Gibt einen Schreibvorgang an, wenn TRUE-- und Lesevorgang beim FALSE-.
Rückgabewert
Gibt STATUS_SUCCESS zurück, wenn der SRB erfolgreich oder der entsprechende Fehlercode übertragen wird, wenn der SRB aus irgendeinem Grund fehlschlägt oder nicht gesendet werden kann.
Bemerkungen
Changer-Miniklassentreiber können diese Klassentreiberroutine in Microsoft Windows XP und späteren Betriebssystemen aufrufen. Miniklassentreiber sollten diese Routine verwenden, um einen SRB an den Porttreiber zu senden, anstatt die classpnp.sys Bibliotheksroutine ClassSendSrbSynchronous direkt aufzurufen. Obwohl classpnp.sys mit dem Windows Driver Kit (WDK) ausgeliefert wird, handelt es sich nicht um eine unterstützte API, und Treiber, die die Routinen dieser Bibliothek direkt aufrufen, funktionieren in zukünftigen Versionen möglicherweise nicht ordnungsgemäß.
ChangerClassSendSrbSynchronous die Initialisierung des teilweise initialisierten SRB beendet, wobei die Flags der SRB mit den werten festgelegt werden, die im Geräteobjekt des Ziels angegeben sind. ChangerClassSendSrbSynchronous erstellt das IRP, das zum Übermitteln des SRB an das Zielgerät verwendet wird, sendet das IRP und verarbeitet dann den Abschluss des IRP.
Wenn das IRP fehlschlägt und die Daten der Sense-Anforderung angibt, dass das IRP erneut überprüft werden soll, ChangerClassSendSrbSynchronous das IRP erneut senden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | mcd.h (include Mcd.h, Ntddchgr.h) |
Library | Mcd.lib |