DeviceCapabilitiesA, fonction (wingdi.h)
La fonction DeviceCapabilities récupère les fonctionnalités d’un pilote d’imprimante.
Syntaxe
int DeviceCapabilitiesA(
[in] LPCSTR pDevice,
[in] LPCSTR pPort,
[in] WORD fwCapability,
[out] LPSTR pOutput,
[in] const DEVMODEA *pDevMode
);
Paramètres
[in] pDevice
Pointeur vers une chaîne terminée par null qui contient le nom de l’imprimante. Notez qu’il s’agit du nom de l’imprimante, et non du pilote d’imprimante.
[in] pPort
Pointeur vers une chaîne terminée par null qui contient le nom du port auquel l’appareil est connecté, par exemple LPT1.
[in] fwCapability
Fonctionnalités à interroger. Ce paramètre peut prendre les valeurs suivantes.
Valeur | Signification |
---|---|
|
Récupère les noms des bacs à papier de l’imprimante. La mémoire tampon pOutput reçoit un tableau de mémoires tampons de chaîne. Chaque mémoire tampon de chaîne comporte 24 caractères et contient le nom d’un bac à papier. La valeur de retour indique le nombre d’entrées dans le tableau. Les chaînes de nom sont terminées par null, sauf si le nom contient 24 caractères. Si pOutput a la valeur NULL, la valeur de retour est le nombre d’entrées bin requises. |
|
Récupère la liste des bacs à papier disponibles. La mémoire tampon pOutput reçoit un tableau de valeurs WORD qui indiquent les sources de papier disponibles pour l’imprimante. La valeur de retour indique le nombre d’entrées dans le tableau. Pour obtenir la liste des valeurs de tableau possibles, consultez la description du membre dmDefaultSource de la structure DEVMODE . Si pOutput a la valeur NULL, la valeur renvoyée indique le nombre requis d’entrées dans le tableau. |
|
Si l’imprimante prend en charge le classement, la valeur de retour est 1 ; sinon, la valeur de retour est égale à zéro. Le paramètre pOutput n’est pas utilisé. |
|
Si l’imprimante prend en charge l’impression couleur, la valeur de retour est 1 ; sinon, la valeur de retour est égale à zéro. Le paramètre pOutput n’est pas utilisé. |
|
Retourne le nombre de copies que l’appareil peut imprimer. |
|
Retourne le numéro de version du pilote d’imprimante. |
|
Si l’imprimante prend en charge l’impression recto verso, la valeur de retour est 1 ; sinon, la valeur de retour est égale à zéro. Le paramètre pOutput n’est pas utilisé. |
|
Récupère la liste des résolutions prises en charge par l’imprimante. La mémoire tampon pOutput reçoit un tableau de valeurs LONG . Pour chaque résolution prise en charge, le tableau contient une paire de valeurs LONG qui spécifient les dimensions x et y de la résolution, en points par pouce. La valeur de retour indique le nombre de résolutions prises en charge. Si pOutput a la valeur NULL, la valeur renvoyée indique le nombre de résolutions prises en charge. |
|
Retourne le nombre d’octets requis pour la partie spécifique au périphérique de la structure DEVMODE pour le pilote d’imprimante. |
|
Retourne le membre dmFields de la structure DEVMODE du pilote d’imprimante. Le membre dmFields indique les membres de la partie indépendante du périphérique de la structure qui sont pris en charge par le pilote d’imprimante. |
|
Récupère les noms des fichiers supplémentaires qui doivent être chargés lorsqu’un pilote est installé. La mémoire tampon pOutput reçoit un tableau de mémoires tampons de chaîne. Chaque mémoire tampon de chaîne contient 64 caractères et contient le nom d’un fichier. La valeur de retour indique le nombre d’entrées dans le tableau. Les chaînes de nom sont terminées par un caractère Null, sauf si le nom contient 64 caractères. Si pOutput a la valeur NULL, la valeur renvoyée est le nombre de fichiers. |
|
Retourne la taille de papier maximale que les membres dmPaperLength et dmPaperWidth de la structure DEVMODE du pilote d’imprimante peuvent spécifier. Le LOWORD de la valeur de retour contient la valeur maximale dmPaperWidth , et hiWORD contient la valeur maximale dmPaperLength . |
|
Récupère les noms des formulaires papier actuellement disponibles. La mémoire tampon pOutput reçoit un tableau de mémoires tampons de chaîne. Chaque mémoire tampon de chaîne contient 64 caractères et contient le nom d’un formulaire papier. La valeur de retour indique le nombre d’entrées dans le tableau. Les chaînes de nom sont terminées par un caractère Null, sauf si le nom contient 64 caractères. Si pOutput a la valeur NULL, la valeur renvoyée est le nombre de formulaires papier. |
|
Récupère les noms des types de supports pris en charge. La mémoire tampon pOutput reçoit un tableau de mémoires tampons de chaîne. Chaque mémoire tampon de chaîne contient 64 caractères et contient le nom d’un type de média pris en charge. La valeur de retour indique le nombre d’entrées dans le tableau. Les chaînes sont terminées par un caractère Null, sauf si le nom contient 64 caractères. Si pOutput a la valeur NULL, la valeur de retour correspond au nombre de noms de type de média requis. |
|
Récupère une liste des types de médias pris en charge. La mémoire tampon pOutput reçoit un tableau de valeurs DWORD qui indiquent les types de média pris en charge. La valeur de retour indique le nombre d’entrées dans le tableau. Pour obtenir la liste des valeurs de tableau possibles, consultez la description du membre dmMediaType de la structure DEVMODE . Si pOutput a la valeur NULL, la valeur renvoyée indique le nombre requis d’entrées dans le tableau. |
|
Retourne le format de papier minimal que les membres dmPaperLength et dmPaperWidth de la structure DEVMODE du pilote d’imprimante peuvent spécifier. Le LOWORD de la valeur de retour contient la valeur minimale dmPaperWidth , et HIWORD contient la valeur minimale dmPaperLength . |
|
Retourne la relation entre les orientations portrait et paysage pour un appareil, en termes de degrés de rotation de l’orientation portrait dans le sens inverse des aiguilles d’une montre pour produire une orientation paysage. La valeur de retour peut être une des suivantes :
|
|
Récupère un tableau d’entiers qui indiquent que l’imprimante peut imprimer plusieurs pages de document par page imprimée. La mémoire tampon pOutput reçoit un tableau de valeurs DWORD . Chaque valeur représente un nombre pris en charge de pages de document par page imprimée. La valeur de retour indique le nombre d’entrées dans le tableau. Si pOutput a la valeur NULL, la valeur renvoyée indique le nombre requis d’entrées dans le tableau. |
|
Récupère une liste de noms de papier pris en charge (par exemple, Lettre ou Juridique). La mémoire tampon pOutput reçoit un tableau de mémoires tampons de chaîne. Chaque mémoire tampon de chaîne contient 64 caractères et contient le nom d’un formulaire papier. La valeur de retour indique le nombre d’entrées dans le tableau. Les chaînes de nom sont terminées par un caractère Null, sauf si le nom contient 64 caractères. Si pOutput a la valeur NULL, la valeur renvoyée est le nombre de formulaires papier. |
|
Récupère la liste des formats de papier pris en charge. La mémoire tampon pOutput reçoit un tableau de valeurs WORD qui indiquent les tailles de papier disponibles pour l’imprimante. La valeur de retour indique le nombre d’entrées dans le tableau. Pour obtenir la liste des valeurs de tableau possibles, consultez la description du membre dmPaperSize de la structure DEVMODE . Si pOutput a la valeur NULL, la valeur renvoyée indique le nombre requis d’entrées dans le tableau. |
|
Récupère les dimensions, en dixièmes de millimètre, de chaque format de papier pris en charge. La mémoire tampon pOutput reçoit un tableau de structures POINT . Chaque structure contient la largeur (dimension x) et la longueur (dimension y) d’un format de papier comme si le papier était dans l’orientation DMORIENT_PORTRAIT . La valeur de retour indique le nombre d’entrées dans le tableau. |
|
Récupère la liste des langues de description de l’imprimante prises en charge par l’imprimante. La mémoire tampon pOutput reçoit un tableau de mémoires tampons de chaîne. Chaque mémoire tampon comporte 32 caractères et contient le nom d’une langue de description de l’imprimante. La valeur de retour indique le nombre d’entrées dans le tableau. Les chaînes de nom sont terminées par null, sauf si le nom contient 32 caractères. Si pOutput a la valeur NULL, la valeur de retour indique le nombre requis d’entrées de tableau. |
|
La valeur de retour est la quantité de mémoire d’imprimante disponible, en kilo-octets. Le paramètre pOutput n’est pas utilisé. |
|
La valeur de retour indique la vitesse d’impression de l’imprimante. La valeur retournée pour DC_PRINTRATEUNIT indique les unités de la valeur DC_PRINTRATE . Le paramètre pOutput n’est pas utilisé. |
|
La valeur de retour indique la vitesse d’impression de l’imprimante, en pages par minute. Le paramètre pOutput n’est pas utilisé. |
|
La valeur de retour est l’une des valeurs suivantes qui indiquent les unités de taux d’impression pour la valeur retournée pour l’indicateur DC_PRINTRATE . Le paramètre pOutput n’est pas utilisé.
|
|
Retourne le membre dmSize de la structure DEVMODE du pilote d’imprimante. |
|
Si l’imprimante prend en charge l’agrafage, la valeur de retour est une valeur différente de zéro ; sinon, la valeur de retour est égale à zéro. Le paramètre pOutput n’est pas utilisé. |
|
Récupère les capacités du pilote à utiliser des polices TrueType. Pour DC_TRUETYPE, le paramètre pOutput doit être NULL. La valeur de retour peut être une ou plusieurs des valeurs suivantes :
|
|
Retourne la version de spécification à laquelle le pilote d’imprimante est conforme. |
[out] pOutput
Pointeur vers un tableau. Le format du tableau dépend du paramètre fwCapability . Consultez chaque fonctionnalité ci-dessus pour savoir ce qui est retourné si pOutput a la valeur NULL.
[in] pDevMode
Pointeur vers une structure DEVMODE . Si ce paramètre a la valeur NULL, DeviceCapabilities récupère les valeurs d’initialisation par défaut actuelles pour le pilote d’imprimante spécifié. Sinon, la fonction récupère les valeurs contenues dans la structure vers laquelle pDevMode pointe.
Valeur retournée
Si la fonction réussit, la valeur de retour dépend du paramètre fwCapability . Une valeur de retour égale à zéro indique généralement que, même si la fonction s’est terminée avec succès, il y a eu un certain type de défaillance, par exemple une fonctionnalité qui n’est pas prise en charge. Pour plus d’informations, consultez les descriptions des valeurs fwCapability .
Si la fonction retourne -1, cela peut signifier que la fonctionnalité n’est pas prise en charge ou qu’il y a eu une défaillance générale de la fonction.
Remarques
Si un pilote d’imprimante prend en charge des fonctionnalités de périphérique personnalisées, le pilote doit appeler la fonction SetPrinterData pour chaque fonctionnalité personnalisée. La fonction SetPrinterData ajoute les données d’imprimante appropriées au système d’impression, ce qui permet aux applications 32 bits d’accéder aux fonctionnalités personnalisées sur les installations Windows 64 bits.
Pour chaque fonctionnalité personnalisée, vous devez d’abord ajouter des données d’imprimante qui décrivent le type de la fonctionnalité. Pour ce faire, lorsque vous appelez SetPrinterData, définissez la chaîne pValueNamesur CustomDeviceCapabilityType_Xxx, où « Xxx » est la représentation hexadécimale de la fonctionnalité. Par exemple, vous pouvez avoir « CustomDeviceCapabilityType_1234 ». Les données de Registre que vous définissez doivent être de type REG_DWORD et vous devez définir leur valeur sur l’une des valeurs suivantes :
- 0, si la fonctionnalité personnalisée est un DWORD
- 1, si la fonctionnalité personnalisée est une mémoire tampon d’octets
- 2, si la fonctionnalité personnalisée est un tableau d’éléments
Notes
L’en-tête wingdi.h définit DeviceCapabilities comme un alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | wingdi.h (inclure Windows.h) |
Bibliothèque | WinSpool.lib |
DLL | WinSpool.drv |