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.
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