Función EnumResourceLanguagesExA (libloaderapi.h)

Enumera los recursos específicos del lenguaje, del tipo y el nombre especificados, asociados a un módulo binario especificado. Extiende EnumResourceLanguages al permitir más control sobre la enumeración.

Sintaxis

BOOL EnumResourceLanguagesExA(
  [in] HMODULE          hModule,
  [in] LPCSTR           lpType,
  [in] LPCSTR           lpName,
  [in] ENUMRESLANGPROCA lpEnumFunc,
  [in] LONG_PTR         lParam,
  [in] DWORD            dwFlags,
  [in] LANGID           LangId
);

Parámetros

[in] hModule

Tipo: HMODULE

Identificador de un módulo que se va a buscar. Normalmente se trata de un ejecutable portátil (LN) independiente del idioma y, si se establece la marca RESOURCE_ENUM_MUI , los archivos .mui adecuados se incluyen en la búsqueda. Como alternativa, puede ser un identificador de un archivo .mui u otro archivo LN. Si se trata de un archivo .mui específico, solo ese archivo se busca en recursos.

Si este parámetro es NULL, equivale a pasar un identificador al módulo usado para crear el proceso actual.

[in] lpType

Tipo: LPCTSTR

Tipo del recurso para el que se enumera el idioma. Como alternativa, en lugar de un puntero, este parámetro puede ser MAKEINTRESOURCE(ID), donde ID es un valor entero que representa un tipo de recurso predefinido. Para obtener una lista de los tipos de recursos predefinidos, consulte Tipos de recursos. Para más

a continuación, consulte la sección Comentarios.

[in] lpName

Tipo: LPCTSTR

Nombre del recurso para el que se enumera el idioma. Como alternativa, en lugar de un puntero, este parámetro puede ser MAKEINTRESOURCE(ID), donde ID es el identificador entero del recurso. Para obtener más información, vea la sección Comentarios a continuación.

[in] lpEnumFunc

Tipo: ENUMRESLANGPROC

Puntero a la función de devolución de llamada que se va a llamar para cada lenguaje de recursos enumerado. Para obtener más información, vea EnumResLangProcA.

[in] lParam

Tipo: LONG_PTR

Valor definido por la aplicación que se pasa a la función de devolución de llamada. Este parámetro se puede usar en la comprobación de errores.

[in] dwFlags

Tipo: DWORD

Tipo de archivo que se va a buscar. Se admiten los valores siguientes. Tenga en cuenta que si dwFlags es cero, se supone que se especifican las marcas RESOURCE_ENUM_LN y RESOURCE_ENUM_MUI .

Valor Significado
RESOURCE_ENUM_MUI
0x0002
Busque recursos específicos del idioma en archivos .mui asociados al archivo LN especificado por hModule. Como alternativa, si LangId es distinto de cero, el único archivo .mui buscado será el que coincida con el langId especificado. Normalmente, esta marca solo se debe usar si hModule hace referencia a un archivo LN. Si hModule hace referencia a un archivo .mui, ese archivo realmente está cubierto por la marca RESOURCE_LN , a pesar del nombre de la marca. Consulte la sección Comentarios a continuación para obtener una secuencia de búsqueda.
RESOURCE_ENUM_LN
0x0001
Busca en el archivo especificado por hModule, independientemente de si el archivo es un archivo LN, otro tipo de archivo LN o un archivo .mui.
RESOURCE_ENUM_MUI_SYSTEM
0x0004
Restringe la búsqueda de archivos .mui a los idiomas MUI instalados por el sistema.
RESOURCE_ENUM_VALIDATE
0x0008
Realiza una validación adicional en la sección de recursos y su referencia en el encabezado PE mientras realiza la enumeración para asegurarse de que los recursos tienen el formato correcto.

[in] LangId

Tipo: LANGID

