IOCTL_SMARTCARD_IS_ABSENT IOCTL (winsmcrd.h)
O código de controle 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á ser pendente pelo driver e ele precisará concluir a solicitação na saída do cartão. Fechar o identificador de arquivo cancela automaticamente o 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 é 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 está desativado. |
Observações
As seguintes ações 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
Requisito | Valor |
---|---|
cabeçalho | winsmcrd.h |