Функция GlobalFix препятствует данному объекту глобальной памяти перемещаться в линейную память. Эта функция мешает эффективному управлению памятью Windows и может привести к фрагментации линейного адреса. Немногим приложениям необходимо фиксировать память в линейном адресном пространстве.
void GlobalFix( HGLOBAL hglb // дескриптор фиксируемого объекта ); |
hglb
Идентификатор объекта глобальной памяти, который фиксируется в линейной памяти.
Эта функция значений не возвращает.
Объект блокируется в линейной памяти по его текущему адресу, а счетчик блокированных объектов увеличивается(увеличивается на единицу). Фиксированная память не зависима от перемещения или сброса данных кроме тех случаев, когда объект памяти перераспределяется функцией GlobalReAlloc. Объект остается фиксированным в памяти до тех пор, пока счетчик блокировок объектов не уменьшится до нуля.
Каждый раз, когда приложение вызывает функцию GlobalFix для объекта памяти, оно должно в конечном счете вызвать функцию GlobalUnfix, которая уменьшает (уменьшает на единицу) счетчик фиксированных объектов. Другие функции также могут влиять на суммарный счет блокировки объекта памяти. Список этих функций, см. в описании функции GlobalFlags.
Обзор Устаревшие элементы программирования Windows, GlobalFlags, GlobalReAlloc, GlobalUnfix
Размещение и совместимость GlobalFix | ||
К | Windows XP | Нет |
л | Windows 2000 Professional | Нет |
и | Windows NT Workstation | Нет |
е | Windows Me | Нет |
н | Windows 98 | Нет |
т | Windows 95 | Нет |
С | Windows 2003 Server | Нет |
е | Windows 2000 Server | Нет |
р | Windows NT Server | Нет |
в | ||
е | ||
р | ||
Используемая библиотека | - | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | - | |
- включено в | - | |
Unicode | ||
Замечания по платформе | Применяется только в Windows версии 3.0 |