TdiCopyBufferToMdl
NTSTATUS
TdiCopyBufferToMdl (
IN PVOID SourceBuffer,
IN ULONG SourceOffset,
IN ULONG SourceBytesToCopy,
IN PMDL DestinationMdlChain,
IN ULONG DestinationOffset,
IN PULONG BytesCopied
);
TdiCopyBufferToMdl ÇÔ¼ö´Â ¹öÆÛ ¹üÀ§¿¡ ÀÖ´Â µ¥ÀÌŸ¸¦ ÁÖ¾îÁø MDL üÀο¡ ÀÇÇØ¼ ¸ÊµÈ ÇϳªÀÌ»óÀÇ ¸ñÀûÁö ¹öÆÛ¾ÈÀ¸·Î º¹»çÇÑ´Ù.
¸Å°³º¯¼ö
- SourceBuffer
- º¹»çµÇ´Â µ¥ÀÌŸ¸¦ Æ÷ÇÔÇÏ´Â ¼Ò½º ¹öÆÛÀÇ ±âº» °¡»ó ÁÖ¼Ò¸¦ ¼¼úÇÑ´Ù.
- SourceOffset
- º¹»ç¸¦ ½ÃÀÛÇÏ´Â ¼Ò½º ¹öÆÛ¾È¿¡ ¹ÙÀÌÆ® ¿É¼ÂÀ» ¼¼úÇÑ´Ù.
- SourceBytesToCopy
- ÁÖ¾îÁø MDL¿¡ ÀÇÇØ¼ ¸ÊµÈ ¹öÆÛ¿¡ SourceBuffer·ÎºÎÅÍ º¹»çµÇ´Â ¹ÙÀÌÆ® ¼ö¸¦ ¼¼úÇÑ´Ù.
- DestinationMdlChain
- µ¥ÀÌŸ°¡ º¹»çµÉ ¸ñÀûÁö ¹öÆÛ¸¦ ¸ÊÇÏ´Â ¿¬°áµÈ üÀÎÀÇ MDL¾È¿¡ óÀ½ MDLÀ» °¡¸®Å²´Ù.
- DestinationOffset
- º¹»ç°¡ ½ÃÀ۵Ǵ ¸ñÀûÁö ¹öÆÛ¾È¿¡ ¹ÙÀÌÆ® ¿É¼ÂÀ» ¼¼úÇÑ´Ù. È¿°úÀûÀ¸·Î À̰ÍÀº º¹»ç¿¬»êÀ» ½ÃÀÛÇϱâ Àü¿¡ °Ç³Ê¶Ù´Â ÁÖ¾îÁø MDL¿¡ ÀÇÇØ¼ ¸ÊµÈ ¹ÙÀÌÆ®ÀÇ ¼öÀÌ´Ù.
- BytesCopied
- TdiCopyBufferToMdl ÇÔ¼ö°¡ ¼Ò½º¿¡¼ ¸ñÀûÁö ¹öÆÛ·Î º¹»çµÈ ¹ÙÀÌÆ® ¼ö¸¦ ¸®ÅÏÇϴ ȣÃâÀÚ Á¦°ø º¯¼ö¸¦ °¡¸®Å²´Ù.
¸®Åϰª
TdiCopyBufferToMdl ÇÔ¼ö°¡ ¸ÊµÈ ¸ñÀûÁö ¹öÆÛ·Î SourceBytesToCopy¸¦ º¹»çÇß´Ù¸é STATUS_SUCCESS¸¦ ¸®ÅÏÇÑ´Ù. ¹Ý¸é¿¡ SourceBytesToCopy°¡ ³Ê¹« Ä¿¼ ÁÖ¾îÁø DestinationOffset¿¡¼ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ¸ñÀûÁö ¹öÆÛ¾ÈÀ¸·Î º¹»çÇÒ ¼ö ¾ø´Ù¸é STATUS_BUFFER_OVERFLOW¸¦ ¸®ÅÏÇÑ´Ù.
ÁÖ¼®
TdiCopyBufferToMdl ÇÔ¼ö´Â STATUS_BUFFER_OVERFLOW¸¦ ¸®ÅÏÇÑ´Ù ÇÒÁö¶óµµ ¼Ò½º ¹öÆÛ¿¡¼ ¸ñÀûÁö ¹öÆÛ·Î °¡´ÉÇÑ ÇÑ ¸¹Àº ¹öÆÛ¸¦ º¹»çÇÒ ¼ö ÀÖ´Ù. ´ëºÎºÐ BytesCopiedÀÇ ¸®ÅϰªÀº ÁÖ¾îÁø SourceBytesToCopy¿Í °°´Ù.
Æ®·£½ºÆ÷Æ®¿Í ±×µéÀÇ Ä¿³Î ¸ðµå Ŭ¶óÀÌ¾ðÆ® ¸ðµÎ TdiCopyBufferToMdl ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù.
¼Ò½º¿Í ¸ñÀûÁö ¹öÆÛ°¡ Á¸ÀçÇÑ´Ù¸é TdiCopyBufferToMdl ÇÔ¼öÀÇ È£ÃâÀÚ´Â IRQL <= DISPATCH_LEVEL¿¡¼ ½ÇÇàÇÑ´Ù. ±×Áß Çϳª°¡ ÆäÀÌÀúºíÀ̶ó¸é È£ÃâÀÚ´Â IRQL < DISPATCH_LEVEL¿¡¼ ½ÇÇàÇÑ´Ù.
|