Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le spouleur d’impression et le pilote d’imprimante Unidrv sont améliorés dans Windows Vista pour fournir une meilleure prise en charge des formulaires d’imprimante dans des environnements multilingues. Le spouleur prend en charge les chaînes MUI (Multi language User Interface) pour les noms d’affichage du formulaire et la nouvelle structure de données FORM_INFO_2 pour inclure les informations supplémentaires dont vous avez besoin pour prendre en charge les chaînes MUI.
La structure de données FORM_INFO_1 est définie comme suit.
typedef struct _FORM_INFO_1 {
DWORD Flags;
LPTSTR pName;
SIZEL Size;
RECTL ImageableArea;
} FORM_INFO_1, *PFORM_INFO_1;
Dans FORM_INFO_1, le membre pName est le seul champ de chaîne. Vous pouvez donc l’utiliser pour créer le nom de clé que les routines de recherche internes utilisent pour localiser des formulaires dans la base de données interne et également comme nom d’affichage affiché aux utilisateurs finaux.
La structure FORM_INFO_2, définie dans l’exemple de code suivant, ajoute des champs supplémentaires pour fournir la prise en charge muI.
typedef struct _FORM_INFO_2 {
DWORD Flags;
LPTSTR pName;
SIZEL Size;
RECTL ImageableArea;
LPCSTR pKeyword;
DWORD StringType;
LPCTSTR pMuiDll;
DWORD dwResourceId;
LPCTSTR pDisplayName;
LANGID wLangId;
} FORM_INFO_2, *PFORM_INFO_2;
FORM_INFO_2 ajoute le membre pKeyword pour activer l’ajout d’un mot clé distinct, qui peut être différent du nom d’affichage.
Cette structure vous permet également d’ajouter la DLL de ressource et l’ID de ressource à la base de données de formulaires à l’aide du membre pMuiDll et dwResourceId. Lorsque le membre StringType a la valeur de STRING_MUIDLL et que les membres pMuiDll et dwResourceId contiennent la DLL de ressource et l’identificateur du nom d’affichage, la fonction AddForm dans le spouleur recherche le nom d’affichage dans la DLL et l’enregistre en interne. Lorsque la fonction GetForm ou EnumForms est appelée avec une valeur de niveau 2, les informations retournées dans la structure FORM_INFO_2 contiennent le nom complet référencé par pDisplayName et l’ID de langue correspondant dans wLangID.
Les pilotes d’imprimante qui continuent d’utiliser la structure FORM_INFO_1 lorsqu’ils appellent AddForm stockent uniquement les informations trouvées dans cette structure dans la base de données de formulaires. Les membres de la structure FORM_INFO_2 qui ne se trouvent pas dans la structure FORM_INFO_1 seront NULL ou 0 lorsqu’ils sont interrogés par un appel à GetForm ou EnumForms qui retourne une structure FORM_INFO_2.
Pour plus d’informations sur l’ajout de formulaires d’imprimante et sur l’utilisation des structures de données FORM_INFO_1 et FORM_INFO_2, consultez la documentation du Kit de développement logiciel (SDK) Microsoft Windows.