Compartilhar via


Função EnumResourceTypesExA (libloaderapi.h)

Enumera tipos de recursos associados a um módulo binário especificado. A pesquisa pode incluir um arquivo de portátil de de idioma neutro (arquivo LN) e seus arquivos .mui associados. Como alternativa, ele pode ser limitado a um único módulo binário de qualquer tipo ou aos arquivos .mui associados a um único arquivo LN. A pesquisa também pode ser limitada a um único arquivo .mui associado que contém recursos para um idioma específico.

Para cada tipo de recurso encontrado, EnumResourceTypesEx chama uma função de retorno de chamada definida pelo aplicativo lpEnumFunc, passando o tipo de recurso encontrado, bem como os vários outros parâmetros que foram passados para EnumResourceTypesEx.

Sintaxe

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

Parâmetros

[in, optional] hModule

Tipo: HMODULE

O identificador para um módulo a ser pesquisado. Normalmente, esse é um arquivo LN e, se o sinalizador RESOURCE_ENUM_MUI estiver definido, os arquivos .mui apropriados poderão ser incluídos na pesquisa. Como alternativa, isso pode ser um identificador para um arquivo .mui ou outro arquivo LN.

Se esse parâmetro for NULL, será equivalente a passar um identificador para o módulo usado para criar o processo atual.

[in] lpEnumFunc

Tipo: ENUMRESTYPEPROC

Um ponteiro para a função de retorno de chamada a ser chamada para cada tipo de recurso enumerado. Para obter mais informações, consulte EnumResTypeProc.

[in] lParam

Tipo: LONG_PTR

Um valor definido pelo aplicativo passado para a função de retorno de chamada.

[in] dwFlags

Tipo: DWORD

O tipo de arquivo a ser pesquisado. Há suporte para os valores a seguir. Observe que, se dwFlags for zero, os sinalizadores RESOURCE_ENUM_LN e RESOURCE_ENUM_MUI serão considerados especificados.

Valor Significado
RESOURCE_ENUM_MUI
0x0002
Pesquise tipos de recursos em um dos arquivos .mui associados ao arquivo especificado por hModule e com as preferências de idioma atuais, seguindo a estratégia usual do Carregador de Recursos (consulte User Interface Language Management). Como alternativa, se LangId não for zero, somente o arquivo .mui do idioma, conforme especificado por LangId, será pesquisado. Normalmente, esse sinalizador deve ser usado somente se hModule referenciar um arquivo LN. Se hModule referenciar um arquivo .mui, esse arquivo será coberto pelo sinalizador RESOURCE_ENUM_LN, apesar do nome do sinalizador.
RESOURCE_ENUM_LN
0x0001
Pesquisa apenas o arquivo especificado por hModule, independentemente de o arquivo ser um arquivo LN ou um arquivo .mui.
RESOURCE_ENUM_VALIDATE
0x0008
Executa a validação extra na seção de recursos e sua referência no cabeçalho PE ao fazer a enumeração para garantir que os recursos sejam formatados corretamente. A validação define um limite máximo de 260 caracteres para cada tipo enumerado.

[in] LangId

Tipo: LANGID

O idioma usado para filtrar a pesquisa no módulo MUI. Esse parâmetro é usado somente quando o sinalizador de RESOURCE_ENUM_MUI é definido em dwFlags. Se zero for especificado, todos os arquivos .mui que correspondem às preferências de idioma atuais serão incluídos na pesquisa, seguindo a estratégia usual do Carregador de Recursos (consulte Gerenciamento de Linguagem de Interface do Usuário). Se um LangId não zero for especificado, o único arquivo .mui pesquisado será aquele que corresponde ao LangIdespecificado.

Valor de retorno

Tipo: BOOL

Retorna VERDADEIRO se tiver êxito ou false se a função não encontrar um recurso do tipo especificado ou se a função falhar por outro motivo. Para obter informações de erro estendidas, chame GetLastError.

Observações

A função EnumResourceTypesEx continua a enumerar tipos de recursos até que a função de retorno de chamada retorne FALSE ou todos os tipos de recursos tenham sido enumerados.

Se hModule especificar um arquivo LN e ambos os sinalizadores forem selecionados, os tipos enumerados corresponderão aos recursos que residem no arquivo LN ou nos arquivos .mui associados a ele. Se nenhum arquivo .mui for encontrado, somente os tipos do arquivo LN serão retornados. Depois que um arquivo .mui apropriado for encontrado, a pesquisa não continuará mais, pois todos os arquivos .mui correspondentes a um único arquivo LN têm os mesmos tipos de recurso.

Se dwFlags e LangId forem zero, a função se comportará como EnumResourceTypes.

Se LangId não for zero, somente o arquivo .mui correspondente a esse identificador de idioma será pesquisado. Os fallbacks de linguagem não serão usados. Se um arquivo .mui para esse idioma não existir, a enumeração estará vazia (a menos que existam recursos para esse idioma no arquivo LN e o sinalizador esteja definido para pesquisar o arquivo LN também).

A enumeração nunca inclui duplicatas: se os recursos de um idioma específico estiverem contidos no arquivo LN e em um arquivo .mui, o tipo será enumerado apenas uma vez.

Exemplos

Para obter um exemplo, consulte Criando uma lista de recursos.

Nota

O cabeçalho libloaderapi.h define EnumResourceTypesEx como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2008 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho libloaderapi.h (inclua Windows.h)
biblioteca Kernel32.lib
de DLL Kernel32.dll

Consulte também

Conceitual

EnumResTypeProc

EnumResourceLanguagesEx

EnumResourceNamesEx

EnumResourceTypes

de referência de

Recursos