Hi, I have developed virtual audio driver which will transfer the captured audio to the network using TDI driver. This is the architectural design principle that I am following. Also I have a sample TDI driver, with sample client and server application through which I am able to successfully transfer the data across network. Now I want to utilize this TDI client driver with my audio driver, so that I can collect the data from audio data and transfer it on network through TDI client driver. But here I am little confused regarding the implementation approach that I should adopt. 1) TDI client is a full fledged driver. Should I integrate its code in my audio driver (Like functions TDI_OpenConnection, TDI_Connect) and make one driver containing the functionality of both audio and TDI client driver. 2) Like the approach the sample follows , passing IOCTL from TDI application to TDI driver for any operation viz connect, send, receive, I should load the TDI client driver from audio driver and then pass the IRPs from the audio driver to the TDI client driver containing the required operation code.. I am confused as to which approach I should follow. Please give some ideas regarding the feasibility and efficiency of the above two approaches. Thanks Anshul Makkar