Share via


DrvLoadFontFile-Funktion (winddi.h)

Die DrvLoadFontFile-Funktion empfängt von GDI Informationen zum Laden und Zuordnen von Schriftartdateien.

Syntax

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

Parameter

cFiles

Vom Aufrufer bereitgestellter Wert, der die Anzahl der Dateien angibt, die der Schriftart zugeordnet sind.

piFile

Vom Aufrufer bereitgestellter Zeiger auf ein Array von Dateihandles im Format cFiles. Jedes Handle stellt eine der Dateien dar, die der Schriftart zugeordnet sind. Die Dateihandles können einzeln an EngMapFontFileFD übergeben werden.

ppvView

Vom Aufrufer bereitgestellter Zeiger auf ein Array im Format cFiles, das die Startadresse des Speicherbereichs enthält, dem jede Schriftartdatei zugeordnet wurde.

pcjView

Vom Aufrufer bereitgestellter Zeiger auf ein Array im Format cFiles, das die Größe des Speicherplatzes enthält, dem jede Schriftartdatei zugeordnet wurde.

pdv

Bei Adobe Multiple Master-Schriftarten handelt es sich um einen vom Aufrufer bereitgestellten Zeiger auf eine DESIGNVECTOR-Struktur (beschrieben in der Microsoft Windows SDK-Dokumentation), die das multiple Master-instance identifiziert. Andernfalls ist dieser Parameter NULL.

ulLangID

Vom Aufrufer bereitgestellter Sprachbezeichner, der aus der Registrierung abgerufen wird.

ulFastCheckSum

Gibt eine von GDI bereitgestellte Prüfsumme für die Schriftart an. Wenn dieser Parameter nichtzero ist, kann die GDI-Schriftartcache-Engine verwendet werden, um schneller auf eine Schriftart zuzugreifen. Wenn dieser Parameter 0 ist, kann die GDI-Schriftarten-Engine nicht verwendet werden.

Rückgabewert

Wenn der Vorgang erfolgreich ist, sollte ein Zeiger auf einen vom Treiber definierten Wert zurückgegeben werden, der die Schriftart eindeutig identifiziert. Der Treiber empfängt diesen Zeiger anschließend als Eingabeparameter auf Funktionen wie DrvQueryFont, DrvQueryFontFile, DrvQueryFontTree. Wenn ein Fehler auftritt, sollte die Funktion HFF_INVALID zurückgeben.

Hinweise

Schriftarttreiber sind erforderlich, um eine DrvLoadFontFile-Funktion bereitstellen zu können. Der Zweck der Funktion besteht darin, einem Schriftarttreiber zu ermöglichen, eine Benachrichtigung zu erhalten, dass die zugehörigen Dateien einer Schriftart geladen und zugeordnet werden. Der Treiber kann Eingabeargumente zur späteren Verwendung speichern.

Das Laden und Zuordnen einer Schriftartdatei erfordert den Aufruf von EngMapFontFileFD. Wenn eine Anwendung AddFontResource oder AddFontResourceEx aufruft (in der Windows SDK-Dokumentation beschrieben), ruft GDI EngMapFontFileFD und dann DrvLoadFontFile auf. Die Parameter ppvView und pcjView der DrvLoadFontFile-Funktion geben den Speicherort und die Größe der Zuordnung jeder Datei an, wie von EngMapFontFileFD zurückgegeben.

GDI hebt die Zuordnung der Dateien auf, wenn DrvLoadFontFile zurückgibt. Wenn der Treiber die Dateien später als Reaktion auf nachfolgende Aufrufe von GDI neu zuordnen muss, kann er EngMapFontFileFD selbst aufrufen, wenn er die Parameter cFiles und piFile gespeichert hat.

Wenn die GDI-Schriftarten-Engine drvLoadFontFile DDI des Schriftarttreibers aufruft, übergibt sie eine Prüfsumme für die Schriftart im ulFastCheckSum-Parameter . Wenn dieser Parameter nonzero ist und die betreffende Schriftart zwischengespeichert wurde, kann DrvLoadFontFile mit einem Aufruf von EngFntCacheLookUp einen Zeiger auf die Schriftartdaten abrufen. Nachdem der Schriftarttreiber den Zeiger auf die Schriftartdaten abgerufen hat, kann er die Schriftartdaten laden. Wenn die Schriftart nicht zwischengespeichert wurde, kann der Schriftarttreiber die Schriftart zwischenspeichern, indem er zuerst Arbeitsspeicher für den Schriftartcache zuordnet, einen Aufruf von EngFntCacheAlloc verwendet und dann die Schriftartdaten in diesen Speicher schreibt. Wenn der Schriftarttreiber beim Lesen oder Schreiben der Schriftartdaten auf einen Fehler stößt, kann er die GDI-Schriftarten-Engine benachrichtigen, indem er engFntCacheFault aufruft.

Wenn die GDI-Schriftarten-Engine DrvLoadFontFile heißt und den Wert null für den ulFastCheckSum-Parameter übergeben hat, bedeutet dies, dass die GDI-Schriftarten-Engine nicht in Betrieb ist und der Schriftarttreiber keine Aktion ausführen muss.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile winddi.h (einschließlich Winddi.h)

Weitere Informationen

DrvUnloadFontFile

EngFntCacheAlloc

EngFntCacheFault

EngFntCacheLookUp