IOCTL_SMARTCARD_IS_ABSENT IOCTL (winsmcrd. h)

O código de controle de IOCTL_SMARTCARD_IS_ABSENT retorna imediatamente com STATUS_SUCCESS se nenhum cartão inteligente for detectado no momento. Se forem detectados cartões inteligentes, o IOCTL precisará ficar pendente pelo driver e precisará concluir a solicitação na saída do cartão. Fechar o identificador de arquivo cancela automaticamente a inscrição do evento.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Nenhum.

Buffer de saída

Nenhum.

Bloco de status

IRP->IoStatus. status será definido como STATUS_SUCCESS se a solicitação for bem-sucedida. Os códigos de erro possíveis são:

Código de retorno Descrição
STATUS_PENDING Esse código é retornado quando a ID do atributo é SCARD_ATTR_DEVICE_IN_USE.
STATUS_DEVICE_BUSY Esse código será retornado se a operação já estiver aguardando o evento ausente.
STATUS_INVALID_DEVICE_STATE Esse código será retornado se o dispositivo não puder aceitar a solicitação.
STATUS_INVALID_PARAMETER Esse código é retornado quando os buffers de entrada ou saída são inválidos.
STATUS_DEVICE_POWERED_OFF Esse código é retornado quando o controle de rádio de proximidade é desativado.

Comentários

As ações a seguir são necessárias ao usar este IOCTL:

  • O driver deve dar suporte a CancelIo neste IOCTL pendente.

  • É uma solicitação gerenciada por energia. O IOCTL pendente manterá o driver no estado de energia D0.

Requisitos

   
Cabeçalho winsmcrd. h

Confira também

Guia de design da NFC (comunicação a curta distância)

Guia de design de cartão inteligente