Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
A moderna plataforma de impressão é o meio preferido do Windows para comunicar com as impressoras. Recomendamos que utilize o controlador de classe da caixa de entrada IPP da Microsoft, juntamente com as Aplicações de Suporte de Impressão (PSA), para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.
Para obter mais informações, consulte Guia de design do aplicativo de suporte de impressão v1 e v2.
Usando arquivos GPD
Os arquivos GPD podem fazer referência à localidade de um sistema. Normalmente, os identificadores de localidade são usados dentro das instruções *Switch, onde parâmetros como tamanhos de papel padrão e DLLs de recursos podem ser especificados de acordo com a localidade.
Para fazer referência a informações de localidade, o arquivo GPD deve conter uma instrução *Include que inclua o arquivo locale.gpd, que está incluído no com o Windows Driver Kit (WDK), da seguinte maneira:
*Include: locale.gpd
Esse arquivo GPD define um recurso chamado "Locale" e define opções para muitas localidades. (Consulte o arquivo para ver quais localidades estão definidas.) A seguir está um exemplo de uso dessas opções de localidade. O exemplo baseia o tamanho do papel padrão na localidade.
*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
Em tempo de execução, o Unidrv determina a localidade padrão do sistema chamando GetSystemDefaultLCID. Quando uma impressora é instalada, o analisador GPD lê o arquivo GPD da impressora e usa informações dentro da instrução *Case associada à localidade padrão. Observe que, se a localidade do sistema for alterada após a instalação da impressora, as opções baseadas em localidade não serão alteradas.
Aqui está outro exemplo, que seleciona uma DLL de recurso com base na localidade. A DLL do recurso pode conter recursos específicos da localidade, como cadeias de caracteres de exibição.
*switch: Locale
{
*case: English_United_States
{
*ResourceDLL: english.dll
}
*case: German_Standard
{
*ResourceDLL: german.dll
}
*default:
{
*ResourceDLL: english.dll
}
}
Definindo o tamanho padrão do papel por localidade
Talvez você queira que o driver atribua o tamanho de papel padrão, métrico ou não métrico, com base na localização geográfica do usuário.
O algoritmo a seguir recupera a localidade padrão do sistema e, em seguida, usa códigos de país/região para determinar se a localidade do sistema representa um país que normalmente usa tamanhos de papel métricos ou não métricos. Com essas informações, o driver pode definir o tamanho de papel padrão adequadamente, como A4 para países que usam o sistema métrico e tamanho de letra para países que não usam.
Use a função GetLocaleInfo para recuperar a localidade padrão do sistema. Use LOCALE_SYSTEM_DEFAULT para o primeiro parâmetro, Localee LOCALE_ICOUNTRY para o segundo parâmetro, LCType.
Utilize a localidade padrão do sistema obtida a partir de GetLocaleInfo para determinar o tamanho de papel métrico ou não métrico.
Sistema não métrico se a localidade padrão do sistema for:
CTRY_UNITED_STATES, ou
CTRY_CANADA, ou
Igual ou superior a 50, mas inferior a 60 e não CTRY_BRAZIL, ou
Maior ou igual a 500, mas inferior a 600
Métrica de outra forma.