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

Функция SCardBeginTransaction запускает транзакцию.

Функция ожидает завершения всех остальных транзакций, прежде чем она начнется. После запуска транзакции всем остальным приложениям блокируется доступ к смарт-карта во время выполнения транзакции.

Синтаксис

LONG SCardBeginTransaction(
  [in] SCARDHANDLE hCard
);

Параметры

[in] hCard

Ссылочное значение, полученное из предыдущего вызова SCardConnect.

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

Если функция завершается успешно, она возвращает SCARD_S_SUCCESS.

Если функция завершается сбоем, она возвращает код ошибки. Дополнительные сведения см. в разделе Возвращаемые значения смарт-карты.

Если другой процесс или поток сбросил карта, SCARD_W_RESET_CARD возвращается должным образом.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Эта функция возвращает SCARD_S_SUCCESS, даже если другой процесс или поток сбросил карта. Чтобы определить, был ли сброшен карта, вызовите функцию SCardStatus сразу после вызова этой функции.

Комментарии

Если транзакция удерживается на карта более пяти секунд без выполнения операций на карта, карта сбрасывается. Вызов любых функций доступа к смарт-картам и читателю или функций прямого доступа к карточкам в карта, который выполняет транзакции, приводит к сбросу таймера, чтобы продолжить использование транзакции.

Функция SCardBeginTransaction — это интеллектуальная карта и функция доступа для чтения. Дополнительные сведения о других функциях доступа см. в разделе Функции доступа к смарт-картам и читателю.

Примеры

В следующем примере показано, как начать транзакцию интеллектуального карта. В примере предполагается, что lReturn является существующей переменной типа LONG и является допустимым дескриптором, hCard полученным от предыдущего вызова SCardConnect.


lReturn = SCardBeginTransaction( hCard );
if ( SCARD_S_SUCCESS != lReturn )
 printf("Failed SCardBeginTransaction\n");

Требования

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

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

SCardConnect

SCardEndTransaction