Поделиться через


Функция GetDeviceDriverBaseNameA (psapi.h)

Извлекает базовое имя указанного драйвера устройства.

Синтаксис

DWORD GetDeviceDriverBaseNameA(
  [in] LPVOID ImageBase,
       LPSTR  lpFilename,
  [in] DWORD  nSize
);

Параметры

[in] ImageBase

Адрес загрузки драйвера устройства. Это значение можно получить с помощью функции EnumDeviceDrivers.

lpFilename

ТБD

[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 [только классические приложения]
целевая платформа Виндоус
заголовка 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

См. также

сведения о драйвере устройства

EnumDeviceDrivers

функций PSAPI