CO_MEDIA_PARAMETERS

typedef struct _CO_MEDIA_PARAMETERS{

    ULONG    Flags;

    ULONG    ReceivePriority;

    ULONG    ReceiveSizeHint;

    CO_SPECIFIC_PARAMETERS MediaSpecific;

} CO_MEDIA_PARAMETERS, *PCO_MEDIA_PARAMETERS;

CO_MEDIA_PARAMETERS ±¸Á¶Ã¼´Â ÀüÇüÀûÀ¸·Î ¾Æ·¡ ¿¬°á ÁöÇâ NIC ¹Ì´ÏÆ÷Æ®¿¡ ´ëÇÑ ¹Ìµð¾î ¸Å°³º¯¼öµéÀ» ÁöÁ¤Çϱâ À§ÇØ ÄÝ ¸Å´ÏÀú¿¡ ÀÇÇØ »ç¿ëµÇ¾îÁø´Ù. ¹Ì´ÏÆ÷Æ®´Â ƯÁ¤ ¹Ìµð¾î ¸Å°³º¯¼öµé·Î VC¸¦ Ȱ¼ºÈ­Çϰųª ȤÀº VC¸¦ À§ÇÑ ÀÚ¿øµéÀ» ¿¹¾àÇÑ´Ù.

¸â¹ö

Flags
Ç÷¡±×µéÀº Çϳª³ª ±× ÀÌ»ó(OR ¿¬»ê)ÀÇ °ªÀÌ´Ù. ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ´Ù:

RECEIVE_TIME_INDICATION
¼³Á¤µÉ ¶§, ¹Ì´ÏÆ÷Æ®´Â °¢ ¼ö½ÅµÈ ÆÐŶÀ» À§ÇØ out-of-band µ¥ÀÌÅÍ ºí·°³»¿¡ TimeReceived ¸â¹ö¿¡ ä¿ì±â À§ÇØ NDIS_SET_PACKET_TIME_RECEIVED ¸ÅÅ©·Î¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.

USE_TIME_STAMPS
¼³Á¤µÉ ¶§, ¹Ì´ÏÆ÷Æ®´Â °¢ Àü¼ÛµÈ ÆÐŶÀ» À§ÇØ out-of-band µ¥ÀÌÅÍ ºí·°³»¿¡ TimeSent ¸â¹ö¸¦ ä¿ì±â À§ÇØ NDIS_SET_PACKET_TIME_SENT ¸ÅÅ©·Î¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ¸¸¾à ¹Ìµð¾öÀÌ Å¸ÀÓ ½ºÅÆÇÁµéÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù¸éÀº, ¹Ì´ÏÆ÷Æ®´Â ÀÌ Ç÷¡±×¸¦ ¹«½ÃÇØ¾ß ÇÑ´Ù.

TRANSMIT_VC
¼³Á¤µÉ ¶§, ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ Ȱ¼ºÈ­µÈ VC´Â µ¥ÀÌÅ͸¦ Àü¼ÛÇϱâ À§ÇØ »ç¿ëµÉ °ÍÀÌ´Ù¶ó´Â °ÍÀ» ÀεðÄÉÀÌÆ®ÇÑ´Ù.

RECEIVE_VC
¼³Á¤µÉ ¶§, ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ Ȱ¼ºÈ­µÈ VC´Â µ¥ÀÌÅ͸¦ ¼ö½ÅÇϱâ À§ÇØ »ç¿ëµÉ °ÍÀÌ´Ù¶ó´Â °ÍÀ» ÀεðÄÉÀÌÆ®ÇÑ´Ù.

INDICATE_ERRED_PACKETS
¼³Á¤µÉ ¶§, ¹Ì´ÏÆ÷Æ®´Â Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¿¡·¯µé(üũ¼¶ ¿¡·¯µé°ú °°Àº)À» Æ÷ÇÔÇÏ´Â ¼ö½Å ÆÐŶµéÀ» ÀεðÄÉÀÌÆ® ÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾Ê´Â´Ù¸éÀº, ¹Ì´ÏÆ÷Æ®´Â Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ¾Ë¸®´Â °Í ¾øÀÌ ±×·¯ÇÑ ÆÐŶµéÀ» ¹«½ÃÇØ¾ß ÇÑ´Ù.

INDICATE_END_OF_TX
¼³Á¤µÉ ¶§, ¹Ì´ÏÆ÷Æ®´Â ÆÐŶÀÇ Àü¼ÛÀÌ ¸¶Ä£ÈÄ¿¡, ´ÜÁö ÆÐŶÀ» À§ÇØ NdisMCoSendComplete ÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÑ´Ù. ±×·¸Áö ¾Ê´Â´Ù¸éÀº, ¿¹¸¦ µé¾î ÇÁ·ÎÅäÄÝ Á¦°ø µ¥ÀÌÅ͸¦ NIC ¹öÆÛ¿¡ Àü¼ÛÇÑ ÈÄ¿¡ °ð NdisMCoSendComplete ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù.

