WSAAsyncGetHostByName

WSAAsyncGetHostByName ÇÔ¼ö´Â ÁöÁ¤µÈ È£½ºÆ® À̸§°ú ÀÏÄ¡Çϴ ȣ½ºÆ® Á¤º¸¸¦ ºñµ¿±âÀûÀ¸·Î ¾ò¾î³»´Â ÇÔ¼ö ÀÔ´Ï´Ù.

HANDLE WSAAsyncGetHostByName (
        HWND   
hWnd,
        unsigned int   
wMsg,
        const char FAR *   
name,
        char FAR *   
buf,
        int   buflen
);

 

Parameters

hWnd
[ÀÔ·Â] ºñµ¿±âÀûÀÎ ¿äûÀÌ ¿Ï·áµÇ¾úÀ» ¶§ ¸Þ½ÃÁö¸¦ ¼ö½ÅÇÒ À©µµ¿ìÀÇ ÇÚµé

wMsg
[ÀÔ·Â] ºñµ¿±âÀûÀÎ ¿äûÀÛ¾÷ÀÌ ¿Ï·áµÇ¾úÀ» ¶§ ¼ö½ÅµÉ ¸Þ½ÃÁö

name
[ÀÔ·Â] ³Î ¹®ÀÚ·Î ³¡³ª´Â È£½ºÆ® À̸§

buf
[Ãâ·Â]
HOSTENT µ¥ÀÌÅ͸¦ ¼ö½ÅÇϱâ À§ÇÑ µ¥ÀÌÅÍ ¿µ¿ªÀÇ Æ÷ÀÎÅÍÀÔ´Ï´Ù. ÀÌ µ¥ÀÌÅÍ ¿µ¿ªÀº HOSTENT ±¸Á¶Ã¼ÀÇ Å©±âº¸´Ù ´õ Ä¿¾ß ÇÕ´Ï´Ù. ¿Ö³ÄÇϸé, ¾ò¾îÁö´Â µ¥ÀÌÅÍ ¿µ¿ªÀº HOSTENT ±¸Á¶Ã¼¿Í HOSTENT ±¸Á¶Ã¼ÀÇ ¸ðµç ¸â¹ö¸¦ Æ÷ÇÔÇϱâÀ§ÇÏ¿© À©µµ¿ìÁî ¼ÒÄÏ ½Ã½ºÅÛÀÌ »ç¿ëÇϱ⠶§¹®ÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î ¹öÆÛÀÇ Å©±â·Î MAXGETHOSTSTRUCT¸¦ »ç¿ëÇÕ´Ï´Ù.

buflen
[ÀÔ·Â]
buf ¸Å°³º¯¼ö¸¦ À§ÇÑ µ¥ÀÌÅÍ ¿µ¿ªÀÇ Å©±â¸¦ ¸í½Ã ÇÕ´Ï´Ù.

Remarks

WSAAsyncGetHostByName ÇÔ¼ö´Â gethostbyname ÇÔ¼öÀÇ ºñµ¿±â ¹öÀüÀÔ´Ï´Ù. ÀÌ ÇÔ¼ö´Â ÁöÁ¤µÈ È£½ºÆ® À̸§°ú ÀÏÄ¡ÇÏ´Â ¾îµå·¹½º Á¤º¸¸¦ ¾ò¾î³»±â À§Çؼ­ »ç¿ëµË´Ï´Ù. À©µµ¿ìÁî ¼ÒÄÏ ½Ã½ºÅÛÀº ¿¬»êÀ» ½ÃÀÛÇÏ°í, ÇÔ¼ö´Â ¹Ù·Î ¹ÝȯµÇ°í, º¸ÀÌÁö ¾Ê°Ô ¹éÀ¸·Î ¿¬»êÀ» ¼öÇàÇÕ´Ï´Ù. "ºñµ¿±â ÀÛ¾÷ ÇÚµé(asynchronous task handle)" Àº ¾îÇø®ÄÉÀ̼ǿ¡¼­ ¿¬»çÀÇ ½Äº°ÀÚ·Î »ç¿ë ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¬»ê(operation)ÀÌ ¿Ï·á µÇ¾úÀ» ¶§ ±× °á°ú´Â ÇÔ¼öÀÇ ¸Å°³º¯¼ö·Î ÁöÁ¤ÇÑ ¹öÆÛ¿¡ Ä«Çǵǰí, ¸Þ½ÃÁö´Â ¾îÇø®ÄÉÀÌ¼Ç À©µµ¿ì·Î Àü´Þ µË´Ï´Ù.

ºñµ¿±âÀûÀÎ ¿¬»êÀÌ ¿Ï·á µÇ¾úÀ» ¶§ hWnd ¸Å°³º¯¼ö·Î ÁöÁ¤µÈ ¾îÇø®ÄÉÀÌ¼Ç À©µµ¿ì´Â wMsg ¸Å°³º¯¼öÀÎ ¸Þ½ÃÁö¸¦ ¹Þ°Ô µË´Ï´Ù. wParam ¸Å°³º¯¼ö´Â ºñµ¿±â ÀÛ¾÷(task) ÇÚµéÀ» °¡Áö´Â ¸Å°³º¯¼öÀÔ´Ï´Ù. lParamÀÇ »óÀ§ 16ºñÆ®´Â ¿¡·¯Äڵ带 °¡Áö°í ÀÖ½À´Ï´Ù. ¿¡·¯ÄÚµå´Â WINSOCK(2).H Çì´õ ÆÄÀÏ¿¡ Á¤ÀÇµÈ ¿¡·¯Äڵ尡 µÉ ¼ö ÀÖ½À´Ï´Ù. ¿¡·¯Äڵ尡 0 ÀÏ °æ¿ì ºñµ¿±â ¿¬»ê(operation)ÀÇ ¼º°øÀûÀÎ ¿Ï·á¸¦ ÀǹÌÇÕ´Ï´Ù.

¼º°øÀûÀÎ ¿Ï·á½Ã¿¡ ÇÔ¼öÈ£Ãâ½Ã¿¡ ÁöÁ¤ÇÑ ¹öÆÛ´Â HOSTENT ±¸Á¶Ã¼¸¦ °¡Áý´Ï´Ù. ÀÌ ±¸Á¶Ã¼ÀÇ ¸â¹ö¸¦ Á¢±ÙÇϱâÀ§Çؼ­´Â ¿ø·¡ ¹öÆÛ ¸Þ¸ð¸® ÁÖ¼Ò¸¦ HOSTENT ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅͷΠij½ºÆà ÇÏ°í³ª¼­ Á¢±Ù ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸¸¾à ¿¡·¯Äڵ尡 WSAENOBUFS ÀÏ °æ¿ì buflen ¸Å°³º¯¼ö¿¡ ÀÇÇؼ­ ÁöÁ¤µÈ ¹öÆÛÀÇ Å©±â°¡ °á°ú·Î ¾òÀº Á¤º¸¸¦ ´ã±â¿¡ ³Ê¹« ÀÛ´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù. ÀÌ·± °æ¿ì lParam ÀÇ ÇÏÀ§ 16ºñÆ®´Â Á¤º¸¸¦ ´ã±âÀ§ÇØ ÇÊ¿äÇÑ ¹öÆÛÀÇ Å©±â¸¦ ³ªÅ¸³»°Ô µË´Ï´Ù. ¸¸¾à ¾îÇø®ÄÉÀ̼ÇÀÌ ÀÌ·¸°Ô ¾òÀº ÀϺκРµ¥ÀÌÅÍ°¡ ÇÊ¿ä¾ø´Â µ¥ÀÌÅͶó¸é, ¿øÇÏ´Â Á¤º¸¸¦ ´ã±âÀ§Çؼ­ ÃæºÐÇÑ ¹öÆÛÀÇ Å©±â¸¦ ¼³Á¤ÇÏ°í WSAAsyncGetHostByName ÇÔ¼ö¸¦ ´Ù½Ã È£Ãâ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀÌ ÇÔ¼ö¸¦ À§ÇÏ¿© ÁöÁ¤µÈ ¹öÆÛ´Â HOSTENT ±¸Á¶Ã¼ÀÇ ¸â¹ö¿¡ ÀÇÇؼ­ ÂüÁ¶µÇ´Â µ¥ÀÌÅÍ ¿µ¿ª°ú ÇÔ²² HOSTENT ±¸Á¶Ã¼¸¦ ±¸¼ºÇϱâÀ§ÇØ À©µµ¿ìÁî ¼ÒÄÏ ½Ã½ºÅÛ¿¡¼­ »ç¿ëµË´Ï´Ù. WSAENOBUFS ¿¡·¯¸¦ ÇÇÇϱâ À§Çؼ­´Â ¾îÇø®ÄÉÀ̼ǿ¡¼­ ¹öÆÛÀÇ Å©±â¸¦ Àû¾îµµ MAXGETHOSTSTRUCT(WINSOCK(2).H Çì´õÆÄÀÏ¿¡ Á¤ÀǵÊ) ¹ÙÀÌÆ®ÀÇ Å©±â¸¸Å­À» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.

