Функция GetDeviceDriverFileNameA (psapi.h)
Извлекает путь, доступный для указанного драйвера устройства.
Синтаксис
DWORD GetDeviceDriverFileNameA(
[in] LPVOID ImageBase,
[out] LPSTR lpFilename,
[in] DWORD nSize
);
Параметры
[in] ImageBase
Адрес загрузки драйвера устройства.
[out] lpFilename
Указатель на буфер, который получает путь к драйверу устройства.
[in] nSize
Размер буфера lpFilename в символах. Если буфер недостаточно велик, чтобы сохранить путь и завершающий символ NULL, строка усечена.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение указывает длину строки, скопированной в буфер, не включая завершающийся символ NULL.
Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
Начиная с Windows 7 и Windows Server 2008 R2, Psapi.h устанавливает номера версий для функций PSAPI. Номер версии PSAPI влияет на имя, используемое для вызова функции и библиотеки, которую должна загрузить программа.
Если PSAPI_VERSION имеет значение 2 или больше, эта функция определяется как K32GetDeviceDriverFileName в Psapi.h и экспортируется в Kernel32.lib и Kernel32.dll. Если PSAPI_VERSION равно 1, эта функция определяется как GetDeviceDriverFileName в Psapi.h и экспортируется в Psapi.lib и Psapi.dll в качестве оболочки, которая вызывает K32GetDeviceDriverFileName.
Программы, которые должны выполняться в более ранних версиях Windows, а также Windows 7 и более поздних версиях, всегда должны вызывать эту функцию как GetDeviceDriverFileName. Чтобы обеспечить правильное разрешение символов, добавьте Psapi.lib в макрос TARGETLIBS и скомпилируйте программу с помощью –DPSAPI_VERSION=1. Чтобы использовать динамическую компоновку во время выполнения, загрузите Psapi.dll.
Заметка
Заголовок psapi.h определяет GetDeviceDriverFileName как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | psapi.h |
библиотеки |
Kernel32.lib в Windows 7 и Windows Server 2008 R2; Psapi.lib (если PSAPI_VERSION=1) в Windows 7 и Windows Server 2008 R2; Psapi.lib в Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP |
DLL | Kernel32.dll в Windows 7 и Windows Server 2008 R2; Psapi.dll (если PSAPI_VERSION=1) в Windows 7 и Windows Server 2008 R2; Psapi.dll в Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP |
См. также
сведения о драйвере устройства
функций PSAPI