Bagikan melalui


Fungsi DrvLoadFontFile (winddi.h)

Fungsi DrvLoadFontFile menerima informasi dari GDI yang berkaitan dengan memuat dan memetakan file font.

Sintaks

ULONG_PTR DrvLoadFontFile(
  ULONG        cFiles,
  ULONG_PTR    *piFile,
  PVOID        *ppvView,
  ULONG        *pcjView,
  DESIGNVECTOR *pdv,
  ULONG        ulLangID,
  ULONG        ulFastCheckSum
);

Parameter

cFiles

Nilai yang disediakan penelepon menunjukkan jumlah file yang terkait dengan font.

piFile

Penunjuk yang disediakan penelepon ke array handel file berukuran cFiles. Setiap handel mewakili salah satu file yang terkait dengan font. Handel file dapat diteruskan satu per satu ke EngMapFontFileFD.

ppvView

Penunjuk yang disediakan penelepon ke array berukuran cFiles yang berisi alamat awal ruang memori tempat setiap file font telah dipetakan.

pcjView

Penunjuk yang disediakan penelepon ke array berukuran cFiles yang berisi ukuran ruang memori tempat setiap file font telah dipetakan.

pdv

Untuk font Adobe Multiple Master, ini adalah penunjuk yang disediakan penelepon ke struktur DESIGNVECTOR (dijelaskan dalam dokumentasi Microsoft Windows SDK) yang mengidentifikasi beberapa instans Master. Jika tidak, parameter ini ADALAH NULL.

ulLangID

Pengidentifikasi bahasa yang disediakan penelepon, diperoleh dari registri.

ulFastCheckSum

Menentukan checksum yang disediakan GDI untuk font. Jika parameter ini bukan nol, mesin cache font GDI dapat digunakan untuk mengakses font lebih cepat. Jika parameter ini nol, mesin font GDI tidak dapat digunakan.

Mengembalikan nilai

Jika operasi berhasil, operasi harus mengembalikan penunjuk ke nilai yang ditentukan driver yang secara unik mengidentifikasi font. Driver kemudian menerima pointer ini sebagai parameter input ke fungsi seperti DrvQueryFont, DrvQueryFontFile, DrvQueryFontTree. Jika terjadi kesalahan, fungsi harus mengembalikan HFF_INVALID.

Keterangan

Driver font diperlukan untuk menyediakan fungsi DrvLoadFontFile . Tujuan fungsi ini adalah untuk memungkinkan driver font menerima pemberitahuan bahwa file terkait font sedang dimuat dan dipetakan. Driver dapat menyimpan argumen input untuk digunakan nanti.

Memuat dan memetakan file font memerlukan panggilan EngMapFontFileFD. Ketika aplikasi memanggil AddFontResource atau AddFontResourceEx (dijelaskan dalam dokumentasi Windows SDK), GDI memanggil EngMapFontFileFD dan kemudian memanggil DrvLoadFontFile. Parameter ppvView dan pcjView fungsi DrvLoadFontFile menyediakan lokasi dan ukuran pemetaan setiap file, seperti yang dikembalikan oleh EngMapFontFileFD.

GDI membatalkan peta file saat DrvLoadFontFile kembali. Jika driver perlu memetakan ulang file nanti, sebagai respons terhadap panggilan berikutnya dari GDI, driver dapat memanggil EngMapFontFileFD sendiri jika telah menyimpan parameter cFiles dan piFile .

Ketika mesin font GDI memanggil DrvLoadFontFile DDI driver font, mesin tersebut melewati checksum untuk font dalam parameter ulFastCheckSum . Jika parameter ini bukan nol dan font yang dimaksud telah di-cache, DrvLoadFontFile dapat memperoleh penunjuk ke data font dengan panggilan ke EngFntCacheLookUp. Setelah driver font mendapatkan penunjuk ke data font, kemudian dapat memuat data font. Jika font belum di-cache, driver font dapat menyimpan font dengan terlebih dahulu mengalokasikan memori untuk cache font, menggunakan panggilan ke EngFntCacheAlloc, lalu menulis data font ke memori tersebut. Jika driver font mengalami kesalahan saat membaca atau menulis data font, driver font dapat memberi tahu mesin font GDI dengan melakukan panggilan ke EngFntCacheFault.

Jika mesin font GDI yang disebut DrvLoadFontFile dan diteruskan dalam nilai nol untuk parameter ulFastCheckSum , ini berarti bahwa mesin font GDI tidak beroperasi, dan driver font tidak perlu mengambil tindakan apa pun.

Persyaratan

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

Lihat juga

DrvUnloadFontFile

EngFntCacheAlloc

EngFntCacheFault

EngFntCacheLookUp