KosMemAlloc()
Функция объявлена в файле kos/alloc.h
.
void *KosMemAlloc(rtl_size_t size);
Функция выделяет (резервирует и передает) участок памяти размером size
байт.
Функция возвращает указатель на выделенный участок или RTL_NULL, если память не удалось выделить.
Память, выделенная с помощью функции KosMemAlloc()
, имеет следующие флаги аллокации: VMM_FLAG_READ | VMM_FLAG_WRITE, VMM_FLAG_RESERVE, VMM_FLAG_COMMIT, VMM_FLAG_LOCKED. Чтобы выделить память с другими флагами аллокации, используйте функцию KnVmAllocate()
.
KosMemAllocEx()
Функция объявлена в файле kos/alloc.h
.
void *KosMemAllocEx(rtl_size_t size, rtl_size_t align, int zeroed);
Функция аналогична KosMemAlloc()
, но при этом имеет дополнительные параметры:
align
– выравнивание участка памяти в байтах (степень двойки);zeroed
– нужно ли заполнить участок памяти нулями (1 – заполнить, 0 – не заполнять).
KosMemFree()
Функция объявлена в файле kos/alloc.h
.
void KosMemFree(void *ptr);
Функция освобождает участок памяти, выделенный с помощью функции KosMemAlloc()
, KosMemZalloc()
или KosMemAllocEx()
.
ptr
– указатель на освобождаемый участок памяти.
KosMemGetSize()
Функция объявлена в файле kos/alloc.h
.
rtl_size_t KosMemGetSize(void *ptr);
Функция возвращает размер (в байтах) участка памяти, выделенного с помощью функции KosMemAlloc()
, KosMemZalloc()
или KosMemAllocEx()
.
ptr
– указатель на участок памяти.
KosMemZalloc()
Функция объявлена в файле kos/alloc.h
.
void *KosMemZalloc(rtl_size_t size);
Функция аналогична KosMemAlloc()
, но при этом заполняет выделяемый участок памяти нулями.