다음을 통해 공유


공급업체 래퍼 서비스 공급자

공급업체 래퍼의 목적은 특정 스마트 카드 대해 하위 수준 COM 인터페이스(스마트 카드 제조업체에서 제공)를 캡슐화하고 사용하는 것입니다. 이러한 인터페이스는 Microsoft에서 제공하지 않습니다.

공급업체 래퍼

ICC 및 개인용 컴퓨터 시스템용 상호 운용성 사양의 6부에 설명된 대로(의 사양 https://pcscworkgroup.com참조) 이 래퍼에서 노출하는 기능은 별도의 4개 서비스 공급자의 기능보다 사용하기 쉽습니다. 래퍼의 기능은 네 가지 기본 영역으로 나눌 수 있습니다.

  • 스마트 카드 인증 서비스(예: 챌린지 가져오기 및 카드 인증).
  • 스마트 카드 파일 액세스 또는 파일 시스템 서비스(예: 열기, 닫기, 읽기 및 쓰기).
  • 연결 및 분리와 같은 스마트 카드 관리.
  • 코드 확인 및 변경과 같은 스마트 카드 확인 서비스입니다.

참고

일부 언어 및 국가 또는 지역에서는 이 사양을 사용할 수 없습니다.

 

이 기능은 사용 중인 카드 유형(카드 지원하는 기능, 프로토콜 등)에 따라 다르며 각 카드 다릅니다.

Microsoft SCardCOM 예제 래퍼는 ATL COM 라이브러리를 사용하여 간단한 래퍼를 구현하고 다른 래퍼에 대한 템플릿을 배치합니다. 다음 인터페이스를 구현합니다.

인터페이스 또는 개체 설명
ISCardAuth
인증 서비스.
ISCardFileAccess
파일 시스템 서비스.
ISCardManage
관리 서비스.
ISCardVerify
확인 서비스.

 

참고

SCardCOM 예제는 래퍼 인터페이스를 구현하는 예제로만 제공됩니다. 다른 공급업체와 DLL 이름 충돌을 방지하려면 SCardCOM.dll 만든 DLL의 이름으로 사용하지 않아야 합니다.

 

다음은 공급업체 래퍼의 일반적인 사용입니다. 이 예제에서는 ISCardManage 인터페이스를 사용하여 서비스 공급자 및 ISCardVerify 인터페이스에 래핑될 인터페이스의 인스턴스를 만들어 작업을 확인합니다.

래퍼 서비스 공급자를 빌드하려면

  1. ISCardManage 인터페이스의 instance 만듭니다. 이 인터페이스를 사용하여 필요한 인터페이스의 instance 만듭니다(예: ISCardFileAccess 또는 ISCardVerify). 이러한 인터페이스를 만들 때 해당 하위 수준 COM 인터페이스도 만들어집니다.
  2. 적절한 ISCardManage 메서드를 통해 카드 연결/연결합니다.
  3. 적절한 ISCardVerify 메서드를 통해 필요한 작업을 수행합니다(완료하기 위해 여러 하위 수준 COM 인터페이스 및 메서드를 호출할 수 있음).
  4. 다른 작업에 대해 반복합니다.
  5. 완료되면 릴리스합니다.

COM 인터페이스 이름 및 인터페이스 식별자(GUID)는 코드 또는 예제 래퍼에 사용된 것과 달라서는 안 됩니다. 그러나 클래스 GUID(즉, 인터페이스의 실제 구현이 상주하는 경우)는 사용된 것과 변경해야 합니다. 이는 공급업체 래퍼를 구현할 때 특히 중요합니다. 한 가지 예는 특정 컴퓨터에서 여러 공급업체 래퍼를 사용하는 것입니다. 이러한 래퍼는 동일한 COM 인터페이스를 구현해야 하지만 항상 다른 구현 전략을 사용합니다. 따라서 다른 클래스(및 클래스 ID)가 필요합니다.