Referencia a configuraciones locales
Importante
La plataforma de impresión moderna es el medio preferido de Windows para comunicarse con impresoras. Se recomienda usar el controlador de clase de bandeja de entrada IPP de Microsoft, junto con aplicaciones de soporte técnico de impresión (PSA), para personalizar la experiencia de impresión en Windows 10 y 11 para el desarrollo de dispositivos de impresora.
Para obtener más información, consulte Plataforma de impresión moderna y la Guía de diseño de aplicaciones para compatibilidad con impresión.
Uso de archivos GPD
Los archivos GPD pueden hacer referencia a la configuración regional de un sistema. Normalmente, los identificadores de configuración regional se usan en las sentencias *Switch, donde parámetros como los tamaños de papel predeterminados y los recursos DLL pueden especificarse de forma específica para la configuración regional.
Para hacer referencia a la información de configuración regional, el archivo GPD debe contener una sentencia *Include que incluya el archivo locale.gpd, que se incluye con el Kit de controladores de Windows (WDK), como se indica a continuación:
*Include: locale.gpd
Este archivo GPD define una característica llamada "Locale", y define opciones para muchas configuraciones locales. (Consulte el archivo para ver qué configuraciones locales están definidas). A continuación se muestra un ejemplo de uso de estas opciones de configuración regional. El ejemplo basa el tamaño de papel predeterminado en la configuración regional.
*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
En tiempo de ejecución, Unidrv determina la configuración regional predeterminada del sistema llamando a GetSystemDefaultLCID. Cuando se instala una impresora, el analizador GPD lee el archivo GPD de la impresora y usa la información de la sentencia *Case asociada con la configuración regional predeterminada. Tenga en cuenta que si la configuración regional del sistema se cambia después de instalar la impresora, las opciones basadas en la configuración regional no se modifican.
He aquí otro ejemplo, que selecciona una DLL de recursos en función de la configuración regional. La DLL de recursos puede contener recursos específicos de la configuración regional, como cadenas de visualización.
*switch: Locale
{
*case: English_United_States
{
*ResourceDLL: english.dll
}
*case: German_Standard
{
*ResourceDLL: german.dll
}
*default:
{
*ResourceDLL: english.dll
}
}
Establecer el tamaño de papel por defecto según la configuración regional
Es posible que desee que su controlador asigne el tamaño de papel predeterminado, métrico o no métrico, en función de la ubicación geográfica del usuario.
El siguiente algoritmo recupera la configuración regional predeterminada del sistema y, a continuación, usa los códigos de país/región para determinar si la configuración regional del sistema representa un país que suele usar tamaños de papel métricos o no métricos. Con esta información, el controlador puede establecer el tamaño de papel predeterminado de forma adecuada, como A4 para los países que usan el sistema métrico y tamaño Carta para los países que no lo usan.
Use la función GetLocaleInfo para recuperar la configuración regional predeterminada del sistema. Use LOCALE_SYSTEM_DEFAULT para el primer parámetro, Locale, y LOCALE_ICOUNTRY para el segundo parámetro, LCType.
Use la configuración regional predeterminada del sistema obtenida de GetLocaleInfo para determinar el tamaño métrico o no métrico del papel.
No métrico si la configuración regional predeterminada del sistema es:
CTRY_UNITED_STATES o
CTRY_CANADA o
Mayor o igual que 50, pero menor que 60 y no CTRY_BRAZIL o
Mayor o igual que 500, pero menor que 600
Si no, métrica.