Re: TDI клиент
От: Vovkos Россия https://ioninja.com
Дата: 03.05.01 08:31
Оценка:
Здравствуйте Diver, 29.04.2001 13:54:57 вы писали:

>Сабж.

>Кто-нибудь может подсказать, как правильно обрабатывать сообщение TDI_EVENT_CONNECT для Win 9x?
>
>TDI_STATUS ConnectEvent(
> PVOID EventContext,
> uint AddressLength,
> PTRANSPORT_ADDRESS Address,
> uint UserDataLength,
> PVOID UserData,
> uint OptionsLength,
> PVOID Options,
> PVOID *AcceptingID, — а вот этот параметр и интересует..что сюда ложить надо-то?
> ConnectEventInfo *EventInfo
>);
>
>буду признателен за кусок кода, который слушает конкретный порт и акцептит входящее соединение с комментариями.

В общем-то под 9х такими вещами не занимался, но под NT написал в свое время один TDI filter...
Короче под NT этот параметр имеет более логичное название — CONNECTION_CONTEXT.
Когда тебе приходит TDI_EVENT_CONNECT, ты зполняешь IRP для выполнения ACCEPT
(причем сам этот ирп не отправляешь) — здесь в 9х судя по всему вместо этого надо заполнить ConnectEventInfo *EventInfo.
А в CONNECTION_CONTEXT кладешь некий свой
пойнтер — и тебе этот пойнтер будет передаваться в твои хэндлеры типа TDI_EVENT_DISCONNECT, TDI_EVENT_RECEIVE и т.д. для данного соединения

Кстати для разработчиков драйверов очень хороший мэйлинг лист на osr.com — ntdev, ntfsd.
Вообще-то это по NT kernel'у, но там можно и по 9х тоже спросить...

Удачи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.