Функция SetupOpenInfFileW (setupapi.h)
[Эта функция доступна для использования в операционных системах, указанных в разделе "Требования". Он может быть изменен или недоступен в последующих версиях. SetupAPI больше не следует использовать для установки приложений. Вместо этого используйте установщик Windows для разработки установщиков приложений. SetupAPI по-прежнему используется для установки драйверов устройств.]
Функция установки SetupOpenInfFile открывает INF-файл и возвращает дескриптор.
Синтаксис
WINSETUPAPI HINF SetupOpenInfFileW(
[in] PCWSTR FileName,
[in] PCWSTR InfClass,
[in] DWORD InfStyle,
[in] PUINT ErrorLine
);
Параметры
[in] FileName
Указатель на строку, завершающую значение NULL, содержащую имя (и необязательный путь) открываемого INF-файла. Если имя файла не содержит символы разделителя путей, сначала выполняется поиск в каталоге %windir%\inf, а затем в каталоге \system32 %windir%\ system32. Если имя файла содержит символы разделителя путей, предполагается, что он является полной спецификацией пути, а дальнейшая обработка не выполняется.
[in] InfClass
Необязательный указатель на строку, завершающую значение NULL, содержащую нужный класс INF-файла. Эта строка должна соответствовать значению класса раздела версии (например, Class=Net). Если в значении класса нет записи, но в разделе версии есть запись для ClassGUID, извлекается и используется соответствующее имя класса для этого GUID.
[in] InfStyle
Стиль INF-файла для открытия или поиска. Этот параметр может быть сочетанием следующих флагов.
INF_STYLE_OLDNT
Устаревший формат INF-файла.
INF_STYLE_WIN4
Формат INF-файла Windows.
[in] ErrorLine
Необязательный указатель на переменную, в которую эта функция возвращает номер строки (на основе 1), в котором произошла ошибка при загрузке INF-файла. Это значение обычно надежно, только если GetLastError не возвращает ERROR_NOT_ENOUGH_MEMORY. Если происходит состояние вне памяти, ErrorLine может быть 0.
Возвращаемое значение
Функция возвращает дескриптор открытому INF-файлу, если он выполнен успешно. В противном случае возвращаемое значение INVALID_HANDLE_VALUE. Расширенные сведения об ошибке можно получить путем вызова GetLastError.
Замечания
Если загрузка завершается ошибкой, так как тип INF-файла не соответствует InfClass, функция возвращает INVALID_HANDLE_VALUE и вызов GetLastError возвращает ERROR_CLASS_MISMATCH.
Если задано несколько стилей INF-файлов, стиль открытого INF-файла можно определить путем вызова функции SetupGetInfInformation.
Так как может быть несколько GUID класса с тем же именем класса, вызывающие файлы, заинтересованные в INF-файлах определенного класса (то есть guid определенного класса), должны получить значение ClassGUID из INF-файла, вызвав SetupQueryInfVersionInformation.
Для устаревших INF-файлов строка infClass
Заметка
Заголовок setupapi.h определяет SetupOpenInfFile как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | setupapi.h |
библиотеки |
Setupapi.lib |
DLL | Setupapi.dll |
набор API | ext-ms-win-setupapi-inf-l1-1-0 (представлено в Windows 8) |
См. также
Обзор