다음을 통해 공유


ISCardISO7816::ManageChannel 메서드

[ ManageChannel 메서드는 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. Windows Server 2003 SP1(서비스 팩 1) 이상, Windows Vista, Windows Server 2008 및 이후 버전의 운영 체제에서는 사용할 수 없습니다. 스마트 카드 모듈도 비슷한 기능을 제공합니다.]

ManageChannel 메서드는 논리 채널을 열고 닫는 APDU(애플리케이션 프로토콜 데이터 단위) 명령을 생성합니다.

열기 함수는 기본 채널이 아닌 새 논리 채널을 엽니다. 카드 논리 채널 번호를 할당하거나 논리 채널 번호를 카드 제공하는 옵션이 제공됩니다.

close 함수는 기본 채널이 아닌 논리 채널을 명시적으로 닫습니다. 성공적으로 닫은 후 논리 채널을 다시 사용할 수 있습니다.

구문

HRESULT ManageChannel(
  [in]      BYTE       byChannelState,
  [in]      BYTE       byChannel,
  [in, out] LPSCARDCMD *ppCmd
);

매개 변수

byChannelState [in]

P1의 비트 b8은 열린 함수 또는 close 함수를 나타내는 데 사용됩니다. b8이 0이면 관리 채널이 논리 채널을 열고 b8이 1이면 관리 채널이 논리 채널을 닫습니다.

P1 = '00'을(를) 엽니다.

P1 = '80'을(를) 닫습니다.

다른 값은 RFU입니다.

byChannel [in]

open 함수(P1 = '00')의 경우 P2의 비트 b1 및 b2는 클래스 바이트와 동일한 방식으로 논리 채널 번호를 코딩하는 데 사용되며 P2의 다른 비트는 RFU입니다.

P2의 b1 및 b2가 NULL이면 카드 데이터 필드의 비트 b1 및 b2로 반환되는 논리 채널 번호를 할당합니다.

P2의 b1 및/또는 b2가 NULL이 아닌 경우 기본 채널 번호 이외의 논리 채널 번호를 코딩합니다. 그러면 카드 외부에 할당된 논리 채널 번호가 열립니다.

ppCmd [in, out]

입력에서 ISCardCmd 인터페이스 개체 또는 NULL에 대한 포인터입니다.

반환 시 이 작업에 의해 생성된 APDU 명령으로 채워집니다. ppCmdNULL로 설정된 경우 스마트 카드ISCardCmd 개체가 내부적으로 만들어지고 ppCmd 포인터를 사용하여 반환됩니다.

반환 값

메서드는 다음 가능한 값 중 하나를 반환합니다.

반환 코드 Description
S_OK
작업이 완료되었습니다.
E_INVALIDARG
잘못된 매개 변수입니다.
E_POINTER
잘못된 포인터가 전달되었습니다.
E_OUTOFMEMORY
메모리가 부족합니다.

 

설명

오픈 함수가 기본 논리 채널에서 성공적으로 수행되면 MF는 현재 DF로 암시적으로 선택되어야 하며 새 논리 채널의 보안 상태 ATR 이후의 기본 논리 채널과 동일해야 합니다. 새 논리 채널의 보안 상태 다른 논리 채널과 분리되어야 합니다.

기본 채널이 아닌 논리 채널에서 열린 함수가 성공적으로 수행되면 명령을 실행한 논리 채널의 현재 DF가 현재 DF로 선택됩니다. 또한 새 논리 채널에 대한 보안 상태 열린 함수가 수행된 논리 채널의 보안 상태 동일해야 합니다.

close 함수가 성공하면 이 논리 채널과 관련된 보안 상태 손실됩니다.

이 인터페이스에서 제공하는 모든 메서드 목록은 ISCardISO7816을 참조하세요.

위에 나열된 COM 오류 코드 외에도 스마트 카드 함수를 호출하여 요청을 완료한 경우 이 인터페이스는 스마트 카드 오류 코드를 반환할 수 있습니다. 자세한 내용은 스마트 카드 반환 값을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱만 해당]
클라이언트 지원 종료
Windows XP
서버 지원 종료
Windows Server 2003
헤더
Scardssp.h
유형 라이브러리
Scardsrv.tlb
DLL
Scardssp.dll
IID
IID_ISCardISO7816 53B6AA68-3F56-11D0-916B-00AA00C18068로 정의됩니다.

추가 정보

ISCardISO7816