IEnumWbemClassObject::NextAsync 메서드(wbemcli.h)

싱크에 대한 개체의 제어된 비동기 검색이 필요한 경우 NextAsync 메서드를 사용합니다. IWbemServices::ExecQueryAsync 호출과 같은 일반적인 비동기 검색은 호출자의 IWbemObjectSink 구현에 대한 개체를 제어되지 않은 상태로 전달합니다. 이 메서드는 구성 요소가 개체 배달을 제어하는 경우에 유용합니다.

구문

HRESULT NextAsync(
  [in] ULONG           uCount,
  [in] IWbemObjectSink *pSink
);

매개 변수

[in] uCount

요청되는 개체의 수입니다.

[in] pSink

개체를 받을 싱크입니다. 싱크는 호출자가 구현해야 합니다. 각 개체 일괄 처리가 요청되면 Indicate 메서드의 pSink 매개 변수에 전달된 다음 SetStatus 메서드의 pSink 매개 변수를 최종 호출합니다. 싱크를 사용하여 개체를 배달하려는 경우 이 메서드는 배달할 개체 수가 요청되지 않은 경우에도 WBEM_S_NO_ERROR 반환합니다. 그러나 남아 있는 개체가 더 이상 없으면 pSink 매개 변수가 무시됩니다(SetStatuspSink 매개 변수에 대한 호출은 발생하지 않음). 대신 이 메서드는 WBEM_S_FALSE 반환합니다.

반환 값

NextAsync 메서드는 메서드 호출의 상태 나타내는 HRESULT를 반환합니다. 다음 목록에는 HRESULT 내에 포함된 값이 나열되어 있습니다.

설명

COM 함수 GetErrorInfo 를 호출하면 오류에 대한 자세한 정보가 제공됩니다. 네트워크 문제로 인해 Windows Management에 대한 원격 연결이 끊어지는 경우에도 COM 관련 오류 코드가 반환될 수 있습니다.

이 호출은 즉시 반환되고 싱크에 대한 배달은 백그라운드에서 발생합니다. 하나 이상의 스레드에서 이 메서드를 여러 번 호출하면 논리적으로 큐에 대기되고 호출 및 개체 배달 순서가 유지됩니다. 하나 이상의 스레드 블록에서 이 메서드에 대한 여러 호출은 이 메서드에 대한 이전 호출과 관련된 모든 싱크 개체가 서비스될 때까지 반환되지 않습니다. Reset 호출은 이전 호출의 결과로 현재 진행 중인 개체의 배달에 영향을 주지 않습니다. Reset 메서드는 개체 시퀀스의 시작 부분에서만 새 호출을 시작합니다.

요청된 개체 수를 즉시 사용할 수 있는 경우 함수는 WBEM_S_NO_ERROR 반환합니다. 요청된 개체 수를 초과하여 사용할 수 있는 경우 사용 가능한 개체가 반환되고 WBEM_S_NO_ERROR 반환됩니다. 나머지 개체는 사용자가 제공한 싱크에서 전달됩니다.

개체를 사용할 수 있게 되면 호출자의 IWbemObjectSink::Indicate 구현을 0회 이상 호출하여 개체를 전달합니다. 그런 다음 uCount 항목이 반환될 경우 값이 WBEM_S_NO_ERRORIWbemObjectSink::SetStatus를 호출합니다.

요청된 수보다 더 적은 수의 개체를 사용할 수 있는 경우 사용할 수 있는 개체에 대해 Indicate 가 호출됩니다. 그러면 SetStatusWBEM_S_FALSE 값으로 호출되거나 오류가 발생한 경우 오류 코드가 호출됩니다.

요청된 개체 수가 전달되면 최종 개체 뒤에 상태 코드가 WBEM_S_NO_ERRORSetStatus를 호출합니다. 요청된 개체 수를 전달하기 전에 열거형이 완료되면 SetStatus 메서드에 WBEM_S_FALSE 상태 코드가 있습니다.

사용 가능한 개체가 없으면 Indicate 가 호출되지 않습니다. 그러나 SetStatus에 대한 최종 호출은 항상 전체 작업의 상태 나타내기 위해 발생합니다.

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

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

요구 사항

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