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¿¡¼­ µ¿À۵ɼö ÀÖ´Ù.