Fungsi DrvSynchronize (winddi.h)
Fungsi DrvSynchronize memberi tahu driver bahwa GDI perlu mengakses permukaan yang dikelola perangkat. Fungsi ini memungkinkan operasi menggambar asinkron yang dilakukan oleh koprosesor perangkat untuk dikoordinasikan dengan akses GDI.
Sintaks
void DrvSynchronize(
DHPDEV dhpdev,
RECTL *prcl
);
Parameter
dhpdev
Tangani ke struktur PDEV perangkat fisik yang mengidentifikasi perangkat yang akan disinkronkan dengan GDI. Parameter ini adalah handel perangkat yang dikembalikan ke GDI oleh DrvEnablePDEV.
prcl
Penunjuk ke struktur RECTL . Parameter ini harus diabaikan oleh driver.
Mengembalikan nilai
Tidak ada
Keterangan
Fungsi ini memungkinkan operasi menggambar asinkron yang dilakukan oleh koprosesor perangkat untuk dikoordinasikan dengan akses GDI.
DrvSynchronize dapat diimplementasikan secara opsional dalam driver tampilan. GDI memanggil fungsi ini hanya jika dikaitkan dengan EngAssociateSurface. GDI memanggil DrvSynchronize tepat sebelum menggambar langsung ke permukaan perangkat. GDI akan memanggil DrvSynchronizeSurface alih-alih DrvSynchronize dalam driver yang mengimplementasikan kedua fungsi ini.
Fungsi ini harus kembali hanya ketika aman bagi GDI untuk mengakses permukaan yang dikelola perangkat apa pun. Artinya, DrvSynchronize harus menunda kembali dari panggilan sampai semua operasi menggambar asinkron telah diselesaikan oleh coprocessor perangkat, sehingga menunjukkan bahwa GDI aman untuk mengakses permukaan yang dikelola perangkat apa pun.
DrvSynchronize dimaksudkan untuk mendukung perangkat yang menggunakan coprocessor untuk menggambar. Perangkat semacam itu dapat memperlakukan beberapa operasi gambar sebagai asinkron, kembali ke GDI dari operasi sebelum gambar selesai. Jika demikian, ada kemungkinan bahwa operasi gambar berikutnya akan ditangani oleh GDI. Agar GDI dapat mengakses permukaan yang dikelola perangkat dengan aman, GDI harus memiliki sarana untuk memastikan bahwa setiap penyajian asinkron yang dilakukan oleh koprosesor perangkat selesai. Dengan memanggil fungsi ini, GDI menyinkronkan akses ke permukaan yang dikelola perangkat dengan driver.
GDI tidak akan pernah memanggil DrvSynchronize untuk permukaan yang dikelola perangkat. DrvSynchronize bukanlah fungsi output.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | winddi.h (termasuk Winddi.h) |