[函式探索可用於需求一節中指定的作業系統。 它可能會在後續版本中改變或無法使用。]
執行 IFunctionDiscovery::CreateInstanceQuery 所定義的查詢。
語法
HRESULT Execute(
[out] IFunctionInstance **ppIFunctionInstance
);
參數
[out] ppIFunctionInstance
接收所要求函式實例之 IFunctionInstance 介面指標的指標。
傳回值
可能的傳回值包括,但不限於下列各項。
| 傳回碼/值 | 描述 |
|---|---|
|
已成功完成命令。 |
|
ppIFunctionInstance 參數為 NULL。 |
|
方法無法配置執行這項作業所需的記憶體。 |
|
提供者所傳回的結果將透過異步通知來傳回。 |
|
此電腦上不存在指定識別碼所代表的函式實例。 |
|
無法傳回函式實例,因為對應至函式實例的索引鍵已由另一個進程刪除。 如果在進行查詢處理時刪除機碼,登錄提供者會傳回此錯誤。 |
|
無法傳回函式實例,因為找不到對應至函式實例的索引鍵。 當提供者找不到實例查詢的相符實例時,登錄提供者會傳回此錯誤。 |
預先定義的查詢是分層 分類的查詢。 執行預先定義的查詢時,每個傳回函式實例的提供者也會傳回 HRESULT 值。 提供者 HRESULT 值會匯總, 而 Execute 方法傳回的值會反映這些匯總結果。 結果匯總如下:
- 如果所有提供者都傳回 S_OK,Execute 會傳回S_OK。
- 如果至少一個提供者傳回E_PENDING,而所有其他提供者都會傳回S_OK或 E_PENDING,Execute 會傳回E_PENDING。
- 如果所有提供者 (傳回錯誤值,也就是S_OK或E_PENDING) 以外的值, Execute 會傳回上次查詢的網路提供者所傳回的錯誤值。 此外,如果用戶端的 IFunctionDiscoveryNotification 回呼例程已提供給 IFunctionDiscovery::CreateInstanceCollectionQuery,則會為每個提供者傳送 OnError 通知。 每個 OnError 通知都包含提供者傳回的 HRESULT。
- 如果至少有一個提供者傳回錯誤值,而所有其他提供者都會傳回 S_OK,Execute 會傳回S_OK。 OnError 通知 () 會如上所述傳送。
- 如果至少有一個提供者傳回錯誤值,而且至少有一個提供者傳回 E_PENDING,Execute 會傳回E_PENDING。 OnError 通知 () 會如上所述傳送。
備註
用戶端程序必須叫用這個方法,才能從查詢物件擷取數據。 呼叫時,此方法會執行下列動作:
- 擷取函式實例。
- 如果用戶端程式的 IFunctionDiscoveryNotification 回呼例程提供給 IFunctionDiscovery::CreateInstanceQuery,則會起始更新通知機制。
如果在相同的查詢物件上呼叫 Execute 兩次,第一個查詢會在第二個查詢執行之前終止。
規格需求
| 需求 | 值 |
|---|---|
| 最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
| 最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
| 目標平台 | Windows |
| 標頭 | functiondiscoveryapi.h |
| Dll | FunDisc.dll |