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