Metode IDXCoreAdapterFactory::CreateAdapterList

Menghasilkan daftar objek adapter yang mewakili status adaptor sistem saat ini, dan memenuhi kriteria yang ditentukan. Untuk panduan pemrograman, dan contoh kode, lihat Menggunakan DXCore untuk menghitung adaptor.

Sintaks

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);

Parameter

numAttributes

Jenis: uint32_t

Jumlah elemen dalam array yang ditujukkan oleh argumen filterAttributes .

filterAttributes [in]

Jenis: const GUID*

Pointer ke array GUID atribut adapter. Untuk daftar GUID atribut, lihat GUID atribut adapter DXCore. Setidaknya satu GUID harus disediakan. Jika lebih dari satu GUID disediakan dalam array, hanya adaptor yang memenuhi semua atribut yang diminta yang akan disertakan dalam daftar yang dikembalikan.

riid

Jenis: REFIID

Referensi ke pengidentifikasi unik global (GUID) antarmuka yang ingin Anda kembalikan di ppvAdapterList. Ini diharapkan menjadi pengidentifikasi antarmuka (IID) IDXCoreAdapterList.

ppvAdapterList [out]

Jenis: void**

Alamat pointer ke antarmuka dengan IID yang ditentukan dalam parameter riid . Setelah berhasil dikembalikan, *ppvAdapterList (alamat dereferensi) berisi penunjuk ke daftar adaptor yang dibuat.

Mengembalikan

Jenis: HRESULT

Jika fungsi berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahanHRESULT akan dikembalikan.

Mengembalikan nilai Deskripsi
E_INVALIDARG nullptr disediakan untuk filterAttributes, atau 0 disediakan untuk numAttributes.
E_NOINTERFACE Nilai yang tidak valid disediakan untuk riid.
E_POINTER nullptr disediakan untuk ppvAdapterList.

Keterangan

Bahkan jika tidak ada adaptor yang ditemukan, selama argumen valid, CreateAdapterList membuat objek IDXCoreAdapterList yang valid, dan mengembalikan S_OK. Setelah dibuat, adaptor dalam daftar khusus ini tidak akan berubah. Tetapi daftar akan dianggap kedaluarsa jika salah satu adaptor nantinya menjadi tidak valid, atau jika adaptor baru tiba yang memenuhi kriteria filter yang disediakan. Daftar yang dikembalikan oleh CreateAdapterList tidak diurutkan dengan cara tertentu, tetapi urutan daftar konsisten di beberapa panggilan, dan bahkan di seluruh sistem operasi dimulai ulang. Pengurutan dapat berubah setelah perubahan konfigurasi sistem, termasuk penambahan atau penghapusan adaptor, atau pembaruan driver pada adaptor yang ada. Anda dapat mendaftar untuk perubahan ini dengan IDXCoreAdapterFactory::RegisterEventNotification menggunakan jenis pemberitahuan DXCoreNotificationType.AdapterListStale.

Lihat juga

IDXCoreAdapterFactory, Referensi DXCore, GUID atribut adaptor DXCore, Menggunakan DXCore untuk menghitung adaptor