Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];

Вниз

Что - то с памятью моей стало...(HeapSize)   Найти похожие ветки 

 
крот   (2003-03-19 08:53) [0]

Уважаемые мастера. Мне необходимо получать размер блока данных, выделенного в куче процесса. Я использую для этого HeapSize, но HeapAlloc выделяет памяти больше чем я указывал. Можно ли как то получить тот размер, который я запрашивал, имея описатель блока памяти.


 
MBo   (2003-03-19 09:08) [1]

HeapReAlloc?


 
Игорь Шевченко   (2003-03-19 09:27) [2]

HeapSize правильно используется. А HeapAlloc/HeapRealloc округляют запрошенное количество памяти.

"If HeapAlloc succeeds, it allocates at least the amount of memory requested. If the actual amount allocated is greater than the amount requested, the process can use the entire amount. To determine the actual size of the allocated block, use the HeapSize function. "


 
крот   (2003-03-19 09:39) [3]

Дело в том, что я передаю полученный указатель в IDataObject.SetData в параметре stg.hGlobal. На стороне COM объекта мне нужно по этому указателю определить размер буффера, на который он(указатель) указывает. Как это сделать, если все известные мне функции выделения памяти (HeapAlloc, GlobalAlloc, LocalAlloc, IMalloc.Alloc) могут выделять памяти больше, чем я указал?


 
MBo   (2003-03-19 09:52) [4]

так ты же знаешь, сколько реально используется


 
крот   (2003-03-19 10:39) [5]


> MBo © (19.03.03 09:52)
> так ты же знаешь, сколько реально используется


COM объект не знает, он только получает указатель, а определить размер он по идее должен сам. Может есть какой-нибудь способ передать в IDataObject.SetData кроме указателя памяти еще и ее реальный размер?



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
14-59944
Top Gun
2003-04-30 16:26
2003.05.19
Книга Рихтера, четвертое издание - урезанное ?


9-59521
Карлсон
2002-12-12 23:52
2003.05.19
FPS


9-59524
MYSTERYO
2002-12-14 10:56
2003.05.19
Где спрайты качнуть из диабло или аллодов подскажите


7-59974
Darkwin
2003-03-21 12:36
2003.05.19
Изменения пароля пользователя Windows


1-59785
Garmahis
2003-05-06 13:59
2003.05.19
Типизированный файл





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский