WSAAsyncGetServByName
WSAAsyncGetServByName ÇÔ¼ö´Â ÁöÁ¤µÈ ¼ºñ½º À̸§, ÇÁ·ÎÅäÄݰú ºÎÇÕÇÏ´Â ¼ºñ½º Á¤º¸¸¦ ¹ÝȯÇÏ´Â ÇÔ¼ö ÀÔ´Ï´Ù.
HANDLE WSAAsyncGetServByName (
HWND hWnd,
unsigned int wMsg,
const char FAR * name,
const char FAR * proto,
char FAR *
buf,
int buflen
);
Parameters
hWnd
[ÀÔ·Â] ºñµ¿±â ÀÛ¾÷ÀÌ ¿Ï·á µÇ¾úÀ»
¶§ ¸Þ½ÃÁö¸¦ ¼ö½Å¹ÞÀ» À©µµ¿ìÀÇ ÇÚµé
wMsg
[ÀÔ·Â] ºñµ¿±â ÀÛ¾÷ÀÌ ¿Ï·á µÇ¾úÀ»
¶§ ¼ö½Å¹ÞÀ» ¸Þ¼¼Áö
name
[ÀÔ·Â] null
¹®ÀÚ·Î ³¡³ª´Â ¼ºñ½º À̸§ ½ºÆ®¸µ
proto
[ÀÔ·Â] ÇÁ·ÎÅäÄÝ
À̸§¿¡ ´ëÇÑ Æ÷ÀÎÅÍ. ÀÌ °ªÀº WSAAsyncGetServByName
ÇÔ¼ö°¡ ÁÖ¾îÁø name°ú ÀÏÄ¡ÇÏ´Â s_nameÀ̳ª s_aliases¿¡ ´ëÇØ¼
ù ¹øÂ° ¼ºñ½º ¿£Æ®¸®¸¸À» °Ë»öÇÒ °æ¿ì NULLÀÌ µÉ ¼ö ÀÖ½À´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì
Áï, proto°¡ NULLÀÌ ¾Æ´Ñ°æ¿ì WSAAsyncGetServByName
ÇÔ¼ö´Â name °ú proto ¾çÂÊ ¸ðµÎ¿Í ÀÏÄ¡ÇÏ´Â ¼ºñ½º Á¤º¸¸¦ ¹ÝȯÇϰÔ
µË´Ï´Ù.
buf
[Ãâ·Â] SERVENT
µ¥ÀÌÅ͸¦ ¼ö½ÅÇϱâ À§ÇÑ µ¥ÀÌÅÍ ¿µ¿ª Æ÷ÀÎÅÍ. ÀÌ µ¥ÀÌÅÍ¿µ¿ªÀº SERVENT
±¸Á¶Ã¼ÀÇ Å©±âº¸´Ù ´õ Ä¿¾ß ÇÕ´Ï´Ù. ¿Ö³Ä¹È, ÀÌ µ¥ÀÌÅÍ ¿µ¿ªÀ» À©µµÁî ¼ÒÄÏÀÌ SERVENT
±¸Á¶Ã¼¿Í SERVENT ±¸Á¶Ã¼ÀÇ ¸â¹ö¸¦ ÂüÁ¶ÇÏ´Â µ¥ÀÌÅÍ ÀüºÎ¸¦ Æ÷ÇÔÇØ¾ß Çϱ⠶§¹®ÀÔ´Ï´Ù.
±¸·¡¼ º¸Åë MAXGETHOSTSTRUCT ¹ÙÀÌÆ® ¸¸ÅÀÇ ¹öÆÛ¸¦ ÁÖ·Î »ç¿ëÇÕ´Ï´Ù.
buflen
[ÀÔ·Â] buf ¸Å°³º¯¼ö¿¡ ´ëÇÑ µ¥ÀÌÅÍ ¿µ¿ªÀÇ Å©±â
Remarks
WSAAsyncGetServByName ÇÔ¼ö´Â getservbyname ÇÔ¼öÀÇ ºñµ¿±â ¹öÀüÀ̶ó ÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï, ÁöÁ¤µÈ ¼ºñ½º À̸§°ú ºÎÇÕÇÏ´Â ¼ºñ½º Á¤º¸¸¦ ¹ÝȯÇϴµ¥ »ç¿ëµÇ´Â ÇÔ¼öÀÔ´Ï´Ù. ÇÔ¼ö¸¦ ÄÝÇÏ°Ô µÇ¸é, ¹Ù·Î ºñµ¿±â ¿¬»êÀÌ ½ÃÀÛµÇ°Ô µÇ°í ºñµ¿±â ¿¬»êÀº »ª~ À¸·Î ´«¿¡ º¸ÀÌÁö ¾Ê°Ô(?) µ¿ÀÛÇÏ°Ô µË´Ï´Ù. ÀÌ ºñµ¿±â ¿¬»ê¿¡ ´ëÇÑ Å½ºÅ© ÇÚµéÀÌ º» ÇÔ¼öÀÇ ¸®ÅϰªÀ¸·Î ³Ñ¾î¿À°Ô µÇ´Âµ¥ ¾îÇø®ÄÉÀ̼ǿ¡¼´Â ÀÌ Å½ºÅ© ÇÚµéÀ» »ç¿ë ÇÒ ¼ö ÀÖ½À´Ï´Ù. ºñµ¿±â ¿¬»êÀÌ ¿Ï·á µÇ¾úÀ» ¶§ ±× °á°ú´Â ÇÔ¼öÀÇ È£ÃâÁö Á¦°øµÇ¾ú´ø buffer·Î Ä«ÇÇµÇ°í ¾îÇø®ÄÉÀÌ¼Ç À©µµ¿ì·Î ¸Þ½ÃÁö°¡ º¸³»Áö°Ô µË´Ï´Ù.
ºñµ¿±â ¿¬»êÀÌ ¿Ï·áµÇ¾úÀ» ¶§, hWnd·Î ÁöÁ¤µÇ¾ú´ø ¾îÇø®ÄÉÀÌ¼Ç À©µµ¿ì´Â wMsg·Î ÁöÁ¤µÇ¾ú´ø ¸Þ½ÃÁö¸¦ ¼ö½ÅÇÏ°Ô µË´Ï´Ù. wParam ¸Å°³º¯¼ö´Â ÀÌÀü¿¡ ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ ¸®ÅϵǾú´ø ÇÚµé°ú °°Àº ºñµ¿±â ŽºÅ© ÇÚµéÀ» °¡Áö°í ÀÖ½À´Ï´Ù. lParamÀÇ »óÀ§ 16ºñÆ®´Â ƯÁ¤ÇÑ ¿¡·¯Äڵ带 °¡Áö°í Àִµ¥, ÀÌ ¿¡·¯ÄÚµå´Â WINSOCK(2).H¿¡ Á¤ÀÇµÈ Æ¯Á¤ÇÑ ¿¡·¯Äڵ尡 µÉ ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à ÀÌ lParamÀÇ »óÀ§ 16ºñÆ®ÀÎ ¿¡·¯Äڵ尡 0ÀÏ °æ¿ì ºñµ¿±â ¿¬»êÀº ¼º°øÇß´Ù°í º¼ ¼ö ÀÖ½À´Ï´Ù.
¼º°øÀûÀÎ ¼öÇà ÈÄ¿¡, ÇÔ¼öÈ£Ãâ½Ã Á¦°øµÇ¾ú´ø buffer´Â SERVENT ±¸Á¶Ã¼¸¦ °¡Áö°Ô µË´Ï´Ù. ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹ö¸¦ Á¢±ÙÇÏ·Á¸é, ¸ÕÀú buffer ¾îµå·¹½º¸¦ SERVENT ±¸Á¶Ã¼·Î ij½ºÆÃÇϰí, ¸â¹ö¸¦ Á¢±ÙÇÏ¸é µË´Ï´Ù.
¸¸¾à WSAENOBUFS ¿¡·¯Äڵ尡 ¹ß»ýÇÑ °æ¿ì ÇÔ¼öÀÇ È£Ãâ½Ã ³Ñ°ÜÁÖ¾ú´ø buflenÀÇ Å©±âÀÎ buffer°¡ ¸ðµç Á¤º¸¸¦ ´ã±â¿¡ ³Ê¹«ÀÛÀº °æ¿ìÀÔ´Ï´Ù. ÀÌ·± °æ¿ì lParamÀÇ ÇÏÀ§ 16ºñÆ®´Â ¸ðµç Á¤º¸¸¦ ´ã±â¿¡ ÃæºÐÇÑ ¹öÆÛÀÇ Å©±â¸¦ °¡¸£ÃÄ ÁÖ°Ô µÇÁÒ. Áï, lParamÀÇ ÇÏÀ§ 16ºñÆ® Å©±â¸¸ÅÀÇ ¹öÆÛ¸¦ ÇÒ´çÇØ¾ßÁö¸¸, Á¤»óÀûÀÎ Á¤º¸¸¦ ¾ò¾î³¾ ¼ö ÀÖ´Ù´Â ÀǹÌÀÔ´Ï´Ù.
lParam¿¡ Æ÷ÇԵǾî ÀÖ´Â ¿¡·¯ÄÚµå¿Í ¹öÆÛÀÇ ±æÀÌ´Â WSAGETASYNCERROR °ú WSAGETASYNCBUFLEN ¸ÅÅ©·Î¸¦ ÀÌ¿ëÇØ¼ »Ì¾Æ³¾ ¼öµµ ÀÖ½À´Ï´Ù.
#define WSAGETASYNCERROR(lParam) HIWORD(lParam)
//¿¡·¯ÄÚµå °Ë»ö
#define WSAGETASYNCBUFLEN(lParam) LOWORD(lParam)
//ÇÊ¿äÇÑ ¹öÆÛÀÇ ±æÀÌ °Ë»ö
ÀÌ·¯ÇÑ ¸ÅÅ©·Î¸¦ ÀÌ¿ëÇϸé, ÄÚµåÀÇ À̽ļºÀÌ ÁÁ¾ÆÁø´Ù°í ÇÕ´Ï´Ù.
Return Values
¸®ÅϰªÀº ºñµ¿±âÀûÀÎ ¿¬»êÀÌ ¼º°øÇßµç ¾Æ´Ïµç°£¿¡ ¹ÝȯµË´Ï´Ù. ÀÌ ¸®Åϰª ±×ÀÚü·Î´Â ¿¬»êÀÌ Á¤»óÀûÀ¸·Î ¼öÇàµÇ¾ú´ÂÁö ¾Æ´ÑÁö¸¦ °áÁ¤ÇÒ ¼ö´Â ¾ø½À´Ï´Ù.
¸¸¾à ¾Æ¹«·± ¿¡·¯°¡ ¹ß»ýÇÏÁö ¾Ê¾Ò´Ù¸é, WSAAsyncGetProtoByNumber ÇÔ¼ö´Â 0ÀÌ ¾Æ´Ñ ºñµ¿±â ŽºÅ© ÇÚµéÀ» ¹Ýȯ ÇÕ´Ï´Ù(À©µµÁî HTASK¿Í Çò°¥¸®Áö ¸¶¼¼¿ä). ÀÌ ºñµ¿±â ŽºÅ© ÇÚµéÀº µÎ°¡Áö ¿ëµµ·Î »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ù ¹øÂ°·Î WSACancelAsyncRequest ÇÔ¼ö¿¡ »ç¿ëÇØ¼ ÀÛ¾÷ÁßÀÌ ¿¬»êÀ» ÁßÁö ½Ãų ¼ö ÀÖ°í, µÎ ¹øÂ°·Î ¿¬»êÀÌ ¿Ï·áµÇ¾úÀ» ¶§ ¸Þ½ÃÁö¸¦ ¹Þ´Â ·çƾ¿¡¼ wParam°ú, ÀÌ ºñµ¿±â ŽºÅ© ÇÚµéÀ» ºñ±³Çؼ ¾î¶² ÀÛ¾÷ÀÇ ¿Ï·á ¸Þ½ÃÁö ÀÎÁö¸¦ ºñ±³Çؼ ÃßÃâÇØ ³¾ ¼ö µµ Àִ°ÅÁÒ.
¸¸¾à ºñµ¿±â ¿¬»êÀÌ ÃʱâÈµÇ°í ½ÃÀÛµÇÁö ¸øÇß´Ù¸é, ÀÌ ÇÔ¼ö´Â 0°ªÀ» ¹Ýȯ Çϰí, WSAGetLastError ÇÔ¼ö¸¦ ÀÌ¿ëÇØ¼ ƯÁ¤ÇÑ ¿¡·¯Äڵ带 ¹Ýȯ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Error Codes
¾Æ·¡ÀÇ ¿¡·¯ÄÚµå´Â ¾îÇø®ÄÉÀÌ¼Ç À©µµ¿ì°¡ ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ ¾ò¾î³¾ ¼ö ÀÖ´Â ¿¡·¯ÄÚµåÀÔ´Ï´Ù. ´Ù½Ã¸»Çϸé, ¼ö½ÅµÈ ¸Þ½ÃÁöÁß lParam ¸Å°³º¯¼ö¸¦ WSAGETASYNCERROR ¸ÅÅ©·Î¸¦ »ç¿ëÇØ¼ »Ì¾Æ³¾ ¼ö ÀÖ´Â °ªÀÔ´Ï´Ù.
WSAENETDOWN | ³×Æ®¿÷ ¼ºê ½Ã½ºÅÛ¿¡¼ ¿¡·¯°¡ ¹ß»ý Çß½À´Ï´Ù. |
WSAENOBUFS | »ç¿ë°¡´ÉÇÑ ¹öÆÛ °ø°£ÀÌ ºÎÁ·ÇÕ´Ï´Ù. |
WSAEFAULT | name
¶Ç´Â buf
¸Å°³º¯¼ö°¡ 󸮸¦ Çϱ⿡ ¿Ã¹Ù¸¦ ÇüŰ¡ ¾Æ´Õ´Ï´Ù. |
WSAHOST_NOT_FOUND | Á¤´çÇÑ(Authoritative) È£½ºÆ®¸¦ ã¾Æ³¾ ¼ö ¾ø½À´Ï´Ù. |
WSATRY_AGAIN | Á¤´çÇÏÁö ¾ÊÀº(Non-Authoritative)¸¦ ãÀ» ¼ö ¾ø½À´Ï´Ù. ¶Ç´Â ¼¹ö½ÇÆÐ ÀÔ´Ï´Ù. |
WSANO_RECOVERY | ȸº¹ÇÒ ¼ö ¾ø´Â ¿¡·¯¹ß»ý |
WSANO_DATA | À߸øµÈ À̸§(name)À¸·Î ¾Æ¹«·± µ¥ÀÌÅͰ¡ ±â·ÏµÇÁö ¾Ê¾Ò½À´Ï´Ù. |
¾Æ·¡ÀÇ ¿¡·¯ÄÚµå´Â º» ÇÔ¼ö¸¦ È£Ãâ ÇßÀ» ¶§ ¹ß»ýµÉ ¼ö ÀÖ´Â ¿¡·¯ÄÚµåÀÔ´Ï´Ù. ±×¸®°í, ÀÌ·¯ÇÑ ¿¡·¯Äڵ尡 °ËÃ⠵ǾúÀ» ¶§ ºñµ¿±â ¿¬»êÀº ½ÃÀÛ µÉ ¼ö ¾ø´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
WSANOTINITIALISED | ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇϱâ ÀÌÀü¿¡ WSAStartup ÇÔ¼ö¸¦ ¼º°øÀûÀ¸·Î È£ÃâÇØ¾ß ÇÕ´Ï´Ù. |
WSAENETDOWN | ³×Æ®¿÷ ¼ºê ½Ã½ºÅÛ¿¡¼ ¿¡·¯°¡ ³µ½À´Ï´Ù. |
WSAEINPROGRESS | ºí·°Å· À©¼Ó v1.1ÀÌ ÁøÇà»óÅ¿¡ Àְųª, ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ°¡ ¾ÆÁ÷ ÄݹéÇÔ¼ö¸¦ ÁøÇàÇϰí ÀÖ½À´Ï´Ù. |
WSAEWOULDBLOCK | ºñµ¿±â ¿¬»êÀÌ ¸®¼Ò½º³ª ´Ù¸¥ ¹Ý´ëÀûÀÎ ¿ä¼Òµé ¶§¹®¿¡ ÁøÇàµÉ ¼ö ¾ø½À´Ï´Ù. |
QuickInfo
Windows NT : »ç¿ë°¡´É
Windows :
»ç¿ë°¡´É
Windows CE : Áö¿øµÇÁö ¾ÊÀ½
Header
:
Win16/32
: winsock.h
Win32-II
: winsock2.h
Import Library :
Win16 : winsock.lib
Win32
: wsock32.lib
Win32-II
: ws2_32.lib