Посл.ответ |
Сообщение |
![](img/s4.gif) Ранг: 71.9 (постоянный), 4thx Активность: 0.04↘0 Статус: Участник
|
Создано: 13 мая 2015 17:07 · Личное сообщение · #1
Иногда VirtualAlloc возвращает NULL, что делать в такой ситуации? Как все таки получить нужную память?
| Сообщение посчитали полезным: |
|
![](img/s8.gif) Ранг: 533.6 (!), 232thx Активность: 0.45↘0 Статус: Uploader retired
|
Создано: 13 мая 2015 17:13 · Личное сообщение · #2
Получить последнюю ошибку и узнать в чем дело?!
----- Лучше быть одиноким, но свободным © $me | Сообщение посчитали полезным: |
![](img/s4.gif) Ранг: 71.9 (постоянный), 4thx Активность: 0.04↘0 Статус: Участник
|
Создано: 13 мая 2015 17:17 · Личное сообщение · #3
BoRoV - дело в том, что VirtualAlloc не может выделить регион требуемого размера, поэтому функция возвращает NULL. Хотя суммарное количество свободной памяти у меня навалом.
| Сообщение посчитали полезным: |
![](img/s8.gif) Ранг: 681.5 (! !), 405thx Активность: 0.42↘0.21 Статус: Участник ALIEN Hack Team
|
Создано: 13 мая 2015 17:20 · Личное сообщение · #4
jangleИз-за фрагментации памяти, возможно, есть смысл использовать HeapAlloc?
----- Stuck to the plan, always think that we would stand up, never ran. | Сообщение посчитали полезным: |
Ранг: 95.1 (постоянный), 247thx Активность: 0.26↘0.01 Статус: Участник
|
Создано: 13 мая 2015 17:20 · Личное сообщение · #5
Ищите косяк в своем коде.
----- TEST YOUR MIGHT | Сообщение посчитали полезным: |
![](img/s5.gif) Ранг: 150.3 (ветеран), 175thx Активность: 0.16↘0.07 Статус: Участник
|
Создано: 13 мая 2015 17:21 · Поправил: -=AkaBOSS=- · Личное сообщение · #6
GetLastError что говорит? если сделать VirtualFree и повторить аллок, что будет? мсдн: VirtualAlloc cannot reserve a reserved pageи еще If the lpAddress parameter is not NULL, the function uses the lpAddress and dwSize parameters to compute the region of pages to be allocated. The current state of the entire range of pages must be compatible with the type of allocation specified by the flAllocationType parameter. Otherwise, the function fails and none of the pages are allocated. Так ли уж вам нужна память именно по указанному адресу? Может, есть смысл первым параметром слать NULL - тогда аллокнет где сможет, а вам останется релоки настроить.
| Сообщение посчитали полезным: jangle |
![](img/s8.gif) Ранг: 990.2 (! ! !), 380thx Активность: 0.68↘0 Статус: Модератор Author of DiE
|
Создано: 13 мая 2015 17:41 · Личное сообщение · #7
потому что адрес занят и скорее всего там не VirtualFree делать надо, а ZwUnmapViewOfSection? а лучше понять, почему так происходит и не задавать глупых вопросов.
----- [nice coder and reverser] | Сообщение посчитали полезным: |
![](img/s7.gif) Ранг: 324.3 (мудрец), 222thx Активность: 0.48↘0.37 Статус: Участник
|
Создано: 13 мая 2015 17:45 · Личное сообщение · #8
Что мешает в оле в memory map глянуть на момент получения ошибки?
----- IZ.RU | Сообщение посчитали полезным: |