ProtocolClMakeCallComplete

VOID 

  ProtocolClMakeCallComplete(

      IN NDIS_STATUS  Status,

      IN NDIS_HANDLE  ProtocolVcContext,

      IN NDIS_HANDLE  NdisPartyHandle  OPTIONAL,

      IN PCO_CALL_PARAMETERS  CallParameters

      );

³ª°¡´Â È£ÃâµéÀ» ¸¸µå´Â ¿¬°á ÁöÇâ NDIS Ŭ¶óÀÌ¾ðÆ®µéÀº ±×µéÀÌ NdisClMakeCall ÇÔ¼ö·Î ÃʱâÈ­ÇÑ ºñµ¿±â ¿¬»êµéÀ» ¿Ï¼ºÇϱâ À§ÇØ ProtocolClMakeCallComplete ÇÔ¼öµéÀ» °¡Á®¾ß ÇÑ´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ±×·¯ÇÑ ÇÁ·ÎÅäÄÝ µå¶óÀ̹öÀÇ µî·ÏµÈ ProtocolClMakeCallComplete ÇÔ¼ö´Â °£´ÜÈ÷ Á¦¾î¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù.

¸Å°³º¯¼ö

Status
´ÙÀ½°ú °°Àº ÇϳªÀÇ °ªÀÌ µÉ ¼ö ÀÖ´Â NdisClMakeCall¿¡ ´ëÇÑ Å¬¶óÀ̾ðÆ®ÀÇ ¿ø·¡ È£ÃâÀÇ ¸¶Áö¸· »óŸ¦ ÁöÁ¤ÇÑ´Ù.

NDIS_STATUS_SUCCESS
°¡»ó ¿¬°áÀ» ¼³Á¤Çϱâ À§ÇÑ Å¬¶óÀ̾ðÆ®ÀÇ ½Ãµµ°¡ ¼º°øÀÌ´Ù. °á°úÀûÀ¸·Î, Ŭ¶óÀÌ¾ðÆ®´Â Å¬¶óÀÌ¾ðÆ®°¡ ProtocolVcContext¿¡¼­ VC ´ç ¿¬°á ÄÁÅØ½ºÆ® ¿µ¿ª³»¿¡ ÀúÀåµÈ NdisCoCreateVcÇÔ¼ö¿¡ ÀÇÇØ ¸®ÅÏµÈ NdisVcHandle¸¦ »ç¿ëÇÏ¿© Ȱ¼ºÈ­ VC¿¡ Àü¼ÛµéÀ» ó¸®ÇÒ ¼ö ÀÖ´Ù.

NDIS_STATUS_RESOURCES
NDIS, ÄÝ ¸Å´ÏÀú, ȤÀº ¾Æ·¡ µå¶óÀ̹ö°¡ ¿¬°áµéÀ» ¼³Á¤Çϱâ À§ÇÑ ÃæºÐÇÑ ÀÚ¿øµéÀ» ÇÒ´çÇÒ ¼ö ¾ø´Ù.

NDIS_STATUS_XXX
ÄÝ ¸Å´ÏÀú ȤÀº ¾Æ·¡ ¹Ì´ÏÆ÷Æ®´Â Ȱ¼ºÈ­ ¿¬°áÀ» ¼³¸³ÇÏ´Â °ÍÀÌ ½ÇÆÐÇß°í NDIS´Â Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ÀÌ·¯ÇÑ µå¶óÀ̹ö °áÁ¤ ½ÇÆÐ »óŸ¦ Àü´ÞÇÑ´Ù.

ProtocolVcContext
Ŭ¶óÀÌ¾ðÆ®°¡ ¿ø·¡ ³ª°¡´Â È£ÃâÀ» À§ÇÑ VC¸¦ ¼³Á¤Çϱâ À§ÇØ NdisCoCreateVc ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ NDIS¿¡°Ô Á¦°øÇϴ Ŭ¶óÀ̾ðÆ®ÀÇ VC´ç ÄÁÅØ½ºÆ® ¿µ¿ª¿¡ ´ëÇÑ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.

NdisPartyHandle
¸¸¾à Status°¡ NDIS_STATUS_SUCCESSÀ̰í Ŭ¶óÀÌ¾ðÆ®°¡ NdisClMakeCallÇÔ¼ö¿¡ ¿Ü¿¬ÀûÀÎ ProtocolPartyContext ÇÚµéÀ» Àü´ÞÇÔÀ¸·Î½á ¸ÖƼÆ÷ÀÌÆ® VC¸¦ ¸¸µç´Ù¸é, À̰ÍÀº À¯È¿ÇÑ NdisPartyHandleÀÌ´Ù. ±×·¸Áö ¾ÊÀ¸¸é, ÀÌ·¯ÇÑ ¸Å°³º¯¼ö´Â NULLÀÌ´Ù.

