智慧卡 使用者介面 (UI) 是單一 通用對話框,可讓使用者指定或搜尋智慧卡來開啟(也就是連線到應用程式中並使用)。
以下是您可以使用通用對話框的兩種方式。 兩者都假設會顯示對話框UI。 如需詳細資訊,請參閱 OPENCARDNAME。
選取智慧卡以開啟
- 宣告類型為 OPENCARDNAME的變數。
- 在通用對話框中提供足夠的資訊,以縮小搜尋呼叫應用程式所尋找的智慧卡。 這包括指定 lpstrGroupNames、lpstrCardNames和 rgguidInterfaces。 這也包括指定當通用對話框使用 dwShareMode 和 dwPreferredProtocolsOPENCARDNAME 結構的成員時,要使用的慣用共用模式和通訊協定。
- 呼叫 GetOpenCardName 函式,向用戶顯示通用對話方塊。 將會顯示簡單的說明資訊行,如果找到其中一張所要求的卡片,則會在顯示器中反白顯示卡片。 針對多個卡片名稱搜尋,會反白顯示包含其中一張慣用卡片的第一個讀取器。
- 然後,用戶選取卡片、按兩下 [確定] ,然後連線到智慧卡。
搜尋特定卡片
宣告類型為 OPENCARDNAME的變數。
在通用對話框中提供足夠的資訊,以縮小搜尋呼叫應用程式所尋找的智慧卡。 這包括指定 lpstrGroupNames、lpstrCardNames和 rgguidInterfaces。
建立 Connect、Check和 Disconnect 回呼函式,並適當地設定 lpfnConnect、lpfnCheck和 lpfnDisconnect 數據成員。
注意
以這種方式使用通用對話框時,必須提供這三個函式和成員。
呼叫 GetOpenCardName 一般對話框函式。
[一般] 對話框接著會搜尋所要求的卡片。 如果找到相符的卡片名稱或 ATR 字串,則會依序呼叫 Connect、檢查,以及 Disconnect 回呼函式。 如果卡片通過 Check 例程 (也就是,Check 回呼會傳 回 true),此卡片會在向用戶顯示中反白顯示。
注意
如果提供多個卡片名稱,則包含其中一張要求卡片的第一個讀取器,並傳遞 檢查 例程將會是選取的卡片。
如果找不到相符專案,就會顯示通用對話方塊。