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