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