NDIS_WAN_PACKET
typedef struct _NDIS_WAN_PACKET {
LIST_ENTRY WanPacketQueue;
PUCHAR CurrentBuffer;
ULONG CurrentLength;
PUCHAR StartBuffer;
PUCHAR EndBuffer;
PVOID ProtocolReserved1;
PVOID ProtocolReserved2;
PVOID ProtocolReserved3;
PVOID ProtocolReserved4;
PVOID MacReserved1;
PVOID MacReserved2;
PVOID MacReserved3;
PVOID MacReserved4;
} NDIS_WAN_PACKET, *PNDIS_WAN_PACKET;
|
NDIS_WAN_PACKET ±¸Á¶Ã¼´Â WAN NIC µå¶óÀ̹öµéÀÇ MiniportWanSend ÇÔ¼öµé¿¡ Àü´ÞµÇ´Â ÆÐŶÀ» Á¤ÀÇÇÑ´Ù.
¸â¹ö
- WanPacketQueue
- ¹Ì´ÏÆ÷Æ®°¡ ÀÌ ÆÐŶÀ» ó¸®ÇÏ´Â µ¿¾È MiniportWanSend ÇÔ¼ö¿¡ ÀÇÇØ »ç¿ëµÈ º¸³»±â ÆÐŶ Å¥ÀÇ Çìµå¸¦ ÁöÁ¤ÇÑ´Ù.
- CurrentBuffer
- Àü¼ÛµÇ¾îÁú ³×Æ®¿öÅ© ÆÐŶÀÌ ½ÃÀÛÇÏ´Â ÁÖ¾îÁø ¹öÆÛ³»¿¡ º£À̽º °¡»ó ÁÖ¼Ò¸¦ ÁöÁ¤ÇÑ´Ù.
- CurrentLength
- ³×Æ®¿öÅ© ÆÐŶ µ¥ÀÌÅÍÀÇ ¹ÙÀÌÆ® ¼ö¸¦ ÁöÁ¤ÇÑ´Ù.
- StartBuffer
- ÆÐµùÀ» Æ÷ÇÔÇØ¼, ÁÖ¾îÁø ¹öÆÛ¸¦ À§ÇÑ º£À̽º °¡»ó ÁÖ¼Ò¸¦ ÁöÁ¤ÇÑ´Ù.
- EndBuffer
- ÆÐµùÀ» Æ÷ÇÔÇØ¼, ÁÖ¾îÁø ¹öÆÛÀÇ ³¡À» À§ÇÑ °¡»ó ÁÖ¼Ò¸¦ ÁöÁ¤ÇÑ´Ù.
- ProtocolReserved1
- ÇÁ·ÎÅäÄݵ鿡 ÀÇÇÑ »ç¿ëÀ» À§ÇØ ¿¹¾àµÈ ¸â¹öµéÀ» ÁöÁ¤ÇÑ´Ù.
- ProtocolReserved2
- ÇÁ·ÎÅäÄݵ鿡 ÀÇÇÑ »ç¿ëÀ» À§ÇØ ¿¹¾àµÈ ¸â¹öµéÀ» ÁöÁ¤ÇÑ´Ù.
- ProtocolReserved3
- ÇÁ·ÎÅäÄݵ鿡 ÀÇÇÑ »ç¿ëÀ» À§ÇØ ¿¹¾àµÈ ¸â¹öµéÀ» ÁöÁ¤ÇÑ´Ù.
- ProtocolReserved4
- ÇÁ·ÎÅäÄݵ鿡 ÀÇÇÑ »ç¿ëÀ» À§ÇØ ¿¹¾àµÈ ¸â¹öµéÀ» ÁöÁ¤ÇÑ´Ù.
- MacReserved1
- ¹Ì´ÏÆ÷Æ®°¡ ÀÚ½ÅÀÇ ¸ñÀûµéÀ» À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸â¹öµéÀ» ÁöÁ¤ÇÑ´Ù.
- MacReserved2
- ¹Ì´ÏÆ÷Æ®°¡ ÀÚ½ÅÀÇ ¸ñÀûµéÀ» À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸â¹öµéÀ» ÁöÁ¤ÇÑ´Ù.
- MacReserved3
- ¹Ì´ÏÆ÷Æ®°¡ ÀÚ½ÅÀÇ ¸ñÀûµéÀ» À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸â¹öµéÀ» ÁöÁ¤ÇÑ´Ù.
- MacReserved4
- ¹Ì´ÏÆ÷Æ®°¡ ÀÚ½ÅÀÇ ¸ñÀûµéÀ» À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸â¹öµéÀ» ÁöÁ¤ÇÑ´Ù.
ÁÖ¼®
ÇÁ·ÎÅäÄÝÀÌ ¾Æ·¡ WAN NIC µå¶óÀ̹ö¸¦ À§ÇÑ NDIS_PACKET ŸÀÔ Àü¼Û ¿ä±¸·Î NdisSend ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§, NDISWANÀº ÁÖ¾îÁø ÆÐŶÀ» ¾Æ·¡ µå¶óÀ̹öÀÇ MiniportWanSend ÇÔ¼ö¸¦ È£ÃâÇϱâ Àü¿¡ ÀÌ·¯ÇÑ ±¸Á¶Ã¼·Î¼ Æ÷¸ËÈµÈ ÆÐŶÀ¸·Î º¯ÇüÇÑ´Ù.
StartBuffer¿Í EndBuffer Æ÷ÀÎÅ͵éÀº ºÐ»ê °¡»ó ¹üÀ§¸¦ ÁöÁ¤ÇÑ´Ù. CurrentBuffer¿Í CurrentLength´Â StatrtBuffer¿Í EndBuffer¿¡ ÀÇÇØ ÁöÁ¤µÈ ¹üÀ§ÀÇ Àû´çÇÑ ¼ºê¹üÀ§¸¦ ÁöÁ¤ÇÑ´Ù. °á°úÀûÀ¸·Î, ´ÙÀ½ °ø½ÄµéÀÇ Çϳª°¡ MiniportWanSend¿¡ ´ëÇÑ ÀÌ·¯ÇÑ ±¸Á¶Ã¼·Î Àü´ÞµÇ´Â ¹öÆÛ¸¦ À§ÇØ Çì´õ ȤÀº ²¿¸® ÆÐµùÀÇ ¹ÙÀÌÆ® ¼ö¸¦ »êÃâÇÑ´Ù:
- HeaderPadding = CurrentBuffer - StartBuffer
- TailPadding = EndBuffer - (CurrentBuffer + CurrentLength)
NDISWANÀº Ç×»ó µå¶óÀ̹ö°¡ ÃʱâÈÇÏ´Â µ¿¾È OID_WAN_GET_INFO Äõ¸®¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î ¸®ÅÏÇÒ ¶§ Àû¾îµµ ¾ó¸¶³ª ¸¹Àº Çì´õ¿Í ²¿¸® ÆÐµùÀÌ ÀÖ´ÂÁö¸¦ Á¦°øÇÑ´Ù.
MiniportWanSend ÇÔ¼ö´Â ÀÌ·¯ÇÑ ½ÄÀ¸·Î ¹öÆÛ µ¥ÀÌÅ͸¦ ´Ù·ê ¼ö ÀÖ´Ù. MiniportWanSend ÇÔ¼ö·ÎºÎÅÍ NDIS_STATUS_PENDINGÀÌ¿ÜÀÇ »óŸ¦ ¸®ÅÏÇÔÀ¸·Î½á ȤÀº NdisMWanSendComplete ÇÔ¼ö¸¦ È£ÃâÇÔÀ¸·Î½á ÁÖ¾îÁø º¸³»±â ÆÐŶÀÌ ¿Ï¼ºµÉ ¶§±îÁö, NIC µå¶óÀ̹ö´Â ÁÖ¾îÁø ÆÐŶ°ú ProtocolReservedX ¸â¹öµéÀ» Á¦¿ÜÇÑ ÁöÁ¤µÈ ¸ðµç °Í¿¡ ´ëÇÑ ¼ÒÀ¯±ÇÀ» À¯ÁöÇÑ´Ù.(retains)
WAN ƯÁ¤ ¸ðµç ½Ã½ºÅÛ Á¤ÀÇµÈ OIDµé¿¡ ´ëÇÑ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â, Part 2¸¦ ºÁ¶ó.
|