Share via


SCardGetReaderIconW 함수(winscard.h)

SCardGetReaderIcon 함수는 지정된 판독기 이름에 대한 스마트 카드 판독기의 아이콘을 가져옵니다. 이 함수는 카드 판독기의 상태에 영향을 주지 않습니다.

구문

LONG SCardGetReaderIconW(
  [in]      SCARDCONTEXT hContext,
  [in]      LPCWSTR      szReaderName,
  [out]     LPBYTE       pbIcon,
  [in, out] LPDWORD      pcbIcon
);

매개 변수

[in] hContext

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

[in] szReaderName

판독기 이름입니다. SCardListReaders 함수를 호출하여 이 값을 가져올 수 있습니다.

[out] pbIcon

아이콘 파일에서 읽은 스마트 카드 판독기 아이콘의 BLOB을 포함하는 버퍼에 대한 포인터입니다. 이 값이 NULL이면 함수는 pcbIcon 매개 변수에 제공된 버퍼 길이를 무시하고, 이 매개 변수가 NULL이 아닌 경우 pcbIcon 에 반환된 버퍼의 길이를 쓰고, 성공 코드를 반환합니다.

[in, out] pcbIcon

pbIcon 버퍼의 길이(문자)입니다. 이 매개 변수는 받은 특성의 실제 길이를 받습니다. 버퍼 길이가 SCARD_AUTOALLOCATE 지정된 경우 pbIcon 은 포인터에서 바이트 포인터로 변환되고 특성이 포함된 메모리 블록의 주소를 받습니다. 이 메모리 블록은 SCardFreeMemory 함수로 할당을 취소해야 합니다.

반환 값

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

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

설명

아이콘은 알파 채널이 없는 256개 × 256픽셀이어야 합니다.

예제

PBYTE    pbIcon = NULL;
DWORD    cbIcon = SCARD_AUTOALLOCATE;
DWORD    i;
LONG     lReturn;
LPTSTR   szReaderName = "USB Smart Card Reader 0";

// Retrieve the reader's icon.
// hContext was set by a previous call to SCardEstablishContext.
lReturn = SCardGetReaderIcon(hContext,
                         szReaderName,
                         (PBYTE)&pbIcon,
                         &cbIcon);

if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardGetReaderIcon - %x\n", lReturn);
    // Take appropriate action.
}
else
{
    // Free the memory when done. 
    lReturn = SCardFreeMemory(hContext, pbIcon);
}

참고

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

요구 사항

   
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winscard.h