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


Функция SetupSetDirectoryIdExW (setupapi.h)

[Эта функция доступна для использования в операционных системах, указанных в разделе "Требования". Он может быть изменен или недоступен в последующих версиях. SetupAPI больше не следует использовать для установки приложений. Вместо этого используйте установщик Windows для разработки установщиков приложений. SetupAPI по-прежнему используется для установки драйверов устройств.]

Функция setupSetDirectoryIdEx связывает идентификатор каталога в INF-файле с определенным каталогом.

Синтаксис

WINSETUPAPI BOOL SetupSetDirectoryIdExW(
  [in] HINF   InfHandle,
  [in] DWORD  Id,
  [in] PCWSTR Directory,
  [in] DWORD  Flags,
       DWORD  Reserved1,
       PVOID  Reserved2
);

Параметры

[in] InfHandle

Дескриптор загруженного INF-файла.

[in] Id

Идентификатор каталога (DIRID), используемый для связи. Этот параметр может быть NULL. Этот DIRID должен быть больше или равен DIRID_USER. Если для этого DIRID уже существует связь, она перезаписывается. Если идентификатор равен нулю, параметр каталога игнорируется, а текущий набор определяемых пользователем DIRID удаляется.

[in] Directory

Указатель на строку, завершающуюnull, которая указывает путь к каталогу, связанный с идентификатором. Этот параметр может быть null. Если каталога 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 [только классические приложения]
целевая платформа Виндоус
заголовка setupapi.h
библиотеки Setupapi.lib
DLL Setupapi.dll

См. также

Функции

Обзор