다음을 통해 공유


SCardControl 함수(winscard.h)

SCardControl 함수를 사용하면 판독기를 직접 제어할 수 있습니다. SCardConnect를 성공적으로 호출한 후 SCardDisconnect를 성공적으로 호출하기 전에 언제든지 호출할 수 있습니다. 판독기의 상태에 미치는 영향은 컨트롤 코드에 따라 달라집니다.

구문

LONG SCardControl(
  [in]  SCARDHANDLE hCard,
  [in]  DWORD       dwControlCode,
  [in]  LPCVOID     lpInBuffer,
  [in]  DWORD       cbInBufferSize,
  [out] LPVOID      lpOutBuffer,
  [in]  DWORD       cbOutBufferSize,
  [out] LPDWORD     lpBytesReturned
);

매개 변수

[in] hCard

SCardConnect에서 반환된 참조 값입니다.

[in] dwControlCode

작업에 대한 제어 코드입니다. 이 값은 수행할 특정 작업을 식별합니다.

[in] lpInBuffer

작업을 수행하는 데 필요한 데이터가 포함된 버퍼에 대한 포인터입니다. dwControlCode 매개 변수가 입력 데이터가 필요하지 않은 작업을 지정하는 경우 이 매개 변수는 NULL일 수 있습니다.

[in] cbInBufferSize

lpInBuffer가 가리키는 버퍼의 크기(바이트)입니다.

[out] lpOutBuffer

작업의 출력 데이터를 수신하는 버퍼에 대한 포인터입니다. dwControlCode 매개 변수가 출력 데이터를 생성하지 않는 작업을 지정하는 경우 이 매개 변수는 NULL일 수 있습니다.

[in] cbOutBufferSize

lpOutBuffer가 가리키는 버퍼의 크기(바이트)입니다.

[out] lpBytesReturned

lpOutBuffer가 가리키는 버퍼에 저장된 데이터의 크기(바이트)를 수신하는 DWORD에 대한 포인터입니다.

반환 값

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

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

설명

SCardControl 함수는 직접 카드 액세스 함수입니다. 다른 직접 액세스 함수에 대한 자세한 내용은 직접 카드 액세스 함수를 참조하세요.

예제

다음 예제에서는 제어 코드를 발급합니다. 이 예제에서는 hCardHandle이 SCardConnect 에 대한 이전 호출에서 받은 유효한 핸들이고 dwControlCode가 이전에 유효한 제어 코드로 초기화된 DWORD 형식의 변수라고 가정합니다. 이 특정 제어 코드는 입력 데이터가 필요하지 않으며 출력 데이터가 필요하지 않습니다.


lReturn = SCardControl( hCardHandle,
                        dwControlCode,
                        NULL,
                        0,
                        NULL,
                        0,
                        0 );
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardControl\n");

요구 사항

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

추가 정보

SCardConnect

SCardDisconnect