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::EnumerateInstances 或 Provider::ExecQuery 傳遞至提供者的內容,或使用 CInstance::GetMethodContext 從實例取得它。 此參數不得為 NULL。
pUserData
傳遞至 pCallback 所指向之函式的使用者定義數據的指標。
傳回值
如果作業成功,此方法會傳回WBEM_S_NO_ERROR,WBEM_E_OUT_OF_MEMORY如果作業因記憶體不足或任何其他 HRESULT 錯誤碼而失敗。
備註
GetAllInstancesAsynch 方法執行與 GetAllInstances 幾乎相同的函式。 不過,提供者不會傳回一個任意大型的實例陣列,而是每次從提供者擷取實例時,將實例傳遞至 pCallback 所指定的函式。 這可讓提供者使用較少的記憶體,並更快開始將實例傳回用戶端。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | wbemglue.h (include FwCommon.h) |
程式庫 | FrameDyn.lib |
Dll | FrameDynOS.dll;FrameDyn.dll |