Функция SCardGetStatusChangeA (winscard.h)
Функция SCardGetStatusChange блокирует выполнение до текущей доступности карточек в определенном наборе читателей.
Вызывающий объект предоставляет список читателей, отслеживаться массивом SCARD_READERSTATE и максимальным временем (в миллисекундах), которое он готов ждать, пока действие будет выполняться на одном из перечисленных читателей. Обратите внимание, что SCardGetStatusChange использует предоставленное пользователем значение в dwCurrentState членах массива rgReaderStatesSCARD_READERSTATE в качестве определения текущего состояния средств чтения. Функция возвращается при изменении доступности, заполнив dwEventState членов rgReaderStates соответствующим образом.
Синтаксис
LONG SCardGetStatusChangeA(
[in] SCARDCONTEXT hContext,
[in] DWORD dwTimeout,
[in, out] LPSCARD_READERSTATEA rgReaderStates,
[in] DWORD cReaders
);
Параметры
[in] hContext
Дескриптор, определяющий контекст диспетчера ресурсов
[in] dwTimeout
Максимальное время( в миллисекундах) для ожидания действия. Значение нуля приводит к немедленному возврату функции. Значение INFINITE приводит к тому, что эта функция никогда не истекает.
[in, out] rgReaderStates
Массив SCARD_READERSTATE структур, указывающих читателей, которые должны наблюдать, и получает результат.
Чтобы получать уведомления о прибытии нового средства чтения смарт-карт, задайте для szReader член структуры SCARD_READERSTATE "\\? PnP?\Notification" и задайте для всех остальных элементов этой структуры значение нулю.
[in] cReaders
Количество элементов в массиве rgReaderStates.
Возвращаемое значение
Эта функция возвращает разные значения в зависимости от того, выполнена ли она успешно или завершается сбоем.
Возвращаемый код | Описание |
---|---|
|
SCARD_S_SUCCESS. |
|
Код ошибки. Дополнительные сведения см. в возвращаемых значений смарт-карт. |
Замечания
Функция SCardGetStatusChange — это функция отслеживания смарт-карт. Дополнительные сведения о других функциях отслеживания см. в функциях отслеживания смарт-карт.
Примеры
Сведения о вызове этой функции см. в примере SCardLocateCards.
Заметка
Заголовок winscard.h определяет SCardGetStatusChange как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winscard.h |
библиотеки |
Winscard.lib |
DLL | Winscard.dll |