Condividi tramite


Riferimento alle impostazioni locali

Importante

La piattaforma di stampa moderna è il mezzo preferito di Windows per comunicare con le stampanti. Ti consigliamo di usare il driver di classe IPP di Microsoft, insieme a Print Support Apps (PSA), per personalizzare l'esperienza di stampa in Windows 10 e 11 per lo sviluppo di dispositivi per stampanti.

Per altre informazioni, vedere Piattaforma di stampa moderna e guida alla progettazione dell'app di supporto per la stampa.

Uso di file GPD

I file GPD possono fare riferimento alle impostazioni locali di un sistema. In genere, gli identificatori delle impostazioni locali vengono usati all'interno di *istruzioni Switch, in cui i parametri, ad esempio le dimensioni predefinite della carta e le DLL delle risorse, possono essere specificati in modo specifico per le impostazioni locali.

Per fare riferimento alle informazioni sulle impostazioni locali, il file GPD deve contenere un'istruzione *Include che include il file locale.gpd, incluso in con Windows Driver Kit (WDK), come indicato di seguito:

*Include: locale.gpd

Questo file GPD definisce una funzionalità denominata "Impostazioni locali" e definisce le opzioni per molte impostazioni locali. Fare riferimento al file per vedere quali impostazioni locali sono definite. Di seguito è riportato un esempio di utilizzo di queste opzioni delle impostazioni locali. L'esempio basa le dimensioni predefinite della carta sulle impostazioni locali.

*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

In fase di esecuzione, Unidrv determina le impostazioni locali predefinite del sistema chiamando GetSystemDefaultLCID. Quando viene installata una stampante, il parser GPD legge il file GPD della stampante e usa le informazioni all'interno dell'istruzione *Case associata alle impostazioni locali predefinite. Si noti che se le impostazioni locali del sistema vengono modificate dopo l'installazione della stampante, le opzioni basate sulle impostazioni locali non vengono modificate.

Ecco un altro esempio, che seleziona una DLL di risorse in base alle impostazioni locali. La DLL delle risorse può contenere risorse specifiche delle impostazioni locali, ad esempio stringhe di visualizzazione.

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

Impostazione delle impostazioni locali predefinite delle dimensioni della carta

È possibile che il driver assegni le dimensioni predefinite della carta, metrica o non metrica, in base alla posizione geografica dell'utente.

L'algoritmo seguente recupera le impostazioni locali di sistema predefinite e quindi usa i codici paese/area geografica per determinare se le impostazioni locali del sistema rappresentano un paese che in genere usa le dimensioni della metrica o della carta non metrica. Con queste informazioni, il driver può impostare le dimensioni predefinite della carta in modo appropriato, ad esempio A4 per i paesi che usano il sistema metrico e le dimensioni della lettera per i paesi che non lo fanno.

  1. Usare la funzione GetLocaleInfo per recuperare le impostazioni locali di sistema predefinite. Usare LOCALE_SYSTEM_DEFAULT per il primo parametro, Impostazioni locali e LOCALE_ICOUNTRY per il secondo parametro, LCType.

  2. Usare le impostazioni locali di sistema predefinite ottenute da GetLocaleInfo per determinare le dimensioni della metrica o della carta non metrica.

    • Non metrica se le impostazioni locali predefinite del sistema sono:

      • CTRY_UNITED_STATES o

      • CTRY_CANADA o

      • Maggiore o uguale a 50, ma minore di 60 e non CTRY_BRAZIL o

      • Maggiore o uguale a 500, ma minore di 600

    • Metrica in caso contrario.