|
Приложение 7,8,9,10 - описание канала драйвера/резидента.
|
Приложение 7
Описание канала устройства (длина 10 байт)
Смеще-
ние
|
Имя
|
Длина
|
Комментарий
|
0
|
TDISR
|
1
|
Номер канала драйвера, обслуживающего устройство
|
1
|
PARM
|
1
|
Параметры для драйвера/номер устройства
|
2
|
SCCSR
|
8
|
Байты 0..7 соответствующего вектора (см. ПРИЛОЖЕНИЯ 2,5,6)
|
Приложение 8
Описание канала драйвера/резидента (длина 18 байт)
Смеще-
ние
|
Имя
|
Длина
|
Комментарий
|
0
|
DEV
|
1
|
Номер устройства, с которого он был загружен
|
1
|
CAT
|
2
|
Каталог, в котором находится драйвер
|
3
|
NFILE
|
1
|
Номер файла в данном каталоге
|
4
|
LSA
|
2
|
Адрес загрузки драйвера
|
6
|
LINK
|
2
|
Длина драйвера
|
8
|
DCSR
|
1
|
Состояние драйвера
|
9
|
QDEV
|
1
|
Количество обслуживаемых устройств
|
10
|
NAME
|
8
|
Имя драйвера/резидентной задачи
|
Приложение 9
Резидентный вектор файловой службы / $bkfcb(#35) DUD.SYS
Смеще-ние
|
Имя
|
Длина
|
Комментарий
|
-8
|
DSIZE
|
2
|
Размер открытого устройства в блоках
|
-6
|
BMSIZ
|
2
|
Размер бит-карты в байтах (см. ПРИЛОЖЕНИЕ 1)
|
-4
|
FCBA
|
2
|
Адрес описателя файла пользователя
|
-2
|
|
1
|
Временный номер файла
|
-1
|
FNUMB
|
1
|
Номер файла (#FF, если файл не открыт)
|
0(32) Описатель текущего (открытого) файла:
|
0
|
FNAME
|
8
|
Имя
|
8
|
FTYPE
|
3
|
Тип
|
11
|
FSTAT
|
1
|
Регистр состояния файла. Биты (0/1):
0 - удален/существует
2 - защищен от чтения(1)
3 - защищен от записи(1)
4 - видимый/скрытый файл
5 - файл/каталог (корневой файл)
6 - сегментированный/непрерывный
7 - защищен от удаления(1)
|
12
|
FLSA
|
2
|
Адрес загрузки по умолчанию
|
14
|
FLENG
|
3
|
Длина
|
17
|
FSDBN
|
2
|
Номер блока описателя сегмента (Для непрерывного файла - номер
нулевого блока файла)
|
19
|
WRKST
|
1
|
байт
"Special"
|
20
|
|
6
|
Резерв
|
26
|
FSUM
|
2
|
Контрольная сумма файла
|
28
|
FVERS
|
2
|
Время
|
30
|
FDATE
|
2
|
Дата
|
32(23) Описатель текущего (открытого) каталога (внутренний)
|
32/0
|
CATLG
|
8
|
Имя текущего каталога
|
40/8
|
|
3
|
пробелы (тип каталога)
|
43/11
|
|
1
|
CSR каталога
|
44/12
|
CDLSA
|
2
|
CBBN
каталога-прародителя
|
46/14
|
*CSIZE
|
3
|
Размер каталога в байтах1
|
49/17
|
CSDBN
|
2
|
Номер блока описателя сегмента
|
51/19
|
CBBN
|
2
|
Номер 0-го блока каталога
|
53/21
|
*NFILE
|
1
|
Общее число файлов (включая сам каталог и удаленные)
|
54/22
|
*NEFIL
|
1
|
Число файлов без каталога и удаленных
|
55/23
|
*LEVEL
|
1
|
Уровень вложенности подкаталога1
|
* - неиспользуемые переменные во внешнем описателе каталога
|
1С 24.XII.1996
года уровень вложенности подкаталога перенесен с 16-го байта описателя
каталога в 23-й в связи с тем, что 16-й байт является старшим байтом длины
файла (в данном случае каталога), и хотя каталог не может быть длиной более
16 блоков, при отладке программ бывали случаи, когда это изрядно вредило (см.
new_cats.hlp в папке SHELLHELP).
|
Приложение 10
Вектор окна для wt(#61).
Подаётся в IX на входе большинства рестартов в WIND.SYS
Смещение
|
Имя
|
Длина
|
Комментарий
|
0
|
X_COOR
|
1
|
Координата X для распечатки окна
|
1
|
Y_COOR
|
1
|
Координата Y для распечатки окна
|
2
|
Y_SIZE
|
1
|
Высота окна (размер Y)
|
3
|
X_SIZE
|
1
|
Ширина окна (размер X)
|
4
|
ATTR
|
1
|
Атрибуты окна
|
5
|
SHADE
|
1
|
Атрибуты тени (если старший бит установлен, то тень не выводится)
|
6
|
X_coor
|
1
|
Координата X для распечатки текста
|
7
|
X_size
|
1
|
Ширина для распечатки текста с помощью процедур lwt,
adrwt, lenwt
|
Все расстояния отсчитываются от левого верхнего
угла экрана и измеряются в знакоместах 8х8 (IX+0..3) и в
знакоместах 6х8 (IX+6,7)
Вектор часто включается в состав больших векторов
(см. $menu(#91), $scrol(#70), ПРИЛОЖЕНИЕ 18)
|
|
|