NdisClAddParty

NDIS_STATUS

  NdisClAddParty(

    IN NDIS_HANDLE  NdisVcHandle,

    IN NDIS_HANDLE  ProtocolPartyContext,

    IN OUT PCO_CALL_PARAMETERS  CallParameters,

    OUT PNDIS_HANDLE  NdisPartyHandle

    );

NdisClAddPartyÇÔ¼ö´Â Ŭ¶óÀ̾ðÆ®ÀÇ ´Ù¼öÀÇ VC¿¡ party¸¦ ´õÇÑ´Ù.

¸Å°³º¯¼ö

NdisVcHandle
NdisCoCreateVcÇÔ¼ö¿¡ ÀÇÇØ ¸®ÅϵǴ VCÇÚµéÀÇ Æ÷ÀÎÅÍ.

ProtocolPartyContext
¸¸¾à È£ÃâÀÌ ¼º°øÀûÀ̶ó¸é Ŭ¶óÀÌ¾ðÆ®°¡ party´ç »óŸ¦ À¯ÁöÇϴ ȣÃâÀÚ Á¦°ø »óÁÖ ÄÁÅØ½ºÆ® ¿µ¿ª¿¡´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.

CallParameters
¸¸¾à È£ÃâÀÌ ¼º°øÀ̶ó¸é È£ÃâÀÚ°¡ party´ç »óŸ¦ À¯ÁöÇÒ È£ÃâÀÚ°¡ ÇÒ´çÇÑ »óÁÖ ÄÁÅØ½ºÆ® ¿µ¿ªÀÇ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.

NdisPartyHandle
¸¸¾à Ãß°¡µÈ partyÀÇ ¿¬»êÀÌ ¼º°øÀ̶ó¸é, NDIS¿¡ÀÇÇØ ¼³Á¤µÈ º¯¼öÀÇ Æ÷ÀÎÅÍ.

¸®Åϰª

NdisClAddPartyÇÔ¼ö°¡ NDIS_STATUS_PENDINGÀÌ¿ÜÀÇ ´Ù¸¥ ¾î¶²°ÍÀ» ¸®ÅÏÇÒ¶§, Ŭ¶óÀÌ¾ðÆ®´Â ³»ºÎÀûÀ¸·ÎProtocolClAddPartyCompleteÇÔ¼ö¸¦ È£ÃâÇϵµ·Ï ÇØ¾ßÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ÀÌ ¿¬»êÀÌ ¿Ï·áµÆÀ»¶§, NDIS´Â Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClAddPartyCompleteÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.

ÁÖ¼®

NdisClAddParty¸¦ È£ÃâÇϱâÀü¿¡, Ŭ¶óÀÌ¾ðÆ®´Â NdisClMakeCall·Î VC¿¡´ëÇÑ ¸ÖƼÆ÷ÀÎÅÍ ¿¬°áÀ» ¼³Á¤Çؾ߸¸ÇÑ´Ù. Ãß°¡µÈ party¿¡´ëÇÑ ÄÁÅØ½ºÆ® ¿µ¿ªÀ» ÇÒ´çÇϰí ÃʱâÈ­ÇÒ»Ó¸¸¾Æ´Ï¶ó. Ŭ¶óÀÌ¾ðÆ®´Â ÀϹÝÀûÀ¸·Î ±×µéÀÌ NdisClAddParty¸¦ È£ÃâÇÒ¶§, ProtocolPartyContext·Î½áÀÇ ÄÁÅØ½ºÆ® ¿µ¿ªÀÇ ÇÚµéÀ» ³Ñ±â°í NdisPartyHandleÆÄ¶ó¹ÌÅͷνáÀ¸ ¤ÓÄÁÅØ½ºÆ® ¿µ¿ª³»ÀÇ º¯¼öÀÇ Æ÷ÀÎÅ͸¦ ³Ñ±ä´Ù.

NdisClAddPartyÇÔ¼öÀÇ È£ÃâÀº NDIS·ÎÇÏ¿©±Ý ÀÌ¿äûÀ» Ŭ¶óÀÌ¾ðÆ®°¡ ÁÖ¾îÁø NdisVcHandleÀ» °øÀ¯Çϴ°ÍÀ¸·ÎÀÇ Äݸ޴ÏÀúÀÇ ProtocolCmAddPartyÇÔ¼ö·Î Æ÷¿öµå Çϵµ·Ï ÇÑ´Ù. Äݸ޴ÏÀú´Â Áï½Ã ¿¡·¯»óŸ¦ ¸®ÅÏÇϵ簡, º¸´Ù ÀϹÝÀûÀ¸·Î ¸¸¾à ÀÌ ¿äûÀÌ ¾ÈÁ¤ÀûÀ¸·Î ½ÃµµµÆ´Ù¸é NDIS_STATUS_PENDINGÀ» ¸®ÅÏÇÑ´Ù. ¸¸¾à ±× ½Ãµµ°¡ ¸®¸ðÆ® ¿£µåÆ÷ÀÎÆ® ȤÀº ÇÏÀ§ ´Ð µå¶óÀ̹ö¿¡°Ô °ÅÀýµÇ¸é,Ndis(M)CmAddPartyCompleteÇÔ¼ö¸¦ È£ÃâÇßÀ»¶§, Äݸ޴ÏÁ®´Â NDIS_STATUS_FAILURE¿Í °°Àº ¿¡·¯ »óŸ¦ ¸®ÅÏÇÑ´Ù. Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClAddPartyCompleteÇÔ¼ö´Â ó¸®ÇϱâÀü¿¡ NDIS_STATUS_SUCCESS¿¡´ëÇÑ ÀÔ·Â »óŰªÀ» È®ÀÎÇØ¾ß¸¸ÇÑ´Ù.

