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