ICertPolicy2 介面 (certpol.h)
ICertPolicy2介面是兩個介面之一,可提供憑證服務伺服器引擎與原則模組之間的通訊。
- 初始化原則模組。
- 通知原則模組,新要求已進入系統。 原則模組接著可以使用 ICertServerPolicy 介面的 方法來指出要求良好且應該發出、不正確且應遭到拒絕,或應保留以供稍後考慮。
- 擷取原則模組及其功能的描述。
- 通知原則模組憑證服務伺服器正在終止。
憑證服務介面同時支援 Apartment 執行緒和自由執行緒模型。 為了獲得更佳的輸送量,建議使用免費執行緒。
繼承
ICertPolicy2介面繼承自ICertPolicy和IDispatch。 ICertPolicy2 也有下列類型的成員:
方法
ICertPolicy2介面具有這些方法。
ICertPolicy2::GetManageModule 藉由呼叫 GetManageModule 並將指標傳入 ICertManageModule 的位址,以擷取與 ICertPolicy2 介面相關聯的 ICertManageModule 介面。 |
備註
ICertPolicy的實作者也應該實作ICertManageModule。 此外,實作 ICertPolicy 之類別的 ProgID 必須符合命名慣例。 具體來說,ProgID 的格式必須是:
「MyApp.原則」
其中 MyApp 是識別應用程式的規範。 例如,在 C++ 中,下列專案可用於 CMyCertPolicyModule (CMyCertPolicyModule) 實作 ICertPolicy類別的DECLARE_REGISTRY宏。
DECLARE_REGISTRY(
CMyCertPolicyModule,
L"MyCode.Policy.1",
L"MyCode.Policy",
IDS_CERTPOLICYMODULE_DESC,
THREADFLAGS_BOTH);
在上述範例中,IDS_CERTPOLICYMODULE_DESC值是描述 類別之字串的資源檔 (.rc) 中應用程式特定的識別碼。
在 Certmod.h 中定義的字串常數可用來簡化遵循命名慣例。
常數 | 值 |
---|---|
wszCERTPOLICYMODULE_POSTFIX | TEXT (」。原則「) |
一次無法在憑證服務伺服器上註冊一個以上的 Visual Basic Scripting Edition 原則模組。 如果在憑證服務伺服器上註冊多個這類原則模組,憑證授權單位單位 MMC 嵌入式管理單元、憑證服務應用程式或 Certutil 工具可能會產生錯誤。 請注意,Visual Basic Scripting Edition 開發環境會在建置成功時自動註冊 DLL。 因此,當您已註冊一個 Visual Basic Scripting Edition 原則模組,並建立另一個 Visual Basic Scripting Edition 原則模組時,可能會遇到這種情況。 若要避免這種情況,您必須使用命令列指令regsvr32 /uFileName.dll來取消註冊其中一個 Visual Basic Scripting Edition 原則模組,其中FileName.dll是您不想使用中的 Visual Basic Scripting Edition 原則模組名稱。
Visual Basic Scripting Edition 中 ICertPolicy 的實作者必須以下列格式命名其專案:
「MyApp」
其中MyApp是識別應用程式的規範;此外,實作ICertPolicy的類別必須命名為「Policy」。
規格需求
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | certpol.h (包含 Certsrv.h) |