次の方法で共有


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 を含む)

こちらもご覧ください

WDF_WMI_INSTANCE_CONFIG

WDF_WMI_INSTANCE_CONFIG_INIT_PROVIDER_CONFIG

WDF_WMI_PROVIDER_CONFIG

WDF_WMI_PROVIDER_CONFIG_INIT

WdfWmiInstanceCreate

WdfWmiProviderCreate