fonction STROBJ_bEnumPositionsOnly (winddi.h)
La fonction STROBJ_bEnumPositionsOnly énumère les identités et les positions de glyphes pour une chaîne de texte spécifiée, mais ne crée pas de bitmaps de glyphes mises en cache.
Syntaxe
ENGAPI BOOL STROBJ_bEnumPositionsOnly(
STROBJ *pstro,
ULONG *pc,
PGLYPHPOS *ppgpos
);
Paramètres
pstro
Pointeur fourni par l’appelant vers une structure STROBJ décrivant une chaîne de texte. Il s’agit généralement de la structure STROBJ reçue par la fonction DrvTextOut du pilote.
pc
Adresse fournie par l’appelant pour recevoir le nombre de structures GLYPHPOS fournies par GDI pointées par le pointeur dans ppgpos.
ppgpos
Adresse fournie par l’appelant qui reçoit un pointeur fourni par GDI vers un tableau de structures GLYPHPOS . (Voir la section Remarques suivante.)
Valeur retournée
La valeur de retour est TRUE si d’autres glyphes restent à énumérer, ou FALSE si l’énumération est terminée. La valeur de retour est DDI_ERROR si les glyphes ne peuvent pas être énumérés et qu’un code d’erreur est journalisé.
Remarques
La fonction STROBJ_bEnumPositionsOnly est généralement appelée à partir de la fonction DrvTextOut d’un pilote. Il effectue les mêmes opérations que STROBJ_bEnum avec une exception importante : GDI ne crée pas de bitmaps mises en cache des glyphes. La fonction STROBJ_bEnum suppose que le pilote aura besoin de ces bitmaps. Toutefois, de nombreuses imprimantes plus récentes contiennent des rastériseurs internes et n’ont donc pas besoin de GDI pour afficher les glyphes. Pour ces imprimantes, l’élimination du rendu et de la mise en cache automatiques des bitmaps de glyphes dans la mémoire du serveur permet d’économiser considérablement le temps de traitement et l’allocation de mémoire.
Pour les imprimantes qui prennent en charge la rastérisation interne des glyphes, les règles suivantes doivent être suivies :
- Le pilote doit définir l’indicateur GCAPS_FONT_RASTERIZER dans sa structure DEVINFO .
- La fonction DrvTextOut du pilote doit appeler STROBJ_bEnumPositionsOnly au lieu de STROBJ_bEnum.
- Si le travail d’impression inclut une police que l’appareil ne peut pas rastériser en interne, le pilote doit appeler FONTOBJ_cGetGlyphs pour obtenir des bitmaps de glyphes.
- Si un pilote doit déterminer la position probable de l’imprimante après l’impression d’une chaîne de texte, mais qu’il n’a pas besoin d’un glyphe de police, il peut appeler STROBJ_bGetAdvanceWidths.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows. |
Plateforme cible | Universal |
En-tête | winddi.h (inclure Winddi.h) |
Bibliothèque | Win32k.lib |
DLL | Win32k.sys |