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 함수를 호출합니다.

설명

해당 카드 작업이 발생하지 않고 5초 이상 카드 트랜잭션이 유지되면 카드 다시 설정됩니다. 거래되는 카드 스마트 카드 및 읽기 권한자 액세스 함수 또는 직접 카드 액세스 함수를 호출하면 타이머가 다시 설정되어 트랜잭션을 계속 사용할 수 있습니다.

SCardBeginTransaction 함수는 스마트 카드판독기 액세스 함수입니다. 다른 액세스 함수에 대한 자세한 내용은 스마트 카드 및 읽기 권한자 액세스 함수를 참조하세요.

예제

다음 예제에서는 스마트 카드 트랜잭션을 시작하는 방법을 보여 줍니다. 이 예제에서는 가 lReturnLONG 형식의 기존 변수이고 이전 hCardSCardConnect 호출에서 받은 유효한 핸들이라고 가정합니다.


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

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winscard.h
라이브러리 Winscard.lib
DLL Winscard.dll

추가 정보

SCardConnect

SCardEndTransaction