Fonction DrvDeviceCapabilities (winddiui.h)

La fonction DrvDeviceCapabilities d’une DLL d’imprimante retourne les informations demandées sur les fonctionnalités d’une imprimante.

Syntaxe

DWORD DrvDeviceCapabilities(
                 HANDLE   hPrinter,
  [in]           PWSTR    pszDeviceName,
                 WORD     Capability,
  [out]          PVOID    pOutput,
  [in, optional] PDEVMODE pDevmode
);

Paramètres

hPrinter

Poignée d’imprimante fournie par l’appelant.

[in] pszDeviceName

Pointeur fourni par l’appelant vers une chaîne de nom d’imprimante.

Capability

Indicateur de bits fourni par l’appelant indiquant les informations demandées. Il peut s’agir de l’un des indicateurs répertoriés dans le tableau suivant. (Les indicateurs sont définis dans le fichier d’en-tête Wingdi.h.)

Indicateur Définition
DC_BINADJUST Non utilisé pour les systèmes d’exploitation NT.
DC_BINNAMES Le paramètre pOutput pointe vers une mémoire tampon que la fonction doit remplir avec un tableau de mémoires tampons de chaîne, de 24 caractères chacun. Chaque mémoire tampon de chaîne dans le tableau doit contenir une chaîne à caractères larges, terminée par NULL, spécifiant le nom d’un bac de source papier. La valeur de retour de la fonction doit être le nombre d’éléments dans le tableau retourné. Si pOutput a la valeur NULL, la fonction doit simplement retourner le nombre d’éléments de tableau requis.
DC_BINS Le paramètre pOutput pointe vers une mémoire tampon que la fonction doit remplir avec un tableau WORD. Chaque élément de tableau doit contenir une constante préfixée par DMBIN (ou une valeur personnalisée) représentant un bac source papier pris en charge. La valeur de retour de la fonction doit être le nombre d’éléments dans le tableau retourné. Si pOutput a la valeur NULL, la fonction doit simplement retourner le nombre d’éléments de tableau requis.
DC_COLLATE Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être 1 si l’imprimante prend en charge le classement ; sinon, la valeur de retour doit être égale à zéro.
DC_COLORDEVICE Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être 1 si l’imprimante prend en charge l’impression couleur ; sinon, la valeur de retour doit être égale à zéro.
DC_COPIES Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être le nombre maximal de copies que l’imprimante peut prendre en charge.
DC_DATATYPE_PRODUCED Non utilisé pour les systèmes d’exploitation NT.
DC_DRIVER Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être le membre dmDriverVersion de la structure interne [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) du pilote.
DC_DUPLEX Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être 1 si l’imprimante prend en charge l’impression recto verso ; sinon, la valeur de retour doit être égale à zéro.
DC_EMF_COMPLIANT Non utilisé pour les systèmes d’exploitation NT.
DC_ENUMRESOLUTIONS Le paramètre pOutput pointe vers une mémoire tampon que la fonction doit remplir avec un tableau LONG. Pour chaque résolution prise en charge par l’imprimante, la fonction doit retourner deux mots longs (un pour la dimension x et un pour la dimension y ) de la résolution, en points par pouce. La valeur de retour de la fonction doit être le nombre de résolutions prises en charge. Si pOutput a la valeur NULL, la fonction doit simplement retourner le nombre de résolutions prises en charge.
DC_EXTRA Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être le membre dmDriverExtra de la structure interne [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) du pilote.
DC_FIELDS Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être le membre dmFields de la structure interne [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) du pilote. Le membre dmFields indique quels membres dans la partie indépendante du périphérique de la structure DEVMODEW sont pris en charge par le pilote d’imprimante.
DC_FILEDEPENDENCIES Le paramètre pOutput pointe vers une mémoire tampon que la fonction doit remplir avec un tableau de mémoires tampons de chaîne, chacune de 64 caractères. Chaque mémoire tampon de chaîne dans le tableau doit contenir une chaîne à caractères larges et terminée par null spécifiant le nom d’un fichier qui doit être installé avec le pilote. La valeur de retour de la fonction doit être le nombre d’éléments dans le tableau retourné. Si pOutput a la valeur NULL, la fonction doit simplement retourner le nombre d’éléments de tableau requis.
DC_MANUFACTURER Non utilisé pour les systèmes d’exploitation NT.
DC_MAXEXTENT Le paramètre pOutput n’est pas utilisé. La fonction doit retourner une structure POINTS (décrite dans la documentation Microsoft Windows SDK). La structure doit contenir les valeurs maximales autorisées pour les membres dmPaperWidth (dimension x ) et dmPaperLength (dimension y ) de la structure DEVMODEW de l’imprimante.
DC_MEDIAREADY Le paramètre pOutput pointe vers une mémoire tampon que la fonction doit remplir avec un tableau de mémoires tampons de chaîne, chacune de 64 caractères. Chaque mémoire tampon de chaîne dans le tableau doit contenir une chaîne à caractères larges et terminée par NULL spécifiant le nom d’un formulaire papier utilisable. La valeur de retour de la fonction doit être le nombre d’éléments dans le tableau retourné. Si pOutput a la valeur NULL, la fonction doit simplement retourner le nombre d’éléments de tableau requis.
DC_MEDIATYPENAMES Le paramètre pOutput pointe vers une mémoire tampon que la fonction doit remplir avec un tableau de mémoires tampons de chaîne, chacune de 64 caractères. Chaque mémoire tampon de chaîne dans le tableau doit contenir une chaîne à caractères larges, terminée par NULL, spécifiant le nom d’un type de média pris en charge. La valeur de retour de la fonction doit être le nombre d’éléments dans le tableau retourné. Si pOutput a la valeur NULL, la fonction doit simplement retourner le nombre d’éléments de tableau requis.
DC_MEDIATYPES Le paramètre pOutput pointe vers une mémoire tampon que la fonction doit remplir avec un tableau DWORD. Chaque élément de tableau doit contenir une constante préfixée DMMEDIA (voir la structure [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) ou une valeur personnalisée représentant un type de média pris en charge. La valeur de retour de la fonction doit être le nombre d’éléments dans le tableau retourné. Si pOutput a la valeur NULL, la fonction doit simplement retourner le nombre d’éléments de tableau requis.
DC_MINEXTENT Le paramètre pOutput n’est pas utilisé. La fonction doit retourner une structure POINTS (décrite dans la documentation SDK Windows). La structure doit contenir les valeurs minimales autorisées pour les membres dmPaperWidth (dimension x ) et dmPaperLength (dimension y ) de la structure DEVMODEW de l’imprimante.
DC_MODEL Non utilisé pour les systèmes d’exploitation NT.
DC_NUP Le paramètre pOutput pointe vers une mémoire tampon que la fonction doit remplir avec un tableau DWORD. Chaque élément de tableau doit contenir un entier représentant une option N-up (autrement dit, chaque entier doit représenter un nombre pris en charge de pages de document par page physique). La valeur de retour de la fonction doit être le nombre d’éléments dans le tableau retourné. Si pOutput a la valeur NULL, la fonction doit simplement retourner le nombre d’éléments de tableau requis.
DC_ORIENTATION Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être le nombre de degrés de rotation requis pour produire une orientation paysage à partir de l’orientation portrait. La valeur zéro indique que l’orientation paysage n’est pas prise en charge.
DC_PAPERNAMES Le paramètre pOutput pointe vers une mémoire tampon que la fonction doit remplir avec un tableau de mémoires tampons de chaîne, chacune de 64 caractères. Chaque mémoire tampon de chaîne dans le tableau doit contenir une chaîne à caractères larges et terminée par NULL spécifiant le nom d’un formulaire papier. La valeur de retour de la fonction doit être le nombre d’éléments dans le tableau retourné. Si pOutput a la valeur NULL, la fonction doit simplement retourner le nombre d’éléments de tableau requis.
DC_PAPERS Le paramètre pOutput pointe vers une mémoire tampon que la fonction doit remplir avec un tableau WORD. Chaque élément de tableau doit contenir une constante avec préfixe DMPAPER (ou une valeur personnalisée) représentant un formulaire papier pris en charge. La valeur de retour de la fonction doit être le nombre d’éléments dans le tableau retourné. Si pOutput a la valeur NULL, la fonction doit simplement retourner le nombre d’éléments de tableau requis.
DC_PAPERSIZE Le paramètre pOutput pointe vers une mémoire tampon que la fonction doit remplir avec un tableau POINT. Chaque élément de tableau doit contenir les dimensions x et y du format de papier d’un formulaire, en 0,1 mm d’unité, en orientation portrait. La valeur de retour de la fonction doit être le nombre d’éléments dans le tableau retourné. Si pOutput a la valeur NULL, la fonction doit simplement retourner le nombre d’éléments de tableau requis.
DC_PERSONALITY Le paramètre pOutput pointe vers une mémoire tampon que la fonction doit remplir avec un tableau de mémoires tampons de chaîne, de 32 caractères chacun. Chaque mémoire tampon de chaîne dans le tableau doit contenir une chaîne à caractères larges et terminée par NULL spécifiant la langue de description de l’imprimante prise en charge par l’imprimante (par exemple, L"HP-GL/2 »). La valeur de retour de la fonction doit être le nombre d’éléments dans le tableau retourné. Si pOutput a la valeur NULL, la fonction doit simplement retourner le nombre d’éléments de tableau requis.
DC_PRINTERMEM Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être un entier représentant la quantité de mémoire d’imprimante disponible, en kilo-octets.
DC_PRINTRATE Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être un entier représentant la vitesse d’impression, dans les unités spécifiées pour DC_PRINTRATEUNIT.
DC_PRINTRATEPPM Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être un entier représentant la vitesse d’impression, en pages par minute.
DC_PRINTRATEUNIT Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit identifier les unités utilisées pour spécifier la valeur retournée pour DC_PRINTRATE. L’une des constantes suivantes doit être spécifiée : PRINTRATEUNIT_PPM - pages/min. PRINTRATEUNIT_CPS - chars./sec. PRINTRATEUNIT_LPM - lignes/min. PRINTRATEUNIT_IPM - pouces/min.
DC_SIZE Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être le membre dmSize de la structure interne [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) du pilote.
DC_STAPLE Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être TRUE si l’imprimante prend en charge l’agrafage et FALSE si l’imprimante ne prend pas en charge l’agrafage.
DC_TRUETYPE Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction peut être zéro, un ou plusieurs des indicateurs suivants : DCTT_BITMAP : l’appareil peut imprimer des polices TrueType en tant que graphiques. DCTT_DOWNLOAD : l’appareil peut accepter les polices TrueType téléchargées. DCTT_DOWNLOAD_OUTLINE : (Windows 95/98/Me uniquement) L’appareil peut télécharger les polices Outline TrueType. DCTT_SUBDEV : l’appareil peut remplacer les polices d’appareil par les polices TrueType.
DC_VERSION Le paramètre pOutput n’est pas utilisé. La valeur de retour de la fonction doit être le membre dmSpecVersion de la structure interne [DEVMODEW](/windows/win32/api/wingdi/ns-wingdi-devmodew) du pilote.

[out] pOutput

Pointeur fourni par l’appelant vers une mémoire tampon pour recevoir des informations fournies par la fonction. L’utilisation de la mémoire tampon dépend de la valeur reçue pour le paramètre Capability .

[in, optional] pDevmode

Pointeur fourni par l’appelant vers une structure DEVMODEW qui décrit les caractéristiques actuelles du travail d’impression. Si ce paramètre a la valeur NULL, DrvDeviceCapabilities récupère les valeurs d’initialisation par défaut actuelles pour le pilote d’imprimante spécifié, comme la structure DEVMODEW par défaut de l’utilisateur de la file d’attente d’impression.

Valeur retournée

La valeur de retour de la fonction dépend de la valeur reçue pour le paramètre Capability . Si la valeur de fonctionnalité reçue représente une fonctionnalité que le pilote ne prend pas en charge, ou si une erreur est rencontrée, la fonction doit retourner GDI_ERROR.

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête winddiui.h (incluez Winddiui.h)