CWbemProviderGlue::GetAllDerivedInstancesAsynch 方法 (wbemglue.h)
[ CWbemProviderGlue 類別是 WMI 提供者架構的一部分,現在被視為最終狀態,而且不會針對影響這些程式庫的非安全性相關問題使用進一步的開發、增強功能或更新。 MI API應該用於所有新的開發。]
GetAllDerivedInstancesAsynch方法會擷取特定提供者所支援的實例清單,並衍生自特定基類。 這個方法可讓提供者一次傳回一個實例,以非同步方式回應。
語法
HRESULT GetAllDerivedInstancesAsynch(
LPCWSTR pszBaseClassName,
Provider *pRequester,
LPProviderInstanceCallback pCallback,
LPCWSTR pszNamespace,
MethodContext *pMethodContext,
void *pUserData
);
參數
pszBaseClassName
應該傳回清單的基類名稱。
pRequester
pCallback所指向之回呼函式的指標。
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 錯誤碼而失敗。
備註
GetAllDerivedInstancesAsynch方法執行與GetAllDerivedInstances幾乎相同的函式。 不過,提供者不會傳回一個任意大型實例陣列,而是每次從提供者擷取實例時,將實例傳遞至 pCallBack 所指定的函式。 這可讓提供者使用較少的記憶體,並更快開始將實例傳回用戶端。
這個方法語意相當於查詢 SELECT * FROM pszBaseClassName。
由於回呼接收可能不會與用戶端所需的相同驗證層級傳回,因此建議您使用半同步通訊,而不是非同步。 不過,如果您需要非同步通訊,請參閱 呼叫方法。
如需以半非同步方式使用方法的詳細資訊,請參閱 CWbemProviderGlue::GetAllDerivedInstances 和 呼叫方法。
規格需求
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | wbemglue.h (include FwCommon.h) |
程式庫 | FrameDyn.lib |
Dll | FrameDynOS.dll;FrameDyn.dll |