TdiCopyLookaheadData

VOID
   TdiCopyLookaheadData(
       IN PVOID Destination,
       IN PVOID Source,
       IN ULONG Length,
       IN ULONG ReceiveFlags
       );

TdiCopyLookaheadData ÇÔ¼ö´Â ÇϺÎÀÇ NDIS µå¶óÀ̹ö¿¡ ÀÇÇØ¼­ Æ®·£½ºÆ÷Æ® µå¶óÀ̹ö¿¡ lookahead ¹öÆÛ·Î ÀεðÄÉÀÌÆ®µÈ ¸®½Ãºê µ¥ÀÌŸ¸¦ ¾ÈÀüÇÏ°Ô º¹»çÇÑ´Ù.

¸Å°³º¯¼ö

Destination
µ¥ÀÌŸ°¡ º¹»çµÉ È£ÃâÀÚ Á¦°ø ¹öÆÛ¸¦ °¡¸®Å²´Ù.

Source
µ¥ÀÌŸ º¹»ç¸¦ À§Çؼ­ »ç¿ëµÇ´Â ¼Ò½º ¹öÆÛ¸¦ °¡¸®Å²´Ù.

Length
µ¥ÀÌŸ°¡ ¾ó¸¶³ª ¸¹ÀÌ º¹»çµÇ´ÂÁö¸¦ ¼­¼úÇÑ´Ù.

ReceiveFlags
´ÙÀ½ÀÇ Ç÷¡±×¸¸ÀÌ ÀÌ È£Ãâ¿¡¼­ ÀûÀýÇϰí TDI_RECEIVE_XXX Ç÷¡±×ÀÇ °áÇÕ(OR)À» ¼­¼úÇÑ´Ù:

TDI_RECEIVE_COPY_LOOKAHEAD
OID_GEN_MAC_OPTIONS Äõ¸®¸¦ °¡Áø NdisRequest ÇÔ¼öÀÇ ÇÁ·ÎÅäÄÝ ¹ÙÀεù½Ã È£Ãâ¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î ÇϺÎÀÇ NIC µå¶óÀ̹ö°¡ NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA Ç÷¡±×¸¦ ¼³Á¤ÇÑ´Ù¸é ¼³Á¤µÇ¾î¾ßÇÑ´Ù. ¹Ý¸é¿¡ ÀÌ Ç÷¡±×´Â ÁÖ¾îÁø ReceiveFlags¿¡¼­ Ŭ¸®¾îµÇ¾î¾ßÇÑ´Ù.

ÁÖ¼®

TdiCopyLookaheadData ÇÔ¼ö´Â NIC µå¶óÀ̹ö¿¡ ÀÇÇØ¼­ ÀεðÄÉÀÌÆ®µÇ´Â lookahead ¹öÆÛ·ÎºÎÅÍ ¸®½Ãºê µ¥ÀÌŸ¸¦ º¹»çÇϱâ À§Çؼ­ Æ®·£½ºÆ÷Æ®ÀÇ ProtocolReceive ÇÔ¼ö¿¡ ÀÇÇØ¼­ È£ÃâµÉ ¼ö ÀÖ´Ù. ƯÈ÷ ÇϺÎÀÇ NIC µå¶óÀ̹ö°¡ Æ®·£½ºÆ÷Æ®ÀÇ OID_GEN_MAC_OPTIONS Äõ¸®¿¡ ´ëÇÑ ÀÀ´äÀ¸·Î NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA Ç÷¡±×¸¦ ¼³Á¤ÇÏÁö ¾Ê´Â´Ù¸é TdiCopyLookaheadData ÇÔ¼ö´Â È£ÃâµÇ¾î¾ßÇÑ´Ù. ÀÌ OID ¸®Äù½ºÆ®¿¡ ´ëÇÑ ´õ ¸¹Àº Á¤º¸´Â Part 2¸¦ ºÁ¶ó.

±×·¯³ª TdiCopyLookaheadData ÇÔ¼ö´Â ÇϺÎÀÇ NIC¿¡¼­ ¸®½ÃºêµÈ ¹öÆÛÀÇ Æ¯¼ºÀÌ ¹«¾ùÀ̵çÁö NDIS µå¶óÀ̹öÀÇ ProtocolReceive ÇÔ¼ö¿¡ ÀÇÇØ¼­ È£ÃâµÉ ¼ö ÀÖ´Ù.

ProtocolReceive ÇÔ¼ö¸¦ ÀͽºÆ÷Æ®ÇÏ´Â ¾î¶² µå¶óÀ̹ö´Â TdiCopyLookaheadData ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù.

TdiCopyLookaheadData ÇÔ¼öÀÇ È£ÃâÀÚ´Â DestinationÀÇ ¹öÆÛ°¡ ºñÆäÀÌÁöÈ­µÈ Ç®¿¡ ÇÒ´çµÈ´Ù¸é ¾î¶² IRQL¿¡¼­µµ ½ÇÇàÇÒ ¼ö ÀÖ´Ù. ¹Ý¸é¿¡ È£ÃâÀÚ´Â IRQL < DISPATCH_LEVEL¿¡¼­ ½ÇÇàµÇ¾î¾ßÇÑ´Ù.