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