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