Функция SetupGetInfPublishedNameW (setupapi.h)
Функция setupGetInfPublishedName извлекает полное имя файла (путь к каталогу и имя файла) INF- файла в каталоге INF-файла системы, соответствующего указанному INF-файлу в хранилище драйверов или указанному INF-файлу в каталоге INF-файла системы.
Синтаксис
WINSETUPAPI BOOL SetupGetInfPublishedNameW(
[in] PCWSTR DriverStoreLocation,
[out] PWSTR ReturnBuffer,
[in] DWORD ReturnBufferSize,
[out, optional] PDWORD RequiredSize
);
Параметры
[in] DriverStoreLocation
Указатель на строку с завершением NULL, содержащую полное имя файла (путь к каталогу и имя файла) INF-файла в хранилище драйверов. Кроме того, этот параметр является указателем на строку, завершающую значение NULL, содержащую имя, и при необходимости полный путь к каталогу INF-файла в каталоге INF-файла системы. Дополнительные сведения о том, как указать INF-файл, см. в следующем разделе примечания.
[out] ReturnBuffer
Указатель на буфер, в котором SetupGetInfPublishedName возвращает строку, завершающую значение NULL, содержащую полное имя файла INF в системном каталоге INF. Максимальный размер пути — MAX_PATH. Этот указатель можно задать для null. Сведения о том, как определить требуемый размер буфера возврата, см. в следующем разделе Примечания.
[in] ReturnBufferSize
Размер буфера в символах, предоставленный ReturnBuffer.
[out, optional] RequiredSize
Указатель на переменную типа DWORD, которая получает размер в символах буфера ReturnBuffer. Этот параметр является необязательным и может иметь значение NULL.
Возвращаемое значение
Если SetupGetInfPublishedName успешно, функция возвращает TRUE; в противном случае функция возвращает FALSE. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Если размер( в символах) полного имени файла запрошенного INF-файла, включая пустой терминатор, больше ReturnBufferSize, функция завершится ошибкой, а вызов getLastError вернет ERROR_INSUFFICIENT_BUFFER.
Замечания
Чтобы определить размер буфера возврата, который требуется содержать полное имя файла указанного INF-файла в системном inf-каталоге, вызовите SetupGetInfPublishedName и задайте ReturnBuffer значение NULL, ReturnBufferSize равным нулю, и укажите RequiredSize. SetupGetInfPublishedName возвращает требуемый размер буфера в RequiredSize.
При предварительной установке устройства пакет драйвера в хранилище драйверов создает две копии INF-файла пакета драйвера. Установка устройства добавляет одну копию в системный INF-каталог и назначает эту копию INF-файла уникальным опубликованным именем файла формы OEMnnn.inf. Установка устройства добавляет в хранилище драйверов вторую копию INF-файла и назначает копировать исходное имя INF-файла.
SetupGetInfPublishedName возвращает полное имя файла INF в каталоге INF-файла системы, соответствующего INF-файлу, который соответствует INF-файлу, который предоставляется DriverStoreLocation. DriverStoreLocation должен указать полное имя файла INF в хранилище драйверов или указать имя файла, а также при необходимости путь к каталогу INF в системном каталоге INF. Например, предположим, что INF-файл для пакета драйвера myinf.inf, а для этого пакета драйверов установка устройства устанавливает INF-файл OEM1.inf в системном каталоге INF C:\Windows\inf. Кроме того, предположим, что установка устройства устанавливает соответствующую копию INF-файла C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf в хранилище драйверов. В этом случае функция возвращает C:\Windows\inf\OEM1.inf, если DriverStoreLocation предоставляет одну из следующих строк: C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf, OEM1.infили C:\Windows\inf\OEM1.inf.
Вызовите функцию SetupGetInfDriverStoreLocation, чтобы получить полное имя ФАЙЛА INF в хранилище драйверов, соответствующее указанному INF-файлу в каталоге INF-файла системы или указанному файлу в хранилище драйверов.
Заметка
Заголовок setupapi.h определяет SetupGetInfPublishedName как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows Vista и более поздних версиях Windows. |
целевая платформа | Настольный |
заголовка | setupapi.h (include Setupapi.h) |
библиотеки |
Setupapi.lib |