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 구조를 0으로 설정하고 Size 멤버를 설정합니다. 또한 이 함수는 구조체의 Provider 멤버를 Provider 매개 변수가 지정하는 핸들로 설정합니다.
WdfWmiInstanceCreate를 호출하기 전에 드라이버가 WDF_WMI_INSTANCE_CONFIG_INIT_PROVIDER 호출하여 WdfWmiProviderCreate를 호출하는 경우 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 포함) |