ChangerClassSendSrbSynchronous, fonction (mcd.h)
La routine ChangerClassSendSrbSynchronous envoie de façon synchrone un SRB à un appareil spécifié.
Syntaxe
NTSTATUS ChangerClassSendSrbSynchronous(
[in] PDEVICE_OBJECT DeviceObject,
[in] PSCSI_REQUEST_BLOCK Srb,
[in] PVOID Buffer,
[in] ULONG BufferSize,
[in] BOOLEAN WriteToDevice
);
Paramètres
[in] DeviceObject
Pointeur vers l’objet d’appareil fonctionnel de l’appareil cible.
[in] Srb
Pointeur vers un bloc de requête SCSI partiellement initialisé (SRB) à envoyer à l’appareil cible.
[in] Buffer
Spécifie l’adresse de la mémoire tampon vers laquelle Srb-DataBuffer> doit pointer. ChangerClassSendSrbSynchronous crée une MDL pour cette mémoire tampon et la transmet au pilote de périphérique cible dans l’IRP SRB.
[in] BufferSize
Spécifie la longueur, en octets, de la mémoire tampon.
[in] WriteToDevice
Indique une opération d’écriture quand true et une opération de lecture quand FALSE.
Valeur retournée
Retourne STATUS_SUCCESS si le SRB est transmis correctement ou le code d’erreur approprié si le SRB échoue ou ne peut pas être envoyé pour une raison quelconque.
Remarques
Les pilotes de miniclasse changer peuvent appeler cette routine de pilote de classe dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs. Les pilotes de miniclasse doivent utiliser cette routine pour envoyer un SRB au pilote de port au lieu d’appeler directement la routine de la bibliothèque classpnp.sysClassSendSrbSynchronous . Bien que classpnp.sys soit fourni avec le Kit de pilotes Windows (WDK), il ne s’agit pas d’une API prise en charge, et les pilotes qui appellent directement les routines de cette bibliothèque risquent de ne pas fonctionner correctement dans les versions ultérieures.
ChangerClassSendSrbSynchronous termine l’initialisation du SRB partiellement initialisé, en définissant les indicateurs du SRB avec les valeurs indiquées dans l’objet d’appareil de la cible. ChangerClassSendSrbSynchronous crée l’IRP utilisé pour transmettre le SRB à l’appareil cible, envoie l’IRP, puis gère l’achèvement de l’IRP.
Si l’IRP échoue et que les données de demande de sens indiquent que l’IRP doit être retenté, ChangerClassSendSrbSynchronous renvoie l’IRP.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | mcd.h (inclure Mcd.h, Ntddchgr.h) |
Bibliothèque | Mcd.lib |