注册高性能提供程序
与其他实例提供程序一样,你通过创建 __Win32Provider 和 __InstanceProviderRegistration 类的实例将高性能提供程序注册到 Microsoft Windows&\#160;Management Instrumentation (WMI)。 __Win32Provider 实例定义提供程序的物理实现,__InstanceProviderRegistration 实例定义提供程序的功能集。 有关详细信息,请参阅注册提供程序。
以下过程介绍了如何注册高性能实例提供程序。
注册高性能实例提供程序
创建 __Win32Provider 类的实例来描述提供程序。
请务必将 ClientLoadableCLSID 属性添加到 __Win32Provider 实例。 如果提供程序和客户端驻留在同一台计算机上,则 WMI 使用 ClientLoadableCLSID 作为类标识符将进程内提供程序加载到客户端。 当提供程序和客户端驻留在不同的计算机上时,WMI 会将进程内提供程序加载到 WMI。 WMI 还使用 ClientLoadableCLSID 来支持刷新操作。
创建 __InstanceProviderRegistration 类实例来描述提供程序的功能集。
请务必使用 Dynamic 和 Provider 限定符标记该类。 Dynamic 限定符表示 WMI 应使用提供程序来检索类实例。 Provider 限定符指定 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[];
};
相关主题