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


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

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

Синтаксис

DLL_DIRECTORY_COOKIE AddDllDirectory(
  [in] PCWSTR NewDirectory
);

Параметры

[in] NewDirectory

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

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

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

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

Замечания

Функцию AddDllDirectory можно использовать для добавления любого абсолютного пути к набору каталогов, которые ищут библиотеку DLL. Если SetDefaultDllDirectory сначала вызывается с 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 [только классические приложения]
целевая платформа Виндоус
Header libloaderapi.h (включая Windows.h)
Library kernel32. Lib
DLL Kernel32.dll