Parâmetros de retorno de chamada de cartão inteligente
Para todas as solicitações IOCTL, exceto IOCTL_SMARTCARD_IS_ABSENT e IOCTL_SMARTCARD_IS_PRESENT, o WDM (SmartcardDeviceControl) inicializa o membro IoRequest da estrutura SMARTCARD_EXTENSION antes de chamar uma rotina de retorno de chamada. A tabela a seguir indica os tipos de inicialização que o SmartcardDeviceControl executa.
Membro de IoRequest | Inicialização executada por SmartcardDeviceControl |
---|---|
IoRequest.RequestBuffer |
Armazena os dados do usuário a serem enviados para o cartão no buffer para o qual esse membro aponta. |
IoRequest.RequestBufferLength |
Armazena o comprimento do buffer de usuário neste membro. |
IoRequest.ReplyBuffer |
Armazena os dados retornados pelo cartão inteligente no buffer para o qual esse membro aponta. |
IoRequest.ReplyBufferLength |
Armazena o tamanho do buffer de resposta neste membro. |
IoRequest.Information |
Armazena o número de bytes que foram realmente recebidos do cartão na variável para a qual esse membro aponta. |
MajorIoControlCode |
Armazena o código de controle de E/S principal da solicitação IOCTL neste membro. |
MinorIoControlCode |
Armazena o código de controle de E/S secundário (se houver) da solicitação IOCTL neste membro. |
A estrutura apontada por SmartcardExtension-OsData> é configurada conforme descrito na tabela a seguir.
Membro | Descrição |
---|---|
CurrentIrp |
Recebe um ponteiro para o IRP solicitante para cada solicitação de controle, exceto IOCTL_SMARTCARD_IS_ABSENT e IOCTL_SMARTCARD_IS_PRESENT. |
NotificationIrp |
Recebe um ponteiro para o IRP solicitante para a solicitação de controle de IOCTL_SMARTCARD_IS_ABSENT ou IOCTL_SMARTCARD_IS_PRESENT. |