Compartilhar via


Função SCardGetStatusChangeA (winscard.h)

A função SCardGetStatusChange bloqueia a execução até que a disponibilidade atual dos cartões em um conjunto específico de leitores seja alterada.

O chamador fornece uma lista de leitores a serem monitorados por uma matriz de SCARD_READERSTATE e o tempo máximo (em milissegundos) que ele está disposto a aguardar que uma ação ocorra em um dos leitores listados. Observe que SCardGetStatusChange usa o valor fornecido pelo usuário nos membros dwCurrentState da matrizSCARD_READERSTATE rgReaderStates como a definição do de estado atual dos leitores. A função retorna quando há uma alteração na disponibilidade, tendo preenchido o dwEventState membros de rgReaderStates adequadamente.

Sintaxe

LONG SCardGetStatusChangeA(
  [in]      SCARDCONTEXT         hContext,
  [in]      DWORD                dwTimeout,
  [in, out] LPSCARD_READERSTATEA rgReaderStates,
  [in]      DWORD                cReaders
);

Parâmetros

[in] hContext

Um identificador que identifica ode contexto do gerenciador de recursos . O contexto do gerenciador de recursos é definido por uma chamada anterior para a função SCardEstablishContext.

[in] dwTimeout

O tempo máximo, em milissegundos, para aguardar uma ação. Um valor zero faz com que a função retorne imediatamente. Um valor de INFINITE faz com que essa função nunca saia do tempo limite.

[in, out] rgReaderStates

Uma matriz de estruturas SCARD_READERSTATE que especificam os leitores a serem observados e que recebe o resultado.

Para ser notificado sobre a chegada de um novo leitor de cartão inteligente, defina o szReader membro de uma estrutura SCARD_READERSTATE como "\\? PnP?\Notification", e defina todos os outros membros dessa estrutura como zero.

Importante Cada membro de cada estrutura nessa matriz deve ser inicializado como zero e, em seguida, definido como valores específicos, conforme necessário. Se isso não for feito, a função falhará em situações que envolvam leitores de cartão remoto.
 

[in] cReaders

O número de elementos na matriz de rgReaderStates.

Valor de retorno

Essa função retorna valores diferentes dependendo se ela é bem-sucedida ou falha.

Código de retorno Descrição
de sucesso do
SCARD_S_SUCCESS.
de falha do
Um código de erro. Para obter mais informações, consulte valores de retorno de cartão inteligente.

Observações

A função SCardGetStatusChange é uma função de acompanhamento de de cartão inteligente . Para obter mais informações sobre outras funções de acompanhamento, consulte funções de acompanhamento de cartão inteligente.

Exemplos

Para obter informações sobre como chamar essa função, consulte o exemplo em SCardLocateCards.

Nota

O cabeçalho winscard.h define SCardGetStatusChange 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. 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]
da Plataforma de Destino Windows
cabeçalho winscard.h
biblioteca Winscard.lib
de DLL Winscard.dll

Consulte também

SCARD_READERSTATE

SCardCancel

SCardEstablishContext

SCardLocateCards