Smartcard-Benutzeroberfläche
Die Smartcard-Benutzeroberfläche (Ui) ist ein einzelnes allgemeines Dialogfeld, in dem der Benutzer angeben oder nach einer Smartcard suchen kann, die geöffnet werden soll (d. b. eine Verbindung mit einer Anwendung herstellen und sie in einer Anwendung verwenden).
Im Folgenden finden Sie zwei Möglichkeiten, wie Sie das allgemeine Dialogfeld verwenden können. Beide gehen davon aus, dass die Benutzeroberfläche des Dialogfelds angezeigt wird. Weitere Informationen finden Sie unter OPENCARDNAME.
So wählen Sie eine zu öffnende Smartcard aus
- Deklarieren Sie eine Variable vom Typ OPENCARDNAME.
- Stellen Sie genügend Informationen im allgemeinen Dialogfeld bereit, um die Suche nach einer Smartcard einzugrenzen, nach der die aufrufende Anwendung sucht. Dies schließt die Angabe von lpstrGroupNames, lpstrCardNames und rgguidInterfaces ein. Dies umfasst auch die Angabe eines bevorzugten Freigabemodus und Protokolls, der verwendet werden soll, wenn das allgemeine Dialogfeld mithilfe der Member dwShareMode und dwPreferredProtocols der OPENCARDNAME-Struktur eine Verbindung mit der Karte herstellt.
- Rufen Sie die GetOpenCardName-Funktion auf, um dem Benutzer das allgemeine Dialogfeld anzuzeigen. Eine einfache Hilfeinformationszeile wird angezeigt, und wenn eine der angeforderten Karten gefunden wird, wird die Karte in der Anzeige hervorgehoben. Bei Suchvorgängen mit mehreren Kartennamen wird der erste Leser hervorgehoben, der eine der bevorzugten Karten enthält.
- Der Benutzer wählt dann eine Karte aus, klickt auf OK und stellt eine Verbindung mit der Smartcard her.
So suchen Sie nach einer bestimmten Karte
Deklarieren Sie eine Variable vom Typ OPENCARDNAME.
Stellen Sie genügend Informationen im allgemeinen Dialogfeld bereit, um die Suche nach einer Smartcard einzugrenzen, nach der die aufrufende Anwendung sucht. Dies schließt die Angabe von lpstrGroupNames, lpstrCardNames und rgguidInterfaces ein.
Erstellen Sie die Rückruffunktionen Verbinden, Check und Disconnect, und legen Sie die Datenmember lpfnConnect, lpfnCheck und lpfnDisconnect entsprechend fest.
Hinweis
Alle drei Funktionen und Member müssen verfügbar sein, wenn das allgemeine Dialogfeld auf diese Weise verwendet wird.
Rufen Sie die allgemeine Dialogfeldfunktion GetOpenCardName auf.
Das allgemeine Dialogfeld sucht dann nach den angeforderten Karten. Wenn ein übereinstimmender Kartenname oder eine entsprechende ATR-Zeichenfolge gefunden wird, werden die Rückruffunktionen Verbinden, Check und Disconnect nacheinander aufgerufen. Wenn eine Karte die Check-Routine übergibt (d. h. der Check-Rückruf gibt TRUE zurück), wird diese Karte für den Benutzer in der Anzeige hervorgehoben.
Hinweis
Wenn mehrere Kartennamen angegeben werden, ist der erste Leser, der eine der angeforderten Karten enthält und die Check-Routine übergibt, die ausgewählte Karte.
Wenn keine Übereinstimmungen gefunden werden, wird ein allgemeines Dialogfeld angezeigt.