TDI client/protocol interaction  
Author Message
LucaC





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

Hi,
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.

thanks


Windows Networking Development12  
 
 
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;

TDI_CLIENT_INTERFACE_INFO ClientInterfaceInfo;

NTSTATUS status = STATUS_SUCCESS;

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(

&ClientInterfaceInfo,

InterfaceInfoSize,

&BindingHandle

);

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

return status;

}