Команды файла
престижная
анапа по низким ценам
CREATE DIRECTORY - Посылается от переадресатора к спецпроцес-
сору для выполнения функции PC-DOS MKDIR (создать каталог).
REMOVE DIRECTORY - Посылается от переадресатора к спецпроцес-
сору для выполнения функции PC-DOS RMDIR (удалить каталог).
CHECK DIRECTORY - Посылается переадресатором для определения,
существует ли каталог спецпроцессора, когда пользователь выполняет
команду DOS CHDIR (изменить каталог).
OPEN FILE - Посылается от переадресатора к спецпроцессору для
открытия файла и возврата handle файла (подобно операции
местной PC-DOS). Начиная с версии PC-DOS 3.1, для многопользова-
тельской среды поддерживаются несколько дополнительных режимов отк-
рытия файлов. Они приводятся ниже в таблице.
Режим открытия файлов Значение
--------------------- --------
Совместимость Обеспечивает совместимость с прикладными
программами, которые использовали предыду-
щие версии PC-DOS. Файл может быть открыт
любое количество раз, если он не открыва-
ется в PC-DOS 3.1 и позднейших версиях.
Отказ в Используется для получения монопольного
чтении/записи доступа к файлу. На запрос получается
отказ, если файл уже был открыт в любом
другом режиме.
Отказ в записи Позволяет открывать файл столько раз,
сколько это требуется для чтения. На
запрос получается отказ, если файл уже
был открыт в доступе записи или в
режиме совместимости.
Отказ в чтении Позволяет открывать файл для записи.
На запрос получается отказ, если файл
уже был открыт для чтения в режиме
совместимости (эмуляции).
Нет отказа Позволяет открывать файл любое требу-
емое количество раз для чтения/записи.
На запрос будет дан отказ, если файл
уже был открыт в любом другом режиме.
Если прикладная программа открывает файл,используя более ста-
рый метод Блока управления файлами (FCB) посредством прервывания
DOS INT21H, функция 0FH, то режимы коллективного пользования не
поддерживаются.
На рис. 4-2 даны различные режимы открытия файлов и типы дос-
тупа.
Открытие второго и последующих файлов
-----------------------------------------------
!Отказ в !Отказ в !Отказ в !Запись/ ! Совме- !
!чтении/ !записи !чтении !чтение ! сти- !
!записи ! ! !разре- ! мость !
! ! ! !шены ! !
!--------!--------!--------!--------!----------
!I !I/!O !I !I/!O !I !I/!O !I !I/!O !I !I/! O !
! ! O! ! ! O! ! ! O! ! ! O! ! ! O! !
-----------!--------------------------------------------------
!Отказ в ! I ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
!чтении/ !-------------------------------------------------!
!записи !I/O! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
! !-------------------------------------------------!
! ! O ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !
!------------------------------------------------------------!
! ! I ! ! ! !##! ! ! ! ! !##! ! !**! ! !
!Отказ в !-------------------------------------------------!
!записи !I/O! ! ! ! ! ! ! ! ! !##! ! ! ! ! !
! !-------------------------------------------------!
! ! O ! ! ! ! ! ! !##! ! !##! ! ! ! ! !
РЕ- !------------------------------------------------------------!
ЖИМ ! ! I ! ! ! ! ! !##! ! ! ! ! !##! ! ! !
!Отказ в !-------------------------------------------------!
ОТК- !чтении !I/O! ! ! ! ! ! ! ! ! ! ! !##! ! ! !
РЫ- ! !-------------------------------------------------!
ТИЯ ! ! O ! ! ! ! ! ! ! ! !##! ! !##! ! ! !
!------------------------------------------------------------!
ПЕР- !Чтение/ ! I ! ! ! !##!##!##! ! ! !##!##!##!**! ! !
ВОГО !запись !-------------------------------------------------!
!разрешены !I/O! ! ! ! ! ! ! ! ! !##!##!##! ! ! !
ФАЙ- ! !-------------------------------------------------!
ЛА ! ! O ! ! ! ! ! ! !##!##!##!##!##!##! ! ! !
!------------------------------------------------------------!
! ! I ! ! ! !**! ! ! ! ! !**! ! !##!##!## !
!Совмес- !-------------------------------------------------!
!тимость !I/O! ! ! ! ! ! ! ! ! ! ! ! !##!##!## !
! !-------------------------------------------------!
! ! O ! ! ! ! ! ! ! ! ! ! ! ! !##!##!## !
!------------------------------------------------------------!
ПРИМЕЧАНИЯ: Доступ к файлу:
I - ввод = Чтение из файла
I/O - ввод/вывод = Чтение/запись из/в файл
O - вывод = Запись в файл
----
!##! - Разрешено открытие последующего файла
----
----
! ! - Не разрешено открытие последующего файла
----
----
!**! - Разрешено открытие последующего файла, если
---- файл доступен только для чтения
Рис 4-2. Режимы открытия файлов и типы доступа.
CREATE FILE - Посылается переадресатором спецпроцессору для
создания нового файла и возврата handle файла. Эта команда
также используется для уничтожения старого файла и создания нового
с таким же именем. На запрос будет дан отказ, если файл открыт или
атрибут файла установлен как только для чтения.
CLOSE FILE - Посылается переадресатором спецпроцессору для
закрытия файла. Переадресатор посылает handle файла.
COMMIT FILE - Посылается переадресатором спецпроцессору для
осуществления запроса, что все буферы для файла были записаны на
жесткий диск спецпроцессора. Переадресатор определяет handle
файла, и спецпроцессор выдает ответ, когда операция завершена. Нес-
колько файлов могут быть выполнены, если переадресатор определяет,
что должны быть выполнены все файлы, открытые в соединении, которое
представлено идентификатором маршрута сети в поле SMB_NPID.
DELETE FILE - Посылается переадресатором спецпроцессору для
уничтожения файла. Переадресатор определяет handle файла. На
запрос будет получен отказ, если файл открыт или помечен как дос-
тупный только для чтения.
RENAME FILE - Посылается переадресатором спецпроцессору для
переименования файла.
GET FILE ATTRIBUTES - Посылается переадресатором спецпроцессо-
ру для получения атрибутов файла, времени последнего доступа к фай-
лу и размера.
SET FILE ATTRIBUTES - Посылается переадресатором спецпроцессо-
ру для установки атрибутов файла.
READ BYTE BLOCK - Посылается переадресатором спецпроцессору
для считывания блока данных из файла.
WRITE BYTE BLOCK - Посылается переадресатором спецпроцессору
для записи блока данных из файла.
LSEEK - сокращение от LONG SEEK (Длительный поиск). Посылается
спецпроцессору для передвижения указателя файла. Программа ЛВС ПЭВМ
использует эту функцию для определения размера файла. Файл должен
быть предварительно открыт в режиме, который поддерживает коллек-
тивное чтение.
LOCK BYTE BLOCK - Поддерживает расширенную функцию блокировки
файлов по байтам, которая имеется в версии PC-DOS 3.1 и выше. Посы-
лается переадресатором спецпроцессору для блокировки области байт в
файле. Размер этой области может быть от одного байта до целого
файла. На запрос будет получен отказ, если какой-либо байт входит
в уже заблокированную область. Заметьте, что эта функция неадекватно
поддерживает обработку транзакции, т.к. не поддерживаются элемен-
тарные блокировки (несколько запросов о блокировке в одном запросе
для выполнения транзакции). Некоторые спецпроцессоры, например,
NetWare фирмы Novell, поддерживают элементарные блокировки.
UNLOCK BYTE BLOCK - Дополняет прудыдущую; передается переад-
ресатором спецпроцессору для разблокирования области байт в файле.
CREATE UNIQUE FILE - Посылается переадресатором спецпроцессору
для генерации уникального имени файла спецпроцессором (фактически
PC-DOS, работающей на данном спецпроцессоре). Спецпроцессор затем
возвращает уникальное имя переадресатору. Уникальные имена исполь-
зуют прикладные программы, которые требуют наличия временных рабо-
чих файлов.
CREATE NEW FILE - Команда аналогична предыдущей, за исключени-
ем того, что имя файла должно быть уникально для файлов, уже сущес-
твующих в данном каталоге.
END OF PROCESS - Посылается переадресатором спецпроцессору для
окончания работы в соединении. Она посылается для каждого маршрута
сети, который является активным для переадресатора.
GET DISK ATTRIBUTES - Посылается переадресатором спецпроцес-
сору для получения информации о размере памяти и формате жесткого
диска.
SEARCH MULTIPLE FILES - Посылается переадресатором спецпро-
цессору для выполнения функций поиска Блока управления файлами
(FCB) PC-DOS и функций поиска ASCII. Имя файла и маршрута передают-
ся спецпроцессору. Также может вестись поиск скрытых (спрятанных) и
системных файлов.
20.05.2012