다음을 통해 공유


스마트 카드 사용자 인터페이스

스마트 카드 UI(사용자 인터페이스)는 사용자가 열려는 스마트 카드 지정하거나 검색할 수 있는 단일 공통 대화 상자입니다(즉, 애플리케이션에 연결하고 애플리케이션에서 사용).

다음은 공통 대화 상자를 사용할 수 있는 두 가지 방법입니다. 둘 다 대화 상자 UI가 표시될 것이라고 가정합니다. 자세한 내용은 OPENCARDNAME을 참조하세요.

열려는 스마트 카드 선택하려면

  1. OPENCARDNAME 형식의 변수를 선언합니다.
  2. 일반적인 대화 상자에 충분한 정보를 제공하여 호출 애플리케이션이 찾고 있는 스마트 카드 대한 검색 범위를 좁힐 수 있습니다. 여기에는 lpstrGroupNames, lpstrCardNamesrgguidInterfaces 지정이 포함됩니다. 여기에는 OPENCARDNAME 구조체의 dwShareModedwPreferredProtocols 멤버를 사용하여 공통 대화 상자가 카드 연결할 때 사용할 기본 공유 모드 및 프로토콜 지정도 포함됩니다.
  3. GetOpenCardName 함수를 호출하여 사용자에게 공통 대화 상자를 표시합니다. 간단한 도움말 정보 줄이 표시되고 요청되는 카드 중 하나가 발견되면 카드 디스플레이에 강조 표시됩니다. 여러 카드 이름 검색의 경우 기본 설정 카드 중 하나가 포함된 첫 번째 판독기가 강조 표시됩니다.
  4. 그런 다음 사용자는 카드 선택하고 확인을 클릭한 다음 스마트 카드 연결합니다.

특정 카드 검색하려면

  1. OPENCARDNAME 형식의 변수를 선언합니다.

  2. 일반적인 대화 상자에 충분한 정보를 제공하여 호출 애플리케이션이 찾고 있는 스마트 카드 대한 검색 범위를 좁힐 수 있습니다. 여기에는 lpstrGroupNames, lpstrCardNamesrgguidInterfaces 지정이 포함됩니다.

  3. Connect, CheckDisconnect 콜백 함수를 만들고 lpfnConnect, lpfnChecklpfnDisconnect 데이터 멤버를 적절하게 설정합니다.

    참고

    이러한 방식으로 공통 대화 상자를 사용할 때는 세 가지 함수와 멤버를 모두 사용할 수 있어야 합니다.

     

  4. GetOpenCardName 일반 대화 상자 함수를 호출합니다.

  5. 그런 다음, 일반 대화 상자에서 요청된 카드를 검색합니다. 일치하는 카드 이름 또는 ATR 문자열이 발견되면 연결, 확인연결 끊기 콜백 함수가 순서대로 호출됩니다. 카드 Check 루틴(즉, Check 콜백이 TRUE를 반환함)을 전달하는 경우 이 카드 사용자에게 표시되어 있습니다.

    참고

    여러 카드 이름이 지정된 경우 요청된 카드 중 하나를 포함하고 Check 루틴을 전달하는 첫 번째 판독기는 선택한 카드 됩니다.

     

  6. 일치하는 항목이 없으면 공통 대화 상자가 나타납니다.