[an error occurred while processing this directive]
( ПРОДОЛЖЕНИЕ ) 3.2.1.0.3 Подробно о слотовой области Слотовая область- это область где хранятся параметры слоты. Эта область находится по адресам 400- 9FF т.е. для слоты 1 это адреса 400- 4FF для слоты 2 это адреса 500- 5FF и т.д. Рассмотрим подробно структуру области слоты ГЛОБАЛЬНАЯ ЧАСТЬ( ЗАГОЛОВОК ВСЕЙ СЛОТЫ ) Смещение Назначение от нач. адр. 0 Код устройства на слоте 1 Номер слоты* 10h 2,3 Адрес обработчика данной слоты ЛОКАЛЬНАЯ ЧАСТЬ( ДЛЯ КАЖДОГО ПОДУСТРОЙСТВА ) 4( 0 ) Код логического устройства 5( 1 ) Смещение до следующего устройства в пределах этой страницы( для организации цепочки подустройств ) 6( 2 ) Занятость устройства( ID захватчика ) СВОБОДНАЯ ЧАСТЬ( НА УСМОТРЕНИЕ РАЗРАБОТЧИКА ) ! ! U -------------- ** Для TEAC свободная часть имеет вид: 7( 3 ) Команда выбора привода 8,9( 4,5 ) Физический адрес обращения 10( 6 ) Номер дорожки на устройстве 11( 7 ) Число шагов до нужной дорожки 3.2.1.1 Включить устройство 3.2.1.1.1 Общие слова Данная функция введена в основе для устройств, ра- бота которых не зависит от самой машины( например: дисковод, сеть, принтер и т.д. ). В стандартном драйвере дисковода TEAC, который входит в комплект системной библиотеки SYSTEM.FRL эта функция просто включает дисковод. 3.2.1.2 Выключить устройство 3.2.1.2.1 Общие слова Данная функция введена по тем же самым причинам, что и выше. В системной библиотеке TEAC эта функция выключает дисковод. 3.2.1.3* Считать блок данных с устройства 3.2.1.3.1 Общие слова Мне кажется, что нет необходимости объяснять зачем введена эта функция( как впрочем и все, что будут ниже ). Необходимо только заметить, что для всех функций, описанных ниже подразумевается, что обмен с устройством происходит блоками по 256 байт, если не оговорено обратное. 3.2.1.3.2 Входные параметры MemAdr TSAdr , где MemAdr- адрес памяти куда будет помещен блок данных. TSAdr - адрес памяти, где нахо- дятся адреса для внеш- него устройства, оконча- нием поля адресов- нуле- вое слово. ( например: для TEAC это TSList ). 3.2.1.4* Записать блок данных на устройство 3.2.1.4.1 Общие слова См. 3.2.1.3.1 3.2.1.4.2 Входные параметры Идентично как при чтении. ПРИМЕЧАНИЕ: Т.к. есть различие в структуре TSAdr для различных устройств( например: для TEAC это TSList, а для ПАМЯТИ, выступающей как ВИРТУАЛЬНЫЙ ДИСК это чисто адреса памяти ), то простому пользова телю не пользоваться ни 3, ни 4 фукцией ( для ВАС есть 5 и 6 функции, описанные ни- же ). 3.2.1.5* Блок работы с файловой структурой на чтение Данный блок является многофункциональной функцией, т.е. помимо рабочих параметров для этой функции на стеке должен лежать номер подфункции. 3.2.1.5.0 Функция 0- Найти файл на устройстве 3.2.1.5.0.1 Общие слова Данная функция осуществляет поиск атрибутов файла по его имени. В качестве имени НЕ может быть ис- пользован шаблон поиска. 3.2.1.5.0.2 Входные параметры FName- адрес имени файла для поиска. 3.2.1.5.0.3 Выходные параметры TSAdr- адрес списка, во внутреннем представлении устройства, по которому файл может быть считан функцией 3. FAdr- адрес в памяти, где хранятся атрибуты файла во внутреннем представлении устрой- ства( для TEAC это просто адрес на ПОЛЕ ФАЙЛА ). Flag- Если на стеке по выходу из 5 функции нахо- дится FALSE, то файл не был найден на уст- ройстве. 3.2.1.5.1 Функция 1- Вывести в память каталог по шаблону 3.2.1.5.1.1 Общие слова Данная функция ищет на диске файлы, удовлетворя- ющие шаблону и помещает в память структуру: 0 - NameLen Длина имени 1..NameLen+1- FName Само имя файла NameLen+2 - <ENTER> Символ <ENTER> NameLen+3 - FType Тип файла( стандартный ) 3.2.1.5.1.2 Входные параметры PatAdr- Адрес шаблона в памяти MemAdr- Адрес памяти, куда "скинуть" каталог ( каталог всегда заканчивается, когда в поле NameLen находится ноль ) 3.2.1.6* Блок работы с файловой структурой на запись см. 3.2.1.5 ( То же, что и файловое чтение ) 3.2.1.6.0 Функция 0- Стереть файл с устройства 3.2.1.6.0.1 Общие слова Данная функция удаляет с устройства файл, адрес имени которого на стеке( в качестве имени файла не может выступать шаблон ). Если файла на устройстве нет, то сообщения об ошибке выдано не будет. 3.2.1.6.0.2 Входные параметры FName- адрес имени файла в памяти. 3.2.1.6.1 Функция 1- Создать файл на устройстве 3.2.1.6.1.1 Общие слова Данная функция создает пустой файл на устройстве, по имени на стеке( НЕ шаблон ). Если файл с таким именем уже есть на устройстве, то он НЕ будет ни удален, ни переименован( просто на устройстве бу- дут два файла с одинаковыми именами ). Если на устройстве нет памяти или запись запрещена, то будет выполнен уход через ERROR. 3.2.1.6.1.2 Входные параметры FType- тип создаваемого файла. FName- адрес имени создаваемого файла. FLen - длина создаваемого файла. 3.2.1.6.1.3 Выходные параметры TSAdr- адрес в памяти на список адресов для функции записи 4. 3.2.1.6.2 Функция 2- Переименовать файл на устройстве 3.2.1.6.2.1 Общие слова Данная функция переименовывает файл лишь в том случае, если не было ошибок чтения, записи, нахождения файла( имя файла НЕ шаблон ). В случае какой- либо бяки на устройстве( см. выше) уход через ERROR. 3.2.1.6.2.2 Входные параметры FDestName- адрес в памяти имени исходного файла FSrcName - адрес в памяти имени конечного файла ПРИМЕЧАНИЕ: Данная функция может НЕ входить в комплект поставки библиотеки SYSTEM След. файл->bffeatr3.doc[an error occurred while processing this directive]