共用方式為


CWbemProviderGlue::GetAllInstancesAsynch 方法 (wbemglue.h)

[ CWbemProviderGlue 類別是 WMI 提供者架構的一部分,現在被視為最終狀態,而且不會針對影響這些連結庫的非安全性相關問題使用進一步的開發、增強功能或更新。 MI API 應該用於所有新的開發。]

GetAllInstancesAsynch 方法會擷取特定類別所傳回的實例清單。 這個方法可讓提供者一次傳回一個實例,以異步方式回應。

語法

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

參數

pszClassName

應該傳回實例清單的類別名稱。

pRequester

pCallback 所指向回呼函式的 「This」 指標。

pCallback

具有此原型的靜態函式指標:

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

其中 Classname 是衍生自 類別提供者的類別名稱。 它是這個類別的實例,這是 pRequester 所定義的 “this” 指標。 呼叫此函式可傳回 pszClassName 所指定提供者所支援的每個實例。

pszNamespace

pszClassName 所指定的提供者命名空間。 此參數可以是 NULL ,表示預設命名空間,也就是 root\cimv2。

pMethodContext

目前內容的指標。 必須提供內容以防止死結。 使用 由 Provider::EnumerateInstancesProvider::ExecQuery 傳遞至提供者的內容,或使用 CInstance::GetMethodContext 從實例取得它。 此參數不得為 NULL

pUserData

傳遞至 pCallback 所指向之函式的使用者定義數據的指標。

傳回值

如果作業成功,此方法會傳回WBEM_S_NO_ERROR,WBEM_E_OUT_OF_MEMORY如果作業因記憶體不足或任何其他 HRESULT 錯誤碼而失敗。

備註

GetAllInstancesAsynch 方法執行與 GetAllInstances 幾乎相同的函式。 不過,提供者不會傳回一個任意大型的實例陣列,而是每次從提供者擷取實例時,將實例傳遞至 pCallback 所指定的函式。 這可讓提供者使用較少的記憶體,並更快開始將實例傳回用戶端。

注意 由於回呼接收可能不會與用戶端所需的相同驗證層級傳回,因此建議您使用半同步處理而非異步通訊。 如需詳細資訊,請參閱 呼叫方法
 
這個方法語意相當於查詢 SELECT * FROM pszBaseClassName WHERE __Class = pszBaseClassName

規格需求

需求
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 wbemglue.h (include FwCommon.h)
程式庫 FrameDyn.lib
Dll FrameDynOS.dll;FrameDyn.dll