SCardConnectA 함수(winscard.h)
SCardConnect 함수는 호출 애플리케이션과 특정 판독기에서 포함된 스마트 카드 간의 연결(특정 리소스 관리자 컨텍스트사용)을 설정합니다. 지정된 판독기에서 카드가 없으면 오류가 반환됩니다.
통사론
LONG SCardConnectA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szReader,
[in] DWORD dwShareMode,
[in] DWORD dwPreferredProtocols,
[out] LPSCARDHANDLE phCard,
[out] LPDWORD pdwActiveProtocol
);
매개 변수
[in] hContext
Resource Manager 컨텍스트식별하는 핸들입니다. 리소스 관리자 컨텍스트는 SCardEstablishContext대한 이전 호출에 의해 설정됩니다.
[in] szReader
대상 카드를 포함하는 판독기의 이름입니다.
[in] dwShareMode
다른 애플리케이션이 카드에 대한 연결을 형성할 수 있는지 여부를 나타내는 플래그입니다.
[in] dwPreferredProtocols
연결에 허용되는 프로토콜의 비트 마스크입니다. 가능한 값은 OR 작업과 결합될 수 있습니다.
값 | 의미 |
---|---|
|
T=0 허용 가능한 프로토콜입니다. |
|
T=1 허용되는 프로토콜입니다. |
|
이 매개 변수는 dwShareMode SCARD_SHARE_DIRECT 설정된 경우에만 0일 수 있습니다. 이 경우 IOCTL_SMARTCARD_SET_PROTOCOL 제어 지시문이 SCardControl전송될 때까지 드라이버가 프로토콜 협상을 수행하지 않습니다. |
[out] phCard
지정된 판독기에서 스마트 카드 연결을 식별하는 핸들입니다.
[out] pdwActiveProtocol
설정된 활성 프로토콜을 나타내는 플래그입니다.
값 | 의미 |
---|---|
|
T=0 활성 프로토콜입니다. |
|
T=1 활성 프로토콜입니다. |
|
프로토콜 협상이 발생하지 않도록 SCARD_SHARE_DIRECT 지정되었습니다. 판독기에서 카드가 없을 수 있습니다. |
반환 값
이 함수는 성공 여부에 따라 다른 값을 반환합니다.
반환 코드 | 묘사 |
---|---|
|
SCARD_S_SUCCESS. |
|
오류 코드입니다. 자세한 내용은 스마트 카드 반환 값 |
|
판독기에서 카드에 연결할 수 없습니다. |
발언
SCardConnect 함수는 스마트 카드 및 판독기 액세스 함수입니다. 다른 액세스 함수에 대한 자세한 내용은 스마트 카드 및 읽기 권한자 액세스 함수참조하세요.
예제
다음 예제에서는 판독기 연결을 만듭니다. 이 예제에서는
SCARDHANDLE hCardHandle;
LONG lReturn;
DWORD dwAP;
lReturn = SCardConnect( hContext,
(LPCTSTR)"Rainbow Technologies SCR3531 0",
SCARD_SHARE_SHARED,
SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1,
&hCardHandle,
&dwAP );
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardConnect\n");
exit(1); // Or other appropriate action.
}
// Use the connection.
// Display the active protocol.
switch ( dwAP )
{
case SCARD_PROTOCOL_T0:
printf("Active protocol T0\n");
break;
case SCARD_PROTOCOL_T1:
printf("Active protocol T1\n");
break;
case SCARD_PROTOCOL_UNDEFINED:
default:
printf("Active protocol unnegotiated or unknown\n");
break;
}
// Remember to disconnect (by calling SCardDisconnect).
// ...
메모
winscard.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 SCardConnect를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winscard.h |
라이브러리 | Winscard.lib |
DLL | Winscard.dll |
참고 항목
SCardControl