Menggunakan Model Buffer DMA Kontrak Terjamin

Model pengandar tampilan untuk Windows Vista menjamin ukuran buffer DMA dan daftar lokasi patch untuk perangkat penyajian. Daftar lokasi patch berisi alamat memori fisik sumber daya yang dirujuk oleh perintah dalam buffer DMA.

Dalam mode kontrak yang dijamin, driver tampilan mode pengguna mengetahui ukuran pasti buffer DMA dan daftar lokasi patch yang tersedia untuk diterjemahkan ketika driver tampilan mode pengguna mengisi buffer perintah dan memanggil pfnRenderCb untuk mengirimkannya ke driver miniport tampilan. Setelah setiap panggilan ke pfnRenderCb, driver tampilan mode pengguna menerima ukuran buffer DMA dan daftar lokasi patch yang tersedia untuk terjemahan berikut (yaitu, panggilan berikut ke pfnRenderCb).

Manajer memori video menjamin untuk tidak memangkas buffer DMA dan daftar lokasi patch untuk perangkat tersebut hingga terjemahan berikutnya selesai. Driver miniport tampilan harus dapat menerjemahkan satu buffer perintah ke dalam tepat satu buffer DMA dan satu daftar lokasi patch. Jika terjemahan ini tidak memungkinkan, buffer perintah mode pengguna adalah, menurut definisi, tidak valid. Driver miniport tampilan tidak dapat mengembalikan status yang menunjukkan kehabisan ruang buffer DMA dan daftar lokasi patch selama terjemahan; melakukannya menghasilkan bug manajer memori video yang memeriksa sistem karena manajer memori gagal memenuhi persyaratan kontrak DMA yang dijamin.