ProtocolCmMakeCall

NDIS_STATUS 

  ProtocolCmMakeCall(

      IN NDIS_HANDLE  CallMgrVcContext,

      IN OUT PCO_CALL_PARAMETERS  CallParameters,

      IN NDIS_HANDLE  NdisPartyHandle  OPTIONAL,

      OUT PNDIS_HANDLE  CallMgrPartyContext  OPTIONAL

      );

ProtocolCmMakeCall ÇÔ¼ö´Â °¡»ó ¿¬°á(VC)À» À§ÇÑ ¹Ìµð¾î ƯÁ¤ ¸Å°³º¯¼öµéÀ» ¼³Á¤ÇÏ°í °¡»ó ¿¬°áÀ» Ȱ¼ºÈ­´Â µ¥ ÇÊ¿äÇÑ ÇÔ¼öÀÌ´Ù.

¸Å°³º¯¼ö

CallMgrContext
ÄÝ ¸Å´ÏÀúµéÀº VC´ç »óŸ¦ À¯ÁöÇÏ´Â ÄÝ ¸Å´ÏÀú ÇÒ´ç ÄÁÅØ½ºÆ® ¿µ¿ª¿¡ ´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ÄÝ ¸Å´ÏÀú´Â ÀÌ ÇÚµéÀ» ProtocolCoCreateVc ÇÔ¼ö·ÎºÎÅÍ NDIS¿¡ ´ëÇÑ ÇÚµéÀ» Á¦°øÇÑ´Ù.

CallParameters
ÀÌ·¯ÇÑ ³ª°¡´Â È£ÃâÀ» À§ÇØ ¿¬°á ÁöÇâ Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ ÁöÁ¤µÈ ¸Å°³º¯¼öµéÀ» Æ÷ÇÔÇÏ´Â CO_CALL_PARAMETERS ±¸Á¶Ã¼¸¦ °¡¸®Å²´Ù.

NdisPartyHandle
À¯ÀÏÇÏ°Ô ¸ÖƼÆ÷ÀÎÆ® °¡»ó ¿¬°á¿¡¼­ ÃÊ±â ÆÄÆ¼¸¦ ÁöÁ¤ÇÏ´Â NDIS¿¡ ÀÇÇØ Á¦°øµÈ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ÀÌ ÇÚµéÀº ÄÝ ¸Å´ÏÀú¿¡°Ô ºÒºÐ¸íÇϰí NDIS ¶óÀ̺귯¸® »ç¿ëÀ» À§ÇØ ¿¹¾àµÈ´Ù. ÀÌ ÇÚµéÀº ¸¸¾à Ŭ¶óÀÌ¾ðÆ®°¡ ³ª°¡´Â ¸ÖƼÆ÷ÀÎÆ® È£ÃâÀ» ¼³Á¤ÇÏÁö ¾ÊÀ¸¸é NULLÀÌ´Ù.

CallMgrPartyContext
¸®ÅÏÇÏÀÚ¸¶ÀÚ, ÄÝ ¸Å´ÏÀú´Â ¸ÖƼÆ÷ÀÎÆ® È£Ãâ¿¡ ´ëÇÑ ÃÊ±â ÆÄÆ¼¿¡ ´ëÇØ »óŸ¦ À¯ÁöÇÏ´Â ÄÝ ¸Å´ÏÀú Á¦°ø ÄÁÅØ½ºÆ® ¿µ¿ª¿¡ ´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ¸¸¾à NdisPartyHandleÀÌ NULLÀ̶ó¸é, ÀÌ ÇÚµéÀº NULL·Î ¼³Á¤µÉ °ÍÀÌ´Ù.

¸®Åϰª

ProtocolCmMakeCall ÇÔ¼ö´Â ´ÙÀ½°ú °°Àº °ªµé Áß Çϳª·Î¼­ ¿¬»êµéÀÇ »óŸ¦ ¸®ÅÏÇÑ´Ù.

NDIS_STATUS_SUCCESS
ÄÝ ¸Å´ÏÀú°¡ ¼º°øÀûÀ¸·Î È£ÃâÀ» ÇÏ´Â ÇÊ¿äÇÑ ÀÚ¿øµéÀ» ÇÒ´çÇÏ°í ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö¿Í °¡»ó ¿¬°áÀ» Ȱ¼ºÈ­ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» °¡¸®Å²´Ù.

NDIS_STATUS_PENDING
ÄÝ ¸Å´ÏÀú°¡ ºñµ¿±âÀûÀ¸·Î È£ÃâÀ» ÇÏ´Â °Í¿¡ ´ëÇÑ ¿ä±¸¸¦ ¿Ï¼ºÇÒ °ÍÀ̶ó´Â °ÍÀ» °¡¸®Å²´Ù. ÄÝ ¸Å´ÏÀú°¡ È£ÃâÀ» ÇÏ´Â ¸ðµç ¿¬»êµéÀ» ¿Ï¼ºÇÒ ¶§, ÀÌ·¯ÇÑ È£ÃâÀÌ ¿Ï¼ºµÇ¾ú´Ù´Â °ÍÀ» NDIS¿¡°Ô ½ÅȣȭÇϱâ À§ÇØ NdisCmMakeCallComplete ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÑ´Ù.

NDIS_STATUS_RESOURCES
ÄÝ ¸Å´ÏÀú´Â Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ ¿ä±¸µÈ °¡»ó ¿¬°áÀ» Ȱ¼ºÈ­Çϱâ À§ÇØ ÀÚ¿øµéÀ» ÇÒ´çÇϰí ÃʱâÈ­ÇÒ ¼ö ¾ø´Ù´Â °ÍÀ» °¡¸®Å²´Ù.

NDIS_STATUS_NOT_SUPPORTED
ÄÝ ¸Å´ÏÀú´Â CallParameters¿¡ ÁöÁ¤µÈ È£Ã⠸Ű³º¯¼öµé³»¿¡ È£ÃâÀÚ°¡ À¯È¿ÇÏÁö ¾Ê°Å³ª ÀÌ¿ëÇÒ ¼ö ¾ø´Â Ư¡µéÀ» ¿ä±¸Çϱ⠶§¹®¿¡ °¡»ó ¿¬°áÀ» Ȱ¼ºÈ­ÇÒ ¼ö ¾ø´Ù´Â °ÍÀ» °¡¸®Å²´Ù.

ÁÖ¼®

¸¸¾à ProtocolCmMakeCall ÇÔ¼ö´Â ¿Ü¿¬ÀûÀÎ NdisPartyHandleÀÌ Á¦°øµÈ´Ù¸é, ÀÌ·¯ÇÑ VC´Â ¸ÖƼÆ÷ÀÎÆ® È£ÃâÀ» À§ÇØ Å¬¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ ¸¸µé¾îÁø´Ù. ÄÝ ¸Å´ÏÀú´Â »óÅ Á¤º¸¸¦ À¯ÁöÇÏ°í ¸ÖÆ¼Æ÷ÀÎÆ® È£ÃâÀ» Á¦¾îÇϱâ À§ÇØ ¿ä±¸µÇ´Â ÇÊ¿äÇÑ ÀÚ¿øµéÀ» ÇÒ´çÇϰí ÃʱâÈ­ÇØ¾ß ÇÑ´Ù. ±×·¯ÇÑ ÀÚ¿øµéÀº ´ÙÀ½°ú °°Àº °ÍÀ¸·Î Á¦ÇÑÀûÀÎÁö ¾ÊÁö¸¸ ¸Þ¸ð¸® ¹öÆÛµé, µ¥ÀÌÅÍ ±¸Á¶Ã¼µé, À̺¥Æ®µé, ´Ù¸¥ À¯»çÇÑ ÀÚ¿øµéÀ» Æ÷ÇÔÇÑ´Ù. ¸¸¾à ÄÝ ¸Å´ÏÀú°¡ »óÅ ¿µ¿ªÀ» À§ÇÑ ÇÊ¿äÇÑ ÀÚ¿øµéÀ» ÇÒ´çÇÒ ¼ö ¾ø°Å³ª ÃʱâÈ­ÇÒ ¼ö ¾ø´Ù¸é, NDIS_STATUS_RESOURCES·Î NDIS¿¡°Ô Á¦¾î¸¦ ¸®ÅÏÇØ¾ß ÇÑ´Ù.

ProtocolCmMakeCall ÇÔ¼ö´Â ÇÊ¿äÇÏ´Ù¸é ·ÎÄà ³ëµå¿Í CallParameters·Î ÁöÁ¤µÈ È£Ã⠸Ű³º¯¼öµéÀ» Åä´ë·Î ¸®¸ðÆ® ³ëµå »çÀÌ¿¡ ¿¬°áÀ» Çϱâ À§ÇØ ³×Æ®¿öÅ© Á¦¾î ÀåÄ¡µé ȤÀº ´Ù¸¥ ¹Ìµð¾î ƯÁ¤ actorsµé°ú Åë½ÅÇÑ´Ù. ±×·¯ÇÑ ÇൿµéÀº ´ÙÀ½°ú °°Àº °ÍÀ¸·Î Á¦ÇÑÀûÀÌÁö ¾ÊÁö¸¸, ½ºÀ§Äª Çϵå¿þ¾î¿Í Åë½Å, ³×Æ®¿öÅ© Á¦¾î ½ºÅ×À̼ǰú Åë½Å ȤÀº ³×Æ®¿öÅ© ¹Ìµð¾ö¿¡ ´ëÇÑ Àû´çÇÑ ´Ù¸¥ ÇൿµéÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù.

¸¸¾à ÄÝ ¸Å´ÏÀú°¡ ³×Æ®¿öÅ© Çϵå¿þ¾î¿Í Åë½ÅÀÌ ÇÊ¿ä·Î µÇ¾îÁø´Ù¸é(³×Æ®¿öÅ© ½ºÀ§Ä¡ µîµî) ProtocolBindAdapter ÇÔ¼ö·Î ¼³¸³ÇÑ ³×Æ®¿öÅ© Á¦¾î ÀåÄ¡¿Í °¡»ó ¿¬°áÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ÄÝ ¸Å´ÏÀúµéÀº NdisCoSendPackets ÇÔ¼ö¸¦ È£ÃâÇÔÀ¸·Î½á ¹Ì´ÏÆ÷Æ® µå¶óÀ̹ö¸¦ ÅëÇØ ±×µéÀÇ ³×Æ®¿öÅ© Çϵå¿þ¾î ¿Í Åë½ÅÇÑ´Ù. ÅëÇÕµÈ È£Ãâ °ü¸® Áö¿øÀ» ÇÏ´Â NIC ¹Ì´ÏÆ÷Æ®µéÀº NdisCoSendPackets ÇÔ¼öµéÀ» È£ÃâÇÏÁö ¾Ê°í ¿ÀÈ÷·Á ±×µé ÀÚ½ÅÀÌ µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ °ÍÀÌ´Ù.

ÀÌ È£ÃâÀÌ ¸ÖƼÆ÷ÀÎÆ® È£ÃâÀ̸é, ÄÝ ¸Å´ÏÀú°¡ ¹Ìµð¾ö¿¡ ÀÇÇØ ¿ä±¸µÈ °Íó·³ ³×Æ®¿öÅ· Çϵå¿þ¾î¿Í ¸ðµç ÇÊ¿äÇÑ Åë½ÅÀ» ÇàÇϰí ÄÝ ¸Å°³º¯¼öµéÀ» °ËÁõÇÏ°í ÆÄÆ¼´ç »óÅ µ¥ÀÌÅ͸¦ ÇÒ´çÇϰí ÃʱâÈ­ÇÑ ÈÄ, »óÅ ºí·°ÀÇ ÁÖ¼Ò´Â NDIS¿¡°Ô Á¦¾î¸¦ ¸®ÅÏÇϱâ Àü¿¡ CallMgrPartyContext Çڵ鳻¿¡ ¼³Á¤µÇ¾î¾ß ÇÑ´Ù. ÇÚµéÀº ÇÚµéÀ» ÂüÁ¶ÇÏ´Â °ÍÀ» ÇØÁ¦ÇÔÀ¸·Î½á ¼³Á¤µÇ°í ÇÚµéÀÇ °ªÀ¸·Î »óÅ ºí·°¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ ÀúÀåÇÔÀ¸·Î½á ¼³Á¤µÈ´Ù. ¿¹·Î :


*CallMgrPartyContext = SomeBuffer;

¸¸¾à ProtocolCmMakeCall ÇÔ¼ö°¡ ³×Æ®¿öÅ©À» ¿ìÇÑ ÇÊ¿äÇÑ ¿¬»êµéÀÌ ¿Ï¼ºµÇ°í VC°¡ ¼º°øÀûÀ¸·Î NdisCmActivateVcÀ» ÅëÇØ Ȱ¼ºÈ­µÈ´Ù¸é, ProtocolCmMakeCall ÇÔ¼ö´Â STATUS_SUCCESSÀÇ »óÅ·Π°¡´ÉÇÑ ÇÑ »¡¸® Á¦¾î¸¦ ¸®ÅÏÇØ¾ß ÇÑ´Ù.

ProtocolCmMakeCall ÇÔ¼ö°¡ NDIS¿¡°Ô Á¦¾î¸¦ ¸®ÅÏÇÑ ÈÄ, ÄÝ ¸Å´ÏÀú´Â ¼³Á¤µÈ ÀÌ·¯ÇÑ È£Ãâ·Î ´õ ÀÌ»óÀÇ ¾î¶² ÇൿÀ» ±â´ëÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù. ProtocolCmMakeCall ÇÔ¼ö´Â ¿¬°áÀ» ¼³¸³Çϱâ À§ÇÑ Ã¥ÀÓÀÌ ÀÖ°í ±×·¡¼­ Ŭ¶óÀÌ¾ðÆ®´Â ÀÌ·¯ÇÑ VC¸¦ ÅëÇØ ³×Æ®¿öÅ©¸¦ °ÉÃÄ µ¥ÀÌÅÍ Àü¼ÛµéÀ» ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª È£Ã⠸ŴÏÀú´Â °è¼ÓÀûÀ¸·Î È£ÃâÀÇ ¼­ºñ½º ÁúÀ» ¼öÁ¤Çϱâ À§ÇØ ¸¸¾à À̰ÍÀÌ ¸ÖƼ Æ÷ÀÎÆ® VCÀÌ¸é ÆÄÆ¼µéÀ» Ãß°¡Çϰųª µå·ÓÇϱâ À§ÇØ, ±Ã±ØÀûÀ¸·Î ÀÌ·¯ÇÑ È£ÃâÀ» Á¾·áÇϱâ À§ÇØ È£ÃâµÉ ¼ö ÀÖ´Ù.

ProtocolCmMakeCall ÇÔ¼ö´Â IRQL DISPATCH_LEVEL¿¡¼­ ½ÇÇàµÉ ¼ö ÀÖµµ·Ï ¾²¿©Á®¾ß ÇÑ´Ù.