Функция 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. |
|
Код ошибки. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты. |
Комментарии
Функция 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 |