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(Globally Unique Identifier)에 대한 참조입니다. 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 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기