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