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


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

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

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

Синтаксис

WINSETUPAPI HINF SetupOpenInfFileA(
  [in] PCSTR FileName,
  [in] PCSTR InfClass,
  [in] DWORD InfStyle,
  [in] PUINT ErrorLine
);

Параметры

[in] FileName

Указатель на строку, завершающуюся null, содержащую имя (и необязательный путь) открываемого INF-файла. Если имя файла не содержит символы разделителя пути, поиск выполняется сначала в каталоге %windir%\inf, а затем в каталоге %windir%\system32. Если имя файла содержит символы разделителя пути, предполагается, что это полная спецификация пути, и дальнейшая обработка не выполняется.

[in] InfClass

Необязательный указатель на строку, завершающуюся значением NULL, содержащую требуемый класс INF-файла. Эта строка должна соответствовать значению Class раздела Version (например, Class=Net). Если в значении Class нет записи, но в разделе Version есть запись ClassGUID, то для сравнения извлекается соответствующее имя класса для этого GUID.

[in] InfStyle

Стиль INF-файла для открытия или поиска. Этот параметр может быть сочетанием следующих флагов.

INF_STYLE_OLDNT

Устаревший формат INF-файла.

INF_STYLE_WIN4

Формат INF-файла Windows.

[in] ErrorLine

Необязательный указатель на переменную, в которую эта функция возвращает номер строки (на основе 1), в которой произошла ошибка во время загрузки INF-файла. Это значение обычно является надежным, только если GetLastError не возвращает ERROR_NOT_ENOUGH_MEMORY. Если возникает проблема нехватки памяти, строка ошибки может иметь значение 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 [только классические приложения]
Целевая платформа Windows
Header setupapi.h
Библиотека Setupapi.lib
DLL Setupapi.dll
Набор API ext-ms-win-setupapi-inf-l1-1-0 (представлено в Windows 8)

См. также

Функции

Обзор

SetupCloseInfFile

SetupGetInfInformation

SetupOpenAppendInfFile