存取智慧卡
智慧卡子系統提供數種方法,讓應用程式或服務提供者連線到智慧卡:
- 應用程式可以呼叫 SCardConnect 來連線到位於指定讀取器中的卡片。 這是與智慧卡建立通訊的最簡單方式。
- 應用程式可以在指定的讀取器群組內搜尋特定智慧卡。 應用程式會依卡片的顯示名稱來識別卡片,並指定卡片可能會出現的讀取器清單。 資源管理員會搜尋讀取器清單,尋找具有符合具名卡片之ATR 字串的任何卡片,並將狀態資訊傳回給應用程式。 智慧卡子系統永遠不會放置 GUI,或與卡片互動,超過取得 ATR 字串。 不過,它確實提供足夠的資訊,讓應用程式或通用控制項能夠引導使用者找出所需的卡片或卡片類型。 這會導致將要求對應至特定讀取器,而該讀取器會導向進一步的 I/O。
- 應用程式可以要求支援一組指定智慧卡介面的卡片清單。 然後,應用程式就可以在先前的案例中使用清單。 這可讓應用程式根據其功能連線到卡片,而不需考慮其名稱。
當應用程式尋找卡片時,它會提供要在其中尋找的讀取器名稱陣列。 針對陣列中的每個讀取器元素,資源管理員會提供下列資訊:
- 讀取器是否可供此應用程式使用。
- 是否有插入此讀取器的卡片,如果是,則其 ATR 字串是什麼。
- 卡片的 ATR 字串是否符合任何要求的卡片 ATR 字串。
應用程式會使用傳回的資訊將進一步篩選套用至卡片,或提示使用者選取所需的卡片。 請注意,可能會開啟一或多個傳回的讀取器清單供其他應用程式獨佔使用,因此不保證可存取此讀取器清單。