IDXCoreAdapterFactory::CreateAdapterList 方法

產生代表系統目前配接器狀態的配接器物件清單,並符合指定的準則。 如需程式設計指引和程式碼範例,請參閱 使用 DXCore 列舉配接器

語法

virtual HRESULT STDMETHODCALLTYPE CreateAdapterList(
  uint32_t numAttributes,
  _In_reads_(numAttributes) const GUID *filterAttributes,
  REFIID riid,
  _COM_Outptr_ void **ppvAdapterList) = 0;

template<class T>
HRESULT STDMETHODCALLTYPE CreateAdapterList(
  uint32_t numAttributes,
  _In_reads_(numAttributes) const GUID *filterAttributes,
  _COM_Outptr_ T **ppvAdapterList);

參數

numAttributes

類型: uint32_t

filterAttributes引數所指向之陣列中的元素數目。

filterAttributes [in]

類型: const GUID*

配接器屬性 GUID 陣列的指標。 如需屬性 GUID 的清單,請參閱 DXCore 配接器屬性 GUID。 至少必須提供一個 GUID。 在陣列中提供多個 GUID 的情況下,只會包含符合 所有 要求屬性的介面卡才會包含在傳回清單中。

riid

類型: REFIID

您想要在 ppvAdapterList中傳回之介面的全域唯一識別碼 (GUI) D 參考。 這必須是 IDXCoreAdapterList (IID) 的介面識別碼。

ppvAdapterList [out]

類型: void**

具有 riid參數中所指定 IID 之介面的指標位址。 成功傳回時, *ppvAdapterList (dereferenced 位址) 包含所建立配接器清單的指標。

傳回

類型: HRESULT

如果函式成功,它會傳回 S_OK。 否則,它會傳回 HRESULT錯誤碼

傳回值 描述
E_INVALIDARG nullptr 已針對 filterAttributes提供,或針對 numAttributes提供 0。
E_NOINTERFACE 為 riid提供不正確值。
E_POINTER nullptrppvAdapterList提供。

備註

即使找不到配接器,只要引數有效, CreateAdapterList 就會建立有效的 IDXCoreAdapterList 物件,並傳回 S_OK。 產生之後,此特定清單中的配接器將不會變更。 但是,如果其中一個配接器稍後變成無效,或新的介面卡到達符合所提供篩選準則,清單就會被視為過時。 CreateAdapterList所傳回的清單不會以任何特定方式排序,但清單順序在多個呼叫之間一致,甚至跨作業系統重新開機也一致。 排序可能會在系統設定變更時變更,包括新增或移除配接器,或現有介面卡上的驅動程式更新。 您可以使用通知類型DXCoreNotificationType.AdapterListStale,向IDXCoreAdapterFactory::RegisterEventNotification 註冊這些變更。

另請參閱

IDXCoreAdapterFactoryDXCore 參考DXCore 配接器屬性 GUID使用 DXCore 列舉配接