Type a page name and press Enter. You'll jump to the page if it exists, or you can create it if it doesn't.
To create a page in a module other than ws2_32, prefix the name with the module name and a period.
Declare Function WSAStartup Lib "ws2_32.dll" (ByVal versionRequested As Int16, infoBuffer As WSAData) As Integer
User-Defined Types:
WSAData will need to be defined, possibly in the class that calls WSAStartup.
Notes:
The version to be requested should be 2.0 or 2.2.
Tips & Tricks:
Please add some!
Sample Code:
C# Code Sample:
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
[StructLayout(LayoutKind.Sequential)]
public struct WSAData
{
const int WSADESCRIPTION_LEN=256;
const int WSASYS_STATUS_LEN=128;
public Int16 wVersion;
public Int16 wHighVersion;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = WSADESCRIPTION_LEN + 1)]
public String szDescription;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = WSASYS_STATUS_LEN + 1)]
public String szSystemStatus;
public Int16 iMaxSockets;
public Int16 iMaxUdpDg;
public IntPtr lpVendorInfo;
}
public const int SUCCESS = 0;
public const int HIGH_VERSION = 2;
public const int LOW_VERSION = 2;
public const short WORD_VERSION = HIGH_VERSION*256+LOW_VERSION;
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
WSAData data = new WSAData();
int result = 0;
result = WSAStartup(WORD_VERSION, ref data);
if (result == SUCCESS)
{
Console.WriteLine(data.Description);
WSACleanup();
}
Console.ReadLine();
}
}
}
VB Code Sample:
Module Module1
Public Const SUCCESS As Integer = 0
Public Const HIGH_VERSION As Integer = 2
Public Const LOW_VERSION As Integer = 2
Public Const WORD_VERSION As Short = 36
Public Structure WSAData
Public wVersion As Short
Public wHighVersion As Short
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=257)> _
Public Description As String
<MarshalAs(UnmanagedType.ByValTStr, SizeConst:=129)> _
Public Status As String
Public MaxSockets As Integer
Public MaxUdpDg As Integer
Public vendorInfoPointer As IntPtr
End Structure
Declare Function WSAStartup Lib "ws2_32.dll" ( _
ByVal versionRequested As Int16, _
ByVal infoBuffer As WSAData) As Integer
Declare Function WSACleanup Lib "ws2_32.dll" () As Integer
Sub Main()
Dim resultCode As Integer = 0
Dim data As WSAData
data = New WSAData
data.wHighVersion = HIGH_VERSION
data.wVersion = LOW_VERSION
resultCode = WSAStartup(WORD_VERSION, data)
If (resultCode = SUCCESS) Then
WSACleanup()
End If
End Sub
End Module
Alternative Managed API:
Do you know one? Please contribute it!
TODO - a short description
11/26/2012 8:17:36 AM - 123.211.210.156
Please edit this page!
Do you have...
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).