共用方式為


註冊系統登錄提供者

系統登錄提供者會在 Windows 上註冊為 WMI 安裝程式的一部分。 如果您使用另一個平臺,而且想要使用系統登錄提供者,您必須先遵循下列步驟自行註冊提供者。

下列程式說明如何註冊系統登錄提供者。

註冊系統登錄提供者

  1. 將提供者註冊為 COM 伺服器。

    如有必要,您可能需要建立登錄專案。 此程式適用于所有 COM 伺服器,且與 WMI 無關。 如需詳細資訊,請參閱 Microsoft Windows 軟體發展工具組 (SDK) 中的 COM 檔。

  2. 建立 __Win32Provider 類別的實例,以描述系統登錄提供者的實作。

    __Win32Provider實例描述提供者的名稱及其類別識別碼, (CLSID) 。

    下列範例描述如何將 __Win32Provider 註冊為實例屬性、事件或方法提供者。

    // Instance provider
    instance of __Win32Provider as $InstProv
    {
        Name    = "RegProv" ;
        ClsId   = "{fe9af5c0-d3b6-11ce-a5b6-00aa00680c3f}" ;
    };    
    // Property provider 
    instance of __Win32Provider as $PropProv 
    {
        Name = "RegPropProv"; 
        Clsid = "{72967901-68EC-11d0-B729-00AA0062CBB7}"; 
    }; 
    // Event provider
    instance of __Win32Provider as $RegEvent
    {
        Name = "RegistryEventProvider";
        Clsid = "{fa77a74e-e109-11d0-ad6e-00c04fd8fdff}";
    };
    instance of __Win32Provider as $RegMethod
    {
        Name = "RegistryMethodProvider";
        Clsid = "{44DE513E-60C2-11d3-AF33-00C04F79FEB1}";
    };
    
  3. 建立衍生自 __ProviderRegistration 類別的一或多個類別實例,以描述系統登錄提供者的邏輯實作。

    根據您註冊系統登錄提供者的目的,您可以建立下列一或多個類別。

    __InstanceProviderRegistration

    __PropertyProviderRegistration

    __EventProviderRegistration

    __MethodProviderRegistration

    下列 MOF 程式碼範例說明如何將系統登錄提供者註冊為實例、屬性、事件或方法提供者。

    instance of __InstanceProviderRegistration
    {
        Provider = $InstProv;
        SupportsPut = TRUE;
        SupportsGet = TRUE;
        SupportsDelete = FALSE;
        SupportsEnumeration = TRUE;
    };
    instance of __PropertyProviderRegistration
    {
        Provider = $PropProv;
        SupportsPut = TRUE;
        SupportsGet = TRUE;
    }; 
    instance of __EventProviderRegistration
    {
        Provider = $RegEvent;
        EventQueryList = {
                "select * from RegistryKeyChangeEvent",
                "select * from RegistryValueChangeEvent",
                "select * from RegistryTreeChangeEvent"};
    };
    // Method provider
    instance of __MethodProviderRegistration
    {
        Provider = $RegMethod;
    };
    
  4. 使用 MOF 編譯器或 IMofCompiler 介面編譯 MOF 檔案。

Windows SDK 的 WMI 區段中提供的 RegEvent.mof 檔案包含 系統登錄提供者註冊為事件提供者所需的 __Win32Provider和__EventProviderRegistration 實例。 如需註冊提供者的詳細資訊,請參閱 註冊提供者接收 WMI 事件