Bagikan melalui


Fungsi DrvEnableSurface (winddi.h)

Fungsi DrvEnableSurface mengatur permukaan yang akan digambar dan mengaitkannya dengan perangkat fisik tertentu.

Sintaks

HSURF DrvEnableSurface(
  DHPDEV dhpdev
);

Parameter

dhpdev

Tangani ke PDEV perangkat fisik. Ini adalah nilai yang dikembalikan dari DrvEnablePDEV. PDEV menjelaskan perangkat fisik tempat permukaan akan dibuat.

Nilai kembali

Nilai yang dikembalikan adalah handel yang mengidentifikasi permukaan yang baru dibuat. Jika tidak, itu adalah nol, dan kode kesalahan dicatat.

Keterangan

Ada dua metode untuk menyiapkan permukaan untuk digunakan.

  1. Dalam metode ini, yang direkomendasikan, driver membuat permukaan dengan panggilan ke EngCreateDeviceSurface. Setelah GDI membuat permukaan dan mengembalikan handel ke driver, driver memanggil EngModifySurface, yang mengatur bendera kait yang sesuai, dan secara opsional, menginformasikan GDI lokasi permukaan.
  2. Metode kedua adalah metode yang digunakan oleh driver Windows NT 4.0. Dalam metode ini, driver memanggil EngCreateBitmap. Setelah panggilan ini, driver memanggil EngAssociateSurface untuk mengaitkan permukaan dengan perangkat tampilan fisik. Fungsi GDI ini memungkinkan driver untuk menentukan rutinitas output grafis mana yang didukung untuk bitmap format standar. Panggilan ke fungsi ini hanya dapat dilakukan ketika tidak ada permukaan untuk perangkat fisik yang diberikan. Jika driver Windows 2000 atau yang lebih baru di-port kembali untuk dijalankan pada Windows NT 4.0, metode ini harus digunakan. Jika driver seperti itu juga akan berjalan pada Windows 2000 atau yang lebih baru, jalur kode terpisah di driver harus menggunakan metode pertama.

    Untuk perangkat printer, situasi yang biasa adalah GDI untuk mengumpulkan grafik langsung ke bitmap GDI. Driver harus memanggil EngCreateBitmap, yang memungkinkan GDI mengalokasikan memori untuk bitmap.

Setiap handel bitmap GDI yang ada adalah handel permukaan yang valid.

Untuk DLL grafis printer yang menggunakan permukaan yang dikelola GDI, fungsi DrvEnableSurface harus memanggil EngCreateBitmap, menentukan ukuran permukaan yang cukup besar untuk berisi seluruh halaman fisik. Jika gagal, panggilan berulang ke EngCreateBitmap harus dicoba , dengan mengurangi ukuran permukaan, hingga panggilan berhasil. Ukuran yang valid harus ditentukan sebagai input ke EngMarkBandingSurface, yang menginformasikan GDI bahwa pemalutan permukaan akan diperlukan.

Setelah DrvEnableSurface mengembalikan handel ke permukaan utama, jangan panggil EngModifySurface atau EngAssociateSurface pada handel tersebut. Melakukannya dapat menyebabkan pemeriksaan bug dalam keadaan tertentu. Untuk informasi selengkapnya, lihat artikel Microsoft Knowledge Base 330248.

DrvEnableSurface diperlukan untuk driver grafis.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header winddi.h (termasuk Winddi.h)

Lihat juga

DrvDisableSurface

DrvEnablePDEV

EngCreateBitmap

EngCreateDeviceSurface