共用方式為


智慧卡用戶介面

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

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

選取智慧卡以開啟

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

搜尋特定卡片

  1. 宣告類型為 OPENCARDNAME的變數。

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

  3. 建立 ConnectCheckDisconnect 回呼函式,並適當地設定 lpfnConnectlpfnChecklpfnDisconnect 數據成員。

    注意

    以這種方式使用通用對話框時,必須提供這三個函式和成員。

     

  4. 呼叫 GetOpenCardName 一般對話框函式。

  5. [一般] 對話框接著會搜尋所要求的卡片。 如果找到相符的卡片名稱或 ATR 字串,則會依序呼叫 Connect檢查,以及 Disconnect 回呼函式。 如果卡片通過 Check 例程 (也就是,Check 回呼會傳 回 true),此卡片會在向用戶顯示中反白顯示。

    注意

    如果提供多個卡片名稱,則包含其中一張要求卡片的第一個讀取器,並傳遞 檢查 例程將會是選取的卡片。

     

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