Partager via


Référencement des paramètres régionaux

Important

La plateforme d’impression moderne est le moyen privilégié de Windows pour communiquer avec les imprimantes. Nous vous recommandons d’utiliser le pilote de classe IPP en boîte de Microsoft, ainsi que les applications de support d’impression (PSA), pour personnaliser l’expérience d’impression dans Windows 10 et 11 pour le développement de périphériques d’impression.

Pour plus d’informations, veuillez consulter la section Plateforme d’impression moderne et le Guide de conception des applications de support d’impression.

Utilisation des fichiers GPD

Les fichiers GPD peuvent référencer les paramètres linguistiques d'un système. En règle générale, les identificateurs de paramètres régionaux sont utilisés dans les instructions *Switch, où des paramètres tels que les formats de papier par défaut et les DLL de ressources peuvent être spécifiés en fonction des paramètres régionaux.

Pour référencer les informations relatives aux paramètres régionaux, le fichier GPD doit contenir une instruction *Include qui inclut le fichier locale.gpd, qui est inclus dans le kit de pilotes Windows (WDK), comme suit :

*Include: locale.gpd

Ce fichier GPD définit une fonctionnalité appelée « Locale », et définit des options pour de nombreuses locales. (Reportez-vous au fichier pour connaître les paramètres régionaux définis.) Vous trouverez ci-dessous un exemple d'utilisation de ces options régionales. L'exemple base le format de papier par défaut sur les paramètres régionaux.

*Feature: PaperSize
{
...
    Option: A4
    {
    }
    ...
*switch: Locale
{
    *case: English_United_States
    {
        *DefaultOption: Letter
    }
    *case: English_United_Kingdom
    {
        *DefaultOption: A4
    }
    *default:
    {
        *DefaultOption: Letter
    }
} *% End of switch
} *% End of Feature: PaperSize

Au moment de l'exécution, Unidrv détermine les paramètres linguistiques par défaut du système en appelant GetSystemDefaultLCID. Lorsqu'une imprimante est installée, l'analyseur GPD lit le fichier GPD de l'imprimante et utilise les informations contenues dans l'instruction *Case associée à la locale par défaut. Notez que si les paramètres régionaux du système sont modifiés après l'installation de l'imprimante, les options locales ne sont pas modifiées.

Voici un autre exemple, qui sélectionne une DLL de ressource en fonction des paramètres régionaux. La DLL de ressources peut contenir des ressources spécifiques aux paramètres régionaux, telles que des chaînes d'affichage.

*switch: Locale
{
    *case: English_United_States
    {
        *ResourceDLL: english.dll
    }
    *case: German_Standard
    {
        *ResourceDLL: german.dll
    }
    *default:
    {
        *ResourceDLL: english.dll
    }
}

Définition du format de papier par défaut en fonction des paramètres régionaux

Il se peut que vous souhaitiez que votre pilote attribue le format de papier par défaut, métrique ou non métrique, en fonction de la situation géographique de l'utilisateur.

L'algorithme suivant récupère les paramètres régionaux du système par défaut, puis utilise les codes pays/région pour déterminer si les paramètres régionaux du système représentent un pays qui utilise généralement des formats de papier métriques ou non métriques. Grâce à ces informations, votre pilote peut définir le format de papier par défaut de manière appropriée, par exemple A4 pour les pays qui utilisent le système métrique et Letter pour les pays qui ne l'utilisent pas.

  1. Utilisez la fonction GetLocaleInfo pour récupérer les paramètres linguistiques par défaut du système. Utilisez LOCALE_SYSTEM_DEFAULT pour le premier paramètre, Locale, et LOCALE_ICOUNTRY pour le second paramètre, LCType.

  2. Utilisez les paramètres régionaux par défaut du système obtenus à partir de GetLocaleInfo pour déterminer le format métrique ou non métrique du papier.

    • Non métrique si le système local par défaut est :

      • CTRY_UNITED_STATES, ou

      • CTRY_CANADA, ou

      • Supérieure ou égale à 50, mais inférieure à 60 et non CTRY_BRAZIL, ou

      • Supérieure ou égale à 500, mais inférieure à 600

    • Métrique sinon.