共用方式為


註冊 High-Performance 提供者

與其他實例提供者一樣,您可以藉由建立 __Win32Provider__InstanceProviderRegistration 類別的實例,向 Microsoft Windows Management Instrumentation (WMI) 註冊高效能提供者。 __Win32Provider 實例會定義提供者的實體實作,而 __InstanceProviderRegistration 實例會定義提供者的功能集。 如需詳細資訊,請參閱 註冊提供者

下列程式描述如何註冊高效能實例提供者。

註冊高效能實例提供者

  1. 建立描述提供者之 __Win32Provider 類別的實例。

    請務必將 ClientLoadableCLSID 屬性新增至 __Win32Provider 實例。 如果提供者和用戶端位於同一部電腦上,WMI 會將提供者載入同一進程中,並使用 ClientLoadableCLSID 作為類別標識碼。 當提供者和客戶端位於不同的電腦上時,WMI 會將提供者以內部進程載入至 WMI。 WMI 也會使用 ClientLoadableCLSID 以支援刷新操作。

  2. 建立描述提供者功能集的 __InstanceProviderRegistration 類別實例。

    請務必使用 DynamicProvider 限定符來標記 類別。 Dynamic 限定符表示 WMI 應該使用提供者來擷取類別實例。 Provider 限定符會指定 WMI 應該使用的提供者名稱。

    高效能提供者也需要表示對作業、列舉作業或兩者的支援。 請確定您在實作中使用 SupportsGetSupportsEnumeration 属性。

下列程式代碼範例示範如何實作高效能提供者的 __Win32Provider__InstanceProviderRegistration 類別。

instance of __Win32Provider as $P
{
    Name="TestProv";
    CLSID="{A41602A4-C038-11d1-AEB6-00C04FB68820}";
    ClientLoadableCLSID="{423B32C9-B033-4242-EFB6-55C044242821}";
};

instance of __InstanceProviderRegistration
{
    Provider = $P;
    SupportsGet = TRUE;
    SupportsEnumeration = TRUE;
};

[ dynamic, 
  provider("TestProv")
]

class TestClass
{
    [key] string KeyVal;
    
    string StrVal1;

    sint32 IntVal1;
    sint32 IntVal2;

    sint32 IntArray2[];
};

將實例提供者變成 High-Performance 提供者