![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Распаковать буфер [D5, Win2k]
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