다음을 통해 공유


CWbemProviderGlue::GetInstancesByQueryAsynch 메서드(wbemglue.h)

[CWbemProviderGlue 클래스는 현재 최종 상태로 간주되는 WMI 공급자 프레임워크의 일부이며 이러한 라이브러리에 영향을 주는 비보안 관련 문제에 대해 추가 개발, 개선 또는 업데이트를 사용할 수 없습니다. 모든 새로운 개발에서는 MI API를 사용해야 합니다.]

GetInstancesByQueryAsynch 메서드는 특정 공급자가 지원하는 인스턴스 목록을 검색하고 특정 쿼리와 일치합니다. 이 메서드를 사용하면 공급자가 한 번에 하나의 instance 반환하여 비동기적으로 응답할 수 있습니다.

구문

HRESULT GetInstancesByQueryAsynch(
  LPCWSTR                    query,
  Provider                   *pRequester,
  LPProviderInstanceCallback pCallback,
  LPCWSTR                    pszNamespace,
  MethodContext              *pMethodContext,
  void                       *pUserData
);

매개 변수

query

실행할 쿼리입니다.

pRequester

프레임워크 공급자가 제공하는 클래스의 instance 대한 포인터입니다. 이 "this" 포인터는 콜백 함수에 필요한 경우 pCallback 함수에 전달됩니다.

pCallback

이 프로토타입을 사용하는 정적 함수에 대한 포인터입니다.

static HRESULT WINAPI Classname::FunctionName(Provider *pProvider,
                                              CInstance *pInstance,
                                              MethodContext *pMethodContext,
                                              void *pUserData );

여기서 Classname은 클래스 공급자에서 파생된 클래스의 이름입니다. pRequester에서 정의한 "this" 포인터인 이 클래스의 instance.

pszNamespace

쿼리의 네임스페이스입니다. NULL이면 기본 네임스페이스인 root\cimv2가 사용됩니다.

pMethodContext

현재 컨텍스트에 대한 포인터입니다. 교착 상태를 방지하려면 컨텍스트를 제공해야 합니다. Provider::EnumerateInstances 또는 Provider::ExecQuery에서 공급자에 전달된 컨텍스트를 사용하거나 CInstance::GetMethodContext를 사용하여 instance 가져옵니다. 이 매개 변수는 NULL이 아니어야 합니다.

pUserData

pCallback이 가리키는 함수에 전달되는 사용자 정의 데이터에 대한 포인터입니다. NULL인 경우 사용자 정의 데이터가 없습니다.

반환 값

메서드는 메모리 부족 또는 다른 HRESULT 오류 코드로 인해 작업이 실패한 경우 WBEM_E_OUT_OF_MEMORY 작업이 성공한 경우 WBEM_S_NO_ERROR 반환합니다.

설명

GetInstancesByQueryAsynch 메서드를 사용하면 프레임워크 공급자가 WMI API를 호출하지 않고도 다른 공급자의 데이터에 액세스할 수 있습니다. 프레임워크 공급자는 적절한 인스턴스를 반환하는 GetInstancesByQueryAsynch에 쿼리를 전달합니다.

성능상의 이유로 이 함수를 호출할 때 필요한 속성만 지정합니다(예: SELECT *대신 SELECT 이름을 지정).

싱크에 대한 콜백은 클라이언트에서 요구하는 것과 동일한 인증 수준에서 반환되지 않을 수 있으므로 비동기 대신 반동기 통신을 사용하는 것이 좋습니다. 비동기 통신이 필요한 경우 메서드 호출을 참조하세요.

메서드를 반동적으로 사용하는 방법에 대한 자세한 내용은 CWbemProviderGlue::GetInstancesByQuery메서드 호출을 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 wbemglue.h(FwCommon.h 포함)
라이브러리 FrameDyn.lib
DLL FrameDynOS.dll; FrameDyn.dll