共用方式為


IFunctionDiscoveryProvider::Query 方法 (functiondiscoveryprovider.h)

[函式探索可用於需求一節中指定的作業系統。 它可能會在後續版本中改變或無法使用。]

擷取符合指定條件約束的函式實例集合。

語法

HRESULT Query(
  [in]  IFunctionDiscoveryProviderQuery *pIFunctionDiscoveryProviderQuery,
  [out] IFunctionInstanceCollection     **ppIFunctionInstanceCollection
);

參數

[in] pIFunctionDiscoveryProviderQuery

IFunctionDiscoveryProviderQuery 介面的指標,其中包含定義查詢準則的參數。

[out] ppIFunctionInstanceCollection

提供者應該用來同步傳回函式實例以回應指定查詢的 IFunctionInstanceCollection 介面指標。

當您實作 Query 方法時,如果您的提供者支援通知,即提供者會以異步方式傳回結果,您可以將此參數設定為 NULL 。 應該使用傳遞至提供者 Initialize 方法的 IFunctionDiscoveryNotification 介面傳回異步結果。

如果用戶端應用程式尚未實作通知,它可能會傳遞 NULL 參數。

傳回值

可能的傳回值包括,但不限於下列各項。

傳回碼 描述
S_OK
方法已順利完成,且結果會以同步方式傳回。
E_INVALIDARG
pIFunctionDiscoveryProviderQuery 參數為 NULL
E_PENDING
方法已順利完成,且結果會以異步方式傳回。

備註

使用中查詢會透過對 EndQuery 方法的呼叫,由 Function Discovery 終止。 請注意,只有在客戶端為查詢指定 IFunctionDiscoveryNotification 介面時,才會呼叫 EndQuery。 如果未提供 IFunctionDiscoveryNotification ,則必須在查詢呼叫完成後,由提供者將 查詢 視為結束。

用戶端可以在先前的查詢呼叫傳回之後,隨時重新執行 查詢Query 的實作必須能夠傳回新查詢的 IFunctionInstanceCollection。 只有在用戶端傳遞 IFunctionDiscoveryNotification 介面傳遞至提供者的 Initialize 方法時,才會在後續的查詢呼叫之前呼叫 EndQuery

如果 Query 傳回E_PENDING,提供者必須呼叫 IFunctionDiscoveryNotification 介面的 OnEvent 方法,並FD_EVENTID_SEARCHCOMPLETE,以指出結果的列舉已完成。 傳送 FD_EVENTID_SEARCHCOMPLETE 事件失敗可能會導致客戶端無限期停止

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 functiondiscoveryprovider.h

另請參閱

IFunctionDiscoveryProvider