Поделиться через


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

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

None

Remarks

Функция WDF_WMI_INSTANCE_CONFIG_INIT_PROVIDER обнуляет структуру WDF_WMI_INSTANCE_CONFIG , указанную параметром Config , и задает ее член Size . Эта функция также задает для элемента Provider структуры дескриптор, указанный параметром Provider .

Драйвер должен вызвать 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 (включая Wdf.h)

См. также раздел

WDF_WMI_INSTANCE_CONFIG

WDF_WMI_INSTANCE_CONFIG_INIT_PROVIDER_CONFIG

WDF_WMI_PROVIDER_CONFIG

WDF_WMI_PROVIDER_CONFIG_INIT

WdfWmiInstanceCreate

WdfWmiProviderCreate