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

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

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

значения приведены в табл. 11.3. Формат заголовка на языке С имеет вид:
BOOL DefineDosDevice(
DWORD dwFiags, // код операции
LPCTSTR pName, // DOS-имя устройства или его префикс
LPCTSTR pDevice, // NT-имя устройства
);
490
Часть V. Справочник
Формат заголовка на языке Delphi имеет вид:
function DefineDosDevice(
dwFlags : DWORD; // код операции
lpDeviceName, // DOS-имя устройства или его префикс
lpTargetPath ; PChar // NT-имя устройства ): BOOL;
Первый параметр задает код операции (табл. 16.3). Второй параметр
передает DOS-имя устройства, а третий - внутреннее имя устройства. Для
выполнения этой функции требуются права администратора системы.
16.11.1. Возвращаемое значение
При успешном выполнении функция DefineDosDevice возвращает ненулевое
значение. В случае ошибки функция вернет 0, а вызов GetLastError вернет
код ошибки.
16.11.2. Пример вызова
Листинг 16.15 показывает добавление имени в систему с помощью
использования функции DefineDosDevice.
ffimir 16.15. Пример вызова DefineDosDevice Ии
Шйкте*..-
.............................................'.пл....:...................
.................... : • ¦ .'.л. :
{Добавить DOS-имя для NT-имени}
procedure TForml.btnAddNameClick(Sender: TObject); begin
If not DefineDosDevice(
DDD_RAW_TARGET_PATH,
PChar(DosDeviceName.Text),
PChar(NtDeviceName.Text)) then
StatusBar.Panels[0].Text:= 'Ошибка добавления имени'; end;
Таблица 16.3. Коды операций функции DefineDosDevice
Значение Описание
D D D_RAW_TARGE Т_РАТ Н При указании этого параметра функция не
конвертирует значение pDevice в имя устройства, а берет указанное
значение имени "как есть"
Глава 16. Базовые функции Windows
491
Таблица 16.3 (окончание)
Значение Описание
DDD_REM0VE_DEFINITI0N Удаление указанного DOS-имени для выбранного
устройства. Функция просматривает все имена, зарегистрированные для
устройства, и удаляет те, префиксы которых совпадают с указанной в pName
строкой. Если существует несколько таких имен для устройства, функция
удалит только первое из них
Если параметр pDevice нулевой или указывает на строку нулевой длины, то
функция удалит первое подходящее имя из списка имен системы
Указывается вместе с ddd_remove_definition для гарантирования, что
функция не удалит лишнего. Функция будет удалять имя только при полном
совпадении имени из списка имен и указанного в pName
DDD_EXACT_MATCH_ON
REMOVE
Глава 17
Функции HID API
Объем книги не позволяет привести описание всех функций HID. Полный
список HID-функций можно найти в файле Hid.pas на компакт-диске.
Почти все HID-функции возвращают результат типа LongBooi. При успешном
выполнении функции возвращают True.
17.1. Функция HidD_Hello: проверка библиотеки
Функция HidD_Heiio генерирует тестовую строку. Функция может
использоваться для проверки наличия HID-библиотеки.
Формат заголовка на языке Delphi имеет вид:
function HidD_Hello(Buffer: PChar; BufferLength; ULONG): ULONG; Первый
параметр задает адрес буфера для строки, а второй - его размер.
17.2. Функция HidD_GetHidGuid\ получение GUID
Функция HidD_GetHidGuid возвращает GUID для HID-класса. Это значение
используется для поиска устройств этого класса.
Формат заголовка на языке Delphi имеет вид:
procedure HidD_GetHidGuid(var HidGuid: TGUID);
Единственный параметр передает переменную для результата.
Пример использования этой функции показан в листинге 17.1.
var
HidGuid : TGuid;
Глава 17. Функции HID API
493
// Получить GUID для класса HID HidD_GetHidGuid(HidGuid);
17.3. Функция HidD_GetPreparsedData: создание описателя устройства
Функция HidD__Get PreparsedData подготавливает буфер типа
THiDPPreparsedData, который используется для работы некоторых других HID-
функций. После использования буфер должен быть освобожден с помощью
вызова HidD_FreePreparsedData. Формат заголовка на языке Delphi имеет
вид:
function HidD_GetPreparsedData(HidDeviceObject: THandle;
var PreparsedData: PHIDPPreparsedData): LongBool;
Первый параметр передает дескриптор устройства, полученный с помощью
вызова CreateFile, а второй - указатель на буфер THiDPPreparsedData.
Пример использования этой функции показан в листинге 17.2.
var
PreparsedData: PHIDPPreparsedData;
If HidD_GetPreparsedData(HidHandle, PreparsedData) then begin //
использование PreparsedData
// Освободить блок PreparsedData HidD_FreePreparsedData(PreparsedData);
End;
17.4. Функция HidD_FreePreparsedData: освобождение описателя устройства
функция HidD_Fr ее PreparsedData освобождает буфер, созданный функцией
HidD_GetPreparsedData.
Формат заголовка на языке Delphi имеет вид:
function HidD_FreePreparsedData(
PreparsedData: PHIDPPreparsedData): LongBool;
Пример использования этой функции показан в листинге 17.2.
494
Часть V. Справочник
17.5. Функция HidD_GetFeature: получение FEATURE-репорта
Функция HidD_GetFeature позволяет получить FEATURE-репорт от HID-
устройства.
Формат заголовка на языке Delphi имеет вид:
function HidD_GetFeature(HidDeviceObject: THandle; var Report; Size:
Предыдущая << 1 .. 143 144 145 146 147 148 < 149 > 150 151 152 153 154 155 .. 168 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

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

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

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

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