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 中返回的接口 (GUID) 的引用。 这应是 IDXCoreAdapterList (IID) 的接口标识符。
ppvAdapterList [out]
类型: void**
指向具有 riid 参数中指定的 IID 的接口的指针的地址。 成功返回后, *ppvAdapterList (取消引用的地址) 包含指向创建的适配器列表的指针。
返回
类型: 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 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