Bagikan melalui


Fungsi EnumDisplaySettingsExA (winuser.h)

Fungsi EnumDisplaySettingsEx mengambil informasi tentang salah satu mode grafis untuk perangkat tampilan. Untuk mengambil informasi untuk semua mode grafis untuk perangkat tampilan, lakukan serangkaian panggilan ke fungsi ini.

Fungsi ini berbeda dari EnumDisplaySettings karena ada parameter dwFlags .

Catatan Aplikasi yang Anda desain untuk menargetkan Windows 8 dan yang lebih baru tidak dapat lagi mengkueri atau mengatur mode tampilan yang kurang dari 32 bit per piksel (bpp); operasi ini akan gagal. Aplikasi ini memiliki manifes kompatibilitas yang menargetkan Windows 8. Windows 8 masih mendukung mode warna 8-bit dan 16-bit untuk aplikasi desktop yang dibangun tanpa manifes Windows 8; Windows 8 mengemulasi mode ini tetapi masih berjalan dalam mode warna 32-bit.
 

Sintaks

BOOL EnumDisplaySettingsExA(
  [in]  LPCSTR   lpszDeviceName,
  [in]  DWORD    iModeNum,
  [out] DEVMODEA *lpDevMode,
  [in]  DWORD    dwFlags
);

Parameter

[in] lpszDeviceName

Penunjuk ke string yang dihentikan null yang menentukan perangkat tampilan tentang mode grafis mana fungsi akan mendapatkan informasi.

Parameter ini null atau DISPLAY_DEVICE. DeviceName dikembalikan dari EnumDisplayDevices. Nilai NULL menentukan perangkat tampilan saat ini pada komputer tempat utas panggilan dijalankan.

[in] iModeNum

Menunjukkan jenis informasi yang akan diambil. Nilai ini bisa menjadi indeks mode grafik atau salah satu nilai berikut.

Nilai Makna
ENUM_CURRENT_SETTINGS
Ambil pengaturan saat ini untuk perangkat tampilan.
ENUM_REGISTRY_SETTINGS
Ambil pengaturan untuk perangkat tampilan yang saat ini disimpan dalam registri.
 

Indeks mode grafik dimulai pada nol. Untuk mendapatkan informasi untuk semua mode grafis perangkat tampilan, lakukan serangkaian panggilan ke EnumDisplaySettingsEx, sebagai berikut: Atur iModeNum ke nol untuk panggilan pertama, dan tambahkan iModeNum satu per satu untuk setiap panggilan berikutnya. Lanjutkan memanggil fungsi hingga nilai yang dikembalikan adalah nol.

Saat Anda memanggil EnumDisplaySettingsEx dengan iModeNum diatur ke nol, sistem operasi menginisialisasi dan menyimpan informasi tentang perangkat tampilan. Saat Anda memanggil EnumDisplaySettingsEx dengan iModeNum yang diatur ke nilai bukan nol, fungsi mengembalikan informasi yang di-cache terakhir kali fungsi dipanggil dengan iModeNum diatur ke nol.

[out] lpDevMode

Penunjuk ke struktur DEVMODE tempat fungsi menyimpan informasi tentang mode grafis yang ditentukan. Sebelum memanggil EnumDisplaySettingsEx, atur anggota dmSize ke sizeof (DEVMODE), dan atur anggota dmDriverExtra untuk menunjukkan ukuran, dalam byte, dari ruang tambahan yang tersedia untuk menerima data driver privat.

Fungsi EnumDisplaySettingsEx akan mengisi anggota dmFields dari lpDevMode dan satu atau beberapa anggota lain dari struktur DEVMODE . Untuk menentukan anggota mana yang ditetapkan oleh panggilan ke EnumDisplaySettingsEx, periksa bitmask dmFields . Beberapa bidang yang biasanya diisi oleh fungsi ini meliputi:

  • dmBitsPerPel
  • dmPelsWidth
  • dmPelsHeight
  • dmDisplayFlags
  • dmDisplayFrequency
  • dmPosition
  • dmDisplayOrientation

[in] dwFlags

Parameter ini bisa menjadi nilai berikut.

Nilai Makna
EDS_RAWMODE
Jika diatur, fungsi akan mengembalikan semua mode grafis yang dilaporkan oleh driver adaptor, terlepas dari kemampuan monitor. Jika tidak, itu hanya akan mengembalikan mode yang kompatibel dengan monitor saat ini.
EDS_ROTATEDMODE
Jika diatur, fungsi akan mengembalikan mode grafis di semua orientasi. Jika tidak, itu hanya akan mengembalikan mode yang memiliki orientasi yang sama dengan yang saat ini diatur untuk tampilan yang diminta.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol.

Keterangan

Fungsi gagal jika iModeNum lebih besar dari indeks mode grafis terakhir perangkat tampilan. Seperti yang disebutkan dalam deskripsi parameter iModeNum , Anda dapat menggunakan perilaku ini untuk menghitung semua mode grafis perangkat tampilan.

Virtualisasi DPI

API ini tidak berpartisipasi dalam virtualisasi DPI. Output yang diberikan selalu dalam hal piksel fisik, dan tidak terkait dengan konteks panggilan.

Catatan

Header winuser.h mendefinisikan EnumDisplaySettingsEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header winuser.h (termasuk Windows.h)
Pustaka User32.lib
DLL User32.dll
Set API ext-ms-win-ntuser-sysparams-ext-l1-1-1 (diperkenalkan dalam Windows 10, versi 10.0.14393)

Lihat juga

ChangeDisplaySettings

ChangeDisplaySettingsEx

CreateDC

CreateDesktop

DEVMODE

DISPLAY_DEVICE

Fungsi Konteks Perangkat

Gambaran Umum Konteks Perangkat

EnumDisplayDevices

EnumDisplaySettings