Provider::EnumerateInstances 메서드(provider.h)
[Provider 클래스는 현재 최종 상태로 간주되는 WMI 공급자 프레임워크의 일부이며 라이브러리에 영향을 미치는 비보안 관련 문제에 대해서는 더 이상 개발, 개선 또는 업데이트를 사용할 수 없습니다. 모든 새로운 개발에서는 MI API를 사용해야 합니다.]
EnumerateInstances 메서드는 프레임워크 공급자 클래스의 모든 인스턴스를 검색하기 위해 WMI에서 호출됩니다.
구문
HRESULT EnumerateInstances(
MethodContext *pMethodContext,
long lFlags
);
매개 변수
pMethodContext
이 호출에 대한 컨텍스트 개체에 대한 포인터입니다. 이 값에는 클라이언트에서 지정한 모든 IWbemContext 속성이 포함됩니다. 또한 이 포인터는 WMI로의 모든 호출에 대한 매개 변수로 사용해야 합니다.
lFlags
EnumerateInstances 작업에 대한 정보가 포함된 플래그의 비트 마스크입니다. IWbemServices::CreateInstanceEnum 메서드에서 클라이언트가 지정한 값입니다.
다음 플래그는 WMI에 의해 처리되고 필터링됩니다.
- WBEM_FLAG_DEEP
- WBEM_FLAG_SHALLOW
- WBEM_FLAG_RETURN_IMMEDIATELY
- WBEM_FLAG_FORWARD_ONLY
- WBEM_FLAG_BIDIRECTIONAL
- WBEM_FLAG_USE_AMENDED_QUALIFIERS
반환 값
이 메서드의 기본 프레임워크 공급자 구현은 호출 메서드에 WBEM_E_PROVIDER_NOT_CAPABLE 반환합니다. IWbemServices::CreateInstanceEnum 메서드는 가장 일반적인 반환 값을 나열하지만 COM 반환 코드를 반환하도록 선택할 수 있습니다.
설명
EnumerateInstances가 0개의 CInstance 인스턴스를 인스턴스화하고 반환 값을 WBEM_S_NO_ERROR 설정하여 0개의 인스턴스를 반환하는 것은 오류가 아닙니다.
WMI는 클라이언트 애플리케이션이 IWbemServices::CreateInstanceEnum을 호출할 때 EnumerateInstances를 호출하는 경우가 많지만 WMI는 다른 상황에서도 EnumerateInstances를 호출할 수 있습니다. 다음은 EnumerateInstances를 재정의하는 일반적인 방법입니다.
- Provider::CreateNewInstance를 사용하여 클래스의 빈 instance 만듭니다.
- CInstance::SetByte 또는 CInstance::SetStringArray와 같은 CInstance 클래스의 Set 메서드를 사용하여 빈 instance 속성을 채웁합니다.
- CInstance::Commit을 사용하여 instance 클라이언트로 다시 보냅니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista |
지원되는 최소 서버 | Windows Server 2008 |
대상 플랫폼 | Windows |
헤더 | provider.h(FwCommon.h 포함) |
라이브러리 | FrameDyn.lib |
DLL | FrameDynOS.dll; FrameDyn.dll |