Idioma de localización usado para filtrar la búsqueda en el archivo .mui. Este parámetro solo se usa cuando la marca RESOURCE_ENUM_MUI se establece en dwFlags. Si se especifica cero, todos los archivos .mui se incluyen en la búsqueda. Si se especifica un langId distinto de cero, el único archivo .mui buscado será el que coincida con el langId especificado.

Valor devuelto

Tipo: BOOL

Devuelve TRUE si la función se ejecuta correctamente o FALSE si la función no encuentra un recurso del tipo especificado, o si se produce un error en la función por otro motivo. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Si IS_INTRESOURCE(lpType) es TRUE, lpType especifica el identificador entero del tipo de recurso especificado. De lo contrario, es un puntero a una cadena terminada en null. Si el primer carácter de la cadena es un signo de libra (#), los caracteres restantes representan un número decimal que especifica el

identificador entero del tipo de recurso. Por ejemplo, la cadena "#258" representa el identificador 258.

Del mismo modo, si IS_INTRESOURCE(lpName) es TRUE, lpName especifica el identificador entero del recurso especificado. De lo contrario, es un puntero a una cadena terminada en null. Si el primer carácter de la cadena es un signo de libra (#), los caracteres restantes representan un número decimal que especifica el

identificador entero del recurso.

A partir de Windows Vista, el módulo binario suele ser un archivo LN y la enumeración también incluirá recursos de los archivos de recursos específicos del idioma correspondientes (archivos .mui) que contienen recursos de idioma localizables.

Para cada recurso encontrado, EnumResourceLanguagesEx llama a una función de devolución de llamada definida por la aplicación lpEnumFunc, pasando a la función de devolución de llamada el identificador de idioma (consulte Identificadores de idioma) del idioma para el que se encontró un recurso (así como los otros parámetros que se pasaron a EnumResourceLanguagesEx).

La búsqueda puede incluir un archivo LN y sus archivos .mui asociados, o bien puede limitarse a un único módulo binario de cualquier tipo o a los archivos .mui asociados a un único archivo LN. Además, al especificar un archivo LN para el parámetro hModule y un parámetro LangId distinto de cero, la búsqueda se puede limitar al archivo .mui único asociado con ese archivo LN y el idioma.

La función EnumResourceLanguagesEx continúa enumerando los lenguajes de recursos hasta que la función de devolución de llamada devuelve FALSE o se han enumerado todos los lenguajes de recursos.

Si hModule especifica un archivo LN y se seleccionan ambas marcas, los idiomas enumerados incluyen todos los idiomas cuyos recursos residen en el archivo LN o en cualquier archivo .mui asociado. Si no se encuentra ningún archivo .mui, solo se devuelven los idiomas del archivo LN.

Si dwFlags contiene RESOURCE_ENUM_MUI o NULL y LangId es 0, la enumeración incluye primero los idiomas asociados a todos los archivos .mui instalados por el sistema, mediante idiomas recuperados de EnumUILanguages.. Por último, si también se establece la marca RESOURCE_ENUM_LN , también se busca en el archivo designado por hModule .

Si langId es distinto de cero, solo se buscará el archivo .mui correspondiente a ese identificador de idioma. No se usarán reservaciones de idioma. Si no existe un archivo .mui para ese idioma, la enumeración estará vacía (a menos que los recursos de ese idioma existan en el archivo LN y la marca también se establece para buscar en el archivo LN).

La enumeración nunca incluye duplicados: si los recursos de un idioma determinado están contenidos en el archivo LN y en un archivo .mui, el tipo solo se enumerará una vez.

Ejemplos

Para obtener un ejemplo, vea Crear una lista de recursos.

Nota:

El encabezado libloaderapi.h define EnumResourceLanguagesEx como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado libloaderapi.h (incluya Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Conceptual

EnumResLangProcA

EnumResourceNamesEx

EnumResourceTypesEx

MAKEINTRESOURCE

Referencia

Recursos