Compartilhar via


estrutura SCARD_READERSTATEA (winscard.h)

A estrutura de SCARD_READERSTATE é usada por funções para acompanhar de cartões inteligentes em leitores.

Sintaxe

typedef struct {
  LPCSTR szReader;
  LPVOID pvUserData;
  DWORD  dwCurrentState;
  DWORD  dwEventState;
  DWORD  cbAtr;
  BYTE   rgbAtr[36];
} SCARD_READERSTATEA, *PSCARD_READERSTATEA, *LPSCARD_READERSTATEA;

Membros

szReader

Um ponteiro para o nome do leitor que está sendo monitorado.

Defina o valor desse membro como "\\? PnP?\Notification" e os valores de todos os outros membros a zero a serem notificados sobre a chegada de um novo leitor de cartão inteligente.

pvUserData

Não usado pelo subsistema de cartão inteligente . Esse membro é usado pelo aplicativo.

dwCurrentState

O estado atual do leitor, conforme visto pelo aplicativo. Esse campo pode assumir qualquer um dos seguintes valores, em combinação, como uma máscara de bits.

Valor Significado
SCARD_STATE_UNAWARE
O aplicativo não está ciente dode estado atual e gostaria de saber. O uso desse valor resulta em um retorno imediato dos serviços de monitoramento de transição de estado. Isso é representado por todos os bits definidos como zero.
SCARD_STATE_IGNORE
O aplicativo não está interessado nesse leitor e não deve ser considerado durante as operações de monitoramento. Se esse valor de bit for definido, todos os outros bits serão ignorados.
SCARD_STATE_UNAVAILABLE
O aplicativo espera que esse leitor não esteja disponível para uso. Se esse bit estiver definido, todos os bits a seguir serão ignorados.
SCARD_STATE_EMPTY
O aplicativo espera que não haja nenhum cartão no leitor. Se esse bit estiver definido, todos os bits a seguir serão ignorados.
SCARD_STATE_PRESENT
O aplicativo espera que haja um cartão no leitor.
SCARD_STATE_ATRMATCH
O aplicativo espera que haja um cartão no leitor com um ATR que corresponda a um dos cartões de destino. Se esse bit estiver definido, SCARD_STATE_PRESENT será assumido. Esse bit não tem nenhum significado para SCardGetStatusChange além de SCARD_STATE_PRESENT.
SCARD_STATE_EXCLUSIVE
O aplicativo espera que o cartão no leitor seja alocado para uso exclusivo por outro aplicativo. Se esse bit estiver definido, SCARD_STATE_PRESENT será assumido.
SCARD_STATE_INUSE
O aplicativo espera que o cartão no leitor esteja em uso por um ou mais outros aplicativos, mas pode estar conectado no modo compartilhado. Se esse bit estiver definido, SCARD_STATE_PRESENT será assumido.
SCARD_STATE_MUTE
O aplicativo espera que haja um cartão sem resposta no leitor.
SCARD_STATE_UNPOWERED
Isso implica que o cartão no leitor não foi habilitado.

dwEventState

de estado de atual dode leitor de , conforme conhecido pelodo gerenciador de recursos do de cartão inteligente . Esse campo pode assumir qualquer um dos seguintes valores, em combinação, como uma máscara de bits.

Valor Significado
SCARD_STATE_IGNORE
Esse leitor deve ser ignorado.
SCARD_STATE_CHANGED
Há uma diferença entre o estado acreditado pelo aplicativo e o estado conhecido pelo gerenciador de recursos. Quando esse bit é definido, o aplicativo pode assumir que uma alteração de estado significativa ocorreu neste leitor.
SCARD_STATE_UNKNOWN
O nome do leitor fornecido não é reconhecido pelo gerenciador de recursos. Se esse bit estiver definido, SCARD_STATE_CHANGED e SCARD_STATE_IGNORE também serão definidos.
SCARD_STATE_UNAVAILABLE
O estado real desse leitor não está disponível. Se esse bit estiver definido, todos os bits a seguir serão claros.
SCARD_STATE_EMPTY
Não há cartão no leitor. Se esse bit estiver definido, todos os bits a seguir serão claros.
SCARD_STATE_PRESENT
Há um cartão no leitor.
SCARD_STATE_ATRMATCH
Há um cartão no leitor com um ATR correspondente a um dos cartões de destino. Se esse bit estiver definido, SCARD_STATE_PRESENT também será definido. Esse bit só é retornado na função SCardLocateCards.
SCARD_STATE_EXCLUSIVE
O cartão no leitor é alocado para uso exclusivo por outro aplicativo. Se esse bit estiver definido, SCARD_STATE_PRESENT também será definido.
SCARD_STATE_INUSE
O cartão no leitor está em uso por um ou mais outros aplicativos, mas pode estar conectado no modo compartilhado. Se esse bit estiver definido, SCARD_STATE_PRESENT também será definido.
SCARD_STATE_MUTE
Há um cartão sem resposta no leitor.
SCARD_STATE_UNPOWERED
Isso implica que o cartão no leitor não foi habilitado.

cbAtr

Número de bytes no ATR retornado.

rgbAtr[36]

ATR do cartão inserido, com bytes de alinhamento extras.

Observações

Nota

O cabeçalho winscard.h define SCARD_READERSTATE como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
cabeçalho winscard.h

Consulte também

SCardGetStatusChange

SCardLocateCards