Функция Используется для перемещения по глобальному heap
от узла к узлу.
Синтаксис #include
int farheapwalk(struct farheapinfo *hi);
Файл, содержащий alloc.h
прототип
Описание farheapwalk подразумевает, что память не запорчена.
Для проверки перед использованием farheapwalk, вы-
зовите farheapcheck. При достижении последнего
блока функция возвращает _HEAPOK. При следующем
вызове farheapwalk, она вернет _HEAPEND.
farheapwalk получает указатель на структуру типа
heapinfo (определена в файле alloc.h). При первом
вызове farheapwalk установите поле hi.ptr в 0.
farheapwalk вернет вам в этом поле адрес первого
блока в heap памяти. Поле hi.size содержит размер
этого блока в байтах. hi.in_use - это флаг, кото-
рый устанавливается, если этот блок используется в
настоящий момент.
Возвращемое Если нет глобального heap, то возвращается значе-
значение ние _HEAPEMPTY (1).
Если структура heapinfo содержит верные данные, то
возвращается _HEAPOK (2).
Если достигнут конец heap памяти, то возвращается
_HEAPEND (5).
Переносимость farheapwalk уникальна для DOS.
Смотрите также heapwalk
Пример:
#include
#include
#define NUM_PTRS 10
#define NUM_BYTES 16
int main(void)
{
struct farheapinfo hi;
char far *array[NUM_PTRS];
int i;
for(i=0; i