Поделиться через


Функция AddDllDirectory (libloaderapi.h)

Добавляет каталог в путь поиска dll процесса.

Синтаксис

DLL_DIRECTORY_COOKIE AddDllDirectory(
  [in] PCWSTR NewDirectory
);

Параметры

[in] NewDirectory

Абсолютный путь к каталогу для добавления в путь поиска. Например, чтобы добавить каталог Dir2 в путь поиска процесса DLL, укажите \Dir2. Дополнительные сведения о путях см. в разделе Именование файлов, путей и пространств имен.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение представляет собой непрозрачный указатель, который можно передать в RemoveDllDirectory , чтобы удалить библиотеку DLL из пути поиска dll процесса.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

С помощью функции AddDllDirectory можно добавить любой абсолютный путь к набору каталогов, в которых выполняется поиск библиотеки DLL. Если метод SetDefaultDllDirectories сначала вызывается с помощью LOAD_LIBRARY_SEARCH_USER_DIRS, каталоги, указанные с помощью AddDllDirectory , добавляются в путь поиска dll процесса. В противном случае каталоги, указанные с помощью функции AddDllDirectory , используются только для вызовов функций LoadLibraryEx , указывающих LOAD_LIBRARY_SEARCH_USER_DIRS.

Если addDllDirectory используется для добавления нескольких каталогов в путь поиска dll процесса, порядок поиска по этим каталогам не указан.

Чтобы удалить каталог, добавленный с помощью AddDllDirectory, используйте функцию RemoveDllDirectory .

Windows 7, Windows Server 2008 R2, Windows Vista и Windows Server 2008: Чтобы использовать эту функцию в приложении, вызовите Метод GetProcAddress , чтобы получить адрес функции из Kernel32.dll. KB2533623 необходимо установить на целевой платформе.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения], KB2533623 в Windows 7, Windows Server 2008 R2, Windows Vista и Windows Server 2008
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header libloaderapi.h (включая Windows.h)
DLL Kernel32.dll