다음을 통해 공유


ISCardISO7816::SelectFile 메서드

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

SelectFile 메서드는 논리 채널 내에서 현재 기본 파일을 설정하는 APDU(애플리케이션 프로토콜 데이터 단위) 명령을 생성합니다. 후속 명령은 논리 채널을 통해 현재 파일을 암시적으로 참조할 수 있습니다.

파일 저장소의 루트(MF)일 수 있는 카드 파일 저장소 내에서 DF(디렉터리)를 선택하면 현재 DF가 됩니다. 이러한 선택 후에는 해당 논리 채널을 통해 암시적 현재 기본 파일을 참조할 수 있습니다.

기본 파일을 선택하면 선택한 파일과 해당 부모가 현재 파일로 설정됩니다.

초기화에 대한 답변 후 기록 바이트 또는 초기 데이터 문자열에서 다르게 지정하지 않는 한 MF는 기본 논리 채널을 통해 암시적으로 선택됩니다.

구문

HRESULT SelectFile(
  [in]      BYTE         byP1,
  [in]      BYTE         byP2,
  [in]      LPBYTEBUFFER pData,
  [in]      LONG         lBytesToRead,
  [in, out] LPSCARDCMD   *ppCmd
);

매개 변수

byP1 [in]

선택 컨트롤.

P1(단어의 상위 바이트): 8 7 6 5 4 3 2 1 의미
000000xx
파일 ID 선택
00000000
EF, DF 또는 MF
00000001
자식 DF
00000010
DF 아래의 EF
00000011
현재 DF의 부모 DF

 

P1=00이면 파일 ID의 특정 코딩으로 인해 또는 선택할 파일이 MF, DF 또는 EF인 경우 명령 실행 컨텍스트 때문에 카드 알 수 있습니다.

P1-P2=0000이면 파일 ID가 제공되면 다음 환경에서 고유해야 합니다.

  • 현재 DF의 직위 자식
  • 부모 DF
  • 부모 DF의 직할 자식

P1-P2=0000이고 데이터 필드가 비어 있거나 3F00과 같은 경우 MF를 선택합니다.

P1=04인 경우 데이터 필드는 DF 이름이며, 아마도 오른쪽으로 잘렸을 수 있습니다.

지원되는 경우 동일한 데이터 필드가 있는 연속적인 명령은 이름이 데이터 필드와 일치하는 DF(즉, 명령 데이터 필드로 시작)를 선택해야 합니다. 카드 빈 데이터 필드가 있는 명령을 수락하는 경우 DF의 전체 또는 하위 집합을 연속적으로 선택할 수 있습니다.

byP2 [in]

선택 컨트롤.

pData [in]

필요한 경우 작업을 위한 데이터입니다. else, NULL입니다. 이 매개 변수에 전달되는 데이터 형식은 다음과 같습니다.

  • 파일 ID
  • MF의 경로
  • 현재 DF의 경로
  • DF 이름

lBytesToRead [in]

비어 있거나(즉, 0) 응답에 필요한 데이터의 최대 길이입니다.

ppCmd [in, out]

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

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

반환 값

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

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

 

설명

달리 지정하지 않는 한 캡슐화된 명령의 올바른 실행은 다음 규칙에 따라 보안 상태 수정합니다.

  • 현재 기본 파일이 변경되거나 현재 기본 파일이 없는 경우 이전의 현재 기본 파일과 관련된 보안 상태 손실됩니다.
  • 현재 DF(파일 저장소 디렉터리)가 이전의 현재 DF와 하위이거나 동일한 경우 이전의 현재 DF와 관련된 보안 상태 손실됩니다. 이전 및 새 현재 DF의 모든 공통 상위 항목에 공통적인 보안 상태 유지 관리됩니다.

이 인터페이스에서 제공하는 모든 메서드 목록은 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