estrutura SCARD_READERSTATEA (winscard.h)
A estrutura SCARD_READERSTATE é usada por funções para acompanhar cartões inteligentes dentro dos 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
Estado atual do leitor, conforme visto pelo aplicativo. Esse campo pode assumir qualquer um dos valores a seguir, em combinação, como uma máscara de bits.
Valor | Significado |
---|---|
|
O aplicativo não tem conhecimento do 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. |
|
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. |
|
O aplicativo espera que esse leitor não esteja disponível para uso. Se esse bit for definido, todos os bits a seguir serão ignorados. |
|
O aplicativo espera que não haja cartão no leitor. Se esse bit for definido, todos os bits a seguir serão ignorados. |
|
O aplicativo espera que haja uma cartão no leitor. |
|
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 for definido, SCARD_STATE_PRESENT será assumido. Esse bit não tem significado para SCardGetStatusChange além de SCARD_STATE_PRESENT. |
|
O aplicativo espera que o cartão no leitor seja alocado para uso exclusivo por outro aplicativo. Se esse bit for definido, SCARD_STATE_PRESENT será assumido. |
|
O aplicativo espera que o cartão no leitor esteja em uso por um ou mais outros aplicativos, mas pode estar conectado ao no modo compartilhado. Se esse bit for definido, SCARD_STATE_PRESENT será assumido. |
|
O aplicativo espera que haja uma cartão sem resposta no leitor. |
|
Isso implica que a cartão no leitor não foi habilitada. |
dwEventState
Estado atual do leitor, conforme conhecido pelo gerenciador de recursos de cartão inteligente. Esse campo pode assumir qualquer um dos valores a seguir, em combinação, como uma máscara de bits.
Valor | Significado |
---|---|
|
Esse leitor deve ser ignorado. |
|
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 ocorreu uma alteração significativa de estado nesse leitor. |
|
O nome do leitor fornecido não é reconhecido pelo gerenciador de recursos. Se esse bit for definido, SCARD_STATE_CHANGED e SCARD_STATE_IGNORE também serão definidos. |
|
O estado real desse leitor não está disponível. Se esse bit estiver definido, todos os bits a seguir serão claros. |
|
Não há cartão no leitor. Se esse bit estiver definido, todos os bits a seguir serão claros. |
|
Há um cartão no leitor. |
|
Há um cartão no leitor com um ATR correspondente a um dos cartões de destino. Se esse bit for definido, SCARD_STATE_PRESENT também será definido. Esse bit só é retornado na função SCardLocateCards . |
|
O cartão no leitor é alocado para uso exclusivo por outro aplicativo. Se esse bit for definido, SCARD_STATE_PRESENT também será definido. |
|
O cartão no leitor está em uso por um ou mais outros aplicativos, mas pode estar conectado ao no modo compartilhado. Se esse bit for definido, SCARD_STATE_PRESENT também será definido. |
|
Há uma cartão sem resposta no leitor. |
|
Isso implica que a cartão no leitor não foi habilitada. |
cbAtr
Número de bytes no ATR retornado.
rgbAtr[36]
ATR do cartão inserido, com bytes de alinhamento extras.
Comentários
Observação
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 de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Cabeçalho | winscard.h |