int release_type(handle) AH == 3;
код запроса int handle;
BX ; указатель определяет тип пакетов
_release_type proc near
| push bp | ; спасение регистров | |||
| push ds | ||||
| push es | ||||
| mov ah, 3 | ; задаем код запроса | |||
| mov bx, _param.handle | ; заносим указатель | |||
| pushf | ||||
| cli | ||||
| call _param.handler | ; обращение к драйверу | |||
| mov _param.er_CODE, dx | ; занесение кода ошибки | |||
| pop es | ; восстановление регистров | |||
| pop ds | ||||
| pop bp | ||||
| ret | ||||
| _release_type | endp | |||
В случае ошибки флаг carry=1, а в регистр DH заносится код ошибки. Возможная ошибка: BAD_HANDLE (не верный указатель). При успешном выполнении запроса флаг carry=0. Эта операция прерывает доступ пакетов, соответствующих указателю, полученному с помощью запроса access_type. Старый указатель после выполнения этого запроса не действителен.