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 管理遠端連線,也可能傳回 COM 特定的錯誤碼。

此呼叫會立即傳回,並在背景中傳遞至接收。 如果從一或多個執行緒對這個方法進行多個呼叫,它們就會以邏輯方式排入佇列,並保留呼叫和物件傳遞的順序。 從一或多個執行緒區塊對這個方法進行的多個呼叫不會傳回,直到已服務與先前呼叫此方法相關的所有接收物件為止。 重 的呼叫不會影響目前進行中的物件傳遞,因為先前的呼叫。 Reset方法只會讓新的呼叫從物件序列的開頭開始。

如果要求的物件數目立即可用,函式會傳回 WBEM_S_NO_ERROR。 如果可用的物件數目小於要求的物件數目,則會傳回可用的物件,並 傳回WBEM_S_NO_ERROR 。 物件的其餘部分是由使用者提供的接收傳遞。

當物件可供使用時,呼叫端的 IWbemObjectSink::Indicate 實作會呼叫零次或多次來傳遞物件。 後面接著呼叫IWbemObjectSink::SetStatus,如果傳回 uCount專案,則為WBEM_S_NO_ERROR

如果可用的物件數目比所要求的數目少,則會針對可用的物件呼叫 Indicate 。 接著會使用WBEM_S_FALSE值呼叫SetStatus,如果發生錯誤,則會呼叫錯誤碼。

如果傳遞要求的物件數目,最後一個物件後面接著呼叫 SetStatus ,其狀態碼為 WBEM_S_NO_ERROR。 如果列舉在可傳遞要求的物件數目之前完成, SetStatus 方法的狀態碼為 WBEM_S_FALSE

如果沒有可用的物件,則不會呼叫 Indicate 。 不過, SetStatus 的最終呼叫一律會發生,以指出整個作業的狀態。

因為回呼可能不會在用戶端所需的相同驗證層級傳回,所以建議您使用半非同步而非非同步通訊。 如果您需要非同步通訊,請參閱 呼叫 方法

如需以半非同步方式使用方法的詳細資訊,請參閱 IEnumWbemClassObject::Next呼叫方法

規格需求

   
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 wbemcli.h (包含 Wbemidl.h)
程式庫 Wbemuuid.lib
Dll Fastprox.dll