Partilhar via


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.