Função EnumResourceLanguagesExA (libloaderapi.h)
Enumera recursos específicos do idioma, do tipo e nome especificados, associados a um módulo binário especificado. Estende EnumResourceLanguages permitindo mais controle sobre a enumeração.
Sintaxe
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
O identificador de um módulo a ser pesquisado. Normalmente, esse é um Executável Portátil neutro em linguagem (arquivo LN) e, se o sinalizador RESOURCE_ENUM_MUI estiver definido, os arquivos .mui apropriados serão incluídos na pesquisa. Como alternativa, isso pode ser um identificador para um arquivo .mui ou outro arquivo LN. Se esse for um arquivo .mui específico, somente esse arquivo será pesquisado em busca de recursos.
Se esse parâmetro for NULL, será equivalente a passar um identificador para o módulo usado para criar o processo atual.
[in] lpType
Tipo: LPCTSTR
O tipo do recurso para o qual o idioma está sendo enumerado. Como alternativa, em vez de um ponteiro, esse parâmetro pode ser MAKEINTRESOURCE (ID), em que a ID é um valor inteiro que representa um tipo de recurso predefinido. Para obter uma lista de tipos de recursos predefinidos, consulte tipos de recursos. Para saber mais
informações, consulte a seção Comentários abaixo.
[in] lpName
Tipo: LPCTSTR
O nome do recurso para o qual o idioma está sendo enumerado. Como alternativa, em vez de um ponteiro, esse parâmetro pode ser (ID) MAKEINTRESOURCE, em que a ID é o identificador inteiro do recurso. Para obter mais informações, consulte a seção Comentários abaixo.
[in] lpEnumFunc
Tipo: ENUMRESLANGPROC
Um ponteiro para a função de retorno de chamada a ser chamada para cada idioma de recurso enumerado. Para obter mais informações, consulte EnumResLangProcA.
[in] lParam
Tipo: LONG_PTR
Um valor definido pelo aplicativo passado para a função de retorno de chamada. Esse parâmetro pode ser usado na verificação de erros.
[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.
[in] LangId
Tipo: LANGID
O idioma de localização usado para filtrar a pesquisa no arquivo .mui. Esse parâmetro é usado somente quando o sinalizador de RESOURCE_ENUM_MUI é definido em dwFlags. Se zero for especificado, todos os arquivos .mui serão incluídos na pesquisa. Se um
Valor de retorno
Tipo: BOOL
Retorna VERDADEIRO se a função for bem-sucedida 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
Se IS_INTRESOURCE(lpType) for TRUE, lpType especificar o identificador inteiro do tipo de recurso fornecido. Caso contrário, ele será um ponteiro para uma cadeia de caracteres terminada em nulo. Se o primeiro caractere da cadeia de caracteres for um sinal de libra (#), os caracteres restantes representarão um número decimal que especifica o
identificador inteiro do tipo de recurso. Por exemplo, a cadeia de caracteres "#258" representa o identificador 258.
Da mesma forma, se IS_INTRESOURCE(lpName) for VERDADEIRO, lpName especificar o identificador inteiro do recurso fornecido. Caso contrário, ele será um ponteiro para uma cadeia de caracteres terminada em nulo. Se o primeiro caractere da cadeia de caracteres for um sinal de libra (#), os caracteres restantes representarão um número decimal que especifica o
identificador inteiro do recurso.
A partir do Windows Vista, o módulo binário normalmente é um arquivo LN e a enumeração também incluirá recursos dos arquivos de recurso específicos do idioma correspondente (arquivos .mui) que contêm recursos de linguagem localizáveis.
Para cada recurso encontrado, EnumResourceLanguagesEx chama uma função de retorno de chamada definida pelo aplicativo lpEnumFunc, passando para a função de retorno de chamada o identificador de idioma (consulte identificadores de linguagem) da linguagem para a qual um recurso foi encontrado (bem como os vários outros parâmetros que foram passados para EnumResourceLanguagesEx).
A pesquisa pode incluir um arquivo LN e seus arquivos .mui associados ou pode ser limitado a um único módulo binário de qualquer tipo ou aos arquivos .mui associados a um único arquivo LN. Além disso, ao especificar um arquivo LN para o parâmetro hModule e um parâmetro LangId diferente de zero, a pesquisa pode ser limitada ao arquivo .mui exclusivo associado a esse arquivo E linguagem LN.
A função EnumResourceLanguagesEx continua a enumerar idiomas de recursos até que a função de retorno de chamada retorne FALSE ou todas as linguagens de recursos tenham sido enumeradas.
Se hModule especificar um arquivo LN e ambos os sinalizadores forem selecionados, os idiomas enumerados incluirão todos os idiomas cujos recursos residem no arquivo LN ou em qualquer arquivo .mui associado a ele. Se nenhum arquivo .mui for encontrado, somente idiomas do arquivo LN serão retornados.
Se dwFlags contiver RESOURCE_ENUM_MUI ou NULL e LangId for 0, a enumeração primeiro incluirá os idiomas associados a todos os arquivos .mui instalados pelo sistema, usando idiomas recuperados de EnumUILanguages.. Por fim, se o sinalizador RESOURCE_ENUM_LN também estiver definido, o arquivo designado por hModule também será pesquisado.
Se o 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 EnumResourceLanguagesEx 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
EnumResourceNamesEx
de referência de