NdisCopyFromPacketToPacket
VOID
NdisCopyFromPacketToPacket(
IN PNDIS_PACKET Destination,
IN UINT DestinationOffset,
IN UINT BytesToCopy,
IN PNDIS_PACKET Source,
IN UINT SourceOffset,
OUT PUINT BytesCopied
);
|
NdisCopyFromPacketToPacketÇÔ¼ö´Â ÇϳªÀÇ ÆÐŶÀ¸·ÎºÎÅÍ ÁöÁ¤ÇÑ ¹üÀ§ÀÇ µ¥ÀÌŸ¸¦ ´Ù¸¥ ÆÐŶÀ¸·Î º¹»çÇÑ´Ù.
¸Å°³º¯¼ö
- Destination
- ¸ñÀûÁö ÆÐŶ µð½ºÅ©¸³ÅÍ Æ÷ÀÎÅÍ.
- DestinationOffset
- Ä«ÇÇÇÒ µ¥ÀÌŸ¸¦ ¾µ ½ÃÀÛÁ¤¿¡´ëÇÑ ¸ñÀûÁö ÆÐŶ³»ÀÇ ¹ÙÀÌÆ® ¿É¼ÂÀ» ÁöÁ¤ÇÑ´Ù.
- BytesToCopy
- Ä«ÇÇÇÒ ¹ÙÀÌÆ®¸¦ ÁöÁ¤ÇÑ´Ù.
- Source
- ¼Ò½º ÆÐŶ µð½ºÅ©¸³ÅÍ Æ÷ÀÎÅÍ.
- SourceOffset
- µ¥ÀÌŸ¸¦ Ä«ÇÇÇϱ⠽ÃÀÛÇÒ ¼Ò½º ÆÐŶ³»ÀÇ ¹ÙÀÌÆ® ¿É¼ÂÀ» ÁöÁ¤ÇÑ´Ù.
- BytesCopied
- ÀÌÇÔ¼ö°¡ ½ÇÁ¦·Î Ä«ÇÇÇÑ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇϴ°Ϳ¡´ëÇÑ È£ÃâÀÚ ÇÒ´ç º¯¼öÀÇ Æ÷ÀÎÅÍ. ÀÌ ¼ö´Â ¸¸¾à ¼Ò½º ÆÐŶÀÌ µ¥ÀÌŸ ºÎÁ·À̰ųª ¸ñÀûÀÌ ÆÐŶÀÌ °ø°£ ºÎÁ·À̸é BytesToCopy°ªº¸´Ù ÀÛÀ»¼ö ÀÖ´Ù.
ÁÖ¼®
NdisCopyFromPacketToPacketÇÔ¼öÀÇ È£ÃâÀÚ´Â ¸ñÀûÁö ÆÐŶÀ» ÇÒ´çÇÑ´Ù. ¼Ò½º ÆÐŶÀÌ ¾Æ´ÒÁö¶óµµ. ¸ñÀûÁö ÆÐŶÀÇ ÆÐŶ µð½ºÅ©¸³ÅÍ´Â µ¥ÀÌŸ¸¦ ¹Þ±âÀ§ÇØ Ã¼ÀÎµÈ ÃæºÐÇÑ ¹öÆÛ µð½ºÅ©¸³Å͵éÀ» °¡Á®¾ß¸¸ ÇÑ´Ù.
¸¸¾à ¼Ò½º ÆÐŶÀÌ µ¥ÀÌŸ°¡ ºÎÁ·Çϰųª ¸ñÀûÀÌ ÆÐŶÀÌ °ø°£ºÎÁ·À̸é ÁöÁ¤ÇÑ ¹ÙÀÌÆ®¼ö°¡ º¹»çµÇ±âÀü¿¡ Ä«ÇÇ ¿¬»êÀº ¸ØÃá´Ù. ¶Ç ´Ù¸¥ °æ¿ì¿¡¼, NdisCopyFromPacketToPacketÇÔ¼ö´Â ¼Ò½º·ÎºÎÅÍ ¸ñÀûÁö ÆÐŶÀ¸·Î ¼º°øÀûÀ¸·Î º¹»çÇÑ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇÑ´Ù.
NdisCopyFromPacketToPacketÇÔ¼ö´Â ÁÖ¾îÁø Source¿Í °ü°èµÈ OOBÁ¤º¸¸¦ Destination¿¡ º¹»çÇÏÁö ¾Ê´Â´Ù. ÀÌ Á¤º¸¸¦ º¹»çÇϱâÀ§Çؼ, µå¶óÀ̹ö´Â NDIS_OOB_DATA_FROM_PACKET¿¡ÀÇÇØ ¸®ÅÏµÈ Æ÷ÀÎÅ͸¦ »ç¿ëÇÒ¼ö ÀÖ°í NdisMoveMemoryÇÔ¼ö¸¦ È£ÃâÇÑ´Ù.
µå¶óÀ̹ö´Â NdisCopyFromPacketToPacketÇÔ¼ö¸¦ È£ÃâÇϱâÀü¿¡ °¡Áö°í ÀÖ´ø ¾î¶² ½ºÇÉ ¶ôÀ» ÇØÁ¦Çؾ߸¸ ÇÑ´Ù.
NdisCopyFromPacketToPacketÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL <= DISPATCH_LEVEL¿¡¼ µ¿ÀÛÇÑ´Ù.
|