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