TDI client/protocol interaction  
Author Message

PostPosted: Winsock Kernel (WSK), TDI client/protocol interaction Top

I am trying to write a TDI client driver and Protocol driver on Windows Server 2003. I want my protocol driver to report NIC binding ADD/DEL events to the TDI client.

I registered for TdiRegisterPnPHandlers in my client . When a NIC binding is added (or deleted) , I call TdiRegisterDeviceObject ( or DeRegister) in my protocol driver. But I dont see my clients ClientPnPBindingChange routine being called with TDI_PNP_OP_ADD (or TDI_PNP_OP_DEL).

Another problem is that I am able to receive ClientPnPAddNetAddress (or ClientPnPDelNetAddress) from the TCPIP module when network address changes occur, but I am not able to do the same from my protocol driver. I call TdiRegisterNetAddress (or TdiDeregisterNetAddress) from the protocol driver but my clients callback is never called.

Any help in this matter would be appreciated.


Windows Networking Development17  
Vijender Yadav

PostPosted: Winsock Kernel (WSK), TDI client/protocol interaction Top

I am using this code and I can see ClientPnPBindingChange

NTSTATUS SetNotificationHandler(PUNICODE_STRING RegistryPath)


HANDLE BindingHandle =NULL;

ULONG InterfaceInfoSize=0;



ClientInterfaceInfo.MajorTdiVersion =TDI_CURRENT_MAJOR_VERSION;

ClientInterfaceInfo.MinorTdiVersion =TDI_CURRENT_MINOR_VERSION;

ClientInterfaceInfo.ClientName = RegistryPath;

ClientInterfaceInfo.PnPPowerHandler = NeoClientPnPPowerChange;

ClientInterfaceInfo.BindingHandler = NeoClientPnPBindingChange;

ClientInterfaceInfo.AddAddressHandlerV2 = NeoClientPnPAddNetAddress;

ClientInterfaceInfo.DelAddressHandlerV2 = NeoClientPnPDelNetAddress;

InterfaceInfoSize = sizeof(ClientInterfaceInfo);

status = TdiRegisterPnPHandlers(





bb_DbgPrint(TRACE_NO,("\nAfter TdiRegisterPnPHandlers: status: 0x%x",status));

return status;