공급업체 래퍼 서비스 공급자
공급업체 래퍼의 목적은 특정 스마트 카드 대해 하위 수준 COM 인터페이스(스마트 카드 제조업체에서 제공)를 캡슐화하고 사용하는 것입니다. 이러한 인터페이스는 Microsoft에서 제공하지 않습니다.
ICC 및 개인용 컴퓨터 시스템용 상호 운용성 사양의 6부에 설명된 대로(의 사양 https://pcscworkgroup.com참조) 이 래퍼에서 노출하는 기능은 별도의 4개 서비스 공급자의 기능보다 사용하기 쉽습니다. 래퍼의 기능은 네 가지 기본 영역으로 나눌 수 있습니다.
- 스마트 카드 인증 서비스(예: 챌린지 가져오기 및 카드 인증).
- 스마트 카드 파일 액세스 또는 파일 시스템 서비스(예: 열기, 닫기, 읽기 및 쓰기).
- 연결 및 분리와 같은 스마트 카드 관리.
- 코드 확인 및 변경과 같은 스마트 카드 확인 서비스입니다.
참고
일부 언어 및 국가 또는 지역에서는 이 사양을 사용할 수 없습니다.
이 기능은 사용 중인 카드 유형(카드 지원하는 기능, 프로토콜 등)에 따라 다르며 각 카드 다릅니다.
Microsoft SCardCOM 예제 래퍼는 ATL COM 라이브러리를 사용하여 간단한 래퍼를 구현하고 다른 래퍼에 대한 템플릿을 배치합니다. 다음 인터페이스를 구현합니다.
인터페이스 또는 개체 | 설명 |
---|---|
ISCardAuth |
인증 서비스. |
ISCardFileAccess |
파일 시스템 서비스. |
ISCardManage |
관리 서비스. |
ISCardVerify |
확인 서비스. |
참고
SCardCOM 예제는 래퍼 인터페이스를 구현하는 예제로만 제공됩니다. 다른 공급업체와 DLL 이름 충돌을 방지하려면 SCardCOM.dll 만든 DLL의 이름으로 사용하지 않아야 합니다.
다음은 공급업체 래퍼의 일반적인 사용입니다. 이 예제에서는 ISCardManage 인터페이스를 사용하여 서비스 공급자 및 ISCardVerify 인터페이스에 래핑될 인터페이스의 인스턴스를 만들어 작업을 확인합니다.
래퍼 서비스 공급자를 빌드하려면
- ISCardManage 인터페이스의 instance 만듭니다. 이 인터페이스를 사용하여 필요한 인터페이스의 instance 만듭니다(예: ISCardFileAccess 또는 ISCardVerify). 이러한 인터페이스를 만들 때 해당 하위 수준 COM 인터페이스도 만들어집니다.
- 적절한 ISCardManage 메서드를 통해 카드 연결/연결합니다.
- 적절한 ISCardVerify 메서드를 통해 필요한 작업을 수행합니다(완료하기 위해 여러 하위 수준 COM 인터페이스 및 메서드를 호출할 수 있음).
- 다른 작업에 대해 반복합니다.
- 완료되면 릴리스합니다.
COM 인터페이스 이름 및 인터페이스 식별자(GUID)는 코드 또는 예제 래퍼에 사용된 것과 달라서는 안 됩니다. 그러나 클래스 GUID(즉, 인터페이스의 실제 구현이 상주하는 경우)는 사용된 것과 변경해야 합니다. 이는 공급업체 래퍼를 구현할 때 특히 중요합니다. 한 가지 예는 특정 컴퓨터에서 여러 공급업체 래퍼를 사용하는 것입니다. 이러한 래퍼는 동일한 COM 인터페이스를 구현해야 하지만 항상 다른 구현 전략을 사용합니다. 따라서 다른 클래스(및 클래스 ID)가 필요합니다.