Thank you for your code sample - I am testing it out now. When I get to the following line:

int ret_code = socket.IOControl(IOControlCode.ReceiveAll, IN, OUT);

I get an invalid argument (10022) socket exception. Any ideas on why that does not work?