SCardGetProviderIdA 함수(winscard.h)

SCardGetProviderId 함수는 지정된 카드 대한 기본 서비스 공급자의 식별자(GUID)를 반환합니다.

호출자는 스마트 카드(이전에 시스템에 도입됨)의 이름을 제공하고 기본 서비스 공급자 GUID(있는 경우)의 등록된 식별자를 받습니다.

구문

LONG SCardGetProviderIdA(
  [in]  SCARDCONTEXT hContext,
  [in]  LPCSTR       szCard,
  [out] LPGUID       pguidProviderId
);

매개 변수

[in] hContext

쿼리에 대한 리소스 관리자 컨텍스트 를 식별하는 핸들입니다. 리소스 관리자 컨텍스트는 SCardEstablishContext에 대한 이전 호출을 통해 설정할 수 있습니다. 이 매개 변수는 NULL일 수 없습니다.

[in] szCard

시스템에 정의된 카드 이름입니다.

[out] pguidProviderId

기본 서비스 공급자의 GUID(식별자)입니다. 이 공급자는 COM을 사용하여 활성화될 수 있으며 카드 다른 서비스에 대한 액세스를 제공합니다.

반환 값

이 함수는 성공 또는 실패 여부에 따라 다른 값을 반환합니다.

반환 코드 설명
Success
SCARD_S_SUCCESS.
실패
오류 코드입니다. 자세한 내용은 스마트 카드 반환 값을 참조하세요.

설명

이 함수는 리디렉션되지 않지만 원격 데스크톱 세션 내에서 함수를 호출해도 오류가 발생하지 않습니다. 이는 결과가 로컬 컴퓨터 대신 원격 컴퓨터에서 생성된다는 의미일 뿐입니다.

SCardGetProviderId 함수는 데이터베이스 쿼리 함수입니다. 다른 데이터베이스 쿼리 함수에 대한 자세한 내용은 스마트 카드 데이터베이스 쿼리 함수를 참조하세요.

예제

다음 예제에서는 지정된 카드 대한 공급자 ID를 가져오는 방법을 보여줍니다. 이 예제에서는 hContext가 SCardEstablishContext 함수에 대한 이전 호출에서 가져온 유효한 핸들이며 SCardIntroduceCardType 함수에 대한 이전 호출에서 "MyCardName"이 도입되었다고 가정합니다.

GUID    guidProv;
LONG    lReturn;

lReturn = SCardGetProviderId(hContext, 
                             L"MyCardName",
                             &guidProv);
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardGetProviderId - %x\n", lReturn);
else
{
    // Use the provider GUID as needed.
    // ...
}

참고

winscard.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 SCardGetProviderId를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

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

추가 정보

SCardEstablishContext

SCardListCards

SCardListInterfaces

SCardListReaderGroups

SCardListReaders