ProtocolClMakeCallComplete ÇÔ¼ö´Â Ç×»ó Ŭ¶óÀ̾ðÆ®ÀÇ ÆÄƼ´ç ÄÁÅØ½ºÆ® ¿µ¿ª³»¿¡ ¾î¶² À¯È¿ÇÑ ÀÔ·Â NdisPartyHandleÀ» ÀúÀåÇØ¾ß ÇÑ´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ¸¸¾à ÀÌ·¯ÇÑ ÆÄƼ¸¦ ÂüÁ¶ÇÏ´Â NdisClDropParty ÇÔ¼ö ȤÀº NdisClCloseCall ÇÔ¼ö¿¡ ´ëÇÑ ¿¬¼ÓµÈ È£ÃâÀ» ÇÑ´Ù¸é(ÇÒ ¶§) ÀÌ·¯ÇÑ ÇÚµéÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù.

CallParameters
¹öÆÛÈ­µÈ CO_CALL_PARAMETERS ±¸Á¶Ã¼¸¦ °¡¸®Å²´Ù. Ŭ¶óÀÌ¾ðÆ®´Â NdisClMakeCall ÇÔ¼ö¿¡ ÀÌ·¯ÇÑ Æ÷ÀÎÅ͸¦ Àü´ÞÇϱâ Àü¿¡ Ŭ¶óÀÌ¾ðÆ® °áÁ¤ µ¥ÀÌÅÍ·Î ÀÌ·¯ÇÑ ±¸Á¶Ã¼¸¦ ÃʱâÈ­Çϰí ÀÌ·¯ÇÑ ¹öÆÛ¸¦ ÇÒ´çÇÑ´Ù. Ŭ¶óÀ̾ðÆ®ÀÇ ¿ä±¸¸¦ ó¸®ÇÒ ¶§, ÄÝ ¸Å´ÏÀú´Â ³×Æ®¿öÅ© ȤÀº ½Ã±×³Î¸µ ÇǾî·Î Çù»óÀÇ °á°ú¸¦ ¹Ý¿µÇϱâ À§ÇØ ÀÌ·¯ÇÑ µ¥ÀÌÅ͸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

ÁÖ¼®

ProtocolClMakeCallComplete ÇÔ¼ö¿¡ ´ëÇÑ È£ÃâÀº ÄÝ ¸Å´ÏÀú°¡ NdisClMakeCall ÇÔ¼ö·Î °¡»ó ¿¬°áÀ» ¼³¸³Çϱâ À§ÇØ Å¬¶óÀ̾ðÆ®ÀÇ ¿ä±¸¸¦ ó¸®ÇÏ´Â °ÍÀ» ¿Ï¼ºÇÏ´Â °ÍÀ» °¡¸®Å²´Ù.

¸¸¾à Ŭ¶óÀ̾ðÆ®ÀÇ ³ª°¡´Â È£ÃâÀ» ¼³¸³Çϱâ À§ÇÑ ½Ãµµ°¡ ¼º°øÀûÀÌÁö ¸øÇϸé(ÀÔ·Â Status°¡ NDIS_STATUS_SUCCESS¸¦ Á¦¿ÜÇÑ ¾î¶²°Í), ProtocolClMakeCallComplete ÇÔ¼ö´Â ´ÙÀ½°ú °°Àº ÀÏÀ» ÇÑ´Ù:

  • ProtocolPartyContext ¿µ¿ª°ú Ŭ¶óÀÌ¾ðÆ®°¡ ÇÒ´çÇÑ CallParameters ¹öÆÛ¸¦ Àç»ç¿ëÀ» À§ÇØ ÇØÁ¦Çϰí ÁغñÇÑ´Ù.
  • NdisCoDeleteVc ÇÔ¼ö¿¡ ´ëÇÑ È£Ãâ·Î Ŭ¶óÀÌ¾ðÆ®°¡ ¸¸µç VC¸¦ ²÷°í Ŭ¶óÀÌ¾ðÆ® ÇÒ´ç ProtocolVcContext ¿µ¿ªÀ» Àç»ç¿ëÀ» À§ÇØ ÇØÁ¦Çϰųª ÁغñÇÑ´Ù.
