Функция SetupSetDirectoryIdExA (setupapi.h)
[Эта функция доступна для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. SetupAPI больше не следует использовать для установки приложений. Вместо этого используйте установщик Windows для разработки установщиков приложений. SetupAPI по-прежнему используется для установки драйверов устройств.]
Функция SetupSetDirectoryIdEx связывает идентификатор каталога в INF-файле с определенным каталогом.
Синтаксис
WINSETUPAPI BOOL SetupSetDirectoryIdExA(
[in] HINF InfHandle,
[in] DWORD Id,
[in] PCSTR Directory,
[in] DWORD Flags,
DWORD Reserved1,
PVOID Reserved2
);
Параметры
[in] InfHandle
Дескриптор для загруженного INF-файла.
[in] Id
Идентификатор каталога (DIRID), используемый для сопоставления. Этот параметр может принимать значение NULL. Значение DIRID должно быть больше или равно DIRID_USER. Если связь для этого DIRID уже существует, она перезаписывается. Если значение Id равно нулю, параметр Directory игнорируется, а текущий набор определяемых пользователем DIRID удаляется.
[in] Directory
Указатель на строку, завершающуюся значением NULL, которая указывает путь к каталогу, который необходимо связать с Идентификатором. Этот параметр может иметь значение NULL. Если параметр Directory имеет значение NULL, любой каталог, связанный с идентификатором , не связан. Ошибка отсутствует, если идентификатор в настоящее время не связан с каталогом.
[in] Flags
Этому параметру можно задать значение SETDIRID_NOT_FULL_PATH (1), чтобы указать, что каталог не указывает полный путь.
Reserved1
Если значение этого параметра не равно нулю, функция возвращает ERROR_INVALID_PARAMETER.
Reserved2
Если значение этого параметра не равно нулю, функция возвращает ERROR_INVALID_PARAMETER.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет ненулевым.
Если функция завершается сбоем, возвращается значение 0 (ноль). Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
SetupSetDirectoryIdEx можно использовать перед очередными операциями копирования файлов, чтобы указать целевое расположение, известное только во время выполнения.
После задания идентификатора каталога эта функция просматривает все добавленные INF-файлы, и если в любом из них есть неразрешенные замены строк, функция пытается повторно применить к ним подстановку строк на основе нового сопоставления DIRID. Из-за этого некоторые значения INF могут измениться после вызова SetupSetDirectoryIdEx.
DIRID_ABSOLUTE_16BIT не является допустимым значением id, что обеспечивает совместимость с 16-разрядной конфигурацией.
Примечание
Заголовок setupapi.h определяет SetupSetDirectoryIdEx в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | setupapi.h |
Библиотека | Setupapi.lib |
DLL | Setupapi.dll |