RESERVE_RESOURCES_VC
¼³Á¤µÉ ¶§, ÄÝ ¸Å´ÏÀú´Â ¹Ì´ÏÆ÷Æ®°¡ VC¸¦ À§ÇØ ÇÊ¿äÇÑ ¸ðµç ÀÚ¿øµé(¹öÆÛµé°ú °°Àº)À» ¿¹¾àÇÏ´Â °ÍÀ» ¿ä±¸Çϰí ÀÖ´Ù. ¹Ì´ÏÆ÷Æ®´Â MiniportCoActivateVc ÇÔ¼ö°¡ Ŭ¸®¾îµÈ ÀÌ·¯ÇÑ Ç÷¡±×·Î È£ÃâµÇ¾îÁú ¶§±îÁö VC¸¦ Ȱ¼ºÈ­ÇÒ Çʿ䰡 ¾ø´Ù.

ROUND_DOWN_FLOW
¼³Á¤µÉ ¶§, ¹Ì´ÏÆ÷Æ®´Â ¸¸¾à ÁöÁ¤µÈ Á¤È®ÇÑ °ªÀÌ Áö¿øµÉ ¼ö ¾ø´Ù¸éÀº °¡Àå °¡±î¿î Áö¿øµÈ °ª¿¡ °¢ ¹Ìµð¾î ƯÁ¤ È帧 ¸Å°³º¯¼ö(´ë¿ªÆø°ú °°Àº)À» round down ÇØ¾ß ÇÑ´Ù. NdisMCoActivateVcComplete ÇÔ¼ö¿¡ ´ëÇÑ È£Ãâ¿¡¼­, ¹Ì´ÏÆ÷Æ®´Â °¢ ¶ó¿îµåµÈ °ªÀ» À§ÇØ »ç¿ëµÈ ½ÇÁ¦ °ª (MediaSpecific ¸Å°³º¯¼öµé¿¡ ¹öÆÛµé³»¿¡)À» ¸®ÅÏÇØ¾ß ÇÑ´Ù.

ROUND_UP_FLOW
¼³Á¤µÉ ¶§, ¹Ì´ÏÆ÷Æ®´Â ¸¸¾à ÁöÁ¤µÈ Á¤È®ÇÑ °ªÀÌ Áö¿øµÉ ¼ö ¾ø´Ù¸éÀº °¡Àå °¡±î¿î Áö¿øµÈ °ªÀ» °¢ ¹Ìµð¾î ƯÁ¤ flow ¸Å°³º¯¼ö(´ë¿ªÆø°ú °°Àº)ÀÇ °ªÀ» round upÀ» ÇØ¾ß ÇÑ´Ù. NdisMCoActivateVcComplete ÇÔ¼ö¿¡ ´ëÇÑ È£Ãâ¿¡¼­, ¹Ì´ÏÆ÷Æ®´Â °¢ ¶ó¿îµåµÈ °ªÀ» À§ÇØ »ç¿ëµÈ ½ÇÁ¦ °ªÀ»(MediaSpecific ¸Å°³º¯¼öµé ¹öÆÛµé³»¿¡) ¸®ÅÏÇØ¾ß ÇÑ´Ù.

ReceivePriority
ÀÌ °ªÀº ÇöÀç ¿¹¾àÁßÀÌ´Ù.

ReceiveSizeHint
µé¾î¿À´Â ÆÐŶµéÀÇ ¹ÙÀÌÆ®·Î Å©±â¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ ¸â¹ö´Â °øÅëÀûÀ¸·Î ÃÖ´ë SDU Å©±â¿¡ ´ëÇØ ¼³Á¤µÇ¾îÁø´Ù.

MediaSpecific
»ç¿ëµÈ ƯÁ¤ ¹Ìµð¾ö¿¡ ÁöÁ¤µÈ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ¹öÆÛÈ­µÈ CO_SPECIFIC_PARAMETERS ±¸Á¶Ã¼¸¦ °¡¸®Å²´Ù.

