WSAStartup
WSAStartup ÇÔ¼ö´Â WS2_32.DLLÀ» »ç¿ë ÇÒ ¼ö ÀÖµµ·Ï ÃʱâÈ Çϴµ¥ »ç¿ëÇÏ´Â ÇÔ¼öÀÔ´Ï´Ù.
int WSAStartup (
WORD wVersionRequested,
LPWSADATA lpWSAData
);
Parameters
wVersionRequested
[ÀÔ·Â] À©µµÁî
¼ÒÄÏ ÇÔ¼ö°¡ »ç¿ëÇÒ °¡Àå ³ôÀº ¹öÀüÀ» ³ªÅ¸³À´Ï´Ù. ÀÌ 2ByteÀÇ »óÀ§ ¹ÙÀÌÆ®´Â minor
¹öÀüÀ» ÀǹÌÇϰí, ÇÏÀ§ ¹ÙÀÌÆ®´Â major ¹öÀüÀ» ÀǹÌÇÕ´Ï´Ù.
lpWSAData
[Ãâ·Â] À©µµÁî ¼ÒÄÏ ½Ã½ºÅÛ
°ü·Ã Á¤º¸¸¦ ¹ÝȯÇÒ WSADATA
±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ
Remarks
WSAStartup ÇÔ¼ö´Â À©µµÁî ¼ÒÄÏ ÇÔ¼öÁß¿¡¼ °¡Àå ¸ÕÀú ¼öÇàµÇ¾î¾ß ÇÒ ÇÔ¼öÀÔ´Ï´Ù. ÀÌ ÇÔ¼ö´Â »ç¿ëÇÒ À©¼ÓÀÇ ¹öÀüÀ» ¸í½ÃÇϰí, À©µµÁî ¼ÒÄÏ ½Ã½ºÅÛ °ü·Ã Á¤º¸¸¦ ¹ÝȯÇÏ°Ô µË´Ï´Ù. ¹Ýµå½Ã WSAStartup ÇÔ¼ö¸¦ ¼º°øÀûÀ¸·Î È£ÃâÇÏ°í ³ª¼ ´Ù¸¥ À©µµÁî ¼ÒÄÏÇÔ¼ö¸¦ »ç¿ë ÇÒ ¼ö ÀÖ´Ù´Â Á¡À» ²À ¸í½ÉÇϼ¼¿ä.
À©µµÁî ¼ÒÄÏ ¾îÇø®ÄÉÀ̼ÇÀÌ ½ÃÀÛÇÒ ¶§ ¾îÇø®ÄÉÀ̼ǰú À©µµ¿ìÁî ¼ÒÄÏ ½Ã½ºÅÛÀº ƯÁ¤ ¹öÀüÀÇ À©¼Ó API¸¦ »ç¿ëÇϱâ·Î Çù»óÇÕ´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº »ç¿ëÇϱ⸦ ¿øÇÏ´Â À©¼Ó API ¹öÀüÀ» wVersionRequired ÆÄ¶ó¹ÌÅÍ¿¡ Ç¥½ÃÇÕ´Ï´Ù. WSAStartup ÇÔ¼ö°¡ È£ÃâµÉ ¶§ À©µµÁî ¼ÒÄÏ ½Ã½ºÅÛÀº Áö¿øÇÏ´Â °¡Àå ³·Àº À©¼Ó API¹öÀü°ú ¿äûµÈ À©¼Ó API¹öÀüÀ» üũÇÕ´Ï´Ù. ¿äûµÈ ¹öÀüÀÌ ½Ã½ºÅÛÀÌ Áö¿øÇÏ´Â °¡Àå ³·Àº ¹öÀüº¸´Ù ´õ ³ô°Å³ª °°À» °æ¿ì WSAStartup ÇÔ¼öÀÇ È£ÃâÀº °è¼Ó ÁøÇàµÇ°í, ±×´ÙÀ½¿¡ À©µµÁî ¼ÒÄÏ ½Ã½ºÅÛÀº Áö¿øÇÏ´Â °¡Àå ³ôÀº ¹öÀüÀÇ À©¼Ó API¸¦ WSADATA ±¸Á¶Ã¼ÀÇ wHightVersion ¸â¹ö¸¦ ¹Ýȯ ÇÕ´Ï´Ù. ¶ÇÇÑ ½Ã½ºÅÛÀº °¡Àå ³ôÀº ¹öÀü°ú ¿äûµÈ ¹öÀü Áß¿¡¼ ³·Àº ¹öÀüÀ» WSADATA±¸Á¶Ã¼ÀÇ wVersion ¿¡ ÀúÀåÇÕ´Ï´Ù. À̰ÍÀº ¾îÇø®ÄÉÀ̼ǿ¡ ÀûÇÕÇÒ °æ¿ì »ç¿ëµÉ À©¼Ó API¹öÀüÀÔ´Ï´Ù. ¾îÇø®ÄÉÀ̼ÇÀº wVersion ¸â¹öÀÇ °ªÀ» ÀÌ¿ëÇÏ¿© ¹öÀüÀÌ ¾îÇø®ÄÉÀ̼ǿ¡ ÀûÇÕÇÑÁö ¾Æ´ÑÁö¸¦ °áÁ¤ÇÕ´Ï´Ù. ¾Æ·¡ÀÇ Ç¥´Â °¡´ÉÇÑ Çù»ó ½Ã³ª¸®¿À¿Í ±× °á°ú¸¦ ¿¹½ÃÇÑ °ÍÀÔ´Ï´Ù.
App versions | DLL Versions | wVersion Requested | wVersion | wHigh Version | End Result |
---|---|---|---|---|---|
1.1 | 1.1 | 1.1 | 1.1 | 1.1 | use 1.1 |
1.0 1.1 | 1.0 | 1.1 | 1.0 | 1.0 | use 1.0 |
1.0 | 1.0 1.1 | 1.0 | 1.0 | 1.1 | use 1.0 |
1.1 | 1.0 1.1 | 1.1 | 1.1 | 1.1 | use 1.1 |
1.1 | 1.0 | 1.1 | 1.0 | 1.0 | Application fails |
1.0 | 1.1 | 1.0 | - | - | WSAVERNOT SUPPORTED |
1.0 1.1 | 1.0 1.1 | 1.1 | 1.1 | 1.1 | use 1.1 |
1.1 2.0 | 1.1 | 2.0 | 1.1 | 1.1 | use 1.1 |
2.0 | 2.0 | 2.0 | 2.0 | 2.0 | use 2.0 |
¾Æ·¡ÀÇ ÄÚµå´Â À©µµÁî ¼ÒÄÏ ¹öÀü 2.2¸¦ »ç¿ëÇÒ ¶§ ¾î¶»°Ô WSAStarup ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÃʱâÈ ÇÏ´ÂÁö¸¦ º¸¿©ÁÝ´Ï´Ù.
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 )
{
/* ¿äûµÈ À©µµÁî ¼ÒÄÏ ¹öÀü(2.2) À» »ç¿ëÇÒ ¼ö
¾ø½À´Ï´Ù.*/
return;
}
/*À©µµÁî ¼ÒÄÏ DLLÀÌ ¹öÀü 2.2¸¦ Áö¿øÇÏ´ÂÁö È®ÀÎ
ÇØ º¾´Ï´Ù.*/
/*wsaDataÀÇ wVersion Çʵ忡 »ç¿ëÇÒ ¼ö ÀÖ´Â ¹öÀüÀÌ ¸í½ÃµÇÁÒ*/
/*ÀÌ
°ªÀÌ »ç¿ëÇϱ⠿øÇÏ´Â ¹öÀü 2.2ÀÎÁö¸¦ ºñ±³Çؼ ÆÇº°ÇÒ ¼ö*/
/*ÀÖ½À´Ï´Ù.*/
if ( LOBYTE( wsaData.wVersion ) != 2 ||
HIBYTE( wsaData.wVersion ) != 2 )
{
/* ¿äûµÈ À©µµÁî ¼ÒÄÏ ¹öÀü(2.2) À» »ç¿ëÇÒ ¼ö
¾ø½À´Ï´Ù.*/
WSACleanup( );
return;
}
/* ÁöÁ¤µÈ À©µµÁî ¼ÒÄÏÀÌ »ç¿ëÇϵµ·Ï ¼º°øÀûÀ¸·Î Çã¿ëµÇ¾ú½À´Ï´Ù. */
WSAStartup ÇÔ¼ö¸¦ ¼º°øÀûÀ¸·Î È£ÃâÇÏ°í ³ª¼ ÇÊ¿äÇÑ ´Ù¸¥ À©µµÁî ¼ÒÄÏ ÇÔ¼ö¸¦ »ç¿ë ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÁÖÀÇ ÇÒÁ¡Àº ¼º°øÀûÀÎ WSAStartup ÇÔ¼öÀÇ È£Ãâ°ú ´õºÒ¾î ³ªÁß¿¡ ´õ ÀÌ»ó À©µµÁî ¼ÒÄÏÀ» »ç¿ëÇÒ Çʿ䰡 ¾øÀ» ¶§ WSACleanupÇÔ¼ö°¡ ½ÖÀ¸·Î È£ÃâµÇ¾î¾ß ÇÑ´Ù´Â Á¡ÀÔ´Ï´Ù. ±×·¡¾ß¸¸ À©µµÁî ¼ÒÄÏ ½Ã½ºÅÛ¿¡ ÇÒ´çµÇ¾ú´ø ¸®¼Ò½ºµéÀ» ÇØÁ¦ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
½ÇÁ¦ÀûÀ¸·Î »ç¿ëµÉ À©µµÁî ¼ÒÄÏ ½Ã½ºÅÛÀÇ ¼¼ºÎÁ¤º¸´Â WSADATA ±¸Á¶Ã¼¿¡ Ç¥ÇöµË´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀÌ WSAData ±¸Á¶Ã¼ Á¤º¸¸¦ ¾ò°íÀÚ ÇÑ´Ù¸é, WSAStartup ÇÔ¼ö¸¦ ÇѹøÀÌ»ó È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù.
Return Values
¼º°øÀûÀ¸·Î ¼öÇàÇÑ °æ¿ì 0À» ¹Ýȯ Çϰí, ±×·¸Áö ¾ÊÀº °æ¿ì ¾Æ·¡ÀÇ ¸®½ºÆ®¿¡ ³ª¿µÈ ¿¡·¯ÄÚµåÁßÀÇ Çϳª¸¦ ¹Ýȯ ÇÏ°Ô µË´Ï´Ù.
¾îÇø®ÄÉÀ̼ÇÀº ¿¡·¯Äڵ带 ¾ò¾î³»±â À§Çؼ WSAGetLastError ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ¾ø½À´Ï´Ù. ¿Ö³Ä±¸¿ä? À©µµÁî ¼ÒÄÏ ½Ã½ºÅÛÀÌ Á¦´ë·Î ÃʱâÈ µÇÁö ¾Ê¾ÒÀ¸´Ï, ´ç¿¬È÷ WSAGetLastError ÇÔ¼ö¸¦ »ç¿ëÇÏÁö ¸øÇÑ´Ù´Â °ÍÀÌÁÒ.
Error Codes
WSASYSNOTREADY | ÇϺΠ³×Æ®¿÷ ¼ºê½Ã½ºÅÛÀÌ ¾ÆÁ÷ ÁغñµÇÁö ¾Ê¾Ò½À´Ï´Ù. |
WSAVERNOTSUPPORTED | ¿äûÇÑ À©µµÁî ¼ÒÄÏ ¹öÀüÀÌ ÇöÀç À©µµÁî ¼ÒÄÏ ½Ã½ºÅÛ¿¡¼ Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. |
WSAEINPROGRESS | ºí·ÎÅ· À©¼Ó 1.1 ÀÌ ÇöÀç ÁøÇà ÁßÀÔ´Ï´Ù. |
WSAEPROCLIM | À©¼ÓÀÌ Áö¿øÇÏ´Â ÃÖ´ë ŽºÅ©ÀÇ ¼öÄ¡°¡ ÇѰ迡 µµ´ÞÇß½À´Ï´Ù. |
WSAEFAULT | lpWSAData ¸Å°³º¯¼ö°¡ ÀûÀýÇÑ Æ÷ÀÎÅͰ¡ ¾Æ´Õ´Ï´Ù. |
QuickInfo
Windows NT : »ç¿ë°¡´É
Windows :
»ç¿ë°¡´É
Windows CE : ¹öÁ¯ 1.0 ±×¸®°í ±×ÀÌÈÄÀÇ ¹öÁ¯¿¡¼ »ç¿ë°¡´É
Header
:
Win16/32
: winsock.h
Win32-II
: winsock2.h
Import Library :
Win16 : winsock.lib
Win32
: wsock32.lib
Win32-II
: ws2_32.lib