Structure DEVINFO (winddi.h)

La structure DEVINFO fournit des informations sur le pilote et son PDEV privé au moteur graphique.

Syntaxe

typedef struct tagDEVINFO {
  FLONG    flGraphicsCaps;
  LOGFONTW lfDefaultFont;
  LOGFONTW lfAnsiVarFont;
  LOGFONTW lfAnsiFixFont;
  ULONG    cFonts;
  ULONG    iDitherFormat;
  USHORT   cxDither;
  USHORT   cyDither;
  HPALETTE hpalDefault;
  FLONG    flGraphicsCaps2;
} DEVINFO, *PDEVINFO;

Membres

flGraphicsCaps

Ensemble d’indicateurs qui décrivent les fonctionnalités graphiques du pilote graphique et/ou de son matériel. Ces indicateurs sont définis dans le tableau suivant.

Indicateur Définition
GCAPS_ALTERNATEFILL Gère les remplissages alternés.
GCAPS_ARBRUSHOPAQUE Prend en charge un pinceau arbitraire pour le rectangle opaque de texte (couleur d’arrière-plan).
GCAPS_ARBRUSHTEXT Prend en charge un pinceau arbitraire pour la couleur de premier plan du texte.
GCAPS_ASYNCCHANGE Cet indicateur est obsolète. Dans les pilotes hérités, cet indicateur indique que le pilote peut modifier la forme du pointeur dans le matériel pendant que d’autres dessins se produisent sur l’appareil.
GCAPS_ASYNCMOVE Le pilote peut déplacer le pointeur dans le matériel pendant qu’un autre dessin se produit sur l’appareil.
GCAPS_BEZIERS Gère les courbes de Bézier.
GCAPS_CMYKCOLOR Le pilote prend en charge l’espace de couleur CYMK.
GCAPS_COLOR_DITHER Gère le dithering des couleurs sur une surface compatible PDEV.
GCAPS_DIRECTDRAW Cet indicateur est obsolète.
GCAPS_DITHERONREALIZE Spécifie que GDI peut appeler DrvRealizeBrush avec le RVB à tramer directement.
GCAPS_DONTJOURNAL Interdit l’impression de métafichiers sur ce pilote d’imprimante. Cela n’est valable que pour les contrôleurs de domaine d’imprimante et entraîne généralement un délai de retour à l’application plus lent lors de l’impression.
GCAPS_FONT_RASTERIZER Le matériel de l’appareil peut rasteriser les polices TrueType.
GCAPS_FORCEDITHER Permet le dithering sur tous les stylets géométriques.
GCAPS_GEOMETRICWIDE Gère l’élargissement géométrique.
GCAPS_GRAY16 Gère le texte anti-attirail en mode natif.
GCAPS_HALFTONE Gère la demi-toning.
GCAPS_HIGHRESTEXT Cet indicateur est obsolète. Dans les pilotes hérités, cet indicateur indique que le pilote demande des positions de glyphes telles que retournées par le STROBJ dans les coordonnées de point FIX.
GCAPS_HORIZSTRIKE Cet indicateur est obsolète. Dans les pilotes hérités, cet indicateur indique que le pilote gère les grèves horizontales dans DrvTextOut.
GCAPS_ICM Indique que les opérations de gestion des couleurs peuvent être effectuées par le pilote ou le matériel d’imprimante.
GCAPS_LAYERED Indique qu’il s’agit d’un pilote de couche ou de miroir pour la communication à distance. Les pilotes d’imprimante ne peuvent pas être des pilotes de couche.
GCAPS_MONO_DITHER Gère le dithering monochrome.
GCAPS_NO64BITMEMACCESS Cet indicateur est obsolète.
GCAPS_NUP Indique que l’impression « N-up » est prise en charge.
GCAPS_OPAQUERECT Gère les rectangles opaques dans DrvTextOut.
GCAPS_PALMANAGED Prend en charge la gestion des palettes.
GCAPS_PANNING Lorsque GDI simule le pointeur, il doit appeler DrvMovePointer pour informer le pilote de la position actuelle du curseur. Cela permet au pilote de gérer les affichages virtuels panoramiques.
GCAPS_SCREENPRECISION Le rastériseur (moteur de polices) doit choisir une police d’écran (réversible) sur une police d’appareil lors du choix d’une police pour laquelle il n’existe aucune correspondance exacte.
GCAPS_VECTORFONT Gère la caresse des polices vectorielles dans DrvTextOut.
GCAPS_VERTSTRIKE Cet indicateur est obsolète. Dans les pilotes hérités, cet indicateur indiquait que le pilote gérait les grèves verticales dans DrvTextOut.
GCAPS_WINDINGFILL Gère les remplissages en mode enroulement. Pour plus d’informations, consultez Modes de remplissage de chemin d’accès.
GCAPS2_REMOTEDRIVER Indique que le pilote d’affichage est utilisé pour prendre en charge une session utilisateur à distance.

