Compartilhar via


Função de retorno de chamada ENUMRESNAMEPROCA (libloaderapi.h)

Uma função de retorno de chamada definida pelo aplicativo usada com as funções EnumResourceNames e EnumResourceNamesEx . Ele recebe o tipo e o nome de um recurso. O tipo ENUMRESNAMEPROC define um ponteiro para essa função de retorno de chamada. EnumResNameProc é um espaço reservado para o nome da função definida pelo aplicativo.

Sintaxe

ENUMRESNAMEPROCA Enumresnameproca;

BOOL Enumresnameproca(
  [in, optional] HMODULE hModule,
                 LPCSTR lpType,
                 LPSTR lpName,
  [in]           LONG_PTR lParam
)
{...}

Parâmetros

[in, optional] hModule

Tipo: HMODULE

Um identificador para o módulo cujo arquivo executável contém os recursos que estão sendo enumerados. Se esse parâmetro for NULL, a função enumera os nomes de recursos no módulo usado para criar o processo atual.

lpType

Tipo: LPCTSTR

O tipo de 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 ID é um valor inteiro que representa um tipo de recurso predefinido. Para tipos de recursos padrão, consulte Tipos de recursos. Para obter mais informações, consulte a seção Comentários abaixo.

lpName

Tipo: LPTSTR

O nome de um recurso do tipo que está sendo enumerado. Como alternativa, em vez de um ponteiro, esse parâmetro pode ser MAKEINTRESOURCE(ID), em que ID é o identificador inteiro do recurso. Para obter mais informações, consulte a seção Comentários abaixo.

[in] lParam

Tipo: LONG_PTR

Um parâmetro definido pelo aplicativo passado para a função EnumResourceNames ou EnumResourceNamesEx . Esse parâmetro pode ser usado na verificação de erros.

Valor retornado

Tipo: BOOL

Retorna TRUE para continuar a enumeração ou FALSE para interromper a enumeração.

Comentários

Se IS_INTRESOURCE(lpszType) for TRUE, lpszType especificará o identificador inteiro do tipo de recurso fornecido. Caso contrário, ele é 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(lpszName) for TRUE, lpszName especificará o identificador inteiro do recurso especificado. Caso contrário, ele é 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.

Um aplicativo deve registrar essa função passando seu endereço para a função EnumResourceNames ou EnumResourceNamesEx .

Se a função de retorno de chamada retornar FALSE, EnumResourceNames ou EnumResourceNamesEx interromperá a enumeração e retornará FALSE. No Windows XP e anteriores, o valor obtido de GetLastError será ERROR_SUCCESS; a partir do Windows Vista, o último valor de erro será ERROR_RESOURCE_ENUM_USER_STOP.

Observação

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

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho libloaderapi.h (inclua Windows.h)

Confira também

Conceitual

EnumResourceNames

EnumResourceNamesEx

IS_INTRESOURCE

Referência

Recursos