Setblock
setblock
Функция Модифицирует размер ранее выделенного сегмента памяти.
Синтаксис #include
int setblock(unsigned segx, unsigned newsize);
Файл, содержащий dos.h прототип
Описание setblock изменяет размер сегмента памяти. segx - адрес сегмента, который был получен при вызове функции allocmem. newsize - это новый необходимый размер сегмента в параграфах.
Возвращаемое setblock возвращает -1 при успешном завершении. значение При возникновении ошибки она возвращает размер в параграфах самого большого блока и устанавлива- ет соответствующее значение в переменной _doserrno.
Переносимость setblock уникальна для DOS.
Смотрите также
Пример:
#include
#include
#include
#include
int main(void) { unsigned int size,segp; int stat; size = 64; /* выделить 1024 байта (16 * 64) */ stat = allocmem(size,&segp); if(stat == -1) printf("Память выделена в сегменте %X\n",segp); else { printf("Ошибка. Максимальный размер блока: %d\n",stat); exit(1); } stat = setblock(segp,size*2); if(stat == -1) printf("Расширенный блок в сегменте %X\n",segp); else printf("Ошибка. Максимальный размер блока: %d\n",stat); freemem(segp); return 0; }