Функция SCardControl (winscard.h)

Функция SCardControl обеспечивает прямой контроль над средством чтения. Вы можете вызвать его в любое время после успешного вызова SCardConnect и до успешного вызова SCardDisconnect. Влияние на состояние средства чтения зависит от кода элемента управления.

Синтаксис

LONG SCardControl(
  [in]  SCARDHANDLE hCard,
  [in]  DWORD       dwControlCode,
  [in]  LPCVOID     lpInBuffer,
  [in]  DWORD       cbInBufferSize,
  [out] LPVOID      lpOutBuffer,
  [in]  DWORD       cbOutBufferSize,
  [out] LPDWORD     lpBytesReturned
);

Параметры

[in] hCard

Значение ссылки, возвращаемое из SCardConnect.

[in] dwControlCode

Управляющий код для операции. Это значение определяет конкретную операцию, которую необходимо выполнить.

[in] lpInBuffer

Указатель на буфер, содержащий данные, необходимые для выполнения операции. Этот параметр может иметь значение NULL , если параметр dwControlCode указывает операцию, не требующую входных данных.

[in] cbInBufferSize

Размер (в байтах) буфера, на который указывает lpInBuffer.

[out] lpOutBuffer

Указатель на буфер, получающий выходные данные операции. Этот параметр может иметь значение NULL , если параметр dwControlCode указывает операцию, которая не создает выходные данные.

[in] cbOutBufferSize

Размер (в байтах) буфера, на который указывает lpOutBuffer.

[out] lpBytesReturned

Указатель на DWORD , получающий размер (в байтах) данных, хранящихся в буфере, на который указывает lpOutBuffer.

Возвращаемое значение

Эта функция возвращает различные значения в зависимости от того, успешно или неудачно.

Код возврата Описание
Успешно
SCARD_S_SUCCESS.
Failure
Код ошибки. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты.

Комментарии

Функция SCardControl является функцией прямого доступа карта. Дополнительные сведения о других функциях прямого доступа см. в разделе Функции прямого доступа к карточкам.

Примеры

В следующем примере создается код элемента управления. В примере предполагается, что hCardHandle является допустимым дескриптором, полученным при предыдущем вызове SCardConnect , а dwControlCode — это переменная типа DWORD , инициализированная ранее допустимым кодом элемента управления. Этот конкретный код элемента управления не требует входных данных и не ожидает выходных данных.


lReturn = SCardControl( hCardHandle,
                        dwControlCode,
                        NULL,
                        0,
                        NULL,
                        0,
                        0 );
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardControl\n");

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winscard.h
Библиотека Winscard.lib
DLL Winscard.dll

См. также раздел

SCardConnect

SCardDisconnect