функция 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

Дескриптор объекта поставщика WMI, полученный драйвером при предыдущем вызове WdfWmiProviderCreate.

Возвращаемое значение

Никакой

Замечания

Функция WDF_WMI_INSTANCE_CONFIG_INIT_PROVIDER ноль структуры WDF_WMI_INSTANCE_CONFIG, которую указывает параметр конфигурации и задает его элемент Size. Эта функция также задает элемент поставщика структуры в дескриптор, указанный параметром поставщика.

Драйвер должен вызывать WDF_WMI_INSTANCE_CONFIG_INIT_PROVIDER, чтобы инициализировать структуру WDF_WMI_INSTANCE_CONFIG, если она вызывает WdfWmiProviderCreate перед вызовом WdfWmiInstanceCreate.

Примеры

В следующем примере кода инициализируется структура 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 (include Wdf.h)

См. также

WDF_WMI_INSTANCE_CONFIG

WDF_WMI_INSTANCE_CONFIG_INIT_PROVIDER_CONFIG

WDF_WMI_PROVIDER_CONFIG

WDF_WMI_PROVIDER_CONFIG_INIT

WdfWmiInstanceCreate

WdfWmiProviderCreate