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 | nullptr 為 ppvAdapterList提供。 |
備註
即使找不到配接器,只要引數有效, CreateAdapterList 就會建立有效的 IDXCoreAdapterList 物件,並傳回 S_OK。 產生之後,此特定清單中的配接器將不會變更。 但是,如果其中一個配接器稍後變成無效,或新的介面卡到達符合所提供篩選準則,清單就會被視為過時。 CreateAdapterList所傳回的清單不會以任何特定方式排序,但清單順序在多個呼叫之間一致,甚至跨作業系統重新開機也一致。 排序可能會在系統設定變更時變更,包括新增或移除配接器,或現有介面卡上的驅動程式更新。 您可以使用通知類型DXCoreNotificationType.AdapterListStale,向IDXCoreAdapterFactory::RegisterEventNotification 註冊這些變更。
另請參閱
IDXCoreAdapterFactory、DXCore 參考、DXCore 配接器屬性 GUID、使用 DXCore 列舉配接器
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應