NdisBufferVirtualAddressSafe

PVOID

  NdisBufferVirtualAddressSafe(

    IN PNDIS_BUFFER  Buffer

    IN UINT  Priority

    );

NdisBufferVirtualAddressSafeÇÔ¼ö´Â NdisBufferVirtualAddressÀÇ ¾ÈÀü ¹öÀüÀÌ´Ù. NdisBufferVirtualAddressÇÔ¼ö¿Í ´Ù¸£°Ô, NdisBufferVirtualAddressSafe ÇÔ¼ö´Â ¸¸¾à ½Ã½ºÅÛ ¸®¼Ò½ºµéÀÌ ³·°Å³ª ´Ù½á¹ö·Ç´Ù¸é, ¹ö±×üũ¸¦ ÇÏÁö ¾ÊÀ»°ÍÀÌ´Ù(¾Ö¸Å). µå¶óÀ̹öµéÀº NdisBufferVirtualAddress´ë½Å¿¡ NdisBufferVirtualAddressSafeÇÔ¼ö¸¦ È£ÃâÇØ¾ß ÇÑ´Ù.

¸Å°³º¯¼ö

Buffer
±âº» °¡»ó ÁÖ¼Ò°¡ ¸®ÅϵǴ°ÍÀ¸·ÎºÎÅÍÀÇ ¹öÆÛ µð½ºÅ©¸³ÅÍ¿¡´ëÇÑ Æ÷ÀÎÅÍ

Priority
´ÙÀ½Áß Çϳª·Î½á ¿äûÀÇ ¿ì¼±¼øÀ§¸¦ °¡¸®Å²´Ù.:

LowPagePriority
³·Àº ¿ì¼±¼øÀ§¸¦ ³ªÅ¸³½´Ù. ¸¸¾à ½Ã½ºÅÛ ¸®¼Ò½º°¡ ³·´Ù¸é NdisBufferVirtualAddressSafe´Â ½ÇÆÐÀÌ´Ù.

NormalPagePriority
º¸ÅëÀÇ ¿ì¼±¼øÀ§¸¦ ³ªÅ¸³½´Ù. ¸¸¾à ½Ã½ºÅÛ ¸®¼Ò½º°¡ ³·´Ù¸é NdisBufferVirtualAddressSafeÇÔ¼ö´Â ½ÇÆÐÀÌ´Ù.

HighPagePriority
³ôÀº ¿ì¼±¼øÀ§¸¦ ³ªÅ¸³»´Ù. ¸¸¾à ½Ã½ºÅÛ ¸®¼Ò½º°¡ ´Ù½á¹ö¸®Áö ¾Ê¾Ò´Ù¸é NdisBufferVirtualAddressSafeÇÔ¼ö´Â ½ÇÆÐ°¡ ¾Æ´Ï´Ù.

¸®Åϰª

NdisBufferVirtualAddressSafeÇÔ¼ö´Â ´ÙÀ½Áß Çϳª¸¦ ¸®ÅÏÇÑ´Ù.:

  • ÁÖ¾îÁø ¹öÆÛ µð½ºÅ©¸³ÅÍ¿¡ÀÇÇØ ¼³¸íµÈ ¹°¸® ÆäÀÌÁö¸¦ ¸ãÇÏ´Â ±âº» ½Ã½ºÅÛ °ø°£ °¡»ó ÁÖ¼Ò.
  • ¸¸¾à ½Ã½ºÅÛ ¸®¼Ò½º°¡ ³·°Å³ª (¸¸¾à ¿ì¼±¼øÀ§°¡ LowPagePriority ȤÀº NormalPagePriority·Î ¼³Á¤µÇ¾ú´Ù¸é) ȤÀº ´Ù ½á¹ö·È´Ù¸é(¸¸¾à ¿ì¼±¼øÀ§°¡ HighPagePriority·Î ¼³Á¤µÇ¾ú´Ù¸é) NULL.

ÁÖ¼®

