WSAAsyncGetHostByAddr

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

HANDLE WSAAsyncGetHostByAddr (
        HWND   
hWnd,
        unsigned int   
wMsg,
        const char FAR *   
addr,
        int  
 len,
        int   
type,
        char FAR *  
buf,
        int   
buflen
);

 

Parameters

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

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

addr
[ÀÔ·Â] ¾ò°íÀÚ Çϴ ȣ½ºÆ®¿¡ ´ëÇÑ ³×Æ®¿÷ ¾îµå·¹½º¿¡ ´ëÇÑ Æ÷ÀÎÅÍÀÔ´Ï´Ù. È£½ºÆ® ¾îµå·¹½º´Â ³×Æ®¿÷ ¹ÙÀÌÆ® ¿À´õ(ºò-Àεð¾ð) À¸·Î ÀúÀåµË´Ï´Ù.

len
[ÀÔ·Â] ¾îµå·¹½ºÀÇ ±æÀÌ

type
[ÀÔ·Â] ¾îµå·¹½ºÀÇ ÇüÅÂ

buf
[Ãâ·Â]
HOSTENT µ¥ÀÌÅ͸¦ ¹Þ±âÀ§ÇÑ µ¥ÀÌÅÍ ¿µ¿ªÀÇ Æ÷ÀÎÅÍÀÔ´Ï´Ù. ÀÌ µ¥ÀÌÅÍ ¿µ¿ªÀº HOSTENT ±¸Á¶Ã¼º¸´Ù ´õ Ä¿¾ß ÇÕ´Ï´Ù. ¿Ö³ÄÇϸé, Á¦°øµÇ´Â µ¥ÀÌÅÍ ¿µ¿ªÀº HOSTENT ±¸Á¶Ã¼¿Í HOSTENT ±¸Á¶Ã¼ÀÇ ¸ðµç ¸â¹ö µ¥ÀÌÅÍ ÂüÁ¶¸¦ Æ÷ÇÔÇϱâ À§ÇØ À©µµ¿ìÁî ¼ÒÄÏ ½Ã½ºÅÛ¿¡¼­ »ç¿ëµÇ±â ¶§¹®ÀÔ´Ï´Ù. Áï, Á¦°øµÈ ¹öÆÛ°¡ µ¥ÀÌÅÍ º£À̽º ·è¾÷ÀÇ °á°ú·Î¼­ ¸¸µé¾îÁø  ¸ðµç µ¥ÀÌÅ͸¦ ¼ö½ÅÇϱ⿡ ³Ê¹« ªÀ» °æ¿ì ¿¡·¯°¡ ¹ÝȯµÉ °ÍÀÔ´Ï´Ù. ¿¡·¯¸¦ ¹æÁö Çϱâ À§Çؼ­ ¾îÇø®ÄÉÀ̼ÇÀº ÃÖ¼ÒÇÑ MAXGETHOSTSTRUCT ¹ÙÀÌÆ® ±æÀÌÀÇ ¹öÆÛ¸¦ Á¦°øÇØ¾ß ÇÕ´Ï´Ù.

buflen
[ÀÔ·Â]
buf ¸Å°³º¯¼öÀÇ Å©±â¸¦ ³ªÅ¸³À´Ï´Ù.

Remarks

WSAAsyncGetHostByAddr ÇÔ¼ö´Â gethostbyaddr ÇÔ¼öÀÇ ºñµ¿±â ¹öÀüÀ̶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. ÀÌ ÇÔ¼ö´Â ÁöÁ¤µÇ ³×Æ®¿÷ ¾îµå·¹½º¿Í ÀÏÄ¡ÇÏ´Â ¾îµå·¹½º Á¤º¸¿Í È£½ºÆ®³×ÀÓÀ» ¾ò°íÀÚ Çϴµ¥ »ç¿ëµË´Ï´Ù. À©µµ¿ìÁî ¼ÒÄÏÀº ¿¬»êÀ» ½ÃÀÛÇÏ°í, Áï°¢ ÇÔ¼ö¸¦ ¹Ýȯ ÇÏ°í, ¾îÇø®ÄÉÀ̼ÇÀº ºñµ¿±â ÀÛ¾÷(task) ½Äº°ÀÚ¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¬»ê(operation)ÀÌ ¿Ï·á µÇ¾úÀ» ¶§, ÀÛ¾÷ÀÇ °á°ú°¡ ÇÔ¼ö È£Ãâ½Ã ÁöÁ¤Çß´ø ¹öÆÛ·Î º¹»çµÇ°í, ¸Þ½ÃÁö°¡ ¾îÇø®ÄÉÀÌ¼Ç À©µµ¿ì·Î º¸³»¾î Áý´Ï´Ù.

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

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

