Share via


DrvQueryTrueTypeTable-Funktion (winddi.h)

Die DrvQueryTrueTypeTable-Funktion greift auf bestimmte Tabellen in einer TrueType-Schriftbeschreibungsdatei zu.

Syntax

LONG DrvQueryTrueTypeTable(
  ULONG_PTR iFile,
  ULONG     ulFont,
  ULONG     ulTag,
  PTRDIFF   dpStart,
  ULONG     cjBuf,
  BYTE      *pjBuf,
  PBYTE     *ppjTable,
  ULONG     *pcjTable
);

Parameter

iFile

Zeiger auf einen vom Treiber definierten Wert, der die vom Treiber bereitgestellte TrueType-Schriftartdatei identifiziert. Dieser Zeiger wird aus DrvLoadFontFile abgerufen.

ulFont

Gibt den 1-basierten Index der Treiberschriftart an.

ulTag

Gibt die Tabelle an, auf die zugegriffen werden soll. Wenn ulTag null ist, sollte der Treiber den Zugriff auf die gesamte Datei zurückgeben.

dpStart

Gibt den Offset vom Anfang der Tabellen an, von denen aus der Zugriff gestartet werden soll. Wenn ulTag null ist, ist dpStart der Offset vom Anfang der Datei.

cjBuf

Gibt die Größe des Puffers in Byte an, auf den pjBuf zeigt, oder null.

pjBuf

Wenn nicht NULL, zeigt auf den Puffer, in den der Treiber die Tabellen- oder Schriftartdaten kopieren soll.

ppjTable

Wenn nicht NULL, zeigt auf den Speicherort, an dem der Treiber die Adresse der Tabellen- oder Schriftartdaten zurückgeben soll.

pcjTable

Wenn nicht NULL, zeigt auf den Speicherort, an dem der Treiber die Länge der Tabellen- oder Schriftartdaten in Byte zurückgeben soll, auf die *ppjTable zeigt.

Rückgabewert

DrvQueryTrueTypeTable gibt einen der folgenden Werte zurück:

  • Wenn pjBufNULL ist, die Anzahl der Bytes, die für den Puffer erforderlich sind, um die gesamte Tabelle zu speichern (dies entspricht dem wert, der in pcjTable zurückgegeben wird).
  • Wenn pjBuf nicht NULL ist, wird die Anzahl der kopierten Bytes verwendet.
  • Wenn ein Fehler auftritt, FD_ERROR.

Hinweise

DrvQueryTrueTypeTable muss in TrueType-Schriftarttreibern implementiert werden.

Es gibt zwei Möglichkeiten, wie DrvQueryTrueTypeTable angefordert werden kann, um Tabellen- oder Schriftartdaten zurückzugeben:

  1. Wenn weder cjBuf noch pjBufNULL sind, sollte der Treiber den Inhalt der angeforderten Tabelle in den Puffer kopieren, auf den pjBuf verweist. In diesem Fall sind ppjTable und pcjTableNULL und sollten vom Treiber ignoriert werden.
  2. Wenn weder ppjTable noch pcjTableNULL sind, sollte der Treiber einen Zeiger auf die Tabelle in *ppjTable und die Länge der Tabelle in Bytes in *pciTable platzieren. In diesem Fall sind cjBuf und pjBufNULL und sollten vom Treiber ignoriert werden.

Anforderungen

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

Weitere Informationen

DrvLoadFontFile