NdisBufferVirtualAddressSafeÇÔ¼ö´Â ÁÖ¾îÁø ¹öÆÛ µð½ºÅ©¸³ÅÍ¿¡ÀÇÇØ ¸ÊµÈ ¹öÆÛ¿¡´ëÇØ ±âº» °¡»ó ÁÖ¼Ò¸¦ ¸®ÅÏÇÑ´Ù. ¸¸¾à ÀÌ·¯ÇÑ ÆäÀÌÁö°¡ ¾ÆÁ÷ ½Ã½ºÅÛ °ø°£¿¡ ¸ÊµÇÁö ¾Ê¾Ò´Ù¸é ½Ã½ºÅÛ °ø°£¿¡ ÁÖ¾îÁø ¹öÆÛ µð½ºÅ©¸³ÅÍ¿¡ÀÇÇØ ¼³¸íµÈ ¹°¸® ÆäÀÌÁö¸¦ ¸ÊÇÑ´Ù.

PIOÀåÄ¡µé¿¡´ëÇÑ µå¶óÀ̹öµéÀº ½Ã½ºÅÛ °ø°£ ÁÖ¼Ò ¹üÀ§¿¡¼­ÀÇ »ç¿ëÀå ¹öÆÛ¿¡´ëÇØ ¹öÆÛ¿¡ ÀÇÇØ ÁöÁ¤µÈ °¡»ó ÁÖ¼Ò ¹üÀ§·Î ÀüȯÇϱâÀ§ÇØ ÀÌ·çÆ¾À» »ç¿ëÇÑ´Ù.

¸®ÅÏµÈ ±âº» ÁÖ¼Ò´Â ¹öÆÛ³»ÀÇ °¡»óÁÖ¼Ò·Î½á °°Àº ¿É¼ÂÀ» °¡Áö°í ÀÖ´Ù.

¸¸¾à ¿ì¼±¼øÀ§°¡ LowPagePriority ȤÀº NormalPagePriority·Î ¼³Á¤µÇ¾îÀÖ´Ù¸é, NdisBufferVirtualAddressSafeÇÔ¼ö´Â ¸¸¾à ¸®¼Ò½º°¡ ³·°Å³ª ´Ù ¾ø¾îÁ³´Ù¸é, NULLÀ» ¸®ÅÏÇÑ´Ù. ¸¸¾à ¿ì¼± ¼øÀ§°¡ HighPagePriority·Î ¼³Á¤µÇ¾ú´Ù¸é, NdisBufferVirtualAddressSafeÇÔ¼ö´Â ¸¸¾à ½Ã½ºÅÛ ¸®¼Ò½º°¡ ´Ù ¾ø¾îÁ³´Ù¸é NULLÀ» ¸®ÅÏÇÑ´Ù.

µå¶óÀ̹ö´Â NdisBufferVirtualAddress´ë½Å¿¡ NdisBufferVirtualAddressSafeÇÔ¼ö¸¦ È£ÃâÇØ¾ßÇÑ´Ù. ¸¸¾à ½Ã½ºÅÛ ¸®¼Ò½º°¡ ³·°Å³ª ´Ù¾ø¾îÁ³´Ù¸é, NdisBufferVirtualAddressÇÔ¼ö¸¦ È£ÃâÇϴ°ÍÀº ¹ö±× üũ¸¦ ¾ß±âÇÑ´Ù.

NdisBufferVirtualAddressSafeÀÇ È£ÃâÀÚ´Â IRQL <= DISPATCH_LEVEL¿¡¼­ µ¿À۵ǾîÁú¼ö ÀÖ´Ù. ±×·¯³ª IRQL <= DISPATCH_LEVEL¿¡¼­ µ¿ÀÛÇϴ ȣÃâÀÚ´Â nonpaged½Ã½ºÅÛ °ø°£ ÁÖ¼Ò¸¦ ¸ãÇÏ´Â ¹öÆÛ µð½ºÅ©¸³Å͸¦ Á¦°øÇؾ߸¸ÇÑ´Ù. ¹öÆÛ ±×ÀÚü´Â nonpaged pool, ¿¬¼ÓÀûÀÎ ¸Þ¸ð¸®, or ºñÄɽ¬È­µÈ ¸Þ¸ð¸®·ÎºÎÅÍ ÇÒ´çµÇ¾îÁ®¾ß¸¸ ÇÑ´Ù.