Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Функция 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 |