NdisClMakeCall

NDIS_STATUS

  NdisClMakeCall(

    IN NDIS_HANDLE  NdisVcHandle,

    IN OUT PCO_CALL_PARAMETERS  CallParameters,

    IN NDIS_HANDLE  ProtocolPartyContext  OPTIONAL,

    OUT PNDIS_HANDLE  NdisPartyHandle  OPTIONAL

    );

NdisClMakeCallÇÔ¼ö´Â Ŭ¶óÀÌ¾ðÆ®°¡ ¸¸µç VC¿¡´ëÇÑ ³ª°¡´Â È£ÃâÀ» ¼³Á¤ÇÑ´Ù.

¸Å°³º¯¼ö

NdisVcHandle
NdisCoCreateVcÀÇ ¼±ÇàÇϴ ȣÃâ¿¡ÀÇÇØ ¸®ÅÏµÈ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.

CallParameters
¸¸¾à È£ÃâÀÚ¿¡ÀÇÇØ Áö¿øµÇ´Â ³×Æ®¿÷ ¹Ìµð¾ö°ú ¾îµå·¹½º ÆÐ¹Ð¸®°¡ QoSƯ¼ºµéÀ» Çã¿ëÇÑ´Ù¸é È£ÃâÀÚ°¡ È£Ãâ, Àẹ, ´ë¿ªÆø, ¼­ºñ½º Áú¿¡´ëÇÑ Å¸°Ù ¾îµå·¹½º¿Í °°Àº ÀÌ ¿¬°á¿¡´ëÇÑ Æ¯¼ºÀ» ÁöÁ¤ÇѰͿ¡´ëÇÑ CO_CALL_PARAMETERSŸÀÔÀÇ ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ.

ProtocolPartyContext
Ãß°¡ÀûÀ¸·Î Ŭ¶óÀÌ¾ðÆ®°¡ ¸ÖƼÆ÷ÀÎÆ® VC¿¡´ëÇÑ Ã³À½party¿¡´ëÇÑ party´ç »óŸ¦ À¯ÁöÇÒ°Í¿¡´ëÇÑ »óÁÖ ÄÁÅýºÆ® ¿µ¿ª¿¡´ëÇÑ È£ÃâÀÚ Á¦°ø ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ÀÌ ÆÄ¶ó¹ÌÅÍ´Â ¸¸¾à ÁÖ¾îÁø VC°¡ ¸ÖƼÆ÷ÀÎÆ® ¿¬°áÀ» ³ªÅ¸³»Áö ¾Ê´Â´Ù¸é NULLÀÌ´Ù. ¸ÖƼÆ÷ÀÎÆ® VC¿¡´ëÇØ, NDIS´Â ÀÌÇÚµéÀ» ´Ù½Ã ÀÌ Æ¯º°ÇÑ party¿¡°Ô ¿µÇáÀ» ¹ÌÄ¡´Â ¸ðµç ¼øÂ÷ÀûÀΠȣÃâµé³»ÀÇ Å¬¶óÀ̾ðÆ®ÀÇ ProtocolClXxxÇÔ¼ö¿¡°Ô ³Ñ°ÜÁØ´Ù.

NdisPartyHandle
¸¸¾à ³ª°¡´Â È£ÃâÀ» ¼³Á¤Çϴ°Ϳ¡´ëÇÑ ¿äûÀÌ ¼º°øÀ̶ó¸é, NDIS ¸ÖƼÆ÷ÀÎÆ® ¿¬°á¿¡´ëÇÑ Ã³À½ party¸¦ ³ªÅ¸³»´Â ÇÚµéÀ» ¸®ÅÏÇϴ°Ϳ¡¼­ÀÇ ÀϹÝÀûÀ¸·Î È£ÃâÀÚ ÇÒ´ç partyÄÁÅØ½ºÆ® ¿µ¿ª³»ÀÇ È£ÃâÀÚ Á¦°ø º¯¼öÀÇ Æ÷ÀÎÅÍ.

¸®Åϰª

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

ÁÖ¼®

NdisClMakeCallÇÔ¼ö´Â Ŭ¶óÀÌ¾ðÆ®°¡ ÃʱâÈ­ÇÑ ³ª°¡´Â È£Ãâ¿¡´ëÇÑ Å¬¶óÀÌ¾ðÆ®°¡ »ý¼ºÇÑ VCÀÇ Æ¯¼ºÀ» ¼³Á¤ÇÑ´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ³ª°¡´Â È£ÃâÀ» ¸¸µé±âÀ§ÇÑ ½Ãµµ¸¦ ÇϱâÀü¿¡ NdisCoCreateVc·Î VC¸¦ ¼³Á¤Çؾ߸¸ÇÑ´Ù.

