Função SetDllDirectoryA (winbase.h)
Adiciona um diretório ao caminho de pesquisa usado para localizar DLLs para o aplicativo.
Sintaxe
BOOL SetDllDirectoryA(
[in, optional] LPCSTR lpPathName
);
Parâmetros
[in, optional] lpPathName
O diretório a ser adicionado ao caminho de pesquisa. Se esse parâmetro for uma cadeia de caracteres vazia (""), a chamada removerá o diretório atual da ordem de pesquisa de DLL padrão. Se esse parâmetro for NULL, a função restaurará a ordem de pesquisa padrão.
Valor de retorno
Se a função for bem-sucedida, o valor retornado não será zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Observações
A função
Nota
Para processos win32 que não executando um processo empacotado ou protegido, chamar essa função também afetará a ordem de pesquisa de DLL dos processos filhos iniciados a partir do processo que chamou a função.
Depois de chamar SetDllDirectory, o caminho de pesquisa DLL padrão é:
- O diretório do qual o aplicativo foi carregado.
- O diretório especificado pelo parâmetro lpPathName.
- O diretório do sistema. Use a função GetSystemDirectory para obter o caminho desse diretório. O nome desse diretório é System32.
- O diretório do sistema de 16 bits. Não há nenhuma função que obtenha o caminho desse diretório, mas ela é pesquisada. O nome desse diretório é System.
- O diretório do Windows. Use a função GetWindowsDirectory para obter o caminho desse diretório.
- Os diretórios listados na variável de ambiente PATH.
Para reverter para o caminho de pesquisa padrão usado por LoadLibrary e LoadLibraryEx, chame SetDllDirectory com NULL. Isso também restaura o modo de pesquisa de DLL seguro com base no valor do registro SafeDllSearchMode.
Para compilar um aplicativo que usa essa função, defina _WIN32_WINNT como 0x0502 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.
Nota
O cabeçalho winbase.h define SetDllDirectory 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, Windows XP com SP1 [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2003 [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winbase.h (inclua Windows.h) |
biblioteca | Kernel32.lib |
de DLL |
Kernel32.dll |
Consulte também
da ordem de pesquisa da biblioteca de