NDIS_MAC_LINE_UP
typedef struct _NDIS_MAC_LINE_UP {
IN ULONG LinkSpeed;
IN NDIS_WAN_QUALITY Quality;
IN USHORT SendWindow;
IN NDIS_HANDLE ConnectionWrapperID;
IN NDIS_HANDLE NdisLinkHandle;
IN OUT NDIS_HANDLE NdisLinkContext;
} NDIS_MAC_LINE_UP, *PNDIS_MAC_LINE_UP;
|
NDIS_MAC_LINE_UP ±¸Á¶Ã¼´Â WAN NIC ¹Ì´ÏÆ÷Æ®¿¡ ÀÇÇØ ¸¸µé¾îÁø line-up ÀεðÄÉÀ̼ǰú °ü·ÃµÈ Á¤º¸¸¦ Æ÷ÇÔÇÑ´Ù.
¸â¹ö
- LinkSpeed
- 100bpsÀÇ À¯´Öµé¿¡¼ ¸µÅ©ÀÇ ¼Óµµ¸¦ ÁöÁ¤ÇÑ´Ù.
0Àº ¹Ì´ÏÆ÷Æ®°¡ ¿ø·¡ OID_GEN_LINK_SPEED Äõ¸®¸¦ À§ÇØ ¸®ÅÏÇÏ´Â ¼Óµµ·ÎºÎÅÍ ¾î¶² º¯Èµµ ¾ø´Ù´Â °ÍÀ» °¡¸®Å²´Ù.
- Quality
- ÇÁ·ÎÅäÄÝÀÌ OID_WAN_QUALITY_OF_SERVICE·Î NdisRequest ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ ¸®ÅϵǴ »õ·Î¿î ¶óÀÎÀÇ ¼ºñ½º Áú(QoS)À» ÁöÁ¤ÇÑ´Ù.
- SendWindow
- WAN NIC µå¶óÀ̹ö°¡ ³»ºÎÀûÀ¸·Î Å¥¿¡ ÀúÀåÇÏ´Â ¾ó¸¶³ª ¸¹Àº NDIS_WAN_PACKET_ ŸÀÔ º¸³»±â ÆÐŶµéÀ» È¿À²ÀûÀ¸·Î µ¿½Ã¿¡ ¹Ì´ÏÆ÷Æ®°¡(ȤÀº NIC) ¼ö¶ôÇÒ ¼ö ÀÖ´Â º¸³»±â ÆÐŶµéÀÇ ¼ö¸¦ ÁöÁ¤ÇÑ´Ù. 0Àº NDISWANÀÌ OID_WAN_GET_INFO Äõ¸®·Î ÀÀ´äÇÏ´Â MaxTransmitÀ» À§ÇØ ¸®ÅÏµÈ °ªÀ» »ç¿ëÇØ¾ß ÇÏ´Â °ÍÀ» °¡¸®Å²´Ù.
- ConnectionWrapperID
- ÀÌ·¯ÇÑ ¸µÅ©°¡(ȤÀº ¸µÅ©¿¡¼ µ¥ÀÌÅÍ Ã¤³Î) TAPI Ŭ¶óÀÌ¾ðÆ®·Î ¾Ë·ÁÁú ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù. ÀÌ ÇÚµéÀº À¯ÀÏÇØ¾ß ÇÏ°í ±×·¡¼ ¹Ì´ÏÆ÷Æ®´Â NDISTAPI¿¡ ÀÇÇØ Á¦°øµÈ htCall ÇÚµéÀ» »ç¿ëÇÑ´Ù. ¹Ì´ÏÆ÷Æ®°¡ ±×·¯ÇÑ ¸µÅ©(ȤÀº µ¥ÀÌÅÍ Ã¤³Î)¸¦ ¼³¸³ÇÏ´Â Ãʱâ line-up ÀεðÄÉÀ̼ÇÀ» Çϱâ Àü¿¡, ÀÌ¹Ì ´ÙÀ½°ú °°Àº ¹æ¹ýÀÇ Çϳª·Î NDISTAPI-ÇÒ´ç htCall ÇÚµéÀ» ¾ò´Â´Ù:
- ³ª°¡´Â È£ÃâÀ» À§ÇØ, µå¶óÀ̹öÀÇ MiniportQueryInformation ÇÔ¼ö´Â NDISTAPI°¡ ¼±Çà OID_TAPI_MAKE_CALL ¿ä±¸·Î Á¦°øÇÑ htCall ÇÚµéÀ» ÀúÀåÇÑ´Ù.
- µé¾î¿À´Â È£ÃâÀ» À§ÇØ, ¹Ì´ÏÆ÷Æ®´Â NDISTAPI°¡ ¹Ì´ÏÆ÷Æ®°¡ LINE_NEWCALL·Î ¼³Á¤µÈ ulMsg·Î NdisMIndicateStatus ÇÔ¼ö¿¡ Àü´ÞÇÑ NDIS_TAPI_EVENT ±¸Á¶Ã¼ÀÇ ulParam2·Î ¸®ÅÏÇÑ htCall ÇÚµéÀ» ÀúÀåÇÑ´Ù.
- NdisLinkHandle
- ÇϳªÀÇ µ¥ÀÌÅÍ ½ºÆ®¸²ÀÌ»óÀ» ´Ù·ç´Â ´É·ÂÀ» °¡Áø ¸µÅ©·Î ƯÁ¤ ä³Î¸¦ ÁöÁ¤Çϰųª ƯÁ¤ ¸µÅ©¸¦ ÁöÁ¤Çϱâ À§ÇØ MiniportWanSend ÇÔ¼ö¿Í °°Àº °è¼ÓÀûÀΠȣÃâ·Î Àü´ÞµÇ¾îÁö´Â ¿ø·¡ NIC µå¶óÀ̹ö¿¡ ÀÇÇØ Á¦°øµÈ ÇÚµéÀ» ÁöÁ¤ÇÑ´Ù.
- NdisLinkContext
- WAN NIC µå¶óÀ̹ö°¡ ¸µÅ©¸¦ ¼³¸³Çϱâ À§ÇØ ÀÌ·¯ÇÑ ±¸Á¶Ã¼·Î NdisMIndicateStatus ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§ 0À» ÁöÁ¤ÇÑ´Ù. NdisMIndicateStatus ÇÔ¼ö·ÎºÎÅÍ ¸®ÅÏÇÏÀÚ ¸¶ÀÚ, ÀÌ·¯ÇÑ ¸â¹ö´Â ¼³¸³µÈ ¸µÅ©¸¦ À§ÇØ ¼ö½ÅµéÀ» ÀεðÄÉÀÌÆ®ÇÏ´Â °Í°ú °°Àº ¹Ì·¡ÀÇ È£Ãâ¿¡¼ »ç¿ëµÈ NDISWAN¿¡ ÀÇÇØ Á¦°øµÈ ÇÚµéÀ» Æ÷ÇÔÇÑ´Ù.
ÁÖ¼®
WAN NIC µå¶óÀ̹ö´Â ´ÙÀ½°ú °°Àº Á¶°Çµé Áß¿¡¼ ÀÌ·¯ÇÑ Å¸ÀÔÀÇ ÀεðÄÉÀ̼ÇÀ¸·Î NdisMIndicateStatus ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
- wide area network¿¡¼ ·ÎÄà ³ëµå¿Í ¸®¸ðÆ® ³ëµå »çÀÌÀÇ ¸µÅ©°¡ »õ·Î¿î ¸µÅ©¸¦ ¼³¸³ÇÏ´Â °úÁ¤¿¡¼ Ȱ¼ºÈµÉ ¶§, MiniportQueryInformation ÇÔ¼ö´Â ulSelect´Â LINECALLSELECT_CALL·Î ¼³Á¤µÇ±â À§ÇØ OID_TAPI_GET_ID ¿ä±¸ÀÇ ÄÁÅØ½ºÆ®³»¿¡¼ ÀÌ·¯ÇÑ ÀεðÄÉÀ̼ÇÀ» ÇÑ´Ù.
NdisMIndicateStatus ÇÔ¼ö¸¦ ¸®ÅÏÇÒ ¶§, ¹Ì´ÏÆ÷Æ®´Â ¸· ¼³¸³µÈ ¸µÅ©¿¡ ¿µÇâÀ» ÁÖ´Â NdisMIndicateStatus ÇÔ¼ö¿Í NdisWanXxx ÇÔ¼öµé·Î °è¼ÓÀûÀΠȣÃâµéÀ» À§ÇØ NDISWAN¿¡ ÀÇÇØ Á¦°øµÈ NdisLinkContext ÇÚµéÀ» ÀúÀåÇØ¾ß ÇÑ´Ù.
MiniportQueryInformation ÇÔ¼ö´Â ¶ÇÇÑ NDIS_TAPI_GET_ID ±¸Á¶Ã¼³» DeviceIDÀÎ NDISTAPI·Î ¸®ÅÏµÈ °ªÀ¸·Î ¸®ÅÏµÈ NdisLinkContext ÇÚµéÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.
¸¸¾à ¸µÅ©¿¡¼ ÇϳªÀÇ µ¥ÀÌÅÍ Ã¤³Î ÀÌ»óÀ» ´Ù·ê ¼ö ÀÖ´Ù¸é, WAN NIC µå¶óÀ̹öÀÇ MiniportQueryInformation ÇÔ¼ö´Â ¸µÅ©¿¡¼ °¢ ±×·¯ÇÑ Ã¤³ÎÀÌ ¿¸° °Íó·³ OID_TAPI_GET_ID·Î ÇѹøÀº È£ÃâµÈ´Ù. ±×·¯ÇÑ ¸µÅ©¿¡¼, NdisLinkContext´Â ¸µÅ© ƯÁ¤º¸´Ù ¿ÀÈ÷·Á ä³Î ƯÁ¤ÀÌ´Ù.
- ±×·¯ÇÑ ¸µÅ©°¡ ¼³¸³µÈ ÈÄ, NIC µå¶óÀ̹ö´Â ¸¸¾à ¶óÀΠƯ¼ºµéÀÌ º¯ÈÇϸé ȤÀº NIC µå¶óÀ̹ö°¡ ³»ºÎ Å¥¸¦ À§ÇØ ¼ö¶ôÇÏ´Â ³ª°¡´Â º¸³»±âµéÀÇ ¼ö¸¦ ÁöÁ¤ÇÏ´Â SendWindowÀÇ °ªÀ» µ¿ÀûÀ¸·Î º¯ÈÇϱâ À§ÇØ ÁÖ¾îÁø NdisLinkContext ÇÚµé·Î ÀÌ·¯ÇÑ ÀεðÄÉÀ̼ÇÀ» ÇÑ´Ù. ¿¹¸¦ µé¾î, ¹Ì´ÏÆ÷Æ®´Â ¸¸¾à ¿ø·¡ ¶óÀÎÀÇ ÁöÁ¤µÈ Quality°¡ º¯ÇÏ¸é °è¼ÓÀûÀÎ line-up ÀεðÄÉÀ̼ÇÀ» ÇÒ ¼ö ÀÖ´Ù.
ÀüÇüÀûÀ¸·Î, WAN NIC µå¶óÀ̹ö´Â NdisLinkHandle°ú °°Àº °¢ ¸µÅ©¸¦ À§ÇØ µå¶óÀ̹ö ÇÒ´ç Á¦¾î ºí·°¿¡ ´ëÇÑ Æ÷ÀÎÅ͸¦ Á¦°øÇÑ´Ù. ÀÌ·¯ÇÑ ÇÚµéÀº ¸µÅ© ƯÁ¤À̰ųª ȤÀº ¸¸¾à µå¶óÀ̹ö°¡ ¸µÅ©´ç ÇϳªÀÇ µ¥ÀÌÅÍ ½ºÆ®¸² ÀÌ»óÀ» °ü¸®ÇÑ´Ù¸é, µ¥ÀÌÅÍ Ã¤³Î ƯÁ¤ÀÌ´Ù. ¾î¶°ÇÑ °æ¿ì¿¡µµ, WAN NIC ¹Ì´ÏÆ÷Æ®´Â ¹Ì´ÏÆ÷Æ®°¡ °¢ ¸µÅ© ȤÀº µ¥ÀÌÅÍ Ã¤³ÎÀ» À§ÇØ ¸¸µå´Â ù NDIS_MAC_LINE_UP ÀεðÄÉÀ̼ÇÀ¸·Î NdisLinkHandleÀ» ¼³Á¤ÇØ¾ß ÇÑ´Ù.
NDISWANÀÌ MiniportWanSend ÇÔ¼ö·Î SendWindow¿¡ ÁöÁ¤µÈ ¸¹Àº ¼öµéÀÇ ÆÐŶµéÀ» Á¦ÃâÇÑ ÈÄ, NDISWANÀº ¹Ì´ÏÆ÷Æ®°¡ ¿Ï¼ºµÈ º¸³»±â ÆÐŶÀ» ¸®ÅÏÇÒ ¶§±îÁö Å¥¿¡ ÀúÀåµÈ µé¾î¿À´Â º¸³»±â ÆÐŶµéÀ» À¯ÁöÇϰųª Àü¿¡ óÀ½ ¹ß»ýÇÑ NDIS_STATUS_PENDINGÀ¸·Î ¸®ÅÏµÈ ÆÐŶÀ» À§ÇØ NdisMWanSendComplete ÇÔ¼ö¸¦ È£ÃâÇÑ´Ù. ¿¬¼ÓÀûÀÎ NDIS_MAC_LINE_UPµéÀº ¸¸¾à NIC µå¶óÀ̹ö°¡ µ¿ÀûÀ» SendWindow °ªÀ» ¹Ù²Ü Çʿ䰡 ÀÖ´Ù¸é ÀεðÄÉÀÌÆ®µÉ ¼ö ÀÖ´Ù.
SendWindow°ªÀÌ ¹Ù²î°Å³ª ȤÀº ¶óÀΠƯ¼ºµé¿¡ º¯È°¡ ÀÖµçÁö °£¿¡ °è¼ÓÀûÀÎ NDIS_MAC_LINE_UP ÀεðÄÉÀ̼ǵéÀÌ ¸¸µé¾îÁú ¶§¸¶´Ù, NdisLinkHandle ¸â¹ö´Â °°Àº ¸µÅ©¸¦ À§ÇØ NdisMIndicateStatus ÇÔ¼ö·Î µå¶óÀ̹öÀÇ Ãʱ⠶óÀÎ ¾÷ È£Ãâ·Î ¼³Á¤µÈ °ªÀ¸·Î ä¿öÁú °ÍÀÌ´Ù.
NDIS_WANÀº »õ·Î¿î ¸µÅ© ȤÀº ä³ÎÀ» ¼³¸³ÇÑ ¸ðµç Ãʱâ NDIS_MAC_LINE_UP ÀεðÄÉÀ̼ÇÀ» À§ÇØ NdisLinkContext·Î À¯ÀÏ·Î ÇÚµéÀ» Á¦°øÇÑ´Ù. ¹Ì´ÏÆ÷Æ®´Â °°Àº ¸µÅ© ȤÀº ä³ÎÀ» À§ÇØ ¾î¶² °è¼ÓÀûÀÎ NDIS_MAC_LINE_UP, NDIS_MAC_LINE_DOWN, NDIS_MAC_FRAGMENT ÀεðÄÉÀ̼ǵéÀ» ÇÒ ¶§ ÁÖ¾îÁø NdisLinkContext ÇÚµéÀ» Á¦°øÇØ¾ß ÇÑ´Ù.
WAN °ú TAPI OIDµé¿¡ ´ëÇÑ ´õ ¸¹Àº Á¤º¸¿¡ ´ëÇØ Part 2¸¦ ºÁ¶ó.
|