Описание. Устанавливает 32-разрядный предел указанного сегмента.
Примечания.
С помощью этой функции можно изменить только предел сегментов, выделенных функцией 0000h. В 16-разрядных версиях DPMI предел должен быть не более FFFFh. Если предел более 1Mбайт, то базовый адрес сегмента должен быть выровнен по границе страницы (1000h), а также младшие 12 бит предела должны быть равны нулю.
DPMI, функция 0009h Установить права доступа в дескрипторе Вход:
AX=0009h
BX – селектор сегмента, для которого надо установить права доступа
CL – значение поля прав доступа
CH – расширенное значение поля прав доступа для i80386 и выше (только в 32-разрядных DPMI)
Выход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
Описание. Устанавливает поле прав доступа в дескрипторе.
Примечания.
С помощью этой функции можно изменить только предел сегментов, выделенных функцией 0000h.
DPMI, функция 000Ah Создать алиасный дескриптор для сегмента кода Вход:
AX=000Ah
BX – селектор сегмента кода, для которого надо создать алиасный дескриптор.
Выход:
CF=0, если функция выполнена успешно
AX – новый селектор данных
CF=1, если при выполнении функции возникли ошибки
Описание. Создает дескриптор данных с таким же базовым адресом и пределом, как у указанного сегмента кода.
Примечания.
Созданный этой функцией алиасный дескриптор можно удалить функцией 0001h.
DPMI, функция 000Bh Получить дескриптор Вход:
AX=000Bh
BX – селектор
ES:(E)DI – указатель на 8-байтный буфер, в который нужно скопировать дескриптор.
Выход:
CF=0, если функция выполнена успешно
ES:(E)DI – указатель на 8-байтный буфер, содержащий дескриптор
CF=1, если при выполнении функции возникли ошибки
Описание. Данная функция копирует элемент таблицы дескрипторов LDT, соответствующий указанному селектору, в 8-байтный буфер.
Примечания.
32-битные программы должны использовать ES:EDI для адресации буфера, 16-битные – ES:DI.
DPMI, функция 000Ch Установить дескриптор Вход:
AX=000Ch
BX – селектор
ES:(E)DI – указатель на 8-байтный буфер, содержащий дескриптор
Выход:
CF=0, если функция выполнена успешно
CF=1, если при выполнении функции возникли ошибки
Описание. Данная функция заносит содержимое 8-байтного буфера в элемент таблицы дескрипторов LDT, соответствующий указанному селектору.
Примечания.
32-битные программы должны использовать ES:EDI для адресации буфера, 16-битные – ES:DI. С помощью этой функции можно изменить только те дескрипторы, которые выделены функцией 0000h.
DPMI, функция 000Dh Выделить дескриптор Вход:
AX=000Dh
BX – селектор
Выход: