Función EnumResourceTypesExW (libloaderapi.h)

Enumera los tipos de recursos asociados a un módulo binario especificado. La búsqueda puede incluir un archivo ejecutable portátil ( LN) independiente del idioma y sus archivos .mui asociados. Como alternativa, puede limitarse a un único módulo binario de cualquier tipo o a los archivos .mui asociados a un único archivo LN. La búsqueda también se puede limitar a un único archivo .mui asociado que contiene recursos para un idioma específico.

Para cada tipo de recurso encontrado, EnumResourceTypesEx llama a una función de devolución de llamada definida por la aplicación lpEnumFunc, pasando el tipo de recurso que encuentra, así como los distintos parámetros que se pasaron a EnumResourceTypesEx.

Sintaxis

BOOL EnumResourceTypesExW(
  [in, optional] HMODULE          hModule,
  [in]           ENUMRESTYPEPROCW lpEnumFunc,
  [in]           LONG_PTR         lParam,
  [in]           DWORD            dwFlags,
  [in]           LANGID           LangId
);

Parámetros

[in, optional] hModule

Tipo: HMODULE

Identificador de un módulo en el que se va a buscar. Normalmente se trata de un archivo LN y, si se establece la marca RESOURCE_ENUM_MUI , los archivos .mui adecuados se pueden incluir en la búsqueda. Como alternativa, puede ser un identificador de un archivo .mui u otro archivo LN.

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

[in] lpEnumFunc

Tipo: ENUMRESTYPEPROC

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

[in] lParam

Tipo: LONG_PTR

Valor definido por la aplicación que se pasa a la función de devolución de llamada.

[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 tipos de recursos en uno de los archivos .mui asociados al archivo especificado por hModule y con las preferencias de idioma actuales, siguiendo la estrategia habitual del cargador de recursos (consulte Administración de lenguajes de la interfaz de usuario). Como alternativa, si LangId es distinto de cero, solo se buscará en el archivo .mui del idioma especificado por LangId . 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_ENUM_LN , a pesar del nombre de la marca.
RESOURCE_ENUM_LN
0x0001
Busca solo el archivo especificado por hModule, independientemente de si el archivo es un archivo LN o un archivo .mui.
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. La validación establece un límite máximo de 260 caracteres para cada tipo enumerado.

[in] LangId

Tipo: LANGID

Idioma usado para filtrar la búsqueda en el módulo 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 que coincidan con las preferencias de idioma actuales se incluyen en la búsqueda, siguiendo la estrategia habitual del cargador de recursos (consulte Administración del lenguaje de la interfaz de usuario). 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 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

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

Si hModule especifica un archivo LN y se seleccionan ambas marcas, los tipos enumerados corresponden a los recursos que residen en el archivo LN o en los archivos .mui asociados. Si no se encuentra ningún archivo .mui, solo se devuelven los tipos del archivo LN. Una vez que se encuentre un archivo .mui adecuado, la búsqueda no continuará aún más, ya que todos los archivos .mui correspondientes a un único archivo LN tienen los mismos tipos de recursos.

Si dwFlags y LangId son cero, la función se comporta como EnumResourceTypes.

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 EnumResourceTypesEx 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 (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Consulte también

Conceptual

EnumResTypeProc

EnumResourceLanguagesEx

EnumResourceNamesEx

EnumResourceTypes

Referencia

Recursos