Хотя нет API для непосредственного определения размера стека, непрерывное виртуальное адресное пространство должно быть зарезервировано до максимального размера стека - просто большая часть этого пространства еще не выделена. Вы можете воспользоваться этим и сделать два вызова на VirtualQuery .
Для первого вызова передайте ему адрес любого значения в стеке, чтобы получить базовый адрес и размер в байтах выделенного пространства стека. На компьютере с архитектурой x86, где размер стека увеличивается, вычтите размер из базового адреса и VirtualQuery еще раз: это даст вам размер пространства, зарезервированного для стека (при условии, что вы не точно ограничивает размер стека в то время ). Суммируя два, вы получите общий размер стека.