Função EnumResourceNamesA (libloaderapi.h)
Enumera recursos de um tipo especificado em um módulo binário. Para o Windows Vista e versões posteriores, isso normalmente é um executável portátil neutro em linguagem (arquivo LN), e a enumeração também incluirá recursos dos arquivos de recurso específicos do idioma correspondentes (arquivos .mui) que contêm recursos de linguagem localizáveis. Também é possível que hModule especifique um arquivo .mui; nesse caso, somente esse arquivo é pesquisado em busca de recursos.
Sintaxe
BOOL EnumResourceNamesA(
[in, optional] HMODULE hModule,
[in] LPCSTR lpType,
[in] ENUMRESNAMEPROCA lpEnumFunc,
[in] LONG_PTR lParam
);
Parâmetros
[in, optional] hModule
Tipo: HMODULE
Um identificador para um módulo a ser pesquisado. A partir do Windows Vista, se este for um arquivo LN, os arquivos .mui apropriados (se houver) serão incluídos na pesquisa.
Se esse parâmetro for NULL, isso equivale 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 nome 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 obter mais informações, consulte a seção comentários abaixo.
[in] lpEnumFunc
Tipo: ENUMRESNAMEPROC
Um ponteiro para a função de retorno de chamada a ser chamada para cada ID ou nome de recurso enumerado. Para obter mais informações, consulte ENUMRESNAMEPROC.
[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.
Valor de retorno
Tipo: BOOL
O valor retornado será 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(lpszType) for TRUE, lpszType especifica 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.
Para cada recurso encontrado, EnumResourceNames chama uma função de retorno de chamada definida pelo aplicativo lpEnumFunc, passando o nome ou a ID de cada recurso encontrado, bem como os vários outros parâmetros que foram passados para EnumResourceNames. O nome passado só é válido dentro do retorno de chamada – se o nome passado for um ponteiro de cadeia de caracteres, ele apontará para um buffer interno reutilizado para todas as invocações de retorno de chamada.
Como alternativa, os aplicativos podem chamar EnumResourceNamesEx, que fornece controle mais preciso de quais recursos são enumerados.
Se um recurso tiver uma ID, a ID será passada para a função de retorno de chamada; caso contrário, o nome do recurso é passado para a função de retorno de chamada. Para obter mais informações, consulte ENUMRESNAMEPROC.
A função EnumResourceNames continua enumerar recursos até que a função de retorno de chamada retorne FALSE ou todos os recursos tenham sido enumerados.
A partir do Windows Vista, se hModule especificar um arquivo LN, os recursos enumerados poderão residir no arquivo LN ou em um arquivo .mui associado a ele. Se nenhum arquivo .mui for encontrado, somente recursos do arquivo LN serão retornados. A ordem na qual os arquivos .mui são pesquisados é a ordem de pesquisa usual do Carregador de Recursos; consulte de Gerenciamento de Linguagem da Interface do Usuário para obter detalhes. Depois que um arquivo .mui apropriado for encontrado, a pesquisa de arquivo .mui será interrompida. Como todos os arquivos .mui que correspondem a um único arquivo LN têm os mesmos tipos de recurso, somente os recursos no arquivo .mui encontrado precisam ser enumerados.
A enumeração nunca inclui duplicatas: se os recursos com o mesmo nome estiverem contidos no arquivo LN e em um arquivo .mui, o recurso será enumerado apenas uma vez.
Exemplos
Para obter um exemplo, consulte Criando uma lista de recursos.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10 Build 20348 |
servidor com suporte mínimo | Windows 10 Build 20348 |
cabeçalho | libloaderapi.h |
biblioteca | Kernel32.lib |
de DLL | Kernel32.dll |
Consulte também
Conceitual
- ENUMRESNAMEPROC
- EnumResourceLanguages
- EnumResourceNamesEx
- EnumResourceTypes
Referência
- Menus e outros recursos