Paramètres de rappel de carte à puce
Pour toutes les requêtes IOCTL à l’exception des IOCTL_SMARTCARD_IS_ABSENT et IOCTL_SMARTCARD_IS_PRESENT, SmartcardDeviceControl (WDM) initialise le membre IoRequest de la structure SMARTCARD_EXTENSION avant d’appeler une routine de rappel. Le tableau suivant indique les types d’initialisation effectuées par SmartcardDeviceControl .
Membre d’IoRequest | Initialisation effectuée par SmartcardDeviceControl |
---|---|
IoRequest.RequestBuffer |
Stocke les données utilisateur à envoyer au carte dans la mémoire tampon vers laquelle pointe ce membre. |
IoRequest.RequestBufferLength |
Stocke la longueur de la mémoire tampon utilisateur dans ce membre. |
IoRequest.ReplyBuffer |
Stocke les données retournées par le carte intelligent dans la mémoire tampon vers laquelle pointe ce membre. |
IoRequest.ReplyBufferLength |
Stocke la taille de la mémoire tampon de réponse dans ce membre. |
IoRequest.Information |
Stocke le nombre d’octets réellement reçus du carte dans la variable vers laquelle pointe ce membre. |
MajorIoControlCode |
Stocke le code de contrôle d’E/S principal de la requête IOCTL dans ce membre. |
MinorIoControlCode |
Stocke le code de contrôle d’E/S secondaire (le cas échéant) de la requête IOCTL dans ce membre. |
La structure pointée par SmartcardExtension-OsData> est configurée comme décrit dans le tableau suivant.
Membre | Description |
---|---|
CurrentIrp |
Reçoit un pointeur vers la demande d’IRP pour chaque demande de contrôle , à l’exception des IOCTL_SMARTCARD_IS_ABSENT et des IOCTL_SMARTCARD_IS_PRESENT. |
NotificationIrp |
Reçoit un pointeur vers l’IRP de demande pour la demande de contrôle IOCTL_SMARTCARD_IS_ABSENT ou IOCTL_SMARTCARD_IS_PRESENT. |