Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: использование буфера в DEVICE_CONTROL  (Прочитано 5013 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ort
Гость
« : 06-02-2006 06:29 » 

столкнулся со след проблемой.
нужно в драйвер передать некую заполненую структуру, к примеру:
struct CamcomStruct
{
char x;
char y;
};

Для передачи(получения) байта из драйвера работает след. код:
unsigned char x = 0x22;
DeviceIoControl(hHandle, iCode, &x, sizeof(x), NULL, 0, &ret, NULL);
и обработка его в драйвере:
UCHAR *x;
x = (PUCHAR)Irp->AssociatedIrp.SystemBuffer;

А как быть с передачей сложного типа данных(структурой) не знаю  Здесь была моя ладья...
пробовал след. писать в драйвере:
struct CamcomStruct
{
char x;
char y;
};
CamcomStruct *CamcomDirect;
CamcomDirect =(CamcomStruct)Irp->AssociatedIrp.SystemBuffer;
грит след.: error C2440: 'type cast' : cannot convert from 'PVOID' to 'CamcomStruct'

помогите, как быть в этом случае?
« Последнее редактирование: 15-12-2007 20:42 от Алексей1153++ » Записан
ort
Гость
« Ответ #1 : 06-02-2006 06:57 » 

глупая ошибка, забыл * поставить:
CamcomDirect =(CamcomStruct *)Irp->AssociatedIrp.SystemBuffer;
Записан
Kife
Помогающий

by
Offline Offline

« Ответ #2 : 06-02-2006 10:02 » 

=)))))
Записан

_______
Да поможет нам F1,  и да сохранит нас F2 ...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines