Metode IDirectDraw7::EvaluateMode (ddraw.h)
Digunakan setelah panggilan ke IDirectDraw7::StartModeTest untuk melewati atau gagal setiap mode yang disajikan pengujian dan untuk menelusuri mode hingga pengujian selesai.
Sintaks
HRESULT EvaluateMode(
[in] DWORD unnamedParam1,
[out] DWORD *unnamedParam2
);
Parameter
[in] unnamedParam1
Salah satu bendera berikut yang menunjukkan status mode yang sedang diuji:
DDEM_MODEPASSED
Mode yang sedang diuji telah berlalu.
DDEM_MODEFAILED
Mode yang sedang diuji telah gagal.
[out] unnamedParam2
Penunjuk ke variabel yang menerima nilai yang menunjukkan detik yang tersisa sebelum mode saat ini gagal secara otomatis kecuali jika dilewatkan atau gagal secara eksplisit.
Menampilkan nilai
Jika metode berhasil, nilai yang dikembalikan adalah DD_OK.
Jika gagal atau selesai, metode dapat mengembalikan salah satu nilai kesalahan berikut:
- DDERR_TESTFINISHED
- DDERR_NEWMODE
- DDERR_INVALIDOBJECT
- DDERR_INVALIDPARAMS
- DDERR_NOTFOUND
Keterangan
Anda dapat menggunakan EvaluateMode bersama dengan metode IDirectDraw7::StartModeTest untuk menentukan kecepatan refresh maksimum yang dapat didukung oleh kombinasi adaptor monitor dan tampilan EDID untuk setiap resolusi layar.
Secara khusus, panggilan ke IDirectDraw7::StartModeTest mengarahkan DirectDraw untuk membuat serangkaian resolusi yang dapat diuji dan untuk menampilkan mode berdasarkan resolusi pertama dalam set. Panggilan berikutnya ke EvaluateMode dapat digunakan untuk lulus atau gagal setiap mode dan untuk memajukan pengujian ke mode tampilan berikutnya. Metode ini merangkul resolusi yang dapat diuji dimulai dengan kecepatan refresh tertinggi yang didukung untuk resolusi tertentu. Setelah laju refresh untuk resolusi tertentu lolos, pengujian laju refresh yang lebih rendah untuk resolusi tersebut dilewati.
Saat pengujian dimulai, atau setiap kali mode diteruskan atau gagal, DirectDraw memulai batas waktu 15 detik. Aplikasi dapat memantau waktu yang tersisa tanpa melewati atau gagal dalam mode saat ini dengan memanggil EvaluateMode dengan nilai 0 untuk argumen dwFlags. Perhatikan bahwa DirectDraw hanya mengubah mode atau mengakhiri pengujian saat EvaluateMode dipanggil. Namun, jika aplikasi memanggil EvaluateMode setelah periode batas waktu berlalu, mode saat ini gagal, terlepas dari nilai yang diteruskan ke parameter dwFlags .
Persyaratan
Target Platform | Windows |
Header | ddraw.h |
Pustaka | Ddraw.lib |
DLL | Ddraw.dll |