SCardEstablishContext 함수(winscard.h)
SCardEstablishContext 함수는 데이터베이스 작업이 수행되는 리소스 관리자 컨텍스트(scope)를 설정합니다.
구문
LONG SCardEstablishContext(
[in] DWORD dwScope,
[in] LPCVOID pvReserved1,
[in] LPCVOID pvReserved2,
[out] LPSCARDCONTEXT phContext
);
매개 변수
[in] dwScope
리소스 관리자 컨텍스트의 범위입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
데이터베이스 작업은 사용자의 도메인 내에서 수행됩니다. |
|
데이터베이스 작업은 시스템의 도메인 내에서 수행됩니다. 호출하는 애플리케이션에는 데이터베이스 작업에 대한 적절한 액세스 권한이 있어야 합니다. |
[in] pvReserved1
나중에 사용할 수 있으며 NULL이어야 합니다. 이 매개 변수를 사용하면 적절한 권한 있는 관리 애플리케이션이 다른 사용자를 대신하여 작동할 수 있습니다.
[in] pvReserved2
나중에 사용할 수 있으며 NULL이어야 합니다.
[out] phContext
설정된 리소스 관리자 컨텍스트에 대한 핸들입니다. 이제 이 핸들을 이 컨텍스트 내에서 작업을 수행하려는 다른 함수에 제공할 수 있습니다.
반환 값
함수가 성공하면 함수는 SCARD_S_SUCCESS 반환합니다.
함수가 실패하면 오류 코드를 반환합니다. 자세한 내용은 스마트 카드 반환 값을 참조하세요.
설명
SCardEstablishContext에서 반환된 컨텍스트 핸들은 데이터베이스 쿼리 및 관리 함수에서 사용할 수 있습니다. 자세한 내용은 스마트 카드 데이터베이스 쿼리 함수 및 스마트카드 데이터베이스 관리 함수를 참조하세요.
설정된 리소스 관리자 컨텍스트를 해제하려면 SCardReleaseContext를 사용합니다.
클라이언트가 터미널 서버에서 실행되는 클라이언트 세션과 같은 원격 세션에서 스마트 카드 작업을 시도하고 사용 중인 운영 체제가 스마트 카드 리디렉션을 지원하지 않는 경우 이 함수는 ERROR_BROKEN_PIPE 반환합니다.
예제
다음 예제에서는 리소스 관리자 컨텍스트를 설정합니다.
SCARDCONTEXT hSC;
LONG lReturn;
// Establish the context.
lReturn = SCardEstablishContext(SCARD_SCOPE_USER,
NULL,
NULL,
&hSC);
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardEstablishContext\n");
else
{
// Use the context as needed. When done,
// free the context by calling SCardReleaseContext.
// ...
}
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winscard.h |
라이브러리 | Winscard.lib |
DLL | Winscard.dll |