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) |