HeapAlloc возвращает 0xC0000017: недостаточно квоты
Я выделяю небольшое количество типов данных, общий размер 2 МБ.
Я использую только одну кучу, и она работает нормально, пока я не получу определенное количество выделений, я почти уверен в этом, потому что я прокомментировал одно выделение для его сбоя на следующем.
Квота = дисковое пространство? документация не охватывает коды ошибок для этой конкретной функции, я профилировал приложение, и для процесса выделено достаточно свободной памяти. Также я ставлю точку останова данных на указатель кучи, и она не ломается. Указатель кучи в порядке, когда я перехожу, вплоть до моего вызова HeapAlloc.
Так странно..
2 ответа
Попробуйте выделить большой кусок памяти (т.е. >2 МБ), пока не получите ошибку, чтобы определить, является ли проблема количеством объектов или общей кучей. Кроме того, вы уверены, что не выделяете более 2 МБ памяти? Я видел эту ошибку, когда достигнуто ограничение в 2 ГБ, но никогда в 2 МБ, если ваш файл подкачки не заполнен.
Если ничего не помогает, перезагрузите компьютер или попробуйте другой компьютер.