Будет ли идеологически правильно вызывать GetProcessHeap из DLL ???

Тема в разделе "WASM.BEGINNERS", создана пользователем gershkovich, 3 апр 2006.

  1. gershkovich

    gershkovich New Member

    Публикаций:
    0
    Регистрация:
    14 фев 2006
    Сообщения:
    97
    Привет всем!



    Вопрос по поводу heap-а процесса



    В моем приложении такая связка-

    приложение загружает - ДЛЛ 1

    ДЛЛ 1 загружает - ДЛЛ 2



    Вопрос 1: ф-ция GetProcessHeap вызывается как из приложения так и из ДЛЛ (1 и 2). Они получают указатель

    на один и тот же heap ???



    Вопрос 2: если ДЛЛ 2 имея heap handle выделит себе память (например под строку), то можно ли ее

    освободить в ДЛЛ 1 (или в приложении) ?



    Вопрос 3: если память не освобождать самому (имею в виду HeapFree),

    освободится ли она когда приложление завершится и виндовс выгрузит ее ?? Что будит с хипом ? виндовс его удалит ?



    Заранее спасибо.
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    gershkovich

    1 - да, т.к. это хип процесса.

    2 - да, если это хэндл одного и того же хипа.

    3 - да. То же, что и с остальной памятью процесса - освободит.