DirectPlay DirectPlay C/C++ ·¹ÆÛ·±½º ÀÎÅÍÆäÀ̽º IDirectPlay8Server SendTo [¸ñÂ÷¿¶÷] [ÁÖ¼Òº¹»ç] [½½·Ôºñ¿ì±â]
|
| Microsoft DirectX 9.0 |
¼¼¼Ç³»ÀÇ Å¬¶óÀÌ¾ðÆ® ¶Ç´Â ±×·ì¿¡ µ¥ÀÌÅ͸¦ ¼Û½ÅÇÑ´Ù. ¸Þ½ÃÁö´Â µ¿±â ¶Ç´Â ºñµ¿±â¿¡ ¼Û½ÅÇÒ ¼ö ÀÖ´Ù.
±¸¹®
HRESULT SendTo(
const DPNID dpnid, const DPN_BUFFER_DESC *const pBufferDesc, const DWORD cBufferDesc, const DWORD dwTimeOut, void *const pvAsyncContext, DPNHANDLE *const phAsyncHandle, const DWORD dwFlags );
ÆÄ¶ó¹ÌÅÍ
- dpnid
- [in] µ¥ÀÌÅ͸¦ ¼ö½ÅÇϴ Ŭ¶óÀÌ¾ðÆ® ¶Ç´Â ±×·ìÀÇ ½Äº°ÀÚ. ¼¼¼Ç³»ÀÇ ¸ðµç player¿¡ ¸Þ½ÃÁö¸¦ ¼Û½ÅÇÏ´Â °æ¿ì´Â, ÀÌ ÆÄ¶ó¹ÌÅ͸¦ DPNID_ALL_PLAYERS_GROUP ·Î ¼³Á¤ÇÑ´Ù.
- pBufferDesc
- [in] ¼Û½ÅÇÏ´Â µ¥ÀÌÅ͸¦ ±â¼úÇÏ´Â DPN_BUFFER_DESC ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ.
- cBufferDesc
- [in] pBufferDesc °¡ °¡¸®Å°´Â DPN_BUFFER_DESC ±¸Á¶Ã¼ÀÇ ¼ö. ÀÌ ¹öÀüÀÇ Microsoft® DirectPlay® ¿¡¼´Â, ¹öÆÛ´Â 8 °³±îÁö »ç¿ëÇÒ ¼ö ÀÖ´Ù.
- dwTimeOut
- [in] ¸Þ½ÃÁöÀÇ ¼Û½ÅÀ» ±â´Ù¸®´Â ½Ã°£ (¹Ð¸® ¼¼ÄÁµå ´ÜÀ§). ¸Þ½ÃÁö°¡ dwTimeOut °ªÀ¸·Î ¼Û½ÅµÇÁö ¾ÊÀº °æ¿ì, ¸Þ½ÃÁö´Â ¼Û½Å Å¥·ÎºÎÅÍ »èÁ¦µÈ´Ù. ÀÌ ÆÄ¶ó¹ÌÅ͸¦ 0 À¸·Î ¼³Á¤ Çϸé, ¸Þ½ÃÁö´Â, ¼Û½ÅµÉ±î ¸µÅ©°¡ Àý´Ü µÉ ¶§±îÁö, ¼Û½Å Å¥¿¡ ³²´Â´Ù.
- pvAsyncContext
- [in] »ç¿ëÀÚ ÁöÁ¤ÀÇ ¹®¸ÆÀÇ Æ÷ÀÎÅÍ. À̰ÍÀº,DPN_MSGID_SEND_COMPLETE ½Ã½ºÅÛ ¸Þ½ÃÁöÀÇ pvUserContext ¸â¹ö¿¡ ¹ÝȯµÈ´Ù.
- phAsyncHandle
- [out] DPNHANDLE. ¸Þ¼µå°¡ µ¹¾Æ¿À¸éphAsyncHandle ´Â,IDirectPlay8Server::CancelAsyncOperation ¿¡ °Ç³×ÁÖ¾î 󸮸¦ Ãë¼ÒÇÒ ¼ö°¡ ÀÖ´Â ÇÚµéÀ» Æ÷ÀÎÆ® ÇÑ´Ù. dwFlags ¿¡ DPNSEND_SYNC Ç÷¡±×°¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì, ÀÌ ÆÄ¶ó¹ÌÅÍ´Â NULL ·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù.
- dwFlags
- [in] ¼Û½Å µ¿ÀÛÀ» ±â¼úÇÏ´Â Ç÷¡±×. ´ÙÀ½ÀÇ 1 °³ ȤÀº º¹¼öÀÇ Ç÷¡±×¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù.
- DPNSEND_SYNC
- ºñµ¿±â IDirectPlay8Server::SendTo ¿ä±¸¸¦ Ãë¼ÒÇÑ´Ù.
- DPNSEND_NOCOPY
- DPN_BUFFER_DESC ±¸Á¶Ã¼ÀÇ µ¥ÀÌÅ͸¦ »ç¿ëÇØ, ³»ºÎ º¹»ç´Â ½Ç½ÃÇÏÁö ¾Ê´Â´Ù. µ¥ÀÌÅ͸¦ ¼Û½ÅÇÏ´Â ¹æ¹ýÀ¸·Î¼´Â º¸´Ù È¿À²ÀûÀÎ °æ¿ì°¡ ÀÖ´Ù. ±×·¯³ª,DPN_MSGID_SEND_COMPLETE ¸Þ½ÃÁö¸¦ ¼ö½ÅÇϱâ±îÁö µ¥ÀÌÅÍÀÇ º¯°æÀ̳ª »èÁ¦¸¦ ½Ç½ÃÇϸé, À߸øÇÑ µ¥ÀÌÅ͸¦ ¼Û½ÅÇÏ´Â ÀÏÀÌ ÀÖ±â (À§ÇØ)¶§¹®¿¡, °ß·ÚÇÑ °ÍÀº ¾ø¾îÁø´Ù. ÀÌ Ç÷¡±×¸¦ DPNSEND_NOCOMPLETE ¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù.
- DPNSEND_NOCOMPLETE
- ¸Þ½ÃÁö Çڵ鷯¿¡ DPN_MSGID_SEND_COMPLETE ±¸Á¶Ã¼¸¦ ¼Û½ÅÇÏÁö ¾Ê´Â´Ù. ÀÌ Ç÷¡±×¸¦ DPNSEND_NOCOPY ¶Ç´Â DPNSEND_GUARANTEED ¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù. ¶Ç, ÀÌ Ç÷¡±×¸¦ »ç¿ëÇÏ´Â °æ¿ì,pvAsyncContext ´Â NULL À̾î¾ß ÇÑ´Ù.
- DPNSEND_COMPLETEONPROCESS
- ¸Þ½ÃÁö°¡ Ÿ°ÙÀ¸·Î Àü´ÞµÇ¾î ¸Þ½ÃÁöÀÇ ¼ö½ÅÀ» ³ªÅ¸³»´Â Ÿ°ÙÀÇ ¸Þ½ÃÁö Çڵ鷯°¡ µ¹·ÁÁÖ¾îÁú ¶§,DPN_MSGID_SEND_COMPLETE ¸¦ ¸Þ½ÃÁö Çڵ鷯¿¡ ¼Û½ÅÇÑ´Ù. ÀÌ Ç÷¡±×°¡ ¼³Á¤µÇ¾úÀ» °æ¿ì´Â, ¿©ºÐÀÇ ³»ºÎ ¸Þ½ÃÁöÀÇ ¿À¹öÇìµå°¡ ÀÖ¾î, ¸Þ½ÃÁöÀÇ ¼Û½Å 󸮰¡ ÇöÀúÇÏ°Ô ÀúÇÏÇÏ´Â ÀÏÀÌ ÀÖ´Ù. ÀÌ Ç÷¡±×¸¦ ¼³Á¤ÇÏ´Â °æ¿ì´Â, DPNSEND_GUARANTEED µµ ¼³Á¤ÇÒ Çʿ䰡 ÀÖ´Ù.
- DPNSEND_GUARANTEED
- º¸ÁõµÈ Àü´Þ ¹æ¹ý¿¡ ÀÇÇØ, ¸Þ½ÃÁö¸¦ ¼Û½ÅÇÑ´Ù.
- DPNSEND_PRIORITY_HIGH
- ¸Þ½ÃÁöÀÇ ¿ì¼± ¼øÀ§¸¦ ³ô°Ô ¼³Á¤ÇÑ´Ù. ÀÌ Ç÷¡±×´Â, DPNSEND_PRIORITY_LOW ¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù.
- DPNSEND_PRIORITY_LOW
- ¸Þ½ÃÁöÀÇ ¿ì¼± ¼øÀ§¸¦ ³·°Ô ¼³Á¤ÇÑ´Ù. ÀÌ Ç÷¡±×´Â, DPNSEND_PRIORITY_HIGH ¿Í ÇÔ²² »ç¿ëÇÒ ¼ö ¾ø´Ù.
- DPNSEND_NOLOOPBACK
- ·ÎÄà player¸¦ Æ÷ÇÔÇÑ ±×·ì¿¡ ¼Û½ÅÇϰí ÀÖÀ» ¶§, ¸Þ½ÃÁö Çڵ鷯¿¡ÀÇ DPN_MSGID_RECEIVE ½Ã½ºÅÛ ¸Þ½ÃÁö¸¦ ¾ïÁ¦ÇÑ´Ù. ¿¹¸¦ µé¾î, ¼¼¼Ç Àüü¿¡ ÀÖ´Â ¿ä¼Ò¸¦ Àü¿ä¼Ò¿¡ º¹»ç ÇÏ´Â °æ¿ì´Â, ÀÌ Ç÷¡±×°¡ Æí¸®ÇÏ´Ù.
- DPNSEND_NONSEQUENTIAL
- ÀÌ Ç÷¡±×°¡ ¼³Á¤µÇ¾úÀ» °æ¿ì, Ÿ°Ù ¾ÖÇø®ÄÉÀ̼ÇÀº, »ç¿ëÀÚÀÇ ÄÄÇ»ÅÍ¿¡ µµÂøÇÑ ¼ø¼¿¡ ¸Þ½ÃÁö¸¦ ¹Þ¾ÆµéÀδÙ. ÀÌ Ç÷¡±×°¡ ¼³Á¤µÇÁö ¾ÊÀº °æ¿ì, ¸Þ½ÃÁö´Â ½ÃÄö¼È¿¡ Àü´ÞµÇ¾î Ÿ°Ù ¾ÖÇø®ÄÉÀ̼ÇÀº ¼Û½ÅµÈ ¼ø¼¿¡ ¸Þ½ÃÁö¸¦ ¹Þ¾ÆµéÀδÙ. µû¶ó¼, Âø½ÅÇÑ ¸Þ½ÃÁö¸¦, °áÇÌ Çϰí ÀÖ´Â ¸Þ½ÃÁö°¡ µµÂøÇÒ ¶§±îÁö ¹öÆÛ¿¡ ÀúÀå ÇÏ´Â °æ¿ì°¡ ÀÖ´Ù.
- DPNSEND_COALESCE
- DirectPlay °¡ ÆÐŶÀ» Á¶ÇÕÇØ ¼Û½ÅÇÒ ¼ö ÀÖµµ·Ï(µíÀÌ) ÇÑ´Ù.
¹Ýȯ°ª
¸Þ¼µå°¡ µ¿±â¸¦ ÀâÀ¸¸é¼ 󸮵Ǿî 󸮰¡ ¼º°øÇßÀ» °æ¿ì´Â S_OK ¸¦ µ¹·ÁÁØ´Ù. µðÆúÆ®¿¡¼´Â, ÀÌ ¸Þ¼µå´Â ºñµ¿±â¿¡°Ô ½ÇÇàµÇ¾î º¸ÅëÀº DPNSUCCESS_PENDING Àΰ¡, ¶Ç´Â ´ÙÀ½ÀÇ ¸î°³ÀÇ ¿¡·¯°ªÀ» µ¹·ÁÁØ´Ù.
DPNERR_CONNECTIONLOST µ¥ÀÌÅÍÀÇ ¼Û½ÅÁß¿¡ ¼ºñ½º ÇÁ·Î¹ÙÀÌ´õ Á¢¼ÓÀÌ ¸®¼Â µÇ¾ú´Ù. DPNERR_INVALIDFLAGS ÀÌ ¸Þ¼µå¿¡ °Ç³×Áø Ç÷¡±×´Â ¹«È¿ÀÌ´Ù. DPNERR_INVALIDPARAM ¸Þ¼µå¿¡ °Ç³×Áø 1 °³ ȤÀº º¹¼öÀÇ ÆÄ¶ó¹ÌÅͰ¡ ¹«È¿ÀÌ´Ù. DPNERR_INVALIDPLAYER player ID °¡, ÀÌ °ÔÀÓ ¼¼¼Ç¿¡ ´ëÇÑ À¯È¿ÇÑ player ID ·Î¼ ÀνĵÇÁö ¾Ê´Ù. DPNERR_TIMEDOUT ¸¶°¨ ½Ã°£À̱⠶§¹®¿¡, 󸮸¦ ¿Ï·áÇÒ ¼ö ¾ø¾ú´Ù.
ÁÖÀÇ
ÀÌ ¸Þ¼µå´Â, ¼ö½ÅÃøÀÇ ¸Þ½ÃÁö Çڵ鷯¿¡ DPN_MSGID_RECEIVE ½Ã½ºÅÛ ¸Þ½ÃÁö¸¦ »ý¼ºÇÑ´Ù. µ¥ÀÌÅÍ´Â, °ü·ÃÁöÀ» ¼ö ÀÖ´Â ±¸Á¶Ã¼ÀÇ pReceiveData ¸â¹ö¿¡ º¸°ü À¯ÁöµÇ°í ÀÖ´Ù.
¸Þ½ÃÁö¿¡´Â, Àú, º¸Åë, °íÀÇ 3 °³ÀÇ ¿ì¼± ¼øÀ§ÀÇ ¾î´ÀÂÊÀ̵çÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¸Þ½ÃÁö¿¡ ³·Àº ¿ì¼± ¼øÀ§ ¶Ç´Â ³ôÀº ¿ì¼± ¼øÀ§¸¦ ÁöÁ¤ÇÏ·Á¸é dwFlags ¿¡ ÇØ´çÇÏ´Â Ç÷¡±×¸¦ ¼³Á¤ÇÑ´Ù. ¾î´À ÂÊÀÇ ¿ì¼± ¼øÀ§ Ç÷¡±×µµ ¼³Á¤ÇÏÁö ¾Ê¾Ò´ø °æ¿ì, ¸Þ½ÃÁö´Â º¸ÅëÀÇ ¿ì¼± ¼øÀ§°¡ µÈ´Ù. ¼Û½Å ¿ì¼± ¼øÀ§ÀÇ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, ¡¸³×Æ®¿öÅ·ÀÇ ±âº»¡¹À» ÂüÁ¶ÇÒ°Í.
IDirectPlay8Server::SendTo ¿ä±¸°¡ ¿Ï·á Çϸé, ¼Û½ÅÃøÀÇ ¸Þ½ÃÁö Çڵ鷯¿¡ DPN_MSGID_SEND_COMPLETE ½Ã½ºÅÛ ¸Þ½ÃÁö°¡ ¼Û½ÅµÈ´Ù. ¿ä±¸ÀÇ ¼º°ø ¶Ç´Â ½ÇÆÐ´Â, °ü·ÃÁöÀ» ¼ö ÀÖ¾ú´ø ±¸Á¶Ã¼ÀÇ hResultCode ¸â¹ö¿¡ º¸°ü À¯ÁöµÈ´Ù. dwFlags ¿¡ DPNSEND_NOCOMPLETE Ç÷¡±×¸¦ ¼³Á¤ Çϸé, ¼Û½Å ¿Ï·áÀÇ ½Ã½ºÅÛ ¸Þ½ÃÁö´Â ¼Û½ÅµÇÁö ¾Ê´Â´Ù.
º¸Åë, ¸Þ½ÃÁö°¡ ¼Û½ÅµÇ¸é Áï½Ã, ¼Û½Å ¿Ï·á°¡ ¼Û½Å¿øÀÇ ÄÄÇ»ÅÍ¿¡ ¼Û½ÅµÈ´Ù. ¹Ù²Ù¾î ¸»ÇÏ¸é ¼Û½Å ¿Ï·á´Â, ¸Þ½ÃÁö°¡ Ÿ°Ù»ó¿¡¼ ó¸®µÈ °ÍÀ» ¹Ýµå½Ã ÀǹÌÇÏÁö ¾Ê´Â´Ù. ¸Þ½ÃÁö´Â ¾ÆÁ÷ Å¥³»¿¡ ÀÖÀ» °¡´É¼ºµµ ÀÖ´Ù. ¸Þ½ÃÁö°¡ Ÿ°ÙÀ¸·Î ó¸®µÈ °ÍÀ» È®ÀÎÇÏ·Á¸é ,dwFlags ¿¡ DPNSEND_COMPLETEONPROCESS Ç÷¡±×¸¦ ¼³Á¤ÇÑ´Ù. ÀÌ Ç÷¡±×¸¦ ¼³Á¤ Çϸé, Ÿ°ÙÀÇ ¸Þ½ÃÁö Çڵ鷯°¡ ¸Þ½ÃÁö¸¦ ó¸®ÇØ µ¹¾Æ¿Ã ¶§±îÁö, ¼Û½Å ¿Ï·á´Â ¼Û½ÅµÇÁö ¾Ê´Â´Ù.
DPNSEND_COALESCE Ç÷¡±×°¡ dwFlags ·Î ¼³Á¤µÇ¸é DirectPlay ´Â Å¥·Î ´ë±âÇϰí ÀÖ´Â 32 °³±îÁöÀÇ ÆÐŶÀ», À¯ÃâÇÏ´Â ÇÁ·¹ÀÓ¿¡ °áÇÕÇÏ·Á°í ÇÑ´Ù. DPNSEND_COALESCE Ç÷¡±×°¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì¿¡¼µµ, DirectPlay ´Â °áÇÕÀ» º¸ÁõÇÏÁö ¾Ê´Â´Ù. Å¥¿¡ º¹¼öÀÇ ¸Þ½ÃÁö°¡ ÀÖ¾î, ¼ö½ÅÇÏ´Â player°¡ Microsoft DirectX® 9.0 ÀÌÈĸ¦ ½ÇÇàÇϰí ÀÖ´Â °æ¿ì¿¡¸¸, ÆÐŶÀº °áÇյȴÙ. À½¼º ÆÐŶÀº ¸ðµÎ °áÇÕÇÒ ¼ö ÀÖ´Ù. º¸Áõ ÷ºÎ ¹× º¸Áõ ¾øÀ½ÀÇ ÆÐŶÀº ¾çÂÊ ¸ðµÎ °°Àº ÇÁ·¹ÀÓ¿¡ °áÇյȴÙ. ÇÁ·¹ÀÓÀÌ ¸ñÀûÁö¿¡ ´ê±â Àü¿¡ »èÁ¦µÇ¸é ÇÁ·¹ÀÓÀÇ º¸Áõ ÷ºÎ ºÎºÐ¸¸ Àç¹ß¼ÛµÇ¾î ´Ù¸¥ µ¥ÀÌÅÍ´Â ÇÁ·¹ÀÓ¿¡ °áÇÕµÇÁö ¾Ê´Â´Ù.
ÁÖ ¸Þ¼µå°¡ µ¹¾Æ¿Ã ¶§±îÁö´Â, µ¥ÀÌÅÍ ¹öÆÛµîÀÇ ¸®¼Ò½º°¡ À¯È¿ÇÑ »óÅÂÀΠä·Î ºÁ¼´Â ¾È µÈ´Ù. ÀÌ ¸Þ¼µå¸¦ ºñµ¿±â¿¡°Ô È£ÃâÇÏ´Â °æ¿ì, È£ÃâÀÌ µ¹¾Æ¿À±â Àü¿¡ DPN_MSGID_SEND_COMPLETE ¸Þ½ÃÁö¸¦ ¹Þ¾Æµé¿©, ¸Þ½ÃÁö Çڵ鷯°¡ ó¸®ÇØ ¹ö¸®´Â ÀÏÀÌ ÀÖ´Ù. ¸Þ½ÃÁö Çڵ鷯°¡ µ¥ÀÌÅÍ ¹öÆÛµîÀÇ ¸®¼Ò½º¸¦ ÇÒ´ç ÇØÁ¦, ¶Ç´Â ¹«È¿·Î ÇßÀ» °æ¿ì, ¸Þ¼µå°¡ ºÒ·Á °£ ´ÙÀ½¿¡ ¸®¼Ò½º°¡ ¹«È¿°¡ µÇ´Â ÀÏÀÌ ÀÖ´Ù.