共用方式為


智慧卡使用者介面

智慧卡 使用者介面 (UI) 是單一 通用對話方塊 ,可讓使用者指定或搜尋智慧卡以開啟 (,也就是連線到應用程式並用於應用程式) 。

以下是您可以使用通用對話方塊的兩種方式。 這兩者都假設會顯示對話方塊 UI。 如需詳細資訊,請參閱 OPENCARDNAME

若要選取要開啟的智慧卡

  1. 宣告 OPENCARDNAME類型的變數。
  2. 在通用對話方塊中提供足夠的資訊,以縮小搜尋呼叫應用程式所尋找的智慧卡。 這包括指定 lpstrGroupNameslpstrCardNamesrgguidInterfaces。 這也包括指定慣用的共用模式和通訊協定,當通用對話方塊使用OPENCARDNAME結構的dwShareModedwPreferredProtocols成員連接到卡片時使用。
  3. 呼叫 GetOpenCardName 函式,向使用者顯示通用對話方塊。 將會顯示簡單的說明資訊行,如果找到其中一張卡片,則會在顯示器中反白顯示卡片。 對於多個卡片名稱搜尋,第一個包含其中一張慣用卡片的讀取器將會反白顯示。
  4. 然後,使用者選取卡片,按一下 [ 確定],然後連線到智慧卡。

搜尋特定卡片

  1. 宣告 OPENCARDNAME類型的變數。

  2. 在通用對話方塊中提供足夠的資訊,以縮小搜尋呼叫應用程式所尋找的智慧卡。 這包括指定 lpstrGroupNameslpstrCardNamesrgguidInterfaces

  3. 建立ConnectCheckDisconnect回呼函式,並適當地設定lpfnConnectlpfnCheck 和 lpfnDisconnect資料成員。

    注意

    使用通用對話方塊時,所有三個函式和成員都必須以這種方式使用。

     

  4. 呼叫 GetOpenCardName 通用對話方塊函式。

  5. 然後,常見的對話方塊會搜尋所要求的卡片。 如果找到相符的卡片名稱或 ATR 字串 ,將會依序呼叫 ConnectCheckDisconnect 回呼函式。 如果卡片通過 Check 常式 (, 檢查 回呼會傳回 TRUE) ,此卡片會在向使用者顯示中反白顯示。

    注意

    如果指定多個卡片名稱,則包含其中一張要求的卡片的第一個讀取器,並通過 Check 常式將會是選取的卡片。

     

  6. 如果找不到相符專案,就會顯示一個通用對話方塊。