Создание TransportAdress и TDI-endpoint условно состоит из опрделения EA-атрибутов + вызова двух функций: 1) ZwCreateFile(...) 2) ObReferenceObjectByHandle(...) Вопрос первый (с учетом того, что мне нужно использовать протоко TCP/IP): при создании TransportAdress/TDI-endpoint функция ZwCreateFile(OUT PHANDLE FileHandle, ...) открывает объект "\\Device\\Tcp" или создает какой-то другой? На что будет указывать FileHandle?
Повнимательней посмотрел в исходник, так нписано Код (Text): status = ZwCreateFile(&TDI_Address_Handle,GENERIC_READ | GENERIC_WRITE | SYNCHRONIZE,&TDI_Object_Attr,&IoStatus,0,FILE_ATTRIBUTE_NORMAL,FILE_SHARE_READ,FILE_OPEN,0,pEA_Buffer,sizeof(EA_Buffer)); там написано FILE_OPEN, т.е. открывается устройство "\\Device\\Tcp". Тогда непонятно зачем функция ObReferenceObjectByHandle(...) вызывается при содании и TransportAdress, и TDI-endpoint, если по идее они должны возвращать указатель на один и тот же объект. ЗЫ я может как-то путанно объясняю - новичек еще в драйверах. ЗЫ2 ссылка на исходник, по которому спрашиваю http://slil.ru/24510633