Функция 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 |