PDD_VPORTCB_UPDATE fungsi panggilan balik (ddrawint.h)
Fungsi panggilan balik DdVideoPortUpdate memulai dan menghentikan objek VPE, dan memodifikasi aliran data objek VPE.
Sintaks
PDD_VPORTCB_UPDATE PddVportcbUpdate;
DWORD PddVportcbUpdate(
PDD_UPDATEVPORTDATA unnamedParam1
)
{...}
Parameter
unnamedParam1
Menunjuk ke struktur DD_UPDATEVPORTDATA yang berisi informasi yang diperlukan driver untuk memperbarui objek VPE.
Menampilkan nilai
DdVideoPortUpdate mengembalikan salah satu kode panggilan balik berikut:
Keterangan
Driver DirectDraw yang mendukung VPE harus menerapkan DdVideoPortUpdate.
Ketika anggota dwFlags dari struktur DD_UPDATEVPORTDATA di lpUpdate DDRAWI_VPORTSTART atau DDRAWI_VPORTUPDATE, driver harus melakukan hal berikut:
- Periksa semua bendera dalam anggota dwVPFlags dari struktur DDVIDEOPORTINFO tempat anggota lpVideoInfo DD_UPDATEVPORTDATA poin. Bendera ini menjelaskan bagaimana driver harus mentransfer data video ke permukaan (atau permukaan); misalnya, mereka menunjukkan apakah driver harus melakukan autoflipping, memangkas data video atau VBI , dll.
- Siapkan perulangan di perangkat keras untuk menulis data video dan/atau VBI ke permukaan dalam urutan permukaan disimpan dalam array. Driver harus kembali secepat mungkin setelah menyiapkan perulangan ini.
- Jika autoflipping telah diminta, simpan offset buffer bingkai untuk setiap permukaan dalam struktur data internal driver. Offset permukaan harus disimpan dalam urutan di mana permukaan terjadi dalam array DD_SURFACE_INT di anggota lplpDDSurface dan lplpDVBISurface dari DD_UPDATEVPORTDATA. Dengan cara ini, ketika DdUpdateOverlay dipanggil, driver memiliki catatan urutan membalik rantai permukaan.
Jika perangkat keras driver tidak dapat mendukung jumlah permukaan yang ditentukan saat autoflipping diminta, DdVideoPortUpdate harus gagal dalam panggilan dengan mengatur DDERR_UNSUPPORTED di anggota ddRVal DD_UPDATEVPORTDATA.
Jumlah permukaan dalam video dan rantai permukaan VBI bisa berbeda; artinya, anggota dwNumAutoflip dan dwNumVBIAutoflip dari DD_UPDATEVPORTDATA dapat menjadi nilai yang berbeda.
Ketika dwFlags DDRAWI_VPORTSTOP, driver harus segera kembali. Driver tidak boleh melakukan polling hingga aliran data berhenti.
Persyaratan
Target Platform | Desktop |
Header | ddrawint.h (termasuk Winddi.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk