ProtocolCmCloseCall
NDIS_STATUS
ProtocolCmCloseCall(
IN NDIS_HANDLE CallMgrVcContext,
IN NDIS_HANDLE CallMgrPartyContext OPTIONAL,
IN PVOID CloseData OPTIONAL,
IN UINT Size OPTIONAL
);
|
ProtocolCmMakeCall ÇÔ¼ö´Â ÄÝ ¸Å´ÏÀú°¡ È£ÃâÀ» À§ÇØ ÇÒ´çÇÑ ¾î¶² ÀÚ¿øµéÀ» ÇØÁ¦Çϰí Á¸ÀçÇϴ ȣÃâÀ» Á¾·áÇÏ´Â ÇÊ¿äÇÑ ÇÔ¼öÀÌ´Ù.
¸Å°³º¯¼ö
- CallMgrVcContext
- ÄÝ ¸Å´ÏÀú°¡ VC´ç »óŸ¦ À¯ÁöÇÏ´Â ÄÝ ¸Å´ÏÀú ÇÒ´ç ÄÁÅØ½ºÆ® ¿µ¿ª¿¡ ´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ÀÌ ÇÚµéÀº ÄÝ ¸Å´ÏÀúµéÀÇ ProtocolCmMakeCall ÇÔ¼ö·ÎºÎÅÍ NDIS¿¡°Ô Á¦°øµÈ´Ù.
- CallMgrPartyContext
- ÄÝ ¸Å´ÏÀú°¡ ¸ÖƼ Æ÷ÀÎÆ® VC¿¡¼ ÆÄƼ¿¡ ´ëÇÑ Á¤º¸¸¦ À¯ÁöÇÏ´Â ÄÝ ¸Å´ÏÀú ÇÒ´ç ÄÁÅØ½ºÆ® ¿µ¿ª¿¡ ´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ÀÌ ÇÚµéÀº ¸¸¾à ´ÝÈù È£ÃâÀÌ ¸ÖƼÆ÷ÀÎÆ® È£ÃâÀÌ ¾Æ´Ï¸é NULLÀÌ´Ù.
- CloseData
- È£ÃâÀÌ Á¾·áµÇ±â Àü¿¡ ¿¬°áÀ» ÅëÇØ º¸³»Á®¾ß ÇÏ´Â ¿¬°á ÁöÇâ Ŭ¶óÀÌ¾ðÆ® ÁöÁ¤ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ´Â ¹öÆÛ¸¦ °¡¸®Å²´Ù. ÀÌ ¸Å°³º¯¼ö´Â ¸¸¾à ¾Æ·¡ ³×Æ®¿öÅ© ¹Ìµð¾öÀÌ ¿¬°áÀ» ´ÝÀ» ¶§ µ¥ÀÌÅÍÀÇ Àü¼ÛµéÀ» Áö¿øÇÏÁö ¾ÊÀ¸¸é NULLÀÌ´Ù.
- Size
- CloseData ¹öÆÛÀÇ ¹ÙÀÌÆ® ±æÀ̸¦ ÁöÁ¤ÇÑ´Ù. ¸¸¾à CloseData°¡ NULLÀ̸é 0ÀÌ´Ù.
¸®Åϰª
ProtocolCmCloseCallÀº ´ÙÀ½°ú °°Àº ÇϳªÀÇ °ªÀ¸·Î ¿¬»êÀÇ »óŸ¦ ¸®ÅÏÇÑ´Ù.
- NDIS_STATUS_SUCCESS
- ÄÝ ¸Å´ÏÀú°¡ ¼º°øÀûÀ¸·Î È£ÃâÀÌ Á¾·áµÆ´Ù´Â °ÍÀ» °¡¸®Å²´Ù.
- NDIS_STATUS_PENDING
- ÄÝ ¸Å´ÏÀú´Â ºñµ¿±âÀûÀ¸·Î È£ÃâÀ» Á¾·áÇϱâ À§ÇÑ ¿ä±¸¸¦ ¿Ï¼ºÇÒ °ÍÀ̶ó´Â °ÍÀ» °¡¸®Å²´Ù. ÄÝ ¸Å´ÏÀú°¡ ¿¬°áÀ» Á¾·áÇϴµ¥ ÇÊ¿äÇÑ ¸ðµç ¿¬»êµéÀ» ¿Ï·áÇÒ ¶§, È£ÃâÀÌ ´ÝÇû´Ù´Â °ÍÀ» NDIS¿¡°Ô ½ÅÈ£ÈÇϱâ À§ÇØ NdisCmCloseCallComplete ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÑ´Ù.
- NDIS_STATUS_INVALID_DATA
- CloseData°¡ ÁöÁ¤µÇ¾úÁö¸¸ ¾Æ·¡ ³×Æ®¿öÅ© ¹Ìµð¾öÀÌ È£ÃâÀ» Á¾·áÇÏ´Â µ¥ µ¿¹ÝÇÑ µ¥ÀÌÅ͸¦ º¸³»´Â °ÍÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» °¡¸®Å²´Ù.
- NDIS_STATUS_XXX
- ÄÝ ¸Å´ÏÀú´Â È£ÃâÀ» Á¾·áÇÒ ¼ö ¾ø´Ù´Â °ÍÀ» °¡¸®Å²´Ù. ½ÇÁ¦ ¸®ÅÏµÈ ¿¡·¯´Â ¶ÇÇϳªÀÇ NDIS ¶óÀ̺귯¸® ·çƾÀ¸·ÎºÎÅÍ ÀüÆÄµÇ´Â »óŰ¡ µÉ °ÍÀÌ´Ù.
ÁÖ¼®
ProtocolCmCloseCall ÇÔ¼ö´Â ·ÎÄà ³ëµå¿Í ¸®¸ðÆ® ³ëµå»çÀÌ¿¡ ¿¬°áÀ» Á¾·áÇϱâ À§ÇØ ¹Ìµð¾î¿¡ ÀÇÇØ ÇÊ¿ä·Î µÇ´Â °Íó·³ ³×Æ®¿öÅ© Á¦¾î ÀåÄ¡µé ȤÀº ´Ù¸¥ ¹Ìµð¾î ƯÁ¤ actorsµé°ú Åë½ÅÇÑ´Ù. ¸¸¾à ÄÝ ¸Å´ÏÀú°¡ ³×Æ®¿öÅ© Á¦¾î ÀåÄ¡µé°ú Åë½ÅÇϱâ À§ÇØ ¿ä±¸µÈ´Ù¸é, ProtocolBindAdapter ÇÔ¼ö¿¡¼ ¼³¸³µÈ ³×Æ®¿öÅ© Á¦¾î ÀåÄ¡¿¡ °¡»ó ¿¬°áÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. È¥ÀÚ ÀÛµ¿ÇÏ´Â ÄÝ ¸Å´ÏÀúµéÀº NdisCoSendPackets ÇÔ¼ö¸¦ È£ÃâÇÔÀ¸·Î½á ±×·¯ÇÑ ³×Æ®¿öÅ© ÀåÄ¡µé°ú Åë½ÅÇÑ´Ù. ÅëÇÕ ÄÝ °ü¸®¸¦ ÇÏ´Â NIC ¹Ì´ÏÆ÷Æ®µéÀº °áÄÚ NdisCoSendPackets ÇÔ¼öµéÀ» È£ÃâÇÏ´Â °ÍÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù. ±× ´ë½Å¿¡, ±×µéÀº Á÷Á¢ ³×Æ®¿öÅ©À» °¡·ÎÁú·¯ µ¥ÀÌÅ͸¦ Àü¼ÛÇÑ´Ù.
¸¸¾à CloseData°¡ NULLÀÌ ¾Æ´Ï°í ¿¬°á Á¾·á¿¡¼ µ¥ÀÌÅ͸¦ º¸³»´Â °ÍÀÌ ÀÌ·¯ÇÑ ÄÝ ¸Å´ÏÀú°¡ ´Ù·ç´Â ¹Ìµð¾î¿¡ ÀÇÇØ Áö¿øµÈ´Ù¸é, ÄÝ ¸Å´ÏÀú´Â È£Ãâ Á¾·á¸¦ ¿Ï¼ºÇϱâ Àü¿¡ ¸®¸ðÆ® ³ëµå·Î CloseData¿¡ Áö¿øµÈ µ¥ÀÌÅ͸¦ Àü¼ÛÇØ¾ß ÇÑ´Ù. ¸¸¾à ¿¬°á°ú µ¿½Ã¿¡ µ¥ÀÌÅ͸¦ º¸³»´Â °ÍÀÌ Áö¿øµÇÁö ¾Ê´Â´Ù¸é, ÄÝ ¸Å´ÏÀúµéÀº NDIS_STATUS_INVALID_DATA¸¦ ¸®ÅÏÇØ¾ß ÇÑ´Ù.
ProtocolCmCloseCall ÇÔ¼ö°¡ ¿Ü¿¬ÀûÀÎ CallMgrPartyContext¸¦ Àü´ÞµÇ¾îÁø´Ù¸é, Á¾·áµÇ´Â È£ÃâÀº ¸ÖƼ Æ÷ÀÎÆ® VCÀ̰í ÄÝ ¸Å´ÏÀú´Â ¸ÖƼ Æ÷ÀÎÆ® È£Ãâ·Î¼ È£ÃâÀ» Á¾·áÇϱâ À§ÇØ ¹Ìµð¾î ŸÀÔ¿¡ Àû´çÇÑ ³×Æ®¿öÅ© Çϵå¿þ¾î¿Í ¾î¶² ÇÊ¿äÇÑ ³×Æ®¿öÅ© Åë½ÅÀ» ÇàÇØ¾ß ÇÑ´Ù. ÄÝ ¸Å´ÏÀú´Â ¶ÇÇÑ CallMgrPartyContext¿¡ ÀÇÇØ °¡¸®ÄÑÁö´Â ÆÄƼ´ç »óŸ¦ À§ÇØ ProtocolCmMakeCall ÇÔ¼ö¿¡¼ Àü¿¡ ÇÒ´çÇÑ ¸Þ¸ð¸®¸¦ ÇØÁ¦ÇØ¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ ÀÚ¿øµéÀ» ÇØÁ¦Çϰí ÇÒ´ç ÇØÁ¦ÇÏ°í ºñȰ¼ºÈÇÏ´Â °Í¿¡ ´ëÇÑ ½ÇÆÐ´Â ¸Þ¸ð¸® ´©¼ö¸¦ ¾ß±âÇÑ´Ù.
È£ÃâÀÌ ³×Æ®¿öÅ©¿¡¼ Á¾·áµÈ ÈÄ, ¾î¶² ´ÝÈù µ¥ÀÌÅÍ´Â º¸³»¾îÁö°í CallMgrPartyContext¿¡ ¾î¶² ÀÚ¿øµéÀº ÇØÁ¦µÇ°í ÄÝ ¸Å´ÏÀú´Â NdisCmDeactivateVc ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÑ´Ù. À̰ÍÀº NDIS¿Í ¾Æ·¡ NIC ¹Ì´ÏÆ÷Æ®¿¡°Ô ÁÖ¾îÁø VC¿¡¼ ´õ ÀÌ»ó Àü¼ÛµéÀÌ ±â´ëµÇÁö ¾Ê´Â´Ù¶ó´Â °ÍÀ» ÁÖÁöÇÑ´Ù.
ProtocolCmCloseCall ÇÔ¼ö´Â IRQL DISPATCH_LEVEL¿¡¼ ½ÇÇàµÉ ¼ö ÀÖµµ·Ï ¾²¿©Á®¾ß ÇÑ´Ù.
|