NdisClDropParty
NDIS_STATUS
NdisClDropParty(
IN NDIS_HANDLE NdisPartyHandle,
IN PVOID Buffer OPTIONAL,
IN UINT Size
);
|
NdisClDropPartyÇÔ¼ö´Â Ŭ¶óÀ̾ðÆ®ÀÇ ¸ÖƼÆ÷ÀÎÆ® VC·ÎºÎÅÍ party¸¦ µå¶øÇÑ´Ù.
¸Å°³º¯¼ö
- NdisPartyHandle
- ¸ÖƼ Æ÷ÀÎÆ® ¿¬°á¿¡ µå¶øµÈ party¸¦ È®ÀÎÇϱâÀ§ÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. Ŭ¶óÀÌ¾ðÆ®´Â NdisClAddParty ȤÀº NdisClMakeCallÇÔ¼öÀÇ ÀÌÀü È£Ãâ·ÎºÎÅÍ ÀÌÇÚµéÀ» ¾ò´Â´Ù.
- Buffer
- ¸®¸ðÆ® ³ëµåÀÇ partyÀÇ ¸ÖƼÆ÷ÀÎÆ® ¿¬°áÀ» ´Ý±âÀ§ÇØ Àü¼ÛµÇ¾îÁø ¾î¶² µ¥ÀÌŸ¸¦ Æ÷ÇÔÇϴ ȣÃâÀÚ ÇÒ´ç ¹öÆÛÀÇ Æ÷ÀÎÅÍ. ÇÏÀ§ ¹Ìµð¾ö¿¡ ÀÇÁ¸ÇÏ´Â ÀÌ Æ÷ÀÎÅÍ´Â NULLÀϼö ÀÖ´Ù. ¿¹¸¦µé¾î, ÀÌ ÆÄ¶ó¹ÌÅÍ´Â ATM³×Æ®¿÷¿¡¼ NULLÀÌ´Ù.
- Size
- Buffer¿¡ ¹ÙÀÌÆ® Å©±â¸¦ ÁöÁ¤ÇÑ´Ù. ¸¸¾à Buffer°¡ NULLÀ̸é 0ÀÌ´Ù.
¸®Åϰª
NdisClDropPartyÇÔ¼ö´Â NDIS_STATUS_PENDINGÀÌ¿ÜÀÇ ´Ù¸¥ ¾î¶²°ÍÀ» ¸®ÅÏÇßÀ»¶§, Ŭ¶óÀÌ¾ðÆ®´Â ProtocolClDropPartyCompleteÇÔ¼öÀÇ ³»ºÎÀûÀΠȣÃâÀ» ÇØ¾ß¸¸ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é, NDIS´Â Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClDropPartyCompleteÇÔ¼ö¸¦ ÀÌ¿¬»êÀÌ ³¡³µÀ»¶§ È£ÃâÇÑ´Ù.
ÁÖ¼®
Ŭ¶óÀÌ¾ðÆ®´Â ÀϹÝÀûÀ¸·Î ´ÙÀ½ ȯ°æÁß ¾î´ÀÇϳª¿¡¼ NdisClDropPartyÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
- ProtocolClIncomingDropPartyÇÔ¼ö·ÎºÎÅÍ ¸ÖƼÆ÷ÀÎÆ® ¿¬°á·ÎºÎÅÍÀÇ ÁÖ¾îÁø party¸¦ Á¦°ÅÇϱâÀ§ÇØ.
¸®¸ðÆ® ³ëµåÀÇ party°¡ NdisClCloseCallÇÔ¼ö·Î ¿¬°áÀ» ´ÝÀ»¶§ ¹ß»ýÇÑ´Ù. NDIS°¡ ·ÎÄà Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClDropPartyComplete ÇÔ¼ö¸¦ ¸®ÅÏÇÒ¶§, Ŭ¶óÀÌ¾ðÆ®°¡ ÀÌ party¿¡´ëÇÑ »óŸ¦ À¯ÁöÇϰí ÀÖ´Â ProtocolPartyContext¿¡¼ÀÇ ÄÁÅýºÆ®¿µ¿ªÀ» ÇØÁ¦Çϰí Àç»ç¿ë ÇÒ¼öÀÖ´Ù.
- Ŭ¶óÀÌ¾ðÆ®°¡ Ŭ¶óÀÌ¾ðÆ®°¡ óÀ½¿¡ NdisClMakeCallÇÔ¼ö·Î ¼³Á¤ÇÑ ¸ÖƼÆ÷ÀÎÆ® ¿¬°á¿¡´ëÇÑ ¸¶Áö¸· party·Î NdisClCloseCallÇÔ¼ö¸¦ È£ÃâÇϱâÀü¿¡
±×·± Ŭ¶óÀÌ¾ðÆ®°¡ ÃʱâÈÇÑ ÀÚ±âÀÚ½ÅÀÇ ¸ÖƼÆ÷ÀÎÆ® È£ÃâÀÇ Á¾·á¿¡´ëÇì, Ŭ¶óÀÌ¾ðÆ®´Â ¸ÖƼÆ÷ÀÎÆ® VC¿¡´ëÇØ ¸ðµç ³²¾ÆÀÖ´Â party¸¦ µå¶øÇϱâÀ§ÇØ Çѹø ȤÀº ±×ÀÌ»ó NdisClDropPartyÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
NdisClDropPartyÇÔ¼öÀÇ Å¬¶óÀ̾ðÆ®ÀÇ È£ÃâÀº NDIS°¡ ¸ÖƼÆ÷ÀÎÆ® VC¿¡´ëÇÑ °°Àº NdisVcHandleÀ» °øÀ¯ÇÏ´Â ÄݸŴÏÀúÀÇ ProtocolCmDropPartyÇÔ¼ö¸¦ È£ÃâÇϵµ·Ï ÇÑ´Ù. ÄÝ ¸Å´ÏÀú´Â ¸®¸ðÆ® ³ëµå ÇǾ°Ô party¿¬°áÀÌ ´ÝÇôÁ®¾ß ÇѴٴ°ÍÀ» ¾Ë·Á¾ßÇÒ Ã¥ÀÓÀÌ ÀÖ´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ µå¶ø-party¿¬»êÀ» ÃʱâÈÇѴٴ°Ϳ¡ ÀÇÁ¸ÇÏ¿©.
ÀϹÝÀûÀÎ ÁöħÀ¸·Î½á, NdisClCloseCallÇÔ¼ö·Î ¸ÖƼÆ÷ÀÎÆ® ¿¬°áÀ» ´Ý±âÀü¿¡, Ŭ¶óÀÌ¾ðÆ®´Â NdisClMakeCallÇÔ¼ö·Î ºÎÅÍ ¾ò¾îÁø Ưº°ÇÑ NdisVcHandle·Î NdisClAddPartyÇÔ¼ö¸¦ È£ÃâÇÏ´Â ¸¸Å NdisClDropPartyÇÔ¼ö¸¦ È£ÃâÇØ¾ß¸¸ÇÑ´Ù. ·ÎÄà Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClIncomingDropPartyÇÔ¼öÀÇ È£Ãâ·Î ÀÎÇÏ¿© ¸®¸ðÆ® partyµéÀÌ ±×µéÀÇ ¿¬°áµéÀ» ´Ý´Â°ÍÀ» ÃʱâÈ ÇÒ¼ö Àֱ⶧¹®¿¡, ·ÎÄà Ŭ¶óÀÌ¾ðÆ®´Â ¾ó¸¶³ª ¸¹Àº È£ÃâÀÌ NdisClCloseCallÇÔ¼ö¸¦ È£ÃâÇÒ¼öÀÖ±âÀü¿¡ NdisClDropPartyÇÔ¼ö¸¦ È£ÃâÇØ¾ß¸¸ ÇÏ´ÂÁö ¾Ë±âÀ§ÇØ ¸ÖƼÆ÷ÀÎÆ® VCµé¿¡´ëÇÑ ¿¢Æ¼ºê partyÀÇ ¼ýÀÚ¸¦ °è¼ÓÇØ¼ Æ®·¢Çؾ߸¸ÇÑ´Ù.
±×·¯³ª, Ŭ¶óÀÌ¾ðÆ®´Â NdisClCloseCallÇÔ¼ö¿¡°Ô Ŭ¶óÀÌ¾ðÆ®°¡ óÀ½¿¡ ¸ÖƼÆ÷ÀÎÆ® ¿¬°áÀ» ¼³Á¤ÇßÀ»¶§ NdisClMakeCallÇÔ¼ö¿¡ÀÇÇØ ¸®ÅÏµÈ °°Àº NdisPartyHandleÀ» ³Ñ°ÜÁÖµµ·Ï ¿ä±¸µÇ¾îÁöÁö ¾Ê´Â´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ´Ù¸¥ ¼ø¼·Î ¸ÖƼÆ÷ÀÎÆ®¿¡´ëÇÑ party¸¦ ÇØÁ¦ÇÒ¼ö ÀÖ´Ù. NdisClDropPartyÇÔ¼öÀÇ È£Ãâ¿¡¼ NdisClAddParty ȤÀº NdisClMakeCallÇÔ¼ö¿¡ÀÇÇØ ¸®ÅÏµÈ ¸ðµç NdisPartyHandleÀ» ÇØÁ¦ÇÏ´ÂÇÑ, °°Àº ¸ÖƼÆ÷ÀÎÆ® VC¿¡´ëÇÑ NdisClCloseCallÇÔ¼ö¿¡´ëÇÑ ¸¶Áö¸· party ÇÚµé·Î óÀ½ÀÇ È£Ãâ¿¡ÀÇÇØ À̾îÁö´Â. Ŭ¶óÀÌ¾ðÆ®´Â ¸ÖƼÆ÷ÀÎÆ® È£ÃâÀ» ´ÝÀºÈÄ, NdisCoDeleteVcÇÔ¼ö·Î óÀ½¿¡ ¸¸µé¾îÁø VC¸¦ ÇØÁ¦ ÇÒ¼ö ÀÖ´Ù.
NdisClDropPartyÇÔ¼öÀÇ È£ÃâÀÚ´Â ÀÌÇÔ¼ö¸¦ È£ÃâÇÏÀÚ¸¶ÀÚ ÀÔ·Â NdisPartyHandleÀ» Ÿ´çÇÏÁö ¾Ê´Ù°í °£ÁÖÇØ¾ßÇÑ´Ù. ¸¸¾à ÀÌÇÚµéÀ» ÇÒ´çµÈ partyÄÁÅØ½ºÆ® ¿µ¿ª³»¿¡ ÀúÀåÇÑ´Ù¸é, party°¡ µå¶øµÆÀ»¶§ ¸¸¾à Àç»ç¿ëÀ» À§ÇØ party´ç ÄÁÅýºÆ® ¿µ¿ªÀ» ÀçÃʱâÈ ÇÑ´Ù¸é Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClDropPartyCompleteÇÔ¼ö´Â ÇÚµé º¯¼ö¸¦ NULL·Î Àç ¼³Á¤Çؾ߸¸ÇÑ´Ù.
NdisClDropPartyÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL <= DISPATCH_LEVEL¿¡¼ µ¿À۵ɼö ÀÖ´Ù.
|