STROBJ_bEnumPositionsOnly (winddi.h)
Fungsi STROBJ_bEnumPositionsOnly menghitung identitas dan posisi glyph untuk string teks tertentu, tetapi tidak membuat bitmap glyph yang di-cache.
Sintaks
ENGAPI BOOL STROBJ_bEnumPositionsOnly(
STROBJ *pstro,
ULONG *pc,
PGLYPHPOS *ppgpos
);
Parameter
pstro
Penunjuk yang disediakan penelepon ke struktur STROBJ yang menjelaskan string teks. Ini biasanya merupakan struktur STROBJ yang diterima oleh fungsi DrvTextOut driver.
pc
Alamat yang disediakan penelepon untuk menerima jumlah struktur GLYPHPOS yang disediakan GDI yang ditujukkan oleh pointer dalam ppgpos.
ppgpos
Alamat yang disediakan penelepon yang menerima pointer yang disediakan GDI ke array struktur GLYPHPOS . (Lihat bagian Keterangan berikut.)
Nilai kembali
Nilai yang dikembalikan adalah TRUE jika lebih banyak glyph tetap dijumlahkan, atau FALSE jika enumerasi selesai. Nilai yang dikembalikan DDI_ERROR jika glyph tidak dapat dijumlahkan, dan kode kesalahan dicatat.
Keterangan
Fungsi STROBJ_bEnumPositionsOnly biasanya dipanggil dari dalam fungsi DrvTextOut driver. Ini melakukan operasi yang sama dengan STROBJ_bEnum dengan satu pengecualian penting − GDI tidak membuat bitmap cache dari glyph. Fungsi STROBJ_bEnum mengasumsikan driver pada akhirnya akan membutuhkan bitmap ini. Namun, banyak printer yang lebih baru berisi rasterizer internal dan oleh karena itu tidak perlu GDI untuk merender glyph. Untuk printer tersebut, menghilangkan rendering otomatis dan penembolokan bitmap glyph dalam memori server memberikan penghematan yang cukup besar dari waktu pemrosesan dan alokasi memori.
Untuk printer yang mendukung rasterisasi glyph internal, aturan berikut harus diikuti:
- Driver harus mengatur bendera GCAPS_FONT_RASTERIZER dalam struktur DEVINFO-nya .
- Fungsi DrvTextOut driver harus memanggil STROBJ_bEnumPositionsOnly alih-alih STROBJ_bEnum.
- Jika tugas cetak menyertakan font yang tidak dapat dirasterisasi perangkat secara internal, driver harus memanggil FONTOBJ_cGetGlyphs untuk mendapatkan bitmap glyph.
- Jika driver perlu menentukan kemungkinan posisi printer setelah string teks dicetak, tetapi tidak memerlukan glyph font, driver dapat memanggil STROBJ_bGetAdvanceWidths.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows 2000 dan versi yang lebih baru dari sistem operasi Windows. |
Target Platform | Universal |
Header | winddi.h (termasuk Winddi.h) |
Pustaka | Win32k.lib |
DLL | Win32k.sys |