廠商包裝函式服務提供者
廠商包裝函式的目的是封裝和使用智慧卡製造商) 針對特定智慧卡提供的低階 COM 介面 (。 Microsoft 不會提供這些介面。
如 ICC 和個人電腦系統的互通性規格 第 6 部分所述, (請參閱) 的規格 https://pcscworkgroup.com ,此包裝函式所公開的功能比四個不同的服務提供者的功能更容易使用。 包裝函式的功能可以分成四個主要區域:
- 智慧卡驗證服務,例如取得挑戰和卡片驗證。
- 智慧卡檔案存取或檔案系統服務,例如開啟、關閉、讀取和寫入。
- 智慧卡管理,例如連結和中斷連結。
- 智慧卡驗證服務,例如驗證和變更代碼。
注意
某些語言和國家或地區可能無法使用此規格。
此功能專屬於所使用卡片的類型 (卡片支援、通訊協定等等) ,而且每個卡片會有所不同。
Microsoft SCardCOM 範例包裝函式會使用 ATL COM 程式庫來實作簡單的包裝函式,並為其他包裝函式配置範本。 它會實作下列介面。
介面或物件 | Description |
---|---|
ISCardAuth |
驗證服務。 |
ISCardFileAccess |
檔案系統服務。 |
ISCardManage |
管理服務。 |
ISCardVerify |
驗證服務。 |
注意
SCardCOM 範例僅提供實作包裝函式介面的範例。 若要防止 DLL 與其他廠商發生衝突,您不得使用 SCardCOM.dll 作為您所建立之任何 DLL 的名稱。
以下是廠商包裝函式的一般用法。 此範例會使用 ISCardManage 介面來建立將包裝至服務提供者和 ISCardVerify 介面的介面實例,以確認其作業。
建置包裝函式服務提供者
- 建立 ISCardManage 介面的實例。 使用此介面來建立必要介面的實例 (,例如 ISCardFileAccess 或 ISCardVerify) 。 建立這些介面時,也會建立任何對應的低階 COM 介面。
- 透過適當的 ISCardManage 方法附加/連線到卡片。
- 透過適當的 ISCardVerify 方法執行必要的作業 (,此方法可能會呼叫多個低階 COM 介面和方法來完成) 。
- 針對其他作業重複執行。
- 完成時發行。
COM 介面名稱和介面識別碼 (GUID) 不應該從程式碼或範例包裝函式中使用的名稱變更。 不過,類別 GUID (也就是說,介面的實際實作必須從使用的實作變更) 。 這在實作廠商包裝函式時特別重要。 其中一個範例是在特定電腦上使用多個廠商包裝函式。 這些包裝函式應該實作相同的 COM 介面,但一律使用不同的實作策略。 因此,需要 (和類別識別碼) 不同的類別。