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¿¡¼­ µ¿ÀÛÇÑ´Ù.