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 |
Header | wdfwmi.h (Wdf.h を含む) |