Freigeben über


DrvQueryFontData-Funktion (winddi.h)

Die DrvQueryFontData-Funktion ruft Informationen zu einer realisierten Schriftart ab.

Syntax

LONG DrvQueryFontData(
        DHPDEV    dhpdev,
        FONTOBJ   *pfo,
        ULONG     iMode,
        HGLYPH    hg,
        GLYPHDATA *pgd,
  [out] PVOID     pv,
        ULONG     cjSize
);

Parameter

dhpdev

Handle mit dem PDEV des physischen Geräts, das von einem vorherigen Aufruf von DrvEnablePDEV zurückgegeben wurde.

pfo

Zeiger auf eine FONTOBJ-Struktur , die die Schriftrealisierung definiert.

iMode

Gibt den Typ der angeforderten Informationen an. Dieser Parameter kann einer der folgenden Werte sein:

Wert Bedeutung
QFD_GLYPHANDBITMAP Wenn pgd nicht NULL ist, sollte der Treiber die GLYPHDATA-Struktur mit den Metriken der von hg angegebenen Glyphe ausfüllen.

Wenn pv nicht NULL ist, sollte an dieser Adresse eine GLYPHBITS-Struktur geschrieben werden. Der Treiber sollte die Bitmap Glyphen entsprechend der von hg angegebenen Glyphe in diese Struktur kopieren. Die Größe der Struktur wird durch cjSize angegeben.

Wenn Glyphen-Bitmaps vom Treiber nicht unterstützt werden, wird diese Funktion nur aufgerufen, wenn pv auf NULL festgelegt ist.

Wenn der Treiber Glyphenbitbitbits unterstützt, entspricht der Rückgabewert der Größe der Bitmap Glyphen in Bytes. Andernfalls ist es 0.

Dieser Modus muss unterstützt werden.

QFD_GLYPHANDOUTLINE Wenn pgd nicht NULL ist, sollte der Treiber die GLYPHDATA-Struktur mit den Metriken der von hg angegebenen Glyphe ausfüllen.

Wenn pv nicht NULL ist, sollte an dieser Adresse eine PATHOBJ-Struktur geschrieben werden. Der Treiber übergibt diesen PATHOBJ an die PATHOBJ_Xxx-Dienste , um die Gliederung für die von hg angegebene Glyphe zu erstellen. Der cjSize-Parameter sollte ignoriert werden.

Der Rückgabewert ist 0, wenn die Funktion erfolgreich ist. Andernfalls wird sie FD_ERROR.

Nur Schriftarttreiber, die Glyphenkonturen bereitstellen, müssen diesen Modus unterstützen.

QFD_MAXEXTENTS Wenn pv nicht NULL ist, sollte der Treiber eine FD_DEVICEMETRICS Struktur in den Puffer schreiben, auf den von pv verwiesen wird.

Der Rückgabewert ist die Größe in Bytes, die für den Puffer benötigt wird, wenn pvNULL ist.

QFD_TT_GRAY1_BITMAP Die realisierte Schriftart sollte in einem Bit pro Pixel Graustufen gerendert werden (d.a. schwarz oder weiß).
QFD_TT_GRAY2_BITMAP Die realisierte Schriftart sollte in zwei Bits pro Pixel Graustufen gerendert werden.
QFD_TT_GRAY4_BITMAP Die realisierte Schriftart sollte in vier Bits pro Pixel Graustufen gerendert werden.
QFD_TT_GRAY8_BITMAP Die realisierte Schriftart sollte in acht Bits pro Pixel Graustufen gerendert werden.
QFD_TT_MONO_BITMAP Identisch mit QFD_TT_GRAY1_BITMAP.

hg

Handle mit der Glyphe.

pgd

Zeiger auf die GLYPHDATA-Struktur . Dieser Parameter kann NULL sein.

[out] pv

Zeiger auf einen Datenpuffer. Der Typ der in diesen Puffer geschriebenen Daten ist von iMode abhängig. Dieser Parameter kann NULL sein.

cjSize

Gibt die Größe des Puffers an, auf den von pv verwiesen wird.

Rückgabewert

Der Rückgabewert hängt vom Wert des iMode-Parameters ab. Wenn ein Fehler auftritt, wird der Rückgabewert FD_ERROR, und ein Fehlercode wird protokolliert.

Hinweise

Für die QFD_GLYPHANDBITMAP und QFD_GLYPHANDOUTLINE Werte des iMode-Parameters stellt GDI einen Zeiger auf eine GLYPHDATA-Struktur (im pgd-Parameter ) bereit. Der Treiber platziert Informationen zu Glyphenmetriken in dieser Struktur und schreibt den Inhalt einer GLYPHBITS-Struktur oder einer PATHOBJ-Struktur an der vom pv-Parameter angegebenen Position, je nachdem, ob es sich bei der Schriftart um eine Bitmapschriftart oder eine Gliederungsschrift handelt. Für den QFD_MAXEXTENTS-Wert des iMode-Parameters schreibt der Treiber den Inhalt einer FD_DEVICEMETRICS-Struktur an der vom pv-Parameter angegebenen Position.

DrvQueryFontData ist für Schriftarttreiber und Treiber erforderlich, die gerätespezifische oder treiberspezifische Schriftarten verwenden.

Anforderungen

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

Weitere Informationen

DrvEnablePDEV

DrvQueryFontFile

FD_DEVICEMETRICS

FONTOBJ

GLYPHBITS

GLYPHDATA

PATHOBJ