¿¡·¯ÄÚµå ±×¸®°í ¹öÆÛÀÇ ±æÀÌ´Â lParam À¸·ÎºÎÅÍ »Ì¾Æ³»¾ß ÇÕ´Ï´Ù. ÀÌ µ¥ÀÌÅ͸¦ »Ì¾Æ³»´Âµ¥´Â WINSOCK(2).H Çì´õÆÄÀÏ¿¡ Á¤ÀÇµÈ WSAGETASYNCERROR ¸ÅÅ©·Î¿Í WSAGETASYNCBUFLEN ¸ÅÅ©·Î°¡ »ç¿ëµË´Ï´Ù. ¾Æ·¡¿¡ ÀÌµé ¸ÅÅ©·Î¸¦ °£´ÜÈ÷ ³ª¿­ ÇØ º¸¾Ò½À´Ï´Ù. ÇÁ·Î±×·¥½Ã ÀÌµé ¸ÅÅ©·Î¸¦ »ç¿ëÇÔÀ¸·Î½á À©µµ¿ìÁî ¼ÒÄÏ ÄÚµåÀÇ À̽ļº(portability)À» Çâ»ó ½Ãų ¼ö ÀÖ´Ù°í Çϳ׿ä.

#define WSAGETASYNCERROR(lParam)          HIWORD(lParam)         //¿¡·¯ÄÚµå °Ë»ö
#define WSAGETASYNCBUFLEN(lParam)         LOWORD(lParam)        //ÇÊ¿äÇÑ ¹öÆÛÀÇ ±æÀÌ °Ë»ö

Return Values

¹Ýȯ°ªÀº ´ÜÁö ºñµ¿±â ¿¬»êÀÌ ¼º°øÀûÀ¸·Î ½ÃÀÛÇÏ´À³Ä ±×·¸Áö ¾Ê´À³Ä¸¦ ³ªÅ¸³À´Ï´Ù. ÀÌ·¯ÇÑ ºñµ¿±â ¿¬»êÀÇ °æ¿ì ¹Ýȯ°ªÀ¸·Î ¿¬»ê ÀÚüÀÇ ¼º°øÀÌ³Ä ½ÇÆгĸ¦ °áÁ¤ÇÒ ¼ø ¾ø½À´Ï´Ù.

¿¡·¯°¡ ¹ß»ýÇÏÁö ¾ÊÀº °æ¿ì, WSAAsyncGetHostByName ÇÔ¼ö´Â ºñµ¿±â ÀÛ¾÷(task) ÇÚµé(À©µµ¿ìÁîÀÇ HTASK °ú Çò°¥¸®Áö ¸¶¼¼¿ä)ÀÎ HANDLE ŸÀÔÀ» ¹Ýȯ ÇÕ´Ï´Ù. ÀÌ Çڵ鰪Àº µÎ°¡Áö ¹æ¹ýÀ¸·Î »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ù ¹ø°´Â WSACancelAsyncRequest ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ¿¬»êÀ» Ãë¼Ò ½ÃÅ°´Âµ¥ »ç¿ëÇÒ ¼ö ÀÖ°í, ºñµ¿±â ¿¬»ê°ú wParam ¸Þ½ÃÁö ¸Å°³º¯¼öÀÎ ¿Ï·á ¸Þ½ÃÁö¿Í ¸ÂÃß¾î º¸´Âµ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.

¸¸¾à ºñµ¿±â ¿¬»êÀÌ ½ÃÀÛµÉ ¼ö ¾ø¾ú´Ù¸é, WSAAsyncGetHostByName ÇÔ¼ö´Â 0À» ¸®ÅÏÇÏ°í, WSAGetLastError ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© ƯÁ¤ÇÑ ¿¡·¯Äڵ带 ¾ò¾î³¾ ¼ö ÀÖ½À´Ï´Ù.

Error Codes

¾Æ·¡ÀÇ ¿¡·¯ÄÚµå´Â ¾îÇø®ÄÉÀÌ¼Ç À©µµ¿ì°¡ ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§ ¼³Á¤µÉ ¼ö ÀÖ½À´Ï´Ù. ¾Õ¼­ ¼³¸í ÇßµíÀÌ, WSAGETASYNCERROR ¸ÅÅ©·Î¸¦ ÀÌ¿ëÇؼ­ ÀÀ´ä ¸Þ½ÃÁöÀÎ lParamÀ¸·ÎºÎÅÍ ¿¡·¯Äڵ带 »Ì¾Æ³¾ ¼ö Àִٴ°ÅÁ®.

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 : ¹öÁ¯ 1.0 ±×¸®°í ±×ÀÌÈÄÀÇ ¹öÁ¯¿¡¼­ »ç¿ë°¡´É
Header :
          Win16/32 : winsock.h
          Win32-II : winsock2.h
Import Library :
          Win16 : winsock.lib
          Win32 : wsock32.lib
          Win32-II : ws2_32.lib

See Also

overview, gethostbyname, HOSTENT, WSACancelAsyncRequest