@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: TODO - a short description !!!!C# Signature: /* Look at WSAIoctl function parameters .!. */ /* http://msdn.microsoft.com/en-us/library/windows/desktop/ms741621(v=vs.85).aspx */ [DllImport("Ws2_32.dll")] public static extern int WSAIoctl( /* Socket, Mode */ IntPtr s, System.Net.Sockets.IOControlCode dwIoControlCode, /* Optional Or IntPtr.Zero, 0 */ IntPtr lpvInBuffer, int cbInBuffer, /* Optional Or IntPtr.Zero, 0 */ IntPtr lpvOutBuffer, int cbOutBuffer, /* reference to receive Size */ ref int lpcbBytesReturned, /* IntPtr.Zero, IntPtr.Zero */ IntPtr lpOverlapped, IntPtr lpCompletionRoutine); !!!!VB Signature: Declare Function WSAIoctl Lib "ws2_32.dll" (TODO) As TODO !!!!User-Defined Types: None. !!!!Alternative Managed API: Do you know one? Please contribute it! !!!!Notes: None. !!!!Tips & Tricks: Please add some! !!!!Sample Code: public int Avilible { get { var BufferRet = 0; // v1 //BufferRet = 0; //var BufferPtr = Marshal.AllocHGlobal(Buffer); //BufferRet = Native.recv(socketPtr, BufferPtr, Buffer, Native.MsgFlags.MSG_PEEK); //Marshal.FreeHGlobal(BufferPtr); // v2 //BufferRet = 0; //Native.ioctlsocket(this.socketPtr, Native.Command.FIONREAD, ref BufferRet); // v3 BufferRet = 0; var nBytesReturned = 0; var infoSize = Marshal.SizeOf(BufferRet); var handle = Marshal.AllocHGlobal(infoSize); Native.WSAIoctl( this.socketPtr, Native.ControlCode.FIONREAD, IntPtr.Zero, 0, handle, infoSize, ref nBytesReturned, IntPtr.Zero, IntPtr.Zero); BufferRet = Marshal.ReadInt32(handle); return BufferRet; } } Documentation: WSAIoctl@msdn on MSDN
Edit ws2_32.WSAIoctl
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.