±×·¸Áö ¾ÊÀ¸¸é, ProtocolClMakeCallComplete ÇÔ¼ö´Â ´ÙÀ½°ú °°Àº ÀÏÀ» ÇÑ´Ù:

  1. ÄÝ ¸Å´ÏÀú°¡ Ŭ¶óÀÌ¾ðÆ® Á¦°ø ÄÝ ¸Å°³º¯¼öµéÀ» ¼öÁ¤ÇÏ´Â °ÍÀ» °¡¸®Å°´Â CALL_PARAMETERS_CHANGED°¡ ¼³Á¤µÇ¾ú´ÂÁö¸¦ ¾Ë±â À§ÇØ CallParameters ±¸Á¶Ã¼ÀÇ Flags ¸â¹ö¸¦ üũÇÑ´Ù.
  2. ¸¸¾à ±×·¸´Ù¸é, ±×µéÀÌ ÀÌ·¯ÇÑ ¿¬°áÀ» À§ÇØ ¼ö¶ôÇÒ ¼ö ÀÖ´Â Áö¸¦ °áÁ¤Çϱâ À§ÇØ CallParameters µ¥ÀÌÅ͸¦ Á¶»çÇÑ´Ù.

    ¿¹¸¦ µé¾î, Ŭ¶óÀÌ¾ðÆ®´Â È°¼ºÈ­ VC¸¦ À§ÇÑ ¹öÆÛÈ­µÈ È£ÃâÀ» º¸·ùÇϰí, ¸¸¾à À̰ÍÀÌ ¸ÖƼÆ÷ÀÎÆ® VCÀ̸é NdisPartyHandleÀ» ÀúÀåÇϰí, ÀϹÝÀûÀ¸·Î Ŭ¶óÀÌ¾ðÆ®´Â ¸¸¾à ÁÖ¾îÁø ÄÝ ¸Å°³º¯¼öµéÀÌ ¸¸Á·ÇÏ´Ù¸é Ȱ¼ºÈ­ VC¿¡¼­ ´Ù¸¥ ¿¬»êµé°ú ¿¬¼ÓµÈ Àü¼ÛµéÀ» ÁغñÇÑ´Ù.

  3. ¸¸¾à ¾Æ´Ï¸é, ½Ã±×³Î¸µ ÇÁ·ÎÅäÄÝÀº Ŭ¶óÀÌ¾ðÆ®´Â ÄÝ ¸Å´ÏÀú·Î ¼ö¶ôÇÒ ¼ö ÀÖ´Â ÄÝ ¸Å°³º¯¼öµéÀ» À§ÇØ ÀçÇù»óÇÏ·Á°í ½ÃµµÇÒ ¼ö ÀÖ´ÂÁö °áÁ¤ÇÑ´Ù.

    ¿¹¸¦ µé¾î, ƯÁ¤ ÄÝ ¸Å´ÏÀú´Â ÀÌ·¯ÇÑ È¯°æ¿¡¼­, Çѹø ȤÀº ¿©·¯¹ø NdisClModifyCallQoS ÇÔ¼ö¸¦ È£ÃâÇÏ´Â °ÍÀ» Ŭ¶óÀÌ¾ðÆ®µé¿¡°Ô Çã¶ôÇÑ´Ù.

  4. ¸¸¾à CM-¼öÁ¤ ÄÝ ¸Å°³º¯¼öµéÀÌ ¼ö¶ôÇÒ ¼ö ¾ø°í ´õ ³ª¾Æ°¡ ÀçÇù»óÀÌ ºÒ°¡´ÉÇÏ´Ù¸é, ProtocolClMakeCallComplete ÇÔ¼ö´Â NdisClCloseCall ÇÔ¼ö·Î È£ÃâÀ» ²÷¾î¾ß ÇÑ´Ù.

    ÀÌ·¯ÇÑ °æ¿ì¿¡, ProtocolClMakeCallComplete ÇÔ¼ö´Â NdisClCloseCall ÇÔ¼ö·ÎºÎÅÍ ¸®ÅϵÇÀÚ¸¶ÀÚ ¾î¶² Ŭ¶óÀÌ¾ðÆ® ÇÒ´ç ÀÚ¿øµéÀ» ÇØÁ¦ÇÏ´Â ½Ãµµ¸¦ ÇÒ Çʿ䰡 ¾øÁö¸¸ °£´ÜÈ÷ Á¦¾î¸¦ ¸®ÅÏÇÒ ¼ö ÀÖ´Ù. ±× ´ë½Å¿¡, Ŭ¶óÀÌ¾ðÆ®´Â ProtocolClCloseCallComplete ÇÔ¼ö³»¿¡ ÇÒ´çÇÑ ÀÚ¿øµéÀ» ÇØÁ¦ÇØ¾ß ÇÑ´Ù. (ȤÀº Àç»ç¿ëÀ» À§ÇØ ±×µéÀ» ÁغñÇÑ´Ù.)

ProtocolClMakeCallComplete ÇÔ¼ö´Â IRQL DISPATCH_LEVEL·Î ½ÇÇàÇÒ ¼ö ÀÖ°Ô ¾²¿©Á®¾ß ÇÑ´Ù.