註冊High-Performance提供者
就像其他執行個體提供者一樣,您會藉由建立 __Win32Provider 和 __InstanceProviderRegistration 類別的實例,向 Microsoft Windows Management Instrumentation (WMI) 註冊高效能提供者。 __Win32Provider實例會定義提供者的實體實作,而__InstanceProviderRegistration實例會定義提供者的功能集。 如需詳細資訊,請參閱 註冊提供者。
下列程式描述如何註冊高效能執行個體提供者。
註冊高效能執行個體提供者
建立 描述提供者之__Win32Provider 類別的實例。
請務必將 ClientLoadableCLSID 屬性新增至 __Win32Provider 實例。 如果提供者和用戶端都位於相同的電腦上,WMI 會使用 ClientLoadableCLSID 做為類別識別碼,將提供者同進程載入至用戶端。 當提供者和用戶端位於不同的電腦上時,WMI 會將提供者同進程載入至 WMI。 WMI 也會使用 ClientLoadableCLSID 來支援重新整理作業。
建立描述提供者功能集 的 __InstanceProviderRegistration 類別實例。
請務必使用 動態 和 提供者 限定詞標記 類別。 動態限定詞表示 WMI 應該使用提供者來擷取類別實例。 提供者限定詞會指定 WMI 應該使用的提供者名稱。
高效能提供者也需要狀態支援作業、列舉作業或兩者。 請確定您在實作中使用 SupportsGet 和 SupportsEnumeration 屬性。
下列程式碼範例示範如何實作高效能提供者的__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[];
};
相關主題