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 nullptrfilterAttributes에 대해 제공되었거나 numAttributes에 대해 0이 제공되었습니다.
E_NOINTERFACE riid에 잘못된 값이 제공되었습니다.
E_POINTER nullptrppvAdapterList에 대해 제공되었습니다.

설명

인수가 유효한 한 어댑터를 찾을 수 없더라도 CreateAdapterList 는 유효한 IDXCoreAdapterList 개체를 만들고 S_OK 반환합니다. 생성되면 이 특정 목록의 어댑터는 변경되지 않습니다. 그러나 어댑터 중 하나가 나중에 유효하지 않거나 제공된 필터 조건을 충족하는 새 어댑터가 도착하는 경우 목록은 부실한 것으로 간주됩니다. CreateAdapterList에서 반환된 목록은 특정 방식으로 정렬되지 않지만 목록 순서는 여러 호출에서 일관되며 운영 체제를 다시 시작하는 경우에도 일관됩니다. 어댑터 추가 또는 제거 또는 기존 어댑터의 드라이버 업데이트 등 시스템 구성 변경 시 순서가 변경될 수 있습니다. 알림 유형 DXCoreNotificationType.AdapterListStale을 사용하여 IDXCoreAdapterFactory::RegisterEventNotification에 이러한 변경 내용을 등록할 수 있습니다.

추가 정보

IDXCoreAdapterFactory, DXCore 참조, DXCore 어댑터 특성 GUID, DXCore를 사용하여 어댑터 열거