Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Аппаратное обеспечение -> Агуров П.В. -> "Интерфейсы USB. Практика использования и программирования" -> 151

Интерфейсы USB. Практика использования и программирования - Агуров П.В.

Агуров П.В. Интерфейсы USB. Практика использования и программирования — БВХ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interfeysusbpraktikaispolzovaniya2004.djvu
Предыдущая << 1 .. 145 146 147 148 149 150 < 151 > 152 153 154 155 156 157 .. 168 >> Следующая

Первый параметр передает дескриптор устройства, полученный с помощью
вызова CreateFile, второй - буфер для строки, третий - размер буфера.
17.12. Функция HidD_GetSerialNumberString: получение строки серийного
номера
Функция HidD_GetseriaiNumberstring возвращает строку серийного номера,
индекс которой описан в дескрипторе конфигурации устройства.
Формат заголовка на языке Delphi имеет вид:
function HidD_GetSerialNumberString(HidDeviceObject; THandle;
Buffer: PWideChar; BufferLength: Integer): LongBool;
Первый параметр передает дескриптор устройства, полученный с помощью
вызова CreateFile, второй - буфер для строки, третий - размер буфера.
498
Часть V. Справочник
17.13. Функция HidD_GetlndexedString: получение строки по индексу
Функция HidD_Getindexedstring возвращает строку по индексу.
Формат заголовка на языке Delphi имеет вид:
function HidD_GetIndexedString(HidDeviceObject: THandle;
Index: Integer; Buffer: PWideChar;
BufferLength: Integer): LongBool;
Первый параметр передает дескриптор устройства, полученный с помощью
вызова CreateFile, второй - индекс запрашиваемой строки, третий - буфер
для строки, четвертый - размер буфера.
Пример использования этой функции показан в листинге 17.7.
г ж;''.'........
[ndex^dString
S
Function GetString(StrDescriptor : Byte): WideString; var Buffer : array
[0..253] of WideChar; begin Result := 'Ошибка'; if StrDescriptor <> 0
then if HidD_GetIndexedString(HidHandle, StrDescriptor, Buffer,
SizeOf(Buffer)) then Result:= Buffer;
end;
17.14. Функция HidD_GetlnputReport получение INPUT-репорта
Функция HidD_Get input Report позволяет получить INPUT-репорт. Эта
функция доступна только начиная с Windows ХР.
Формат заголовка на языке Delphi имеет вид:
function HidD_GetInputReport(HidDeviceObject: THandle;
Buffer: Pointer; BufferLength: ULONG): LongBool;
Первый параметр передает дескриптор устройства, полученный с помощью
вызова CreateFile, второй - буфер для репорта, третий - размер буфера.
Размер буфера может быть получен с помощью вызова функции
HidP_GetCaps.
Глава 17. Функции HID API
499
Пример использования этой функции показан в листинге 17.8.
var
InputReport : Array [0..255] of Byte;
If HidD_GetInputReport(HidHandle, 0InputReport,
Capabilities.InputReportByteLength) then begin // Репорт получен успешно
End;
17.15. Функция HidD_SetOutputReport передача OUTPUT-репорта
Функция HidD_SetOutputReport позволяет передать OUTPUT-репорт. Эта
функция доступна только начиная с Windows ХР. Формат заголовка на языке
Delphi имеет вид:
function HidD_SetOutputReport(HidDeviceObject: THandle;
Buffer: Pointer; BufferLength: ULONG): LongBool;
Первый параметр передает дескриптор устройства, полученный с помощью
вызова CreateFiie, второй - буфер репорта, третий - размер буфера.
17.16. Функция HidP_GetCaps: получение свойств устройства
Функция HidP_GetCaps позволяет получить свойства устройства. Функция
возвращает структуру THiDPCaps (листинг 17.9). Формат заголовка на языке
Delphi имеет вид:
function HidP_GetCaps(PreparsedData: PHIDPPreparsedData;
var Capabilities: THiDPCaps): NTSTATUS;
PTHIDPCaps = л THiDPCaps;
THiDPCaps = record
Usage: TUsage; // значение Usage
UsagePage: TUsage; // значение Usage Page
500
Часть V. Справочник
InputReportByteLength:
OutputReportByteLength:
FeatureReportByteLength:
Reserved:
Word; // размер INPUT-репорта
Word; // размер OUTPUP-репорта
Word; // размер FEATURE-репорта
array [0..16] of Word;
// Специфические HID-значения NumberLmkCollectionNodes: Word;
NumberlnputButtonCaps: Word;
NumberlnputValueCaps: Word;
NumberlnputDatalndices: Word;
NumberOutputButtonCaps: Word;
NumberOutputValueCaps: Word;
NumberOutputDatalndices: Word;
NumberFeatureButtonCaps: Word;
NumberFeatureValueCaps: Word;
NumberFeatureDatalndices: Word;
end;
Пример использования этой функции показан в листинге 17.10.
Var
Capabilities : HIDP_CAPS; PreparsedData: PHIDPPreparsedData;
If HidD_GetPreparsedData(HidHandle, PreparsedData) then begin
HidP_GetCaps(PreparsedData, Capabilities);
// Capabilities.UsagePage // Capabilities.InputReportByteLength //
Capabilities.OutputReportByteLength //
Capabilities.FeatureReportByteLength End;
17.17. Функция HidP_MaxDataListLength: получение размеров репортов
Функция HidP MaxDataListLength позволяет получить размер репорта,
определенного параметром ReportType.
Глава 17. Функции HID API
501
Формат заголовка на языке Delphi имеет вид:
function HidP_MaxDataListLength(ReportType: DWORD;
PreparsedData; PHIDPPreparsedData): ULONG;
Первый параметр передает тип репорта:
HidP_Input = 0;
HidP_Output = 1 ;
HidP_Feature = 2;
Второй параметр передает указатель на структуру THiDPPreparsedData,
получаемую ВЫЗОВОМ HidP GetCaps.
Глава 18
Хост-контроллер UCH
Интерфейс контроллера UHC описан в документе Universal Host Controller
Interface (UHCI) Design Guide, версия 1.1 которого вышла в 1996 г. Это
FS/LS хост-контроллер, который большую часть забот по планированию
Предыдущая << 1 .. 145 146 147 148 149 150 < 151 > 152 153 154 155 156 157 .. 168 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.