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에 대한 포인터입니다.
반환 값
이 함수는 성공 또는 실패 여부에 따라 다른 값을 반환합니다.
반환 코드 | 설명 |
---|---|
|
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 |