IOCTL_SMARTCARD_IS_PRESENT IOCTL (winsmcrd.h)
O código de controle IOCTL_SMARTCARD_IS_PRESENT detecta se um cartão inteligente é detectado no momento. Se um cartão estiver presente, ele retornará imediatamente com STATUS_SUCCESS. Se nenhum cartão inteligente for detectado, ele assinará o evento de chegada de cartão inteligente e será mantido pendente. Fechar o identificador de arquivo cancela a assinatura do evento.
Código principal
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 será retornado se a operação estiver aguardando que o cartão inteligente se aproxime do campo de rádio. |
STATUS_DEVICE_BUSY | Esse código será retornado se a operação já estiver aguardando o evento atual. |
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 está desativado. |
Comentários
As seguintes ações são necessárias ao usar este IOCTL:
-
O driver deve dar suporte a CancelIo nesse IOCTL pendente.
- É uma solicitação gerenciada por energia. O IOCTL pendente manterá o driver em um estado de energia D0.
- O driver deve retornar STATUS_SUCCESS somente para o tipo com suporte.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | winsmcrd.h |