В структуре MEMORY_BASIC_INFORMATION каждый находит две переменные PVOID, названные BaseAddress
и AllocationBase
соответственно.
Я читаю книгу по Поточной обработке и ее осмотру, как оставить стековое пространство на стеке в некоторых деталях, однако существует что-то, что я не уверен, что понимаю правильно.
BaseAddress в структуре упомянул выше, он указывает на самый высокий адрес в стопке текущего потока или самый низкий адрес? Так как стек растет вниз, самое низкое было бы наверху и самое высокое внизу.
Что точно является различием между AllocationBase
и BaseAddress
поле? Я не нахожу документацию MSDN очень объяснительной, таким образом, я надеюсь, что кто-то может разъясниться немного больше?
В моей книге это также говорит, что адрес 'AllocationBase' совпадает с полем 'DeallocationStack' в структуре TEB, которая это говорит, что точки в конец стека, который я думал, были самым высоким адресом, однако начиная с его ОСНОВЫ, я предполагаю, что это должен быть самый низкий адрес, поскольку стек становится нисходящим. Таким образом, я отчасти смущен относительно того, что что?
На эту страницу 'DeallocationStack': максимальный размер стека хранится в поле DeallocationStack
Кто-то может помочь мне понять свой беспорядок?
В MEMORY_BASIC_INFORMATION
структура:
Если вы запрашиваете стек, то AllocationBase будет наименьшим адресом стека (вершина стека).