NdisClCloseCall
NDIS_STATUS
NdisClCloseCall(
IN NDIS_HANDLE NdisVcHandle,
IN NDIS_HANDLE NdisPartyHandle OPTIONAL,
IN PVOID Buffer OPTIONAL,
IN UINT Size
);
|
NdisClCloseCallÀº ÁöÁ¤µÈ VCÀÇ ÇØÁ¦¸¦ ¿äûÇÑ´Ù.
¸Å°³º¯¼ö
- NdisVcHandle
- ´ÝÇôÁö°Å³ª ¿¬°áÇØÁ¦µÇ°íÀÖ´Â VCÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ³ª°¡´Â È£ÃâÀ» ¸¸µå´Â °Í¿¡´ëÇÑ Áغñ¿¡¼ÀÇ Å¬¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ¼ÀÎÁö ȤÀº Ŭ¶óÀÌ¾ðÆ®·Î µé¾î¿À´Â È£ÃâÀ» °¡Á®¿À´Â°Í¿¡´ëÇØ ÁغñÇÏ´Â Äݸ޴ÏÀú¿¡ÀÇÇØ¼ÀÎÁö´Â, VC°¡ NdisCoCreateVcÇÔ¼ö·Î óÀ½¿¡ ¸¸µé¾î Áú¶§ ÀÌÇÚµéÀº NDIS¿¡ÀÇÇØ Á¦°øµÈ´Ù.
- NdisPartyHandle
- ¸ÖƼÆ÷ÀÎÆ® VC¿¡¼ µå¶øµÈ ¸¶Áö¸· party¿¡´ëÇÑ ÇÚµé ȤÀº NULLÀ» ÁöÁ¤ÇÑ´Ù. ¸¸¾à À̰ÍÀÌ ¸ÖƼÆ÷ÀÎÆ® VCÀ̸é, Ŭ¶óÀÌ¾ðÆ®´Â NdisClMakeCall ȤÀº NdisClAddPartyÀÇ ¾Õ¼± È£Ãâ·ÎºÎÅÍÀÇ ÀÌÇÚµéÀ» ¾ò´Â´Ù.
- Buffer
- ¿¬°áÀÌ ´ÝÈú¶§, ¸®¸ðÆ® ³ëµåÀÇ party·Î Àü¼ÛµÇ¾îÁö´Â ¾î¶² µ¥ÀÌŸ¸¦ Æ÷ÇÔÇϴ ȣÃâÀÚ Á¦°ø ¹öÆÛÀÇ Æ÷ÀÎÅÍ. ÇÏÀ§ ¹Ìµð¾ö¿¡ ÀÇÁ¸ÇÏ¿©, ÀÌÆ÷ÀÎÅÍ´Â NULLÀϼö ÀÖ´Ù. ¿¹¸¦µé¾î, ÀÌ ÆÄ¶ó¹ÌÅÍ´Â ATM³×Æ®¿÷¿¡¼´Â NULLÀÌ´Ù.
- Size
- ¹öÆÛÀÇ ¹ÙÀÌÆ® »çÀÌÁ ÁöÁ¤ÇÑ´Ù. ¸¸¾à ¹öÆÛ°¡ NULLÀ̸é 0ÀÌ´Ù.
¸®Åϰª
NdisClCloseCallÇÔ¼ö°¡ NDIS_STATUS_PENDINGÀÌ¿ÜÀÇ ´Ù¸¥°ÍÀ» ¸®ÅÏÇÒ¶§, Ŭ¶óÀÌ¾ðÆ®´Â ProtocolClCloseCallCompleteÇÔ¼öÀÇ ³»ºÎÀûÀΠȣÃâÀ» ÀÌ·ç¾î¾ßÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é, NDIS´Â ÀÌ ¿¬»êÀÌ ¿Ï·áµÆÀ»¶§, Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClCloseCallCompleteÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
ÁÖ¼®
Ŭ¶óÀÌ¾ðÆ®´Â ÀϹÝÀûÀ¸·Î ´ÙÀ½ ȯ°æÁß Çϳª¿¡¼ NdisClCloseCallÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.:
- ¼º¸³µÈ ÄÝÀ» ´Ý±âÀ§ÇØ, È£ÃâÀÌ NdisClMakeCallÇÔ¼ö·Î Ŭ¶óÀÌ¾ðÆ®¿¡ÀÇÇØ ÃʱâÈµÇµç ¾Æ´Ï¸é ¸®¸ðÆ® ÇǾîÀÇÀÇÇØ Á¦°øµÇµçÁö ±×¸®°í Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClIncomingCallÇÔ¼ö¿¡ÀÇÇØ ¹Þ¾Æµé¿©Áú¶§.
- ProtocolClIncomingCloseCallÇÔ¼ö·ÎºÎÅÍ ¼º¸³µÈ È£ÃâÀ» ÇØÁ¦ÇϱâÀ§ÇØ.
¸®¸ðÆ® party°¡ ¸®¸ðÆ® party°¡ óÀ½ ÃʱâÈÇϰí Ŭ¶óÀÌ¾ðÆ®°¡ ¹Þ¾ÆµéÀÎ µé¾î¿À´Â È£ÃâÀ» ´ÝÀ»¶§ À̰ÍÀº ¹ß»ýÇÑ´Ù. Ŭ¶óÀÌ ¾ðÆ® ÃʱâÈÀÇ ³ª°¡´Â È£Ãâ¿¡´ëÇØ, ¸®¸ðÆ® party°¡ ¸®¸ðÆ® ³ëµå¿¡¼ÀÇ Æ÷ÀÎÆ®-to-Æ÷ÀÎÆ® ¿¬°áÀ» ´Ý°Å³ª ¸ÖƼÆ÷ÀÎÆ® VCÀÇ ¸¶ Áö¸· ³²¾ÆÀÖ´Â party°¡ ¸®¸ðÆ® ³ëµåÀÇ È£ÃâÀ» ´ÝÀ»¶§, ¹ß»ýÇÑ´Ù.
- ProtocolClMakeCallCompleteÇÔ¼ö·ÎºÎÅÍ ³ª°¡´Â È£ÃâÀ» ¸¸µå´Â Ŭ¶óÀÌ¾ðÆ® ÃʱâÈÀÇ ½Ãµµ¸¦ ÇØÀç.
¸¸¾à Äݸ޴ÏÀú°¡ NdisClMakeCallÇÔ¼ö¿¡°Ô ³Ñ±â´Â Ŭ¶óÀÌ¾ðÆ® ÁöÁ¤ ÄÝ ÆÄ¶ó¹ÌÅ͸¦ ¼öÁ¤ÇÑ´Ù¸é ¹ß»ýÇϰí Ŭ¶óÀÌ¾ðÆ®´Â ÀÌ ¼ö Á¤À» ¹Þ¾ÆµéÀϼö ¾ø°Ô ÇÑ´Ù.(¾Ö¸Å)
- ProtocolClIncomingQoSChangeÇÔ¼ö·ÎºÎÅÍ ¼º¸³µÈ È£ÃâÀ» ÇØÁ¦ÇϱâÀ§ÇØ.
¸¸¾à VC¿¡¼ ´Ù¸¥ party¿¡ÀÇÇØ Á¦¾ÈµÈ QoSº¯È°¡ Ŭ¶óÀÌ¾ðÆ®·Î ¹Þ¾Æµé¿©Áú¼ö ¾ø´Ù¸é ¹ß»ýÇÑ´Ù.
- ProtocolClModifyCallQoSCompleteÇÔ¼ö·ÎºÎÅÍ ¼º¸³µÈ È£ÃâÀ» ÇØÀ縦 À§ÇØ.
À̰ÍÀº ¸¸¾à Ŭ¶óÀÌ¾ðÆ®°¡ Á¦¾ÈÇÑ VC¿¡´ëÇÑ QoS°¡ ¹Þ¾Æµé¿©ÁöÁö¾Ê°í ProtocolClModifyCallQoSCompleteÇÔ¼ö·Î ¸®ÅÏµÈ CM-¼ö Á¤ÀÇ QoS°¡ Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¹Þ¾Æµé¿©ÁöÁö¾Ê´Â´Ù¸é ¹ß»ýÇÑ´Ù.
NdisClCloseCallÇÔ¼öÀÇ Å¬¶óÀ̾ðÆ®ÀÇ È£ÃâÀº NDIS·Î ÇÏ¿©±Ý NdisVcHandleÀ» ¸¶Å©Çϵµ·Ï ±×¸®°í CMÀÇ ProtocolCmCloseCallÇÔ¼öÀÇ È£ÃâÇϵµ·Ï ÇÑ´Ù.
Ŭ¶óÀÌ¾ðÆ®°¡ ¸¸µç ¸ÖƼÆ÷ÀÎÆ® VC¿¡ÀÇ ¼º¸³µÈ È£ÃâÀ» ÇØÁ¦ÇϱâÀ§ÇØ, Ŭ¶óÀÌ¾ðÆ®´Â NdisClDropParty¸¦ NdisClCloseCall¸¦ È£ÃâÇϱâÀü¿¡ VC¿¡´ëÇÑ ¸¶Áö¸· party¸¦ Á¦¿ÜÇϰí ÇØÁ¦ÇϱâÀ§ÇØ Çѹø ȤÀº ±×ÀÌ»óÀ» È£ÃâÇØ¾ßÇÑ´Ù. ÄݸŴÏÀú´Â ¸¸¾à ÁÖ¾îÁø VC°¡ ¿©ÀüÈ÷ ÇϳªÀÌ»óÀÇ ¿¬°áµÈparty¸¦ °¡Áö°í ÀÖ´Ù¸é ¸ÖÆ¼ Æ÷ÀÎÆ® È£ÃâÀ» ´Ý±âÀ§ÇØ ¾î¶² Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÀ» ½ÇÆÐ ÇÒ°ÍÀÌ´Ù. NdisClCloseCall¿¡°Ô ³Ñ°ÜÁØ NdisPartyHandleÀº Ŭ¶óÀÌ¾ðÆ®°¡ ÁÖ¾îÁø NdisVcHandle·Î NdisClAddParty ȤÀº NdisClMakeCall¿¡´ëÇÑ ¼±ÇàÇϴ ȣÃâ·ÎºÎÅÍ ¾î¶² Ÿ´çÇÑ ÇÚµéÀϼö ÀÖ´Ù.
Ŭ¶óÀÌ¾ðÆ®°¡ ÃʱâÈÇÑ ¸ÖƼÆ÷ÀÎÆ®¿¡´ëÇÑ ¸®¸ðÆ® party°¡ ±×µéÀÇ ´ÝÇôÁø ¿¬°á¿¡´ëÇÑ ¿äûÀ» ÇÒ¶§, NDIS´Â Çϳª ÀÌ»óÀÇ ¹ÌÇØ°áµÈ party°¡ Ŭ¶óÀÌ¾ðÆ®°¡ ¸¸µç ¸ÖƼÆ÷ÀÎÆ® VC¿¡ Á¸ÀçÇÏ´ÂÇÑ ±× Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClDropPartyÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ¸¶Áö¸· ³²¾ÆÀÖ´Â ¸®¸ðÆ® party°¡ ±× ¿¬°áÀ» ´ÝÀ»¶§, NDIS´Â Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClIncomingCloseCallÇÔ¼ö¸¦ ´ë½Å È£ÃâÇÑ´Ù. °á°úÀûÀ¸·Î, ¸ÖƼ Æ÷ÀÎÆ® ¿¬°áÀ» ¼³Á¤ÇÏ´Â ¾î¶² Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClIncomingCloseCallÇÔ¼ö´Â ±× ¸ÖƼÆ÷ÀÎÆ® VCµé¿¡´ëÇÑ ¸¶Áö¸·À¸·Î ³²¾ÆÀÖ´Â party¸¦ È®ÀÎÇØ¾ß¸¸ Çϰí ÀûÀýÇÑ NdisPartyHandleÀ» NdisClCloseCall¿¡°Ô ³Ñ°Ü¾ßÇÑ´Ù.
Ŭ¶óÀÌ¾ðÆ®°¡ NdisClCloseCallÇÔ¼ö·Î NdisPartyHandle¸¦ ÇØÁ¦ÇÑÈÄ, ±×°ÍÀÌ À¯ÁöÇϰíÀÖ´Â party´ç »óÅ¿¡´ëÇÑ ¸®¼Ò½ºµéÀ» ÇØÁ¦(Àç»ç¿ëÀ» À§ÇØ ÀçÃʱâÈÇϰųª) ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª, Ŭ¶óÀÌ¾ðÆ®´Â NdisClCloseCallÇÔ¼ö·Î ÃʱâÈÇÏ´Â ¿¬»êÀÇ ¿Ï·á¿¡ ÀÖ¾î °°Àº¹æ¹ýÀ¸·Î VC´ç ¸®¼Ò½ºµéÀ» ÇØÁ¦Çϰųª Àç»ç¿ëÇÒ¼ö ¾ø´Ù. ¿Ö³ÄÇϸé closingÀ¸·Î½á ¸¶Å©µÆ±â¶§¹®¿¡ ´Ù¸¥ È£ÃâÀ» ¸¸µé±âÀ§ÇØ Àç»ç¿ëÇÒ¼ö¾ø´Â NdisVcHandleÀÌ VC°¡ ¾ø¾îÁú¶§±îÁö ¿©ÀüÈ÷ Ÿ´çÇϱ⶧¹®ÀÌ´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ ¸¸¾à VC´ç ¸®¼Ò½ºµéÀ» ÇØÁ¦Çϰųª ÃʱâÈÇϱâÀü¿¡ ³ª°¡´Â È£Ãâ¿¡´ëÇÑ VC¸¦ ¸¸µé¾ú´Ù¸é NdisCoDeleteVcÇÔ¼ö¸¦ È£ÃâÇØ¾ß¸¸Çϰųª, Ŭ¶óÀÌ¾ðÆ®°¡ ProtocolCoDeleteVcÇÔ¼ö°¡ È£ÃâµÇ±âÀü±îÁö ÀÌ·¯ÇÑ ¸®¼Ò½ºµé¿¡´ëÇÑ ÇØÁ¦¿Í Ãʱâȸ¦ Áö¿¬Çؾ߸¸ÇÑ´Ù.
NdisClCloseCallÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL <= DISPATCH_LEVEL¿¡¼ µ¿À۵ɼö ÀÖ´Ù.
|