WSADATA

WSADATA,一種數據結構。這個結構被用來存儲被WSAStartup函式調用後返回的Windows Sockets數據。它包含Winsock.dll執行的數據。

基本介紹

  • 中文名:WSADATA
  • 作業系統:Windows CE
  • 版本::大於等於1.0
  • 定義位置::Winsock.h
說明,結構原型,參數說明,備註,

說明

這個結構被用來存儲被WSAStartup函式調用後返回的Windows Sockets數據。它包含Winsock.dll執行的數據。

結構原型

摘自<winsock.h>typedef struct WSAData {        WORD                    wVersion;        WORD                    wHighVersion;#ifdef _WIN64        unsigned short          iMaxSockets;        unsigned short          iMaxUdpDg;        char FAR *              lpVendorInfo;        char                    szDescription[WSADESCRIPTION_LEN+1];        char                    szSystemStatus[WSASYS_STATUS_LEN+1];#else        char                    szDescription[WSADESCRIPTION_LEN+1];        char                    szSystemStatus[WSASYS_STATUS_LEN+1];        unsigned short          iMaxSockets;        unsigned short          iMaxUdpDg;        char FAR *              lpVendorInfo;#endif} WSADATA;WSADATA結構被用來保存AfxSocketInit函式返回的WindowsSockets初始化信息。

參數說明

wVersion
Windows Sockets DLL期望調用者使用的Windows Sockets規範的版本。 高位位元組存儲副版本號, 低位位元組存儲主版本號,可以用WORD MAKEWORD(BYTE,BYTE ) 返回這個值,例如:MAKEWORD(1,1)
wHighVersion
這個DLL能夠支持的Windows Sockets規範的最高版本。通常它與wVersion相同。
szDescription
以null結尾的ASCII字元串,Windows Sockets DLL將對Windows Sockets實現的描述拷貝到這個字元串中,包括製造商標識。文本(最多可以有256個字元)可以包含任何字元,但是要注意不能包含控制字元格式字元,應用程式對其最可能的使用方式是把它(可能被截斷)顯示在在狀態信息中。
szSystemStatus
以null結尾的ASCII字元串,Windows Sockets DLL把有關的狀態或配置信息拷貝到該字元串中。Windows Sockets DLL應當僅在這些信息對用戶或支持人員有用時才使用它們,它不應被作為szDescription域的擴展。
iMaxSockets
單個進程能夠打開的socket的最大數目。Windows Sockets的實現能提供一個全局的socket池,可以為任何進程分配;或者它也可以為socket分配屬於進程的資源。這個數字能夠很好地反映Windows Sockets DLL或網路軟體的配置方式。應用程式的編寫者可以通過這個數字來粗略地指明Windows Sockets的實現方式對應用程式是否有用。例如,X Windows伺服器在第一次啟動的時候可能會檢查iMaxSockets的值:如果這個值小於8,應用程式將顯示一條錯誤信息,指示用戶重新配置網路軟體(這是一種可能要使用szSystemStatus文本的場合)。顯然無法保證某個應用程式能夠真正分配iMaxSockets個socket,因為可能有其它WindowsSockets應用程式正在使用。
iMaxUdpDg
Windows Sockets應用程式能夠傳送或接收的最大的用戶數據包協定(UDP)的數據包大小,以位元組為單位。如果實現方式沒有限制,那么iMaxUdpDg為零。在Berkeley sockets的許多實現中,對於UDP數據包有個固有的限制(在必要時被分解),大小為8192位元組。Windows Sockets的實現可以對碎片重組緩衝區的分配作出限制。對於適合的WindowsSockets 實現,iMaxUdpDg的最小值為512。注意不管iMaxUdpDg的值是什麼,都不推薦你發回一個比網路的最大傳送單元(MTU)還大的廣播數據包。(Windows Sockets API 沒有提供發現MTU的機制,但是它不會小於512個位元組)。WinSock2.0版中已被廢棄。
lpVendorInfo
指向銷售商的數據結構的指針。這個結構的定義(如果有)超出了WindowsSockets規範的範圍。WinSock2.0版中已被廢棄。

備註

在MFC,WSADATA結構是AfxSocketInit返回的函式,調用你的InitInstance函式。 如果你需要使用信息從它之後你可以檢索結構並將其存儲在你的程式
WSAStartup 給WSADATA 結構的成員分配些列值:
wVersion wVersionRequested 數值
wHighVersion wVersionRequested 數值
szDescription NULL 字元串
szSystemStatus NULL 字元串
iMaxSockets 100
iMaxUdpDg 0
lpVendorInfo NULL
必備條件:
作業系統
Windows CE
版本:
大於等於1.0
定義位置:
Winsock.h
注:
API微軟公司提供的完整 Windows CE作業系統包的一部分。這個功能取決於原始設備製造商,有些設備可能不支持這個API。

相關詞條

熱門詞條

聯絡我們