共用方式為


ICertPolicy2 介面 (certpol.h)

ICertPolicy2介面是兩個介面之一,可提供憑證服務伺服器引擎與原則模組之間的通訊。

注意 原則模組可以使用 ICertServerPolicy 介面與憑證服務伺服器引擎通訊。
 
憑證服務伺服器引擎會呼叫 ICertPolicy2 方法來執行下列工作:
  • 初始化原則模組。
  • 通知原則模組,新要求已進入系統。 原則模組接著可以使用 ICertServerPolicy 介面的 方法來指出要求良好且應該發出、不正確且應遭到拒絕,或應保留以供稍後考慮。
  • 擷取原則模組及其功能的描述。
  • 通知原則模組憑證服務伺服器正在終止。

憑證服務介面同時支援 Apartment 執行緒和自由執行緒模型。 為了獲得更佳的輸送量,建議使用免費執行緒。

繼承

ICertPolicy2介面繼承自ICertPolicyIDispatchICertPolicy2 也有下列類型的成員:

方法

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)