ÁÖ¼®

    ¹öÆÛÈ­µÈ CO_MEDIA_PARAMETERS ±¸Á¶Ã¼ÀÇ ÁÖ¼Ò´Â CO_CALL_PARAMETERS ±¸Á¶Ã¼ÀÇ ¸â¹öÀÌ´Ù. CO_MEDIA_PARAMETERS ±¸Á¶Ã¼´Â ¸ðµç ¿¬°á ÁöÇâ ¹Ì´ÏÆ÷Æ®µé¿¡ ´ëÇØ °ü½ÉÀÌ ÀÖ´Â ÀϹÝÀûÀÎ ¹Ìµð¾î ¸Å°³º¯¼öµéÀ» Æ÷ÇÔÇÑ´Ù. CO_MEDIA_PARAMETERS ¸Å°³º¯¼ö´Â ¶ÇÇÑ ¹Ìµð¾öÀ» Á¦¾îÇϴ ƯÁ¤ ¹Ì´ÏÆ÷Æ®¿¡ ´ëÇÑ ±×¸®°í ƯÁ¤ ³×Æ®¿öÅ© ¹Ìµð¾ö¿¡ Àû¿ëµÇ´Â ¹Ìµð¾ö ƯÁ¤ ¸Å°³º¯¼öµéÀ» ÁöÁ¤ÇÑ´Ù.

    ´ÙÀ½Àº ¿¬°á ÁöÇâ NDIS ¿¬»êµé¿¡¼­ ¹Ìµð¾î ¸Å°³º¯¼öµéÀÇ ¿ªÇÒÀ» ¼³¸íÇÑ´Ù.

    Making an Outgoing Call

    Ç×»ó ÄÝ ¸Å´ÏÀú´Â NdisClMakeCall ÇÔ¼ö¿¡ ´ëÇÑ Å¬¶óÀÌ¾ðÆ® È£Ãâ¿¡ ÀÇÇØ Á¦°øµÈ ±×¸®°í ÄÝ ¸Å´ÏÀúÀÇ ProtocolCmMakeCall ÇÔ¼ö¿¡ Àü´ÞµÇ¾îÁö´Â ÀϹÝÀûÀÎ ÄÝ ¸Å´ÏÀú ¸Å°³º¯¼öµé·ÎºÎÅÍ ³ª°¡´Â È£ÃâÀ» À§ÇØ ¹Ìµð¾î ¸Å°³º¯¼öµéÀ» À¯µµÇÑ´Ù. ÄÝ ¸Å´ÏÀú´Â CO_MEDIA_PARAMETERSÀ» ä¿ì°í Ndis(M)CmActivateVc ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ¹Ì´ÏÆ÷Æ®´Â MiniportCoActivateVc ÇÔ¼ö³»¿¡ CO_MEDIA_PARAMETERS ±¸Á¶Ã¼¸¦ ¼ö½ÅÇϰí VCÀ» À§ÇØ ÀÚ¿øµéÀ» ¿¹¾àÇϰųª VC¸¦ Ȱ¼ºÈ­Çϱâ À§ÇØ ¹Ìµð¾î ¸Å°³º¯¼öµéÀ» »ç¿ëÇÑ´Ù.

    ¾Æ·¡ ¹Ìµð¾öÀ» ÀνÄÇϴ Ŭ¶óÀÌ¾ðÆ®´Â NdisClMakeCall ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡ CO_MEDIA_PARAMETERS ±¸Á¶Ã¼¸¦ ä¿ï ¼ö ÀÖ´Ù. ¸¸¾à Ŭ¶óÀÌ¾ðÆ®°¡ ¶ÇÇÑ CO_CALL_PARAMETERS ±¸Á¶Ã¼³»¿¡ PERMANENT_VC ºñÆ®¸¦ ¼³Á¤ÇÑ´Ù¸éÀº, ÄÝ ¸Å´ÏÀú´Â ¹Ì´ÏÆ÷Æ®¿¡°Ô ÇØ¼®¾ÈµÈ ÄÝ ¸Å°³º¯¼öµéÀ» Ndis(M)CmActivateVc ÇÔ¼ö·Î ¹Ì´ÏÆ÷Æ®¿¡°Ô Àü´ÞÇÒ ¼ö ÀÖ´Ù.

    Indicating an Incoming Call

    ÄÝ ¸Å´ÏÀú°¡ Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÇÇØ µî·ÏµÈ SAP¿¡ µé¾î¿À´Â È£ÃâÀ» °¨ÁöÇÒ ¶§, ½Ã±×³Î¸µ ¸Þ½ÃÁö·Î ¼ö½ÅµÈ ¸Å°³º¯¼öµéÀ» Ŭ¶óÀÌ¾ðÆ®¸¦ À§ÇÑ ÄÝ ¸Å´ÏÀú ¸Å°³º¯¼öµé ±×¸®°í ¹Ì´ÏÆ÷Æ®¸¦ À§ÇÑ ¹Ìµð¾î ¸Å°³º¯¼öµé¿¡ ¸ÊÇÑ´Ù. ÄÝ ¸Å´ÏÀú´Â ¹Ìµð¾î ƯÁ¤ ¸Å°³º¯¼öµéÀ» ¹Ì´ÏÆ÷Æ®¿¡ Àü´ÞÇϱâ À§ÇØ Ndis(M)CmActivateVc ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ÄÝ ¸Å´ÏÀú´Â Ndis(M)CmDispatchIncomingCall ÇÔ¼ö·Î µé¾î¿À´Â È£ÃâÀÇ Å¬¶óÀ̾ðÆ®ÀÇ Å¬¶óÀÌ¾ðÆ®¿¡°Ô ¾Ë¸®±â Àü¿¡ À̰ÍÀ» ÇÑ´Ù.

    Request to Change Call Parameters for a VC

    VC¸¦ À§ÇÑ ÄÝ ¸Å°³º¯¼öµéÀ» º¯È­Çϱâ À§ÇÑ ¿ä±¸°¡ ¼º°øÀûÀ¸·Î Ŭ¶óÀÌ¾ðÆ®¿Í ³×Æ®¿öÅ©¿¡ ÀÖ´Â ¸®¸ðÆ® entity »çÀÌ¿¡ Çù»óµÇ¾úÀ» ¶§, ÄÝ ¸Å´ÏÀú´Â È£ÃâÀ» À§ÇØ VC¸¦ ´Ù½Ã Ȱ¼ºÈ­ÇØ¾ß ÇÑ´Ù. ÄÝ ¸Å´ÏÀú´Â ¹Ìµð¾î ¸Å°³º¯¼öµéÀÇ ¼öÁ¤µÈ °ÍµéÀ» ¹Ì´ÏÆ÷Æ®¿¡°Ô Ndis(M)CmActivateVc ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© º¸³½´Ù.

    Adding a Party to a Call

    ¸¸¾à ¾Æ·¡ ³×Æ®¿öÅ© ¹Ìµð¾ö(¿¹·Î, ATM)Àº ¸ÖƼ Æ÷ÀÎÆ® VCµé¿¡ ´ëÇØ party ´ç Æ®·¡ÇÈ ¸Å°³º¯¼öµéÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù¸éÀº, ÄÝ ¸Å´ÏÀú´Â È£Ãâ¿¡ ´ëÇÑ party¸¦ Ãß°¡ÇÒ ¶§ VC¸¦ À§ÇØ ÄÝ ¸Å°³º¯¼öµéÀ» º¯È­Çϱâ À§ÇÑ Å¬¶óÀÌ¾ðÆ® ¿ä±¸°¡ ½ÇÆÐÇÒ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ °æ¿ì¿¡, party¸¦ Ãß°¡ÇÏ´Â °ÍÀº ¹Ìµð¾î ¸Å°³º¯¼öµé°ú °ü·ÃÀÌ ¾ø´Ù.

    ¸¸¾à ¾Æ·¡ ³×Æ®¿öÅ© ¹Ìµð¾öÀÌ ¸ÖƼÆ÷ÀÎÆ® VCµé¿¡¼­ party´ç Æ®·¡ÇÈ ¸Å°³º¯¼öµéÀ» Áö¿øÇÑ´Ù¸éÀº, Ŭ¶óÀÌ¾ðÆ®´Â Ãß°¡µÈ ¾î¶² »õ·Î¿î partyÀ» À§ÇØ »õ·Î¿î ÄÝ ¸Å°³º¯¼öµéÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. NdisClAddParty ÇÔ¼ö¿¡ ´ëÇÑ È£Ãâ¿¡¼­, Ŭ¶óÀÌ¾ðÆ®´Â ÄÝ ¸Å´ÏÀú°¡ »õ·Î¿î party¸¦ À§ÇÑ ¹Ìµð¾î ¸Å°³º¯¼öµé¿¡ ¹ø¿ªµÇ¾îÁö´Â ÀϹÝÀûÀÎ ÄÝ ¸Å´ÏÀú ¸Å°³º¯¼öµé À» Æ÷ÇÔÇÒ ¼ö ÀÖ°í Ŭ¶óÀÌ¾ðÆ®´Â ÄÝ ¸Å´ÏÀú°¡ ¹Ì´ÏÆ÷Æ®¿¡ ÇØ¼®¾ÈµÇ°í Àü´ÞÇÏ´Â »õ·Î¿î party¸¦ À§ÇÑ ¹Ìµð¾î ¸Å°³º¯¼öµéÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù.