°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
¡¡¡¡¡¡¡¡invoke¡¡¡¡HeapLock£¬hHeap
¡¡¡¡¡¡¡¡invoke¡¡¡¡HeapUnlock£¬hHeap
Èç¹ûº¯ÊýÖ´Ðгɹ¦£¬·µ»ØֵΪ·Ç0Öµ£¬·ñÔòº¯Êý·µ»Ø0¡£Ò»°ãÀ´Ëµ£¬ºÜÉÙÔÚ³ÌÐòÖÐʹÓÃÕâÁ½¸öº¯Êý£¬¶ø×ÜÊÇʹÓÃHEAP_NO_SERIALIZE±êÖ¾À´½øÐÐͬ²½¿ØÖÆ£¬Ö¸¶¨ÁËÕâ¸ö±êÖ¾µÄ»°£¬HeapAlloc£¬HeapReAlloc£¬HeapSizeºÍHeapFreeµÈº¯Êý»áÔÚÄÚ²¿×Ô¼ºµ÷ÓÃHeapLockºÍHeapUnlockº¯Êý¡£
Heappactº¯ÊýÓÃÓںϲ¢¶ÑÖеĿÕÏÐÄÚ´æ¿é²¢ÊͷŲ»ÔÚʹÓÃÖеÄÄÚ´æÒ³Ã棺
¡¡¡¡¡¡¡¡invoke¡¡¡¡Heappact£¬hHeap£¬dwFlags
HeapSizeº¯Êý·µ»Ø¶ÑÖÐij¸öÄÚ´æ¿éµÄ´óС£¬Õâ¸ö´óС¾ÍÊÇʹÓÃHeapAllocÒÔ¼°HeapReAllocʱָ¶¨µÄ´óС£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡HeapSize£¬hHeap£¬dwFlags£¬lpMemory
lpMemoryÖ¸¶¨ÁËÐèÒª·µ»Ø´óСµÄÄÚ´æ¿é£¬º¯ÊýµÄ·µ»ØÖµÊÇÄÚ´æ¿éµÄ´óС£¬Èç¹ûÖ´ÐÐʧ°Ü£¬º¯Êý·µ»Ø£¿1¡£
10¡£1¡£5¡¡¡¡ÐéÄâÄÚ´æ¹ÜÀíº¯Êý
²»¹Üij¸ö½ø³Ìʵ¼Ê¿ÉÓõÄÎïÀíÄÚ´æÊǶàÉÙ£¬Ã¿¸ö½ø³Ì¿ÉÒÔʹÓõĵØÖ·¿Õ¼ä×ÜÊÇ2¡¡GB£¬Óû§³ÌÐò²»±Ø¿¼ÂÇÒ»¸öÏ̵߳ØÖ·¶ÔÓ¦µÄÎïÀíÄڴ澿¾¹°²ÅÅÔÚʲôµØ·½¡ª¡ªÊÇÔÚÕæÕýµÄÎïÀíÄÚ´æÖУ¿ÔÚ´ÅÅ̽»»»ÎļþÖУ¿»¹ÊǸù±¾Ã»ÓÐÎïÀíÄÚ´æÓëÖ®¶ÔÓ¦¡£
Ò»¸ö½ø³ÌµÄÕû¸öµØÖ·¿Õ¼äÊǿ͹۴æÔڵģ¬µ«ÊÇ·ñÓÐÄÚ´æÓë¸Ã¶ÎµØÖ·¿Õ¼äÖеĵØÖ·Ïà¹ØÁªÊÇÁíÍâµÄÎÊÌ⣬Windows¸ºÔðÔÚÊʵ±µÄʱ¼ä°ÑÏ̵߳ØÖ·Ó³Éäµ½ÎïÀíÄÚ´æ»ò´ÅÅÌÉϵĽ»»»ÎļþÉÏ£¬Õâ¾ÍÊÇÐéÄâÄÚ´æµÄ»ù±¾¸ÅÄî¡£
ÔÚ³ÌÐòÔËÐеÄʱºò£¬½ø³ÌÖÐÿ¸öµØÖ·¶¼¿ÉÒÔ´¦ÓÚÏÂÁÐ3ÖÖ״̬µÄ1ÖÖÖУº
¡ñ¡¡¡¡¡¡Õ¼ÓÃ״̬¡ª¡ªÏ̵߳ØÖ·ÒѾӳÉ䵽ʵ¼ÊµÄÎïÀíÄÚ´æÖС£Ò²³ÆΪÒÑÌύ״̬¡£
¡ñ¡¡¡¡¡¡×ÔÓÉ״̬¡ª¡ªÃ»ÓÐÓ³Éäµ½ÎïÀíÄÚ´æÖУ¬Ï̵߳ØÖ·µ±Ç°Ò²Ã»Óб»³ÌÐòʹÓá£
¡ñ¡¡¡¡¡¡±£Áô״̬¡ª¡ªËäÈ»Ï̵߳ØַûÓÐÓ³Éäµ½ÎïÀíÄÚ´æÖУ¬µ«Ëü²»»á±»Ê¹Óã¬Ö±µ½³ÌÐòÏ£ÍûʹÓÃËüΪֹ¡£
½ø³Ì¿ªÊ¼µÄʱºò£¬ËùÓеØÖ·¶¼ÊÇ´¦ÓÚ×ÔÓÉ״̬µÄ£¬ÕâÒâζ×ÅËüÃǶ¼ÊÇ×ÔÓɿռ䲢ÇÒ¿ÉÒÔ±»Ìá½»µ½ÎïÀíÄڴ棬»òÕßΪ½«À´Ê¹Óöø±£ÁôÆðÀ´¡£ÈκÎ×ÔÓÉ״̬µØÖ·ÔÚÄܹ»±»Ê¹ÓÃÇ°£¬±ØÐëÊ×Ïȱ»·ÖÅäΪ±£Áô״̬»òÒÑÌύ״̬¡£
µ±Ê¹Óñê×¼ÄÚ´æ¹ÜÀíº¯Êý·ÖÅäÄÚ´æµÄʱºò£¬Óû§ÎÞ·¨Ö¸¶¨ÄÚ´æ¿éλÓÚÄĸöÏ̵߳ØÖ·£¬»òÕß²»ÒªÎ»ÓÚÄĸöÏ̵߳ØÖ·£¬¶øʹÓÃÐéÄâÄÚ´æ¹ÜÀíº¯Êý¿ÉÒÔ×öµ½ÕâÒ»µã¡£µ«ÕâÑù×öµÄÀíÓÉÊÇʲôÄØ£¿¿¼ÂÇÕâÑùÒ»ÖÖÇé¿ö£º³ÌÐòÐèÒªÒ»¸öÄÚ´æ¿éÓÃ×ö»º³åÇø£¬Ëæ×ųÌÐòµÄÔËÐУ¬Õâ¸öÄÚ´æ¿é¿ÉÄÜËæʱÐèÒªÀ©Õ¹£¬×î´ó¿ÉÄÜÀ©Õ¹Îª100¡¡MB´óС£¬ËùÒÔÏ£ÍûϵͳÔÚ·ÖÅäÆäËûÄÚ´æ¿éµÄʱºò²»ÒªÊ¹ÓÃÕâ¸öÄÚ´æ¿éºóÃæ100¡¡MB´óС·¶Î§ÄڵĵØÖ·¿Õ¼ä£¬ÕâÑù£¬¾Í¿ÉÒÔËæʱ½«ÄÚ´æ¿éÀ©´ó¶ø²»±ØÒƶ¯ËüµÄλÖá£
³ýÁËÕâÑùÒ»¸öÖ÷ÒªµÄÓÃ;Í⣬ÐéÄâÄÚ´æ¹ÜÀíº¯Êý»¹Ìṩת»»ÐéÄâµØÖ·¿Õ¼äҳ״̬µÄÄÜÁ¦£¬Ò»¸öÓ¦ÓóÌÐò¿ÉÒÔ°ÑÄÚ´æµÄ״̬´ÓÒÑÌá½»¸Ä±äΪ±£Áô£¬»ò°Ñ±£»¤µÄģʽ´Ó¡¡PAGE¡¡_READWRITE¡¡£¨¿É¶Áд£©¸Ä±äΪ¡¡PAGE_READONLY£¨Ö»¶Á£©£¬´Ó¶ø·ÀÖ¹¶Ôij¶ÎµØÖ·¿Õ¼äµÄд·ÃÎÊ£»Ó¦ÓóÌÐòÒ²¿ÉÒÔËø¶¨Ò»Ò³Äڴ棬²»ÈÃËü±»½»»»µ½´ÅÅÌÖС£
ÐéÄâÄÚ´æ¹ÜÀíº¯ÊýÊÇÒ»×éÃû×ÖÒÔVirtual¿ªÍ·µÄº¯Êý£¬Ö÷Òª°üÀ¨ÏÂÃ漸ÖÖ£º
¡ñ¡¡¡¡¡¡VirtualAllocºÍVirtualFree¡ª¡ª½øÐеØÖ·¿Õ¼äµÄ·ÖÅäºÍÊͷŹ¤×÷¡£
¡ñ¡¡¡¡¡¡VirtualLockºÍVirtualUnlock¡ª¡ª¶ÔÄÚ´æÒ³½øÐÐËø¶¨ºÍ½âËø¡£
¡ñ¡¡¡¡¡¡VirtualQuery»òVirtualQueryEx¡ª¡ª²éѯÄÚ´æÒ³µÄ״̬¡£
¡ñ¡¡¡¡¡¡VirtualProtect»òVirtualProtectEx¡ª¡ª¸Ä±äÄÚ´æÒ³µÄ±£»¤ÊôÐÔ¡£
1¡£¡¡±£ÁôºÍÊͷŵØÖ·¿Õ¼ä
±£Áô»òÌá½»Ò»¶ÎµØÖ·¿Õ¼ä£¬Ê¹ÓÃVirtualAllocº¯Êý£¬ÊÍ·Å»ò½â³ýÌá½»µØÖ·¿Õ¼ä£¬ÔòʹÓÃVirtualFreeº¯Êý¡£ÏÈÀ´¿´Virtualallocº¯ÊýµÄʹÓ÷½·¨£º
invoke¡¡¡¡VirtualAlloc£¬lpAddress£¬dwSize£¬flAllocationType£¬flProtect¡¡
lpAddress²ÎÊýÖ¸¶¨ÐèÒª±£Áô»òÌá½»µÄµØÖ·¿Õ¼äµÄλÖ㬲ÎÊý¿ÉÒÔʹÓÃNULLÖµÒ²¿ÉÒÔÖ¸¶¨Ò»¸ö¾ßÌåµÄµØÖ·¡£NULLÖµ±íʾÓɺ¯Êý×ÔÐÐÔÚij¸ö×î·½±ãµÄλÖñ£ÁôµØÖ··¶Î§£¬·ÇNULLÖµÖ¸¶¨ÁËÒ»¸ö׼ȷµÄ³õʼµØÖ·¡£Èç¹ûº¯Êý·µ»ØNULL£¬±íʾִÐÐʧ°Ü£¬·ñÔò·µ»ØÒ»¸öÖ¸Õ룬ָÏò±»±£ÁôµØÖ··¶Î§µÄ¿ªÊ¼Î»Öá£
dwSize²ÎÊý±íʾº¯ÊýÓ¦¸Ã·ÖÅäµÄµØÖ··¶Î§´óС£¬Ëü¿ÉÒÔÊÇ0¡¡B¡«2¡¡GBµÄÈÎÒâÖµ£¬µ«ÏµÍ³»á×Ô¶¯°ÑËü½øλµ½Ò»¸öÒ³ÃæµÄÕûÊý±¶´óС¡£ÁíÍ⣬ËäÈ»²ÎÊýµÄ×î´óÖµ¿ÉÒÔÖ¸¶¨Îª2¡¡GB£¬µ«Êµ¼ÊÉÏÄܹ»±»±£ÁôµÄ×î´óÖµÊǸýø³ÌÖÐ×î´óµÄÁ¬Ðø×ÔÓɵØÖ·¿Õ¼ä¡£
flAllocationType²ÎÊýÓÃÀ´¾ö¶¨ÈçºÎ·ÖÅäµØÖ·£¬Ëü¿ÉÒÔÊÇÒÔÏÂÈ¡ÖµµÄ×éºÏ£º
¡ñ¡¡¡¡¡¡MEM_MIT¡ª¡ªÎªÖ¸¶¨µØÖ·¿Õ¼äÌá½»ÎïÀíÄÚ´æ¡£
¡ñ¡¡¡¡¡¡MEM_RESERVE¡ª¡ª±£ÁôÖ¸¶¨µØÖ·¿Õ¼ä£¬²»·ÖÅäÎïÀíÄÚ´æ¡£
¡ñ¡¡¡¡¡¡MEM_TOP_DOWN¡ª¡ª¾¡¿ÉÄÜʹÓø߶˵ĵØÖ·¿Õ¼ä¡£
flProtect²ÎÊýÓÃÀ´Ö¸¶¨±£»¤µÄÀàÐÍ£¬Ëü¿ÉÒÔÊÇÒÔÏÂÈ¡ÖµÖ®Ò»£º
¡ñ¡¡¡¡¡¡PAGE_READONLY¡ª¡ªÎªÒÑÌá½»ÎïÀíÄÚ´æµÄµØÖ·¿Õ¼äÉ趨ֻ¶ÁÊôÐÔ¡£
¡ñ¡¡¡¡¡¡PAGE_READWRITE¡ª¡ªÎªÒÑÌá½»ÎïÀíÄÚ´æµÄµØÖ·¿Õ¼äÉ趨¿É¶ÁдÊôÐÔ¡£
¡ñ¡¡¡¡¡¡PAGE_EXECUTE¡ª¡ªÎªÒÑÌá½»ÎïÀíÄÚ´æµÄµØÖ·¿Õ¼äÉ趨¿ÉÖ´ÐÐÊôÐÔ¡£
¡ñ¡¡¡¡¡¡PAGE_EXECUTE_READ¡ª¡ªÎªÒÑÌá½»ÎïÀíÄÚ´æµÄµØÖ·¿Õ¼äÉ趨¿É¶ÁºÍ¿ÉÖ´ÐÐÊôÐÔ¡£
¡ñ¡¡¡¡¡¡PAGE_EXECUTE_READWRITE¡ª¡ªÎªÒÑÌá½»ÎïÀíÄÚ´æµÄµØÖ·¿Õ¼äÉ趨¿É¶Á¡¢¿ÉдºÍ¿ÉÖ´ÐÐÊôÐÔ¡£
¡ñ¡¡¡¡¡¡PAGE_NOACCESS¡ª¡ª½«±£ÁôµÄµØÖ·¿Õ¼äÉ趨Ϊ²»¿É´æȡģʽ¡£
VirtualFreeº¯ÊýµÄʹÓÃÓï·¨ÊÇ£º
¡¡
À´Ô´£ºµç×Ó¹¤Òµ³ö°æÉç¡¡×÷ÕߣºÂÞÔƱò¡¡ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
ÉÏÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ØÊéÄ¿¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÂÒ»Ò³¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡
µÚ10Õ¡¡ÄÚ´æ¹ÜÀíºÍÎļþ²Ù×÷
10¡£1¡¡ÄÚ¡¡´æ¡¡¹Ü¡¡Àí£¨7£©
¡¡¡¡¡¡¡¡
invoke¡¡¡¡VirtualFree£¬lpAddress£¬dwSize£¬dwFreeType
lpAddressºÍdwSize²ÎÊýÖ¸¶¨µØÖ·ºÍµØÖ·¿Õ¼äµÄ´óС£¬dwFreeTypeÖ¸¶¨ÊͷŵØÖ·¿Õ¼äµÄ·½Ê½£¬Ëü¿ÉÒÔÊÇÒÔϵÄÊýÖµ£º
¡ñ¡¡¡¡¡¡MEM_DEMIT¡ª¡ªÎªÒ»¸öÒѾÌá½»ÎïÀíÄÚ´æµÄµØÖ·¿Õ¼ä½â³ýÌá½»¡£
¡ñ¡¡¡¡¡¡MEM_RELEASE¡ª¡ªÊͷű£ÁôµÄµØÖ·¿Õ¼ä¡£
ÏÖÔÚÀ´¿´ÈçºÎʹÓÃËüÃÇÀ´±£ÁôµØÖ·¿Õ¼äºÍÊͷű£ÁôµÄµØÖ·¿Õ¼ä¡£Ê¹ÓÃVirtualAllocº¯Êý±£ÁôÒ»¸öµØÖ·¿Õ¼äµÄ·ÖÅ䷽ʽʹÓÃMEM_RESERVE£¬ÓÉÓÚ±»±£ÁôµÄµØÖ·¿Õ¼ä»¹Ã»ÓÐÌá½»¸øÎïÀíÄڴ棬ÊÇÎÞ·¨·ÃÎʵģ¬ËùÒÔ±£»¤ÊôÐÔ±ØÐëʹÓÃPAGE_NOACCESS±êÖ¾£¬¾ßÌåµÄÓï¾äÊÇ£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡VirtualAlloc£¬NULL£¬10485760£¬MEM_RESERVE£¬PAGE_NOACCESS
¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡lpAddress£¬eax
¡¡¡¡¡¡¡¡¡£endif
ÕâÒ»¶Î´úÂëµ¼ÖÂϵͳ±£ÁôÒ»¸ö10¡¡MB´óСµÄµØÖ·¿Õ¼ä¡£µ±ÔÚÒ»¸ö½ø³ÌÖб£ÁôµØַʱ£¬Ã»ÓÐÎïÀíÄÚ´æÒ³±»Ìá½»£¬Ò²Ã»ÓÐÔÚÒ³ÎļþÖÐΪËü±£Áô¿Õ¼ä£¬¶øÖ»ÊÇ×èÖ¹ÁËÆäËûÄÚ´æ·ÖÅ亯Êý¶Ô¸Ã¶ÎµØÖ·µÄÇëÇó¶øÒÑ£¬±£ÁôÒ»¸öµØÖ··¶Î§²¢²»±£Ö¤½«À´»áÓпÉÓõÄÎïÀíÄÚ´æÀ´Ìá½»¸øÕâЩµØÖ·¡£
±£ÁôµØÖ·µÄ²Ù×÷ÊǺܿìµÄ£¬±£ÁôÒ»¸öСµÄµØÖ··¶Î§ºÍ±£ÁôÒ»¸ö´ó·¶Î§µÄµØÖ·¿Õ¼äµÄËٶȲ¶à£¬ÒòΪÔÚ²Ù×÷Æڼ䣬²¢Ã»ÓÐ×ÊÔ´·ÖÅä¡£
Èç¹ûÒªÊͷű£ÁôµÄµØÖ·¿Õ¼ä£¬¿ÉÒÔʹÓÃMEM_RELEASE·½Ê½µ÷ÓÃVirtualFreeº¯Êý£º
¡¡¡¡¡¡¡¡invoke¡¡¡¡VirtualFree£¬lpAddress£¬0£¬MEM_RELEASE
lpAddress¾ÍÊÇÉÏÃæµ÷ÓÃVirtualAlloc·µ»ØµÄÖ¸Õ룬dwSize²ÎÊýÔÚÕâÀï±ØÐëΪ0¡£µ±Ê¹ÓÃÉÏÃæµÄVirtualAllocº¯Êý±£ÁôÁËÒ»¶ÎµØÖ·¿Õ¼äÒԺ󣬽ÓÏÂÀ´»¹¿ÉÒÔ¼ÌÐø¶à´Îµ÷ÓÃͬÑùµÄº¯ÊýÌá½»Õâ¶ÎµØÖ·¿Õ¼äÖеIJ»Í¬Ò³Ã棬ËùÒÔµ½×îºó²»Í¬µÄÒ³Ãæ¿ÉÄÜ´¦ÔÚ²»Í¬µÄ״̬ÖУ¨Ìá½»µÄºÍûÓÐÌá½»µÄ£©¡£Èç¹ûÓÃVirtualFreeº¯ÊýÊÍ·ÅÕâ¸öµØÖ·¿Õ¼ä£¬ËùÓеÄÒ³Ãæ±ØÐë´¦ÔÚÏàͬµÄ״̬Ï£¨¿ÉÒÔÊÇÈ«²¿Ìá½»µÄ»òÈ«²¿Ã»ÓÐÌá½»µÄ£©£¬·ñÔòÊͷŲÙ×÷»áʧ°Ü¡£µ±²»Í¬Ò³ÃæµÄ״̬²»Í¬µÄʱºò£¬×îºÃÊ×ÏȽ«ËùÓеÄÒÑÌá½»Ò³ÃæÖðÒ»½â³ýÌá½»£¬×îºóÔÙʹÓÃÉÏÃæ¾ÙÀýµÄ·½·¨ÊÍ·ÅÕû¸öµØÖ·¿Õ¼ä¡£
ÓÐʱºò£¬Á½´Îµ÷ÓÃVirtualAllocº¯Êý±£ÁôÁËÁ½¶ÎÁ¬ÔÚÒ»ÆðµÄµØÖ·¿Õ¼ä£¬¶ÔÓÚÕâÖÖÇé¿ö£¬ËäÈ»Á½¶ÎµØÖ·¿Õ¼äʵ¼ÊÉÏÊÇÁ¬ÔÚÒ»ÆðµÄ£¬µ«Ò²ÎÞ·¨µ÷ÓÃVirtualFreeº¯Êý½«ËüÃÇÒ»´ÎÊÍ·Å£¬±ØÐëµ÷ÓÃÁ½´ÎVirtualFreeº¯Êý½«ËüÃÇ·Ö±ðÊÍ·Å¡£
2¡£¡¡Ê¹Óñ£ÁôµÄµØÖ·¿Õ¼ä
ҪʹÓñ£ÁôµÄµØÖ·£¬Ê×ÏȱØÐëÌá½»ÎïÀíÄÚ´æ¸ø¸ÃµØÖ·¡£Ìá½»ÄÚ´æµ½µØÖ·Óë±£ÁôÄÚ´æͬÑùʹÓÃVirtualAllocº¯Êý£¬Ö»Êǵ÷Óõķ½Ê½Ê¹ÓÃMEM_MIT±êÖ¾¡£ÔÚÒѾ±£ÁôµÄµØÖ·¶ÎÖУ¬ÄÚ´æ¿ÉÒÔ°´Ò»Ò³µÄ´óС±»·Ö´ÎÌá½»£¬Ò²¿ÉÒÔÒ»´ÎÌá½»ËùÓеı£ÁôµØÖ·¡£
µ±ÄÚ´æ±»Ìύʱ£¬¿ÉÄÜÈ«²¿±»·ÖÅäΪÎïÀíÄÚ´æÒ³£¬Ò²¿ÉÄÜÒ»²¿·Ö»òÈ«²¿±»·ÖÅäÔÚÒ³ÎļþÖУ¬Ö±µ½Ëü±»·ÃÎÊ¡£Ò»µ©ÄÚ´æÒ³ÒÑÌá½»£¬ÏµÍ³¾Í»áÏñ¶Ô´ýÓÃÆäËûº¯Êý·ÖÅäµÄÄÚ´æ¿éÒ»ÑùÀ´¶Ô´ýËüÃÇ¡£
ʹÓÃVirtualAllocº¯ÊýÌá½»µØÖ·¿Õ¼äµÄ·½·¨ÊÇ£º
invoke¡¡¡¡VirtualAlloc£¬lpAddress£¬4096£¬MEM_MIT£¬PAGE_READWRITE
¡¡¡¡¡¡¡¡¡£if¡¡¡¡¡¡¡¡¡¡eax
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡mov¡¡lpMemory£¬eax
¡£endif
Õâ¸öÓï¾ä½«Ò»¸öÒ³Ãæ4¡¡096¡¡BµÄ±£ÁôµØÖ·Ìá½»µ½ÎïÀíÄÚ´æ¡£ÔÚÌá½»µÄʱºò£¬lpAddress²ÎÊý²»ÄÜÖ¸¶¨ÎªNULL£¬¶øÊÇÒªÖ¸¶¨Ò»¸öÌض¨µÄµØÖ·À´×¼È·µØָʾ±»±£ÁôµØÖ·µÄÄÄÒ»Ò³»á±»Ìá½»¡£¶øÇÒ£¬Ò³µÄÊôÐÔÏÖÔÚÒªÖ¸¶¨ÊÇ¿ÉÒÔ·ÃÎʵģ¬²»ÄÜÔÙʹÓÃPAGE_NOACCESS£¬¿ÉÒÔʹÓÃPAGE_READWRITEºÍPAGE_READONLYµÈÊôÐÔ¡£Èç¹ûº¯ÊýÖ´Ðгɹ¦£¬·µ»ØµÄÊDZ»Ìá½»µØÖ·ÖеÚÒ»Ò³µÄÆðʼÏ̵߳ØÖ·£¬Ö´ÐÐʧ°Ü½«·µ»ØNULL¡£
Ìá½»ÄÚ´æµÄʱºò£¬ÏµÍ³Ö»ÄÜ°´Ò³ÃæµÄÕûÊý±¶´óСÌá½»£¬º¯Êý»á×Ô¶¯°´ÕÕlpAddressºÍdwSizeÖ¸¶¨µÄ·¶Î§°ÑÓëÕâ¸ö·¶Î§Í¬ÊôÒ»¸öÒ³ÃæµÄµØÖ·È«²¿Ìá½»£¬ËùÒÔµ±lpAddressÖ¸¶¨µÄÊýÖµ²»ÊÇÒ»¸öÒ³µÄÕûÊý±¶µÄʱºò£¬·µ»ØµÄlpMemory¾Í²»»áºÍÖ¸¶¨µÄlpAddressÏàͬ£¬¶øÊDZ»Ð