lfDefaultFont

Structure de police logique étendue qui spécifie la police par défaut d’un appareil. Pour plus d’informations sur cette structure, consultez EXTLOGFONT dans la documentation Microsoft Windows SDK.

lfAnsiVarFont

Structure de police logique étendue qui spécifie la police de pas variable par défaut pour un appareil. Pour plus d’informations sur cette structure, consultez EXTLOGFONT dans la documentation SDK Windows.

lfAnsiFixFont

Structure de police logique étendue qui spécifie la police à pas fixe (monospaced) par défaut pour un appareil. Pour plus d’informations sur cette structure, consultez EXTLOGFONT dans la documentation SDK Windows.

cFonts

Spécifie le nombre de polices d’appareil. GDI suppose que l’appareil peut dessiner du texte avec ce nombre de polices sur ses propres surfaces et que le pilote peut fournir des informations sur les métriques sur les polices. Si le pilote définit cFonts sur -1, GDI attend que des polices soient nécessaires pour interroger le pilote sur le nombre réel de polices qu’il prend en charge dans un appel à DrvQueryFont.

iDitherFormat

Spécifie le format de l’image bitmap. Ce paramètre indique le nombre de bits d’informations de couleur par pixel qui sont demandés et doit correspondre à l’une des valeurs suivantes :

Valeur Signification
BMF_1BPP Monochrome
BMF_4BPP 4 bits par pixel
BMF_8BPP 8 bits par pixel
BMF_16BPP 16 bits par pixel
BMF_24BPP 24 bits par pixel
BMF_32BPP 32 bits par pixel
BMF_4RLE 4 bits par pixel, longueur d’exécution encodée
BMF_8RLE 8 bits par pixel, longueur d’exécution encodée
BMF_JPEG Image compressée JPEG
BMF_PNG Image compressée PNG

cxDither

cyDither

Spécifiez les dimensions d’un pinceau à trame. Si ces membres ne sont pas nuls, l’appareil peut créer un pinceau dithered pour une couleur RVB donnée.

hpalDefault

Gérez la palette par défaut pour l’appareil. Le pilote doit créer la palette en appelant EngCreatePalette. Le pilote associe une palette à un appareil en retournant cette poignée à GDI.

flGraphicsCaps2

Ensemble d’indicateurs qui décrivent des fonctionnalités graphiques supplémentaires du pilote de périphérique. Ces indicateurs sont définis dans le tableau suivant.

