Функция GetRawInputDeviceInfoA (winuser.h)

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

Синтаксис

UINT GetRawInputDeviceInfoA(
  [in, optional]      HANDLE hDevice,
  [in]                UINT   uiCommand,
  [in, out, optional] LPVOID pData,
  [in, out]           PUINT  pcbSize
);

Параметры

[in, optional] hDevice

Тип: HANDLE

Дескриптор необработанного устройства ввода. Это происходит от члена hDeviceRAWINPUTHEADER или getRawInputDeviceList.

[in] uiCommand

Тип: UINT

Указывает, какие данные будут возвращены в pData. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
RIDI_PREPARSEDDATA
0x20000005
pData — это PHIDP_PREPARSED_DATA указатель на буфер для предварительно подготовленных данныхколлекции верхнего уровня.
RIDI_DEVICENAME
0x20000007
PData указывает на строку, содержащую имя интерфейса устройства.

Если это устройство открыто в режиме общего доступа , можно вызвать CreateFile с таким именем, чтобы открыть коллекцию HID и использовать возвращенный дескриптор для вызова ReadFile для чтения входных отчетов и WriteFile для отправки выходных отчетов.

Дополнительные сведения см. в статье "Открытие коллекций HID и обработка отчетов HID".

Только для этого uiCommand значение в pcbSize — это число символов (а не число байтов).

RIDI_DEVICEINFO
0x2000000b
PData указывает на структуру RID_DEVICE_INFO .

[in, out, optional] pData

Тип: LPVOID

Указатель на буфер, содержащий сведения, указанные uiCommand.

Если uiCommandRIDI_DEVICEINFO, задайте для члена cbSizeRID_DEVICE_INFOsizeof(RID_DEVICE_INFO) значение перед вызовом GetRawInputDeviceInfo.

[in, out] pcbSize

Тип: PUINT

Размер данных в байтах в pData.

Возвращаемое значение

Тип: UINT

В случае успешного выполнения эта функция возвращает не отрицательное число, указывающее количество байтов, скопированных в pData.

Если pData недостаточно велик для данных, функция возвращает значение -1. Если значение pData равно NULL, функция возвращает нулевое значение. В обоих случаях для pcbSize устанавливается минимальный размер, необходимый для буфера pData .

Вызовите Метод GetLastError для выявления других ошибок.

Комментарии

Примечание

Заголовок winuser.h определяет GetRawInputDeviceInfo как псевдоним, который автоматически выбирает версию функции ANSI или Юникод на основе определения константы препроцессора ЮНИКОДа. Перемешивание использования нейтральную кодировку псевдонима с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в соглашениях по прототипам функций.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-rawinput-l1-1-0 (представлен в Windows 10 версии 10.0.14393)

См. также раздел

Основные понятия

RAWINPUTHEADER

RID_DEVICE_INFO

Необработанные входные данные

Справочные материалы

WM_INPUT

Коллекции верхнего уровня

Предварительно подготовленные данные

PHIDP_PREPARSED_DATA

Открытие коллекций HID

Обработка отчетов HID