ChangerClassSendSrbSynchronous, fonction (mcd.h)
Le ChangerClassSendSrbSynchronous routine 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êtes SCSI partiellement initialisé (SRB) à envoyer à l’appareil cible.
[in] Buffer
Spécifie l’adresse de la mémoire tampon vers laquelle >DataBuffer doit pointer. ChangerClassSendSrbSynchronous crée un MDL pour cette mémoire tampon et le 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 lorsque TRUE et l’opération de lecture quand FAUX.
Valeur de retour
Retourne STATUS_SUCCESS si le SRB est transmis correctement ou si le code d’erreur approprié échoue ou ne peut pas être envoyé pour une raison quelconque.
Remarques
Changer les pilotes de miniclasse peut appeler cette routine de pilote de classe dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs. Les pilotes miniclasses doivent utiliser cette routine pour envoyer un SRB au pilote de port au lieu d’appeler directement la routine de bibliothèque classpnp.sysClassSendSrbSynchronou s. Bien que classpnp.sys soit fourni avec le Kit de pilotes Windows (WDK), il n’est pas une API prise en charge, et les pilotes qui appellent directement les routines de cette bibliothèque peuvent 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.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | mcd.h (include Mcd.h, Ntddchgr.h) |
bibliothèque | Mcd.lib |