int WSAStartup(
__in WORD
wVersionRequested
,
__out LPWSADATA
lpWSAData
);
WSAStartup
格
??
式:
int PASCAL FAR WSAStartup( WORD wVersionRequested,? LPWSADATA lpWSAData );
參
??
數:
?
wVersionRequested
欲使用的
Windows Sockets API
版本
lpWSAData??
指向
WSADATA
資料的指標
傳回值:
?
成功
– 0
??
????????
失敗
- WSASYSNOTREADY / WSAVERNOTSUPPORTED /??WSAEINVAL
說明: 此函式「必須」是應用程式呼叫到
Windows Sockets DLL
函式中的第一個,也唯有此函式呼叫成功後,才可以再呼叫其他
Windows??Sockets DLL
的函式。此函式亦讓使用者可以指定要使用的
Windows Sockets API
版本,及獲取設計者的一些資訊。程式中我們要用
Winsock 1.1
,所以我們在程式中有一段為:
WSAStartup((WORD)((1<<8)|1),(LPWSADATA) &WSAData)
其中
((WORD)((1<<8)|1)
表示我們要用的是
Winsock
「
1.1
」版本,而
WSAData
則是用來儲存由系統傳回的一些有關此一
Winsock Stack
的資料。
The
WSAStartup
function initiates use of the Winsock DLL by a process.
在使用WSAStartup的使用出現了下面的問題:
源碼:
#include?
"
stdafx.h
"
#include
<
windows.h
>
int
?main() { ????WSADATA?wsa
=
{
0
}; ????WSAStartup(MAKEWORD(
2
,
2
),
&
wsa); ???? ????
return
?
0
; }
出現的錯誤信息:
錯誤?1?error LNK2019: 無法解析的外部符號
_WSAStartup@8
,該符號在函數 _main 中被引用?CompletePortDemo.obj?CompletePortDemo
解決方法:添加#pragma?comment(lib,"ws2_32.lib")
正確代碼:
#include?
"
stdafx.h
"
#include
<
windows.h
>
#pragma????comment(lib,
"
ws2_32.lib
"
)
int
?main() { ????WSADATA?wsa
=
{
0
}; ????WSAStartup(MAKEWORD(
2
,
2
),
&
wsa); ???? ????
return
?
0
; }
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