Indicateur Définition
GCAPS2_ALPHACURSOR Gère les pointeurs avec des valeurs alpha par pixel.
GCAPS2_CHANGEGAMMARAMP Le périphérique d’affichage a une rampe gamma matérielle chargeable.
GCAPS2_EXCLUDELAYERED Indique qu’il s’agit d’un pilote miroir d’accessibilité. Les pilotes miroir qui ne définissent pas cet indicateur recevront toujours des primitives de dessin pour les disques HWND en couches. Pour plus d’informations, consultez Pilotes miroirs .
GCAPS2_ICD_MULTIMON Informe GDI que le pilote a l’intention de gérer les appels DrvSetPixelFormat, DrvDescribePixelFormat et DrvSwapBuffers dans un environnement multimon, même lorsque le rectangle de l’opération croise également un autre appareil. Un seul appareil a la possibilité de gérer ces appels. Si la fonctionnalité n’est pas spécifiée et que la région impliquée croise plusieurs appareils, aucun pilote n’est appelé.
GCAPS2_INCLUDEAPIBITMAPS Lorsque des appels de dessin sont effectués vers une bitmap indépendante de l’appareil (DIB), un pilote d’accessibilité miroir est appelé. Pour plus d’informations, consultez Pilotes miroirs .
GCAPS2_JPEGSRC L’appareil peut accepter les images compressées JPEG (c’est-à-dire les images pour lesquelles BMF_JPEG est défini dans la structure SURFOBJ ).
GCAPS2_MOUSETRAILS Indique que le pilote prend en charge les traces de souris (une succession d’images de curseur montrant l’emplacement de la souris pendant une courte période). Le pilote est capable de gérer les valeurs envoyées par GDI dans le paramètre fl de la fonction DrvSetPointerShape . Le conducteur doit utiliser les masques SPS_LENGTHMASK et SPS_FREQMASK pour obtenir des valeurs pour la longueur et la fréquence des traces de souris. Pour plus d’informations sur ces masques, consultez DrvSetPointerShape .
GCAPS2_PNGSRC L’appareil peut accepter les images compressées PNG (c’est-à-dire les images pour lesquelles BMF_PNG est défini dans la structure SURFOBJ ).
GCAPS2_SYNCFLUSH Le pilote prend en charge un mécanisme de vidage par programmation pour les appels DDI graphiques par lots. DrvSynchronizeSurface est appelé chaque fois que GDI doit vider tout dessin en cours de traitement par lot par le pilote.
GCAPS2_SYNCTIMER Le pilote prend en charge un mécanisme de vidage basé sur le minuteur pour les appels DDI graphiques par lots. DrvSynchronizeSurface sera appelé régulièrement, en fonction d’un intervalle de minuteur déterminé par GDI.

Remarques

La fonction DrvEnablePDEV du pilote remplit une structure DEVINFO ; le pilote doit définir uniquement les membres qui lui sont pertinents. Cette structure est zéro initialisée par GDI avant l’appel de DrvEnablePDEV . Les applications n’ont pas d’accès direct à cette structure.

Si un pilote définit GCAPS2_JPEGSRC ou GCAPS2_PNGSRC dans flGraphicsCaps2, les règles suivantes s’appliquent :

  • Le pilote doit fournir une fonction DrvQueryDeviceSupport .
  • Chaque fonction DDI graphique définie par le pilote qui reçoit une structure SURFOBJ en tant qu’entrée doit être en mesure de prendre en charge le format compressé ou de retourner un code d’erreur. Dans le cas des pilotes d’imprimante, pour prendre en charge le format compressé, le pilote doit être en mesure d’effectuer l’une des tâches suivantes :
    • Si le périphérique d’impression peut traiter le format compressé JPEG/PNG, le pilote d’imprimante doit passer le format compressé à sa sortie PDL (Page Description Language).
    • Si le périphérique d’impression ne peut pas traiter le format compressé JPEG/PNG, le pilote d’imprimante doit d’abord convertir le format JPEG/PNG compressé en un autre format d’image que le périphérique d’impression peut traiter. Le pilote d’imprimante peut ensuite rendre les informations d’image disponibles dans la sortie PDL du pilote.
      Note En cas de conversion de JPEG/PNG au format bitmap, le pilote d’imprimante ne doit pas utiliser les fonctions GDI. Par exemple, le pilote peut utiliser les API wic (Windows Imaging Component) à la place pour effectuer la conversion.
       
  • Le pilote doit être en mesure de gérer des régions de clip complexes pour les images qui utilisent le format compressé.
  • Pour les fonctions DDI graphiques définies par le pilote qui reçoivent un argument d’entrée ROP4, seule 0xCCCC est utilisée avec les formats JPEG et PNG.

Configuration requise

Condition requise Valeur
En-tête winddi.h (inclure Winddi.h)

Voir aussi

DrvEnablePDEV

DrvQueryFont

DrvRealizeBrush

DrvTextOut