WDF_WMI_INSTANCE_CONFIG_INIT_PROVIDER 函数 (wdfwmi.h)
[仅适用于 KMDF]
WDF_WMI_INSTANCE_CONFIG_INIT_PROVIDER 函数初始化WDF_WMI_INSTANCE_CONFIG结构,并将指定的句柄存储到 WMI 提供程序对象。
语法
void WDF_WMI_INSTANCE_CONFIG_INIT_PROVIDER(
[out] PWDF_WMI_INSTANCE_CONFIG Config,
[in] WDFWMIPROVIDER Provider
);
参数
[out] Config
指向 WDF_WMI_INSTANCE_CONFIG 结构的指针。
[in] Provider
驱动程序通过上一次调用 WdfWmiProviderCreate 获取的 WMI 提供程序对象的句柄。
返回值
无
备注
WDF_WMI_INSTANCE_CONFIG_INIT_PROVIDER 函数将 Config 参数指定的WDF_WMI_INSTANCE_CONFIG结构归零并设置其 Size 成员。 此函数还将结构的 Provider 成员设置为 Provider 参数指定的句柄。
如果驱动程序在调用 WdfWmiInstanceCreate 之前调用 WdfWmiProviderCreate,则应调用 WDF_WMI_INSTANCE_CONFIG_INIT_PROVIDER 以初始化WDF_WMI_INSTANCE_CONFIG结构。
示例
下面的代码示例初始化 WDF_WMI_PROVIDER_CONFIG 结构并调用 WdfWmiProviderCreate。 然后,该示例初始化 WDF_WMI_INSTANCE_CONFIG 结构并调用 WdfWmiInstanceCreate。
WDF_WMI_PROVIDER_CONFIG providerConfig;
WDFWMIPROVIDER provider;
GUID providerGuid = MY_WMI_DATA_BLOCK_GUID;
WDF_WMI_INSTANCE_CONFIG instanceConfig;
WDFWMIINSTANCE instanceHandle;
NTSTATUS status;
WDF_WMI_PROVIDER_CONFIG_INIT(
&providerConfig,
providerGuid
);
providerConfig.Flags = WdfWmiProviderTracing;
providerConfig.EvtWmiProviderFunctionControl = MyProviderFunctionControl;
status = WdfWmiProviderCreate(
Device,
&providerConfig,
WDF_NO_OBJECT_ATTRIBUTES,
&provider
);
if (!NT_SUCCESS(status)) {
return status;
}
WDF_WMI_INSTANCE_CONFIG_INIT_PROVIDER(
&instanceConfig,
provider
);
status = WdfWmiInstanceCreate(
Device,
&instanceConfig,
WDF_NO_OBJECT_ATTRIBUTES,
&instanceHandle
);
if (!NT_SUCCESS(status)) {
return status;
}
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.0 |
标头 | wdfwmi.h (包括 Wdf.h) |