Поторопился я с созданием темы.
В общем там память только выделяется, за прибиванием
никто не отслеживает, так, что думаю простого выделения кусмана памяти и запись туда указателей на выделенную память будет вполне достаточно.
Потом просто в цикле идти и вызывать LocalFree со значениями из этого кусмана.
Спасибо за ответ, посмотрю хиппи.
Тогда еще такой вопрос, LocalReAlloc может выдать указатель, отличный от входного и при перевыделении скопирует ли он память? Чето в МСДН не нашел по этим двум вопросам информации. Ща в дельфи побалуюсь, может вопрос сам снимется.
Код:
foo: Cardinal;
begin
foo := LocalAlloc(LMEM_ZEROINIT, 1024);
lstrcpyA(PAnsiChar(foo), 'qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq');
foo := LocalReAlloc(foo, 2048, LMEM_MOVEABLE);
Вроде как работает и данные копируются.