Fonction ExtDeviceMode (winspool.h)
La fonction ExtDeviceMode est fournie uniquement pour la compatibilité avec les applications 16 bits. Les pilotes d’imprimante sans cette exigence doivent utiliser la fonction DocumentProperties, qui est décrite dans la documentation Microsoft Windows SDK.
La fonction ExtDeviceMode récupère ou modifie les informations d’initialisation de l’imprimante pour un pilote graphique donné, ou affiche une feuille de propriétés de configuration d’imprimante fournie par le pilote pour l’imprimante spécifiée.
Syntaxe
LONG ExtDeviceMode(
[in, optional] HWND hWnd,
[in, optional] HANDLE hInst,
[in, out] LPDEVMODEA pDevModeOutput,
[in, optional] LPSTR pDeviceName,
[in, optional] LPSTR pPort,
[in, optional] LPDEVMODEA pDevModeInput,
[in, optional] LPSTR pProfile,
DWORD fMode
);
Paramètres
[in, optional] hWnd
Gérez la fenêtre parente pour la feuille de propriétés de configuration de l’imprimante.
[in, optional] hInst
Non utilisé. Gérez le module instance du pilote de périphérique.
[in, out] pDevModeOutput
Pointeur vers la structure DEVMODE qui reçoit les données de configuration de l’imprimante fournies dans la mémoire tampon vers laquelle pointe le paramètre pDevModeInput .
[in, optional] pDeviceName
Pointeur vers une chaîne terminée par null qui contient le nom de l’appareil pour lequel la feuille de propriétés de configuration de l’imprimante est affichée.
[in, optional] 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, optional] pDevModeInput
Pointeur vers la structure DEVMODE que le système d’exploitation utilise pour initialiser les champs de la feuille de propriétés.
Ce paramètre est utilisé uniquement si l’indicateur DM_IN_BUFFER est défini dans le paramètre fMode . Si DM_IN_BUFFER n’est pas défini, le système d’exploitation utilise la structure DEVMODE par défaut de l’imprimante.
[in, optional] pProfile
Non utilisé. Pointeur vers une chaîne terminée par null qui contient le nom du fichier d’initialisation dans lequel les informations d’initialisation sont enregistrées et lues.
fMode
Spécifie les opérations effectuées par la fonction. Si ce paramètre est égal à zéro, la fonction ExtDeviceMode retourne le nombre d’octets requis par la structure DEVMODE du pilote d’imprimante. Sinon, ce paramètre peut être défini sur une ou plusieurs des valeurs d’indicateur suivantes.
Indicateur | Description |
---|---|
DM_COPY | Écrivez les paramètres actuels du pilote dans la structure DEVMODE pointée vers le paramètre pDevModeOutput . L’application appelante doit allouer une mémoire tampon suffisamment grande pour contenir les informations. Si cet indicateur n’est pas défini, pDevModeOutput peut avoir la valeur NULL. |
DM_IN_BUFFER | Fusionnez les paramètres d’impression actuels du pilote d’imprimante avec les paramètres de la structure DEVMODE pointées vers le paramètre pDevModeInput . Cela se produit avant l’invite, la copie ou la mise à jour. La fonction met à jour la structure uniquement pour les membres spécifiés par le membre dmFields de la structure DEVMODE. En cas de conflit pendant la fusion, les paramètres de la structure DEVMODE pointée par pDevModeInput remplacent les paramètres d’impression actuels du pilote d’imprimante. |
DM_UPDATE | Affichez une feuille de propriétés pour permettre à l’utilisateur de modifier les propriétés de l’imprimante, puis écrivez les paramètres « par utilisateur » actuels du pilote dans la ruche de l’utilisateur dans le Registre. |
Valeur retournée
Si le paramètre wMode est égal à zéro, la fonction retourne la taille, en octets, de la structure DEVMODE requise pour contenir les données d’initialisation du pilote d’imprimante. Notez que cette valeur peut être supérieure à la taille d’une structure DEVMODE si le pilote d’imprimante ajoute des données privées à la structure. Si la fonction affiche la boîte de dialogue d’initialisation, la valeur de retour est IDOK ou IDCANCEL, en fonction du bouton choisi par l’utilisateur. Si la fonction n’affiche pas la boîte de dialogue et a réussi, la valeur de retour est IDOK. La valeur de retour est inférieure à zéro si la fonction a échoué.
Remarques
La fonction ExtDeviceMode appelle la fonction DocumentProperties (décrite dans la documentation SDK Windows) pour afficher une feuille de propriétés qui permet à un utilisateur de sélectionner des options d’imprimante telles que le format du papier, l’orientation du papier et la qualité de sortie. Les pilotes d’imprimante écrits pour Windows 3.x et Windows 9x utilisent cette fonction.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | winspool.h (inclure Winspool.h) |
Bibliothèque | Winspool.lib |
DLL | WinSpool.drv |