NdisClMakeCallÀÇ È£ÃâÀº NDIS°¡ ÀÌ ¿äûÀ» Ŭ¶óÀÌ¾ðÆ®°¡ ÁÖ¾îÁø NdisVcHandleÀ» °øÀ¯ÇÏ´À°ÍÀ¸·Î ÄÝ ¸Þ´ÏÀúÀÇ ProtocolCmMakeCallÇÔ¼ö¿¡°Ô Æ÷¿öµåÇϵµ·Ï ÇÑ´Ù. CMÀº ÁÖ¾îÁø µ¥ÀÌŸ°¡ CallParameters¿¡ ¸Â´Ù´Â°Í¿¡´ëÇÑ Ã¥ÀÓÀÌ ÀÖ´Ù. ÀûÀýÇÑ ³×Æ®¿÷ ÄÄÆ÷³ÍÆ®µé°ú Çù»óÇϸ鼭 ±×°ÍÀº ÀÌ Å¬¶óÀÌ¾ðÆ® Á¦°ø µ¥ÀÌŸ¸¦ ¼öÁ¤ÇÒ ¼öÀÖ°í, Ŭ¶óÀÌ¾ðÆ®°¡ óÀ½¿¡ NdisClMakeCall¿¡°Ô ÁذͰú ´Ù¸¥ Æ®·¡ÇÈ ÆÄ¶ó¹ÌÅ͵éÀ» ¸®ÅÏÇÒ¼ö ÀÖ´Ù. Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClMakeCallCompleteÇÔ¼ö´Â ¼öÁ¤µÈ ÄÝ ÆÄ¶ó¹ÌÅ͸¦ ¹Þ¾ÆµéÀ̴°Ϳ¡´ëÇÑ Ã¥ÀÓÀ» Áø´Ù. ¸¸¾à À̰ÍÀÌ ¹ß»ýÇϰųª ȤÀº È£ÃâÀ» ÇØÁ¦Çϴ°Ϳ¡´ëÇØ ¸¸¾à CMÀÌ Á¦¾ÈÇÑ ÄÝÆÄ¶ó¹ÌÅͰ¡ ¹Þ¾ÆµéÀϼö ¾ø´Ù¸é.

°á°úÀûÀ¸·Î, CallParameters¿¡¼­ µ¥ÀÌŸ°¡ Àû¾îµµ ÄÝ ¼³Á¤µ¿¾È¿¡ ´ëÇØ¼­ ÄÝ ¸Å´ÏÀú¸¦ ÀÌ¿ëÇÒ¼ö ÀÖµµ·Ï ³²°ÜµÎ¾î¾ß¸¸ ÇÑ´Ù. NdisClMakeCallÀÌ NDIS_STATUS_PENDING¸¦ ¸®ÅÏÇÒ¶§, Ŭ¶óÀÌ¾ðÆ®´Â ÀÌ ¹öÆÛ¸¦ ÇØÁ¦ÇÒ ¼ö¾ø´Ù. ProtocolClMakeCallCompleteÇÔ¼ö°¡ È£ÃâµÉ¶§±îÁö ÀÌ Å¬¶óÀÌ¾ðÆ® ÇÒ´ç ¸®¼Ò½ºµéÀ» ÇØÁ¦Çϴ°ÍÀ» Áö¿¬Çؾ߸¸ÇÑ´Ù.

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

Ŭ¶óÀÌ¾ðÆ®°¡ NdisPartyHandle¿¡ ¸®ÅÏµÈ ÇÚµéÀ» »ç¿ëÇϱâÀü¿¡, Ŭ¶óÀ̾ðÆ®ÀÇ ProtocolClMakeCallCompleteÇÔ¼ö´Â NDIS_STATUS_SUCCESS¿¡´ëÇÑ ÀÔ·Â Status¸¦ äũÇÑ´Ù. ¸¸¾à ÄÝ ¸Þ´ÏÀú°¡ ¸ÖƼ Æ÷ÀÎÆ® ¿¬°áÀÇ È£ÃâÀ» ¼³Á¤ÇÏ´Â ¿äûÀ» ½ÇÆÐÇϸé, ÀÌ Å¬¶óÀÌ¾ðÆ® Á¦°ø º¯¼öÀÇ °ªÀº Ÿ´çÇÏÁö ¾Ê´Ù.

NdisClMakeCallÀÇ È£ÃâÀÚ´Â IRQL <= DISPATCH_LEVEL¿¡¼­ µ¿À۵ɼöÀÖ´Ù.