SCardEndTransaction 함수(winscard.h)

SCardEndTransaction 함수는 이전에 선언된 트랜잭션을 완료하여 다른 애플리케이션이 카드 상호 작용을 다시 시작할 수 있도록 합니다.

구문

LONG SCardEndTransaction(
  [in] SCARDHANDLE hCard,
  [in] DWORD       dwDisposition
);

매개 변수

[in] hCard

SCardConnect에 대한 이전 호출에서 가져온 참조 값입니다. 이 값은 SCardBeginTransaction에 대한 이전 호출에서도 사용되었을 것입니다.

[in] dwDisposition

연결된 판독기에서 카드 닫을 때 수행할 작업입니다.

의미
SCARD_EJECT_CARD
카드 배출합니다.
SCARD_LEAVE_CARD
특별한 일을 하지 마십시오.
SCARD_RESET_CARD
카드 다시 설정합니다.
SCARD_UNPOWER_CARD
카드 전원을 니다.

반환 값

함수가 성공하면 함수는 SCARD_S_SUCCESS 반환합니다.

함수가 실패하면 오류 코드를 반환합니다. 자세한 내용은 스마트 카드 반환 값을 참조하세요. 가능한 오류 코드는 다음과 같습니다.

반환 코드/값 설명
SCARD_W_RESET_CARD
0x80100068L
트랜잭션이 해제되었습니다. 나중에 카드 통신하려면 SCardReconnect 함수를 호출해야 합니다.

Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP: 트랜잭션이 해제되지 않았습니다. 애플리케이션은 다른 스레드 및 프로세스가 스마트 카드 통신하지 못하도록 기존 트랜잭션을 차단하지 않도록 SCardDisconnect, SCardReconnect 또는 SCardReleaseContext 함수를 즉시 호출해야 합니다.

설명

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

예제

다음 예제에서는 스마트 카드 트랜잭션을 종료합니다. 이 예제에서는 lReturn이 LONG 형식의 유효한 변수이고, hCard가 SCardConnect 함수에 대한 이전 호출에서 받은 유효한 핸들이고, hCard가 SCardBeginTransaction 함수에 대한 이전 호출에 전달되었다고 가정합니다.


lReturn = SCardEndTransaction(hCard, 
                              SCARD_LEAVE_CARD);
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardEndTransaction\n");

요구 사항

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

추가 정보

SCardBeginTransaction

SCardConnect