ÇÏÀ§ ³×Æ®¿÷ ¹Ìµð¾öÀº Ŭ¶óÀÌ¾ðÆ®°¡ ¸ÖƼÆ÷ÀÎÆ® VC¿¡´ëÇÑ party´ç Æ®·¡ÇÈ ÆÄ¶ó¹ÌÅ͸¦ ÁöÁ¤ÇÒ¼ö ÀÖ´ÀÁö¸¦ °áÁ¤ÇÑ´Ù. ¿¹¸¦µé¾î, ¸ÖƼÆ÷ÀÎÆ® VC¿¡¼­ÀÇ Æ®·¡ÇÈ ÆÄ¶ó¹ÌÅ͵éÀº ATM³×Æ®¿÷¿¡¼­ÀÇ ¸ðµç partyµé¿¡´ëÇØ È®ÀÎÇÑ´Ù. ATM³×Æ®¿÷¿¡¼­ÀÇ Å¬¶óÀÌ¾ðÆ®°¡ NdisClAddPartyÇÔ¼ö¸¦ È£ÃâÇÒ¶§, CallParameters¿¡¼­ÀÇ ´ë¿ªÆø°ú°°Àº Æ®·¡ÇÈ ÆÄ¶ó¹ÌÅÍ´Â ±×·¯ÇÑ ÀÌ¹Ì NdisClMakeCall·Î Ŭ¶óÀÌ¾ðÆ®¿¡ÀÇÇØ óÀ½À¸·Î ¼³Á¤µÈ ¸ÖƼÆ÷ÀÎÆ® VC¿¡´ëÇÑ ¼º¸³µÈ°ÍÀ» ¸ÅÄ¡ÇØ¾ß¸¸ÇÑ´Ù. Ŭ¶óÀÌ¾ðÆ®°¡ ¼øÂ÷ÀûÀ¸·Î ±× ¹Ì´ÏÆ÷Æ® VC¿¡ Ãß°¡ÇÑ °¢ party¿¡´ëÇØ, ATM ÄݸŴÏÀú´Â °°Àº Æ®·¡ÇÈ ÆÄ¶ó¹ÌÅ͵éÀ» »ç¿ëÇÑ´Ù. ±×·¡¼­ Ŭ¶óÀÌ¾ðÆ®´Â ´ÜÁö »õ·Î¿î ¾îµé·¹½Ì Á¤º¸¸¸À» ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ°í NdisClAddParty¿¡´ëÇÑ CallParameters¿¡¼­ÀÇ ÀÌ¹Ì ¼º¸³µÈ ¸ÖƼÆ÷ÀÎÆ® VCÀÇ Æ®·¡ÇÈ ÆÄ¶ó¹ÌÅ͵éÀ» ÁöÁ¤ÇÒ Çʿ䰡ÀÖ´Ù.

ATM°ú °°Àº ÇÏÀ§ ³×Æ®¿÷ ¹Ìµð¾öÀÌ ¸ÖƼÆ÷ÀÎÆ® VCµé¿¡´ëÇÑ party´ç Æ®·¡ÇÈ ÆÄ¶ó¹ÌÅ͵éÀ» °¡Áö°í ÀÖÁö¾Ê´Ù¸é,Ŭ¶óÀÌ¾ðÆ®°¡ ±× VC¿¡´ëÇØ ÀÌ¹Ì ¼º¸³µÈ Æ®·¡ÇÈ ÆÄ¶ó¹ÌÅ͵éÀ» ¸ÅÄ¡ÇÏÁö¾Ê´Â CallParametersÀÇ ÁöÁ¤À¸·Î party¸¦ Ãß°¡ÇÏ´Â ½Ãµµ¸¦ ÇÒ¶§¸¶´Ù ÄÝ ¸Å´ÏÀú´Â ´ÙÀ½Áß Çϳª¸¦ ÇÒ¼ö ÀÖ´Ù. :

  • »õ·Î¿î party¸¦ Ãß°¡ÇÏ´Â ¿äûÀ» °ÅÀýÇÑ´Ù.
  • ±× VC·ÎÀÇ party¸¦ ¼º°øÀûÀ¸·Î Ãß°¡ÇßÀ»¶§, ±× ¸ÖƼ Æ÷ÀÎÆ®¿¡´ëÇØ ±×·± ÀÌ¹Ì ¼º¸³µÈ Æ®·¡ÇÈ ÆÄ¶ó¹ÌÅ͸¦ ¸®¼ÂÇÑ´Ù.
  • »õ·Î¿î party¸¦ ¼º°øÀûÀ¸·Î Ãß°¡ÇßÀ»¶§ VCÀÇ ¸ðµç party¿¡´ëÇÑ Æ®·¡ÇÈ ÆÄ¶ó¹ÌÅ͸¦ ¹Ù²Û´Ù.