¸¸¾à ¿¡·¯Äڵ尡 WSAENOBUFS ¶ó¸é, buflenÀ¸·Î ÁöÁ¤µÈ ¹öÆÛÀÇ Å©±â°¡ ¸ðµç ¾ò¾î³½ Á¤º¸¸¦ ´ã±â¿¡ ³Ê¹« ÀÛÀº °æ¿ìÀÔ´Ï´Ù. ÀÌ·± °æ¿ì lParamÀÇ ÇÏÀ§ 16ºñÆ®´Â ¸ðµç Á¤º¸¸¦ ¼ö¿ëÇÒ ¼ö ÀÖ´Â ¹öÆÛÀÇ Å©±â°¡ ¾ó¸¶ÀÎÁö ¾Ë·ÁÁÖ°Ô µË´Ï´Ù. ¸¸¾à ¾îÇø®ÄÉÀ̼ÇÀÌ "À̱î¢ ÀϺκРµ¥ÀÌÅÍ´Â ÇÊ¿ä¾ø¾î!" ¶ó°í ÆÇ´ÜÇÑ´Ù¸é, ¸ðµç Á¤º¸¸¦ ¹Þ±â¿¡ ÃæºÐÇÑ Å©±â·Î ¹öÆÛ¸¦ ¼ÂÆÃÇÏ¿© WSAAsyncGetHostByAddr ÇÔ¼ö¸¦ ´Ù½Ã È£Ãâ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

WSAENOBUFS ¿¡·¯¸¦ ÇÇÇϱâ À§Çؼ­ ¾îÇø®ÄÉÀ̼ÇÀº Àû¾îµµ MAXGETHOSTSTRUCT ¹ÙÀÌÆ®(WINSOCK(2).H ¿¡ Á¤ÀǵǾî ÀÖÀ½) ÀÇ ¹öÆÛ¸¦ Á¦°øÇØ¾ß ÇÕ´Ï´Ù.

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

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

Return Values

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

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

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

Error Codes

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

WSAENETDOWN ³×Æ®¿÷ ¼­ºê ½Ã½ºÅÛ¿¡¼­ ¿¡·¯°¡ ¹ß»ý Çß½À´Ï´Ù.
WSAENOBUFS »ç¿ë°¡´ÉÇÑ ¹öÆÛ °ø°£ÀÌ ºÎÁ·ÇÕ´Ï´Ù.
WSAEFAULT addr ¶Ç´Â buf ¸Å°³º¯¼ö°¡ 󸮸¦ Çϱ⿡ ¿Ã¹Ù¸¦ ÇüÅ°¡ ¾Æ´Õ´Ï´Ù.
WSAHOST_NOT_FOUND Á¤´çÇÑ(Authoritative) È£½ºÆ®¸¦ ã¾Æ³¾ ¼ö ¾ø½À´Ï´Ù.
WSATRY_AGAIN Á¤´çÇÏÁö ¾ÊÀº(Non-Authoritative)¸¦ ãÀ» ¼ö ¾ø½À´Ï´Ù. ¶Ç´Â ¼­¹ö½ÇÆÐ ÀÔ´Ï´Ù.
WSANO_RECOVERY ȸº¹ÇÒ ¼ö ¾ø´Â ¿¡·¯¹ß»ý
WSANO_DATA ¿äûµÈ type(¾îµå·¹½ºÀÇ ÇüÅÂ)¸¦ ãÀ» ¼ö ¾ø°Å³ª À߸øµÈ À̸§(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, gethostbyaddr, HOSTENT, WSACancelAsyncRequest