Работа с блоками памяти GMEM_FIXED

Тема в разделе "WASM.BEGINNERS", создана пользователем pris0ner, 18 авг 2007.

  1. pris0ner

    pris0ner New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2007
    Сообщения:
    43
    когда работаешь с блоками памяти, как описывал Iczelion, то в принципе все понятно: используя GlobalAlloc выделяется блок памяти, который потом можно освободить с помошью функции GlobalFree.

    Но если я использую в функции GlobalAlloc флаг GMEM_FIXED, то в ответ я получаю сразу адрес блока памяти. Так вот вопрос -- что потом, когда работа с ним закончена, делать?
    Как мне его освободить? Или ничего не надо делать?
    Ведь функции GlobalFree требуется именно хендл, которого я изначально не получал... Что делать?
     
  2. nester7

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    Да тоже самое - просто GlobalFree(YourPointer);

    Вот кусок SDK:

    Код (Text):
    1. PSECURITY_DESCRIPTOR pSD;
    2.  
    3. pSD = (PSECURITY_DESCRIPTOR)GlobalAlloc(
    4.          GMEM_FIXED,
    5.          sizeof(PSECURITY_DESCRIPTOR));
    6.  
    7. if( pSD == NULL )
    8. {
    9.    // Handle error condition.
    10. }
    11. ...
    12.  
    13. GlobalFree(pSD);
     
  3. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    GlobalFree надо вызывать.
     
  4. pris0ner

    pris0ner New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2007
    Сообщения:
    43
    ясность полная...
     
  5. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    но травой не пахнет