¸¸¾à Ãß°¡ party¿¬»êÀÌ ¼º°øÇϸé, NdisPartyHandle¿¡´ëÇÑ º¯¼ö´Â NDIS¿¡ÀÇÇØ NDIS¿Í Ŭ¶óÀÌ¾ðÆ®¿Í ÄÝ ¸Å´ÏÀú »çÀÌÀÇ °øÀ¯µÈ Ÿ´çÇÑ ÇÚµé·Î ¼³Á¤µÇ¾ú´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ÀÌ NDISÁ¦°ø ÇÚµéÀ» ´ÙÀ½¿¡ »õ·Ó°Ô Ãß°¡µÇ´Â party¸¦ °í·ÁÇÏ´Â NdisCl/CoXxxÇÔ¼öÀÇ È£Ãâ¿¡¼­ ³Ñ°ÜÁÙ, ¼öÁ¤µÇÁö ¾ÊÀ», ÇØ¼®µÇÁö¾ÊÀ» ¸ðÈ£ÇÑ º¯¼ö·Î °íÃľ߸¸ ÇÑ´Ù.

±³´ë·Î, NDIS´Â ´ÙÀ½¿¡ È£Ãâ¿¡¼­ Ŭ¶óÀÌ¾ðÆ® Á¦°ø ProtocolPartyContextÇÚµéÀ» ÀÌ »õ·Ó°Ô Ãß°¡µÈ party, ProtocolClAddPartyCompleteÇÔ¼öÀÇ È£ÃâÀ» Æ÷ÇÔÇÏ´Â, Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClXxxÇÔ¼ö·Î ³Ñ°ÜÁØ´Ù.

¸ÖƼÆ÷ÀÎÆ® È£ÃâÀÌ Å¬¶óÀÌ¾ðÆ®°¡ ¹ÙÀεùµÈ ÇÏÀ§ ´Ð µå¶óÀ̹öÀÇ ¹Ìµð¾ö¿¡ ÀÇÁ¸ÇÏ´Â party´ç Æ®·¡ÇÈ ÆÄ¶ó¹ÌÅ͵é·Î direction ±×¸®°í/ȤÀº party´ç Æ®·£½ºÆÛ¿¡¼­ÀÇ Æ®·£½ºÆÛ¸¦ Çã¿ëÇϵç¾ÈÇϵç(¾Ö¸Å). NdisPartyHandleÀº ¸ÖƼÆ÷ÀÎÆ® VCº¸´Ù´Â ´ÜÁö NdisClAddPartyÀÇ ¼º°øÀûÀΠȣÃâ¿¡ÀÇÇØ Ãß°¡µÈ ÁöÁ¤µÈ party¸¸À» ³ªÅ¸³½´Ù. °á°úÀûÀ¸·Î, Ŭ¶óÀÌ¾ðÆ®´Â ProtocolPartyContext¿µ¿ªÀ» ´ÜÁö ¼øÂ÷ÀûÀÎ partyÁöÁ¤ ÄÝ-¸Å´ÏÁö¸ÕÆ® ¿äû¿¡ ´ëÇØ¼­¸¸ »ç¿ëÇÒ¼öÀÖ´Ù. party´ç Æ®·£½ºÆ÷ ȤÀº Æ®·¡ÇÈ ÆÄ¶ó¹ÌÅ͸¦ Áö¿øÇÏÁö¾Ê´Â ³×Æ®¿÷ ¹Ìµð¾ö¿¡ °ÉÄ£ µ¥ÀÌŸ Àü¼Û¿¡´ëÇØ¼­, Ŭ¶óÀÌ¾ðÆ®´Â NdisVcHandleÀ» ´ë½Å »ç¿ëÇÒ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, ATM³×Æ®¿÷¿¡´ëÇØ, Ŭ¶óÀÌ¾ðÆ®°¡ µ¥ÀÌŸ¸¦ ¼º¸³µÈ ¸ÖƼÆ÷ÀÎÆ® ¿¬°áÀ» ³ªÅ¸³»´Â VC¿¡´ëÇÑ Æ¯º°ÇÑ party¸¦ ¹èÁ¦ÀûÀ¸·Î º¸³»´Â ¹æ¹ýÀº ¾ø´Ù.

NdisClAddPartyÀÇ È£ÃâÀÚ´Â IRQL <= DISPATCH_LEVEL¿¡¼­ µ¿À۵ǾîÁú¼öÀÖ´Ù.