Bagikan melalui


Fungsi GetDisplayConfigBufferSizes (winuser.h)

Fungsi GetDisplayConfigBufferSizes mengambil ukuran buffer yang diperlukan untuk memanggil fungsi QueryDisplayConfig .

Sintaks

LONG GetDisplayConfigBufferSizes(
  [in]  UINT32 flags,
  [out] UINT32 *numPathArrayElements,
  [out] UINT32 *numModeInfoArrayElements
);

Parameter

[in] flags

Jenis informasi yang akan diambil. Nilai untuk parameter Bendera harus salah satu nilai berikut.

QDC_ALL_PATHS

Pemanggil meminta ukuran tabel untuk menyimpan semua kombinasi jalur yang mungkin.

QDC_ONLY_ACTIVE_PATHS

Pemanggil meminta ukuran tabel untuk hanya menyimpan jalur aktif.

QDC_DATABASE_CURRENT

Pemanggil meminta ukuran tabel untuk menahan jalur aktif seperti yang didefinisikan dalam database persistensi untuk monitor yang saat ini tersambung.

[out] numPathArrayElements

Penunjuk ke variabel yang menerima jumlah elemen dalam tabel informasi jalur. Nilai parameter pNumPathArrayElements kemudian digunakan oleh panggilan berikutnya ke fungsi QueryDisplayConfig . Parameter ini tidak boleh NULL.

[out] numModeInfoArrayElements

Penunjuk ke variabel yang menerima jumlah elemen dalam tabel informasi mode. Nilai parameter pNumModeInfoArrayElements kemudian digunakan oleh panggilan berikutnya ke fungsi QueryDisplayConfig . Parameter ini tidak boleh NULL.

Mengembalikan nilai

Fungsi mengembalikan salah satu kode pengembalian berikut.

Menampilkan kode Deskripsi
ERROR_SUCCESS
Fungsi berhasil.
ERROR_INVALID_PARAMETER
Kombinasi parameter dan bendera yang ditentukan tidak valid.
ERROR_NOT_SUPPORTED
Sistem tidak menjalankan pengandar grafis yang ditulis sesuai dengan Windows Display Driver Model (WDDM). Fungsi ini hanya didukung pada sistem dengan driver WDDM berjalan.
ERROR_ACCESS_DENIED
Pemanggil tidak memiliki akses ke sesi konsol. Kesalahan ini terjadi jika proses panggilan tidak memiliki akses ke desktop saat ini atau sedang berjalan pada sesi jarak jauh.
ERROR_GEN_FAILURE
Terjadi kesalahan yang tidak ditentukan.

Keterangan

Mengingat konfigurasi jalur tampilan saat ini dan bendera yang diminta, GetDisplayConfigBufferSizes mengembalikan ukuran tabel jalur dan mode yang diperlukan untuk menyimpan informasi. GetDisplayConfigBufferSizes dapat mengembalikan nilai yang sedikit lebih besar dari yang sebenarnya diperlukan karena menentukan bahwa semua jalur sumber dan target valid; sedangkan, driver mungkin menempatkan beberapa batasan pada kemungkinan kombinasi.

Karena GetDisplayConfigBufferSizes hanya dapat menentukan ukuran array yang diperlukan dari saat itu pada waktunya, ada kemungkinan bahwa antara panggilan ke GetDisplayConfigBufferSizes dan QueryDisplayConfig konfigurasi sistem telah berubah dan ukuran array yang disediakan tidak lagi cukup untuk menyimpan data jalur baru.

Jika penelepon menyadari bahwa pemanggil harus mengaktifkan sumber dan target tambahan, pemanggil dapat mengalokasikan array informasi mode yang lebih besar daripada yang dikembalikan dari GetDisplayConfigBufferSizes sehingga memiliki ruang untuk menambahkan mode sumber dan target tambahan setelah memanggil QueryDisplayConfig dan sebelum memanggil SetDisplayConfig.

Contoh

Lihat QueryDisplayConfig untuk contoh GetDisplayConfigBufferSizes.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows Vista dan versi yang lebih baru dari sistem operasi Windows.
Target Platform Universal
Header winuser.h (sertakan Windows.h)
Pustaka User32.lib; OneCoreUAP.lib di Windows 10
DLL User32.dll
Set API ext-ms-win-ntuser-sysparams-ext-l1-1-1 (diperkenalkan dalam Windows 10, versi 10.0.14393)

Lihat juga

QueryDisplayConfig

SetDisplayConfig