Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Распаковать буфер [D5, Win2k]


Страницы:   1 2

Anatoliy ©   (2004-06-24 14:24:00) 

Помогите распаковать буфер. У меня есть указатель на буфер, структура данных описана на С++ так:

typedef BOOLEAN DDKAPI
(*PPARALLEL_TRY_ALLOCATE_ROUTINE)(
IN PVOID TryAllocateContext);

typedef VOID DDKAPI
(*PPARALLEL_FREE_ROUTINE)(
IN PVOID FreeContext);

typedef ULONG DDKAPI
(*PPARALLEL_QUERY_WAITERS_ROUTINE)(
IN PVOID QueryAllocsContext);

typedef struct _PARALLEL_PORT_INFORMATION {
PHYSICAL_ADDRESS OriginalController;
PUCHAR Controller;
ULONG SpanOfController;
PPARALLEL_TRY_ALLOCATE_ROUTINE TryAllocatePort;
PPARALLEL_FREE_ROUTINE FreePort;
PPARALLEL_QUERY_WAITERS_ROUTINE QueryNumWaiters;
PVOID Context;
} PARALLEL_PORT_INFORMATION, *PPARALLEL_PORT_INFORMATION;


В буфере структура PARALLEL_PORT_INFORMATION.

Чег-то у меня на Паскале не получается ее грамотно описать..


Anatoliy   (2004-06-25 13:36:00) [1]

Ок, спасибо


Ega23   (2004-06-25 13:32:00) [2]

Я через час, максимум полтора пойду на другую работу, там поставлю качаться. А дальше - всё от скорости зависит. :о)


Anatoliy   (2004-06-25 13:22:00) [3]

Добрый день. А ты можеш сообщить когда зальеш? Чтобы сразу прикрыть..


Ega23   (2004-06-24 19:12:00) [4]

Хорошо, завтра к 13:00 залью. С этой работы не могу - режим :-)


Anatoliy   (2004-06-24 18:48:00) [5]

Я написал новый пароль тебе на мыло. (Без спросу, правда) :)


Anatoliy   (2004-06-24 18:15:00) [6]

Если не трудно то сюда:

 ftp.klast.com
 login: lv_vova@klast.com
 password: abof4v

Спасибо за помощь.


Anatoliy   (2004-06-24 17:27:00) [7]

Значит место будет, я попросил знакомого, он обещался помочь, жду что позвонит и скажет куда можно згрузить.

А если суммировать насчет буфера, какой нибудь код получился? А то надо мне двигаться дальше, сам не знаю куда теперь :).


Ega23   (2004-06-24 17:03:00) [8]

Я на 2000. А там какие-то версии есть?

Не знаю. Вроде есть какие-то. Не парился никогда по этому поводу.


Anatoliy   (2004-06-24 16:58:00) [9]

Я на 2000. А там какие-то версии есть?


Ega23   (2004-06-24 16:50:00) [10]

есть для 2000, есть для NT 4


Anatoliy   (2004-06-24 16:38:00) [11]

Я сейчас договариваюсь насчет "адреса, юзернейм/пассворд, и чтобы 70 Мб свободных было". Тут где я нахожусь, тоже все закрыто, но я прошу, может ненадолго откроют.

А какая у тебя версия пакета?


Ega23   (2004-06-24 16:16:00) [12]

Если куда-нибудь сольете, я втяну.

"Куда-нибудь" слить не могу, т.к. до наших институтских серверов "извне" не достучаться. Давай адрес, юзернейм/пассворд, и чтобы 70 Мб свободных было.

Или, как вариант, могу на мыло все хидеры выслать.


Anatoliy   (2004-06-24 16:09:00) [13]

Действительно похоже. Как нибудь его из Дельфи можно вызвать? Мне нужен результат этой функции и все. Сколько там этих WAITERS.  Для этого и всю структуру тяну.

DDK на microsoft.com конечно же искал. Но что-то там они поменяли вроде-бы, и я не нашел пока. Если куда-нибудь сольете, я втяну.


Ega23   (2004-06-24 15:59:00) [14]

typedef
ULONG
(*PPARALLEL_QUERY_WAITERS_ROUTINE)(
  IN PVOID  QueryAllocsContext
  );

Это на CallBack похоже...
Признаюсь честно, в С не силён, опыт программирования на нём небольшой.

DDK можно с microsoft.com скачать, если мне память не изменяет.
Могу на ftp какой-нибудь залить.


Anatoliy   (2004-06-24 15:48:00) [15]

Спасибо, а то у меня ведь даже DDK нету, тягаю хидеры по одному из Нета. А как потом работать с PPARALLEL_QUERY_WAITERS_ROUTINE, не подскажете? Большое спасибо что столько времени уделяете.


Ega23   (2004-06-24 15:39:00) [16]

Нашёл,
вот строчка из ntdef.h
typedef UCHAR *PUCHAR;


Anatoliy   (2004-06-24 15:06:00) [17]

UCHAR это что-то типа unsigned char (?) или Byte в Дельфи. Во всяком случае я так уже распаковывал и прошло. А PUCHAR не знаю. Может указатель на UCHAR?

Особенно меня волнует PPARALLEL_QUERY_WAITERS_ROUTINE, мне как-то надо будет с ней работать.


Ega23   (2004-06-24 14:54:00) [18]

Что-то я не могу найти в хидерах что такое PUCHAR


Anatoliy   (2004-06-24 14:35:00) [19]

Простите, да не ту ссылку, http://www.osr.com/ddk/parallel/cisspd_9qk2.htm


Anatoliy   (2004-06-24 14:32:00) [20]

typedef
BOOLEAN
(*PPARALLEL_TRY_ALLOCATE_ROUTINE)(
   IN PVOID  TryAllocateContext
   );

typedef
VOID
(*PPARALLEL_FREE_ROUTINE)(
   IN PVOID  FreeContext
   );

typedef
ULONG
(*PPARALLEL_QUERY_WAITERS_ROUTINE)(
   IN PVOID  QueryAllocsContext
   );

PHYSICAL_ADDRESS  - не знаю.


Думал что-то стандартное.

Детально на http://www.osr.com/ddk/ddk2.htm


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо