Freigeben über


Smartcard-Benutzeroberfläche

Die Smart Karte-Benutzeroberfläche ist ein einzelnes allgemeines Dialogfeld, mit dem der Benutzer eine intelligente Karte angeben oder suchen kann, die geöffnet werden soll (d. a. Herstellen einer Verbindung mit und Verwendung in einer Anwendung).

Im Folgenden finden Sie zwei Möglichkeiten, das allgemeine Dialogfeld zu verwenden. Beide gehen davon aus, dass die Dialogfeld-Benutzeroberfläche angezeigt wird. Weitere Informationen finden Sie unter OPENCARDNAME.

So wählen Sie eine intelligente Karte aus, die geöffnet werden soll

  1. Deklarieren Sie eine Variable vom Typ OPENCARDNAME.
  2. Stellen Sie genügend Informationen im allgemeinen Dialogfeld bereit, um die Suche nach einem intelligenten Karte einzugrenzen, nach dem die aufrufende Anwendung sucht. Dazu gehört das Angeben von lpstrGroupNames, lpstrCardNames und rgguidInterfaces. Dies umfasst auch das Angeben eines bevorzugten Freigabemodus und eines Protokolls, das verwendet werden soll, wenn das allgemeine Dialogfeld eine Verbindung mit dem Karte herstellt, indem die Elemente dwShareMode und dwPreferredProtocols der OPENCARDNAME-Struktur verwendet werden.
  3. Rufen Sie die GetOpenCardName-Funktion auf, um dem Benutzer das allgemeine Dialogfeld anzuzeigen. Es wird eine einfache Hilfeinformationszeile angezeigt, und wenn eine der angeforderten Karten gefunden wird, wird die Karte in der Anzeige hervorgehoben. Bei der Suche nach mehreren Karte Namen wird der erste Reader hervorgehoben, der eine der bevorzugten Karten enthält.
  4. Der Benutzer wählt dann einen Karte aus, klickt auf OK und stellt eine Verbindung mit dem intelligenten Karte her.

So suchen Sie nach einem bestimmten Karte

  1. Deklarieren Sie eine Variable vom Typ OPENCARDNAME.

  2. Stellen Sie genügend Informationen im allgemeinen Dialogfeld bereit, um die Suche nach einem intelligenten Karte einzugrenzen, nach dem die aufrufende Anwendung sucht. Dazu gehört das Angeben von lpstrGroupNames, lpstrCardNames und rgguidInterfaces.

  3. Erstellen Sie die Rückruffunktionen Verbinden, Überprüfen und Trennen , und legen Sie die Datenmember lpfnConnect, lpfnCheck und lpfnDisconnect entsprechend fest.

    Hinweis

    Alle drei Funktionen und Member müssen verfügbar sein, wenn sie das allgemeine Dialogfeld auf diese Weise verwenden.

     

  4. Rufen Sie die Common-Dialogfeldfunktion GetOpenCardName auf.

  5. Das allgemeine Dialogfeld sucht dann nach den angeforderten Karten. Wenn eine übereinstimmende Karte Name oder ATR-Zeichenfolge gefunden wird, werden die Rückruffunktionen Verbinden, Überprüfen und Trennen nacheinander aufgerufen. Wenn ein Karte die Check-Routine übergibt (d. h. der Check-Rückruf gibt TRUE zurück), wird diese Karte in der Anzeige für den Benutzer hervorgehoben.

    Hinweis

    Wenn mehrere Karte Namen angegeben werden, ist der erste Leser, der eine der angeforderten Karten enthält und die Überprüfungsroutine besteht, der ausgewählte Karte.

     

  6. Wenn keine Übereinstimmungen gefunden werden, wird ein allgemeines Dialogfeld angezeigt.