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


Функция 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 должна соответствовать типу, указанному в значении OptionType раздела идентификации в INF-файле (например, OptionType=NetAdapter).

Заметка

Заголовок 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)

См. также

Функции

Обзор

SetupCloseInfFile

SetupGetInfInformation

SetupOpenAppendInfFile