Función EnumResourceLanguagesW (winbase.h)

Enumera los recursos específicos del lenguaje, del tipo y el nombre especificados, asociados a un módulo binario.

Sintaxis

BOOL EnumResourceLanguagesW(
  [in] HMODULE          hModule,
  [in] LPCWSTR          lpType,
  [in] LPCWSTR          lpName,
  [in] ENUMRESLANGPROCW lpEnumFunc,
  [in] LONG_PTR         lParam
);

Parámetros

[in] hModule

Tipo: HMODULE

Identificador de un módulo en el que se va a buscar. A partir de Windows Vista, si se trata de un ejecutable portátil ( LN) independiente del idioma, los archivos .mui adecuados (si existen) se incluyen en la búsqueda. 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 de 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 obtener más información, vea la sección Comentarios a continuación.

[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 EnumResLangProcW.

[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.

Valor devuelto

Tipo: BOOL

Devuelve TRUE si es correcto o FALSE en caso contrario. 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 ejecutable portátil ( archivo LN) independiente del idioma 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, EnumResourceLanguages llama a una función de devolución de llamada definida por la aplicación lpEnumFunc, pasando el identificador de idioma (consulte Identificadores de idioma) del idioma para el que se encontró un recurso, así como los distintos parámetros que se pasaron a EnumResourceLanguages.

Como alternativa, las aplicaciones pueden llamar a EnumResourceLanguagesEx, que proporciona un control más preciso de los recursos enumerados.

La función EnumResourceLanguages 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.

En Windows Vista y versiones posteriores, si hModule especifica un archivo LN, los recursos enumerados pueden residir en el archivo LN o en un archivo .mui asociado a él. Si no se encuentra ningún archivo .mui, solo se devuelven los recursos del archivo LN. A diferencia de EnumResourceNames y EnumResourceTypes, esta búsqueda examinará varios archivos .mui. La enumeración comienza con archivos .mui en las carpetas asociadas a EnumUILanguages. Estos van seguidos de cualquier otro archivo .mui cuyas rutas de acceso se ajusten al esquema descrito en MUI Resource Management. Por último, también se busca en el archivo designado por hModule .

La enumeración nunca incluye duplicados: si un recurso con el mismo nombre, tipo y idioma se incluye en el archivo LN y en un archivo .mui, el recurso solo se enumerará una vez.

Ejemplos

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

Nota

El encabezado winbase.h define EnumResourceLanguages 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

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winbase.h (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Consulte también

Conceptual

EnumResLangProc

EnumResourceLanguagesEx

EnumResourceNames

EnumResourceTypes

Referencia

Recursos