WSADuplicateSocket

WSADuplicateSocket ÇÔ¼ö´Â °øÀ¯¼ÒÄÏ¿¡ ´ëÇÑ »õ·Î¿î ¼ÒÄÏ ±â¼úÀÚ¸¦ »ý¼ºÇϴµ¥ »ç¿ëµÉ ¼ö ÀÖ´Â WSAPROTOCOL_INFO ±¸Á¶Ã¼¸¦ ¹ÝȯÇÏ´Â ÇÔ¼ö ÀÔ´Ï´Ù.

int WSADuplicateSocket (
        SOCKET  
s,
        DWORD  
dwProcessId,
        LPWSAPROTOCOL_INFO  
lpProtocolInfo
);

 

Parameters

s
[ÀÔ·Â] ·ÎÄüÒÄÏÀ» ±¸ºÐ¢´Â ±â¼úÀÚ

dwProcessId
[ÀÔ·Â] º¹Á¦µÈ ¼ÒÄÏÀÌ »ç¿ëµÉ Ÿ°Ù ÇÁ·Î¼¼½ºÀÇ ÇÁ·Î¼¼½º ¾ÆÀ̵ð

lpProtocolInfo
[Ãâ·Â]
WSAPROTOCOL_INFO ±¸Á¶Ã¼¸¦ ´ã±âÀ§ÇØ ÃæºÐÇÑ Å©±â¸¦ °¡Áø Ŭ¶óÀ̾ðÆ®¿¡¼­ ÇÒ´çµÇ ¹öÆÛÀÇ Æ÷ÀÎÅÍÀÔ´Ï´Ù. ¼­ºñ½º ÇÁ·Î¹ÙÀÌ´õ´Â ÀÌ ¹öÆÛ¿¡ ÇÁ·ÎÅäÄÝ Á¤º¸¸¦ Ä«ÇÇÇÕ´Ï´Ù.

¿ëÁøÀÌ ¹Ùº¸´ç..³Í ÁøÂ¥·ç ¹Ùº¸¾ç.

Remarks

WSADuplicateSocket ÇÔ¼ö´Â ÇÁ·Î¼¼½º °£¿¡ ¼ÒÄÏÀ» °øÀ¯Çϴµ¥ »ç¿ëµÇ´Â ÇÔ¼öÀÔ´Ï´Ù. ¿øº» ÇÁ·Î¼¼½º´Â WSADuplicateSocket ÇÔ¼ö¸¦ È£ÃâÇؼ­ Ưº°ÇÑ WSAPROTOCOL_INFO ±¸Á¶Ã¼¸¦ ¾ò¾î³À´Ï´Ù. ÀÌ ±¸Á¶Ã¼´Â ¸ñÀûÁö ÇÁ·Î¼¼½º·Î ÀÌ ±¸Á¶Ã¼ÀÇ ³»¿ëÀ» ³Ñ±â±â À§ÇØ ÇÁ·Î¼¼½º »óÈ£°£ÀÇ Åë½Å(IPC) ¸ÅÄ¿´ÏÁòÀ» »ç¿ëÇÕ´Ï´Ù. ±¸Á¶Ã¼ÀÇ ³»¿ëÀ» ¹ÞÀº ÇÁ·Î¼¼½º´Â WSASocket ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ¼ÒÄÏÀ» º¹Á¦ÇϱâÀ§ÇØ ¼ÒÄÏ ±â¼úÀÚ¸¦ ¾ò¾î³À´Ï´Ù. ÀÌ WSAPROTOCOL_INFO ±¸Á¶Ã¼´Â Ÿ°Ù ÇÁ·Î¼¼½º¿¡¼­ ´Ü Çѹø¸¸ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù.

¼ÒÄÏÀº ÇÑ ÇÁ·Î¼¼½º ³»¿¡¼­ÀÇ ¾²·¹µå »çÀÌ¿¡¼­ WSADuplicateSocket ÇÔ¼ö¸¦ »ç¿ëÇÏÁö ¾Ê°í °øÀ¯ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿Ö³ÄÇϸé, ¼ÒÄÏ ±â¼úÀÚ °ªÀº ¸ðµç ¾²·¹µå ³»¿¡¼­ ÀÎ½ÄµÉ ¼ö ÀÖ´Â ¿Ã¹Ù¸¥ °ªÀ̱⠶§¹®ÀÔ´Ï´Ù.

´Ù¸¥ ÇÁ·Î¼¼½º°£¿¡ °øÀ¯µÈ ¼ÒÄÏÀ» ¸¸µé°í, Çڵ鸵 ÇÏ´Â ½Ã³ª¸®¿À¸¦ ¾Æ·¡¿¡ ¿¹·Î µé¾î º¸¾Ò½À´Ï´Ù.

Source Process IPC Destination Process
1) WSASocket, WSAConnect ÇÔ¼ö È£Ãâ    
2) ¼ÒÄÏÀ» º¹Á¦ÇÒ ´ë»ó ÇÁ·Î¼¼½ºÀÇ ¾ÆÀ̵𸦠¿ä±¸ÇÔ  ¡æ  
    3) ÇÁ·Î¼¼½º ¾ÆÀ̵ð ¿ä±¸¸¦ ¹Þ°í, ÀÌ¿¡ ÀÀ´äÇÔ.
4) ÇÁ·Î¼¼½º ¾ÆÀ̵𸦠¾ò¾î³¿ ¡ç  
5) WSADuplicateSocket ÇÔ¼ö¸¦ È£ÃâÇؼ­
    
WSAPROTOCOL_INFO ±¸Á¶Ã¼¸¦ ¾ò¾î³À´Ï´Ù.
   
6) ´ë»ó ÇÁ·Î¼¼½º·Î WSAPROTOCOL_INFO ±¸Á¶Ã¼ÀÇ ³»¿ëÀ»
    º¸³À´Ï´Ù.
   
   ¡æ 7) WSAPROTOCOL_INFO ±¸Á¶Ã¼ÀÇ ³»¿ëÀ» ¹Þ½À´Ï´Ù.
    8) WSASocket ÇÔ¼ö¸¦ È£ÃâÇؼ­ °øÀ¯¼ÒÄÏÀÇ ±â¼úÀÚ¸¦ »ý¼ºÇÕ´Ï´Ù.
10) closesocket   9) µ¥ÀÌÅÍ Ã³¸®¿¡ °øÀ¯¼ÒÄÏÀ» »ç¿ëÇÕ´Ï´Ù.

°øÀ¯¼ÒÄÏÀ» °¡¸®Å°´Â ±â¼úÀÚ´Â I/O¿¡ ´ëÇؼ­ µ¶¸³ÀûÀ¸·Î »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸, À©µµÁî ¼ÒÄÏ ÀÎÅÍÆäÀ̽º´Â ƯÁ¤ÇÑ Å¸ÀÔÀÇ Á¢±Ù¿¡ ´ëÇؼ­´Â ±¸ÇöµÇÁö ¾ÊÀº Á¡µµ ÀÖ½À´Ï´Ù. °øÀ¯¼ÒÄÏÀº ÀϹÝÀûÀ¸·Î °øÀ¯¼ÒÄÏÀ» »ç¿ëÇÒ¶§, »ý¼º, Á¢¼ÓÀ» ÇϳªÀÇ ÇÁ·Î¼¼½º¿¡¼­ ´ã´çÇÏ°í, µ¥ÀÌÅÍÀÇ Àü¼Û/¼ö½Å ºÎºÐÀº ´Ù¸¥ ÇÁ·Î¼¼½º¿¡¼­ ó¸®ÇÏ´Â ÇüÅ°¡ µË´Ï´Ù.

 

Return Values

¿¡·¯°¡ ¹ß»ýÇÏÁö ¾ÊÀ¸¸é, WSADuplicateSocket ÇÔ¼ö´Â 0À» ¹Ýȯ ÇÕ´Ï´Ù. ¿¡·¯°¡ ¹ß»ýÇÑ °æ¿ì´Â SOCKET_ERROR¸¦ ¹ÝȯÇÏ°í, WSAGetLastError ÇÔ¼ö·Î ƯÁ¤ÇÑ ¿¡·¯Äڵ带 ¾ò¾î³¾ ¼ö ÀÖ½À´Ï´Ù.

 

Error Codes

WSANOTINITIALISED

ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇϱâ ÀÌÀü¿¡ WSAStartup ÇÔ¼ö¸¦ ¼º°øÀûÀ¸·Î È£ÃâÇØ¾ß ÇÕ´Ï´Ù.

WSAENETDOWN

³×Æ®¿÷ ¼­ºê ½Ã½ºÅÛ¿¡ ¿¡·¯°¡ ¹ß»ýÇß½À´Ï´Ù.

WSAEINVAL ÁöÁ¤ÇÑ ¸Å°³º¯¼öÁß Çϳª°¡ À߸øµÈ °ªÀ» ³Ñ°å½À´Ï´Ù.
WSAEINPROGRESS ºí·°Å· À©¼Ó v1.1 ÀÌ WSACancelBlockingCall ÇÔ¼ö¿¡¼­ Ãë¼ÒµÇ¾ú½À´Ï´Ù
WSAEMFILE »ç¿ë°¡´ÉÇÑ ¼ÒÄϱâ¼úÀÚ°¡ ´õ ÀÌ»ó ¾ø½À´Ï´Ù.
WSAENOBUFS »ç¿ë°¡´ÉÇÑ ¹öÆÛ°¡ ¾ø¾î¼­, ¼ÒÄÏÀ» »ý¼º ÇÒ ¼ö ¾ø½À´Ï´Ù.
WSAENOTSOCK ±â¼úÀÚ°¡ ¼ÒÄÏÀÌ ¾Æ´Õ´Ï´Ù.
WSAEFAULT lpProtocolInfo ¸Å°³º¯¼ö°¡ Á¦´ë·Î ÇÒ´çµÈ ¸Þ¸ð¸® ¾îµå·¹½º¸¦ °¡Áö°í ÀÖÁö ¾Ê½À´Ï´Ù.

 

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

See Also

overview, WSASocket