Здравствуйте 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х тоже спросить...