Редиректор клиентской машины

Основная функция редиректора клиентской машины — форматирование удаленных запросов таким образом, который будет понятен машине места назначения, и отправка их по сети. Редиректор использует структуру БМВ в качестве стандартного средства перемещения для отправки и ответа на запросы редиректора. Каждый заголовок БМВ содержит код команды (определяющий задачу, выполнение которой редиректор хочет поручить удаленной станции) и несколько полей окружения и параметров (которые определяют, как команда должна выполняться). Кроме того, в заголовке SMB последнее поле в SMB может содержать до 64Кбайт данных, посылаемых на удаленную станцию.
Read SMB (запрос) Команда read SMB (иногда называемая командой чтения диапазона байтов) приказывает серверу прочитать определенный диапазон байтов из дискового файла. Она также включает дескриптор фаи ла, число байтов для чтения и т.д. Сдвиг файла основывается на "указателе поиска", который хранится редиректором локально для файла. Серверный указатель поиска для этого дескриптора файла недействителен в данном случае, так как множество процессов удаленных рабочих станций могут обращаться к одному серверу, используя системный дескриптор файла.
Параметр "est'd total" (оценка общего числа байтов для чтения, включая прочитанные этим запросом) является необязательным. Сервер может использовать эту информацию для упреждающего чтения или для оптимизации выделения буферов.
Read SMB (ответ) Ответ на Read SMB несет с собой запрошенные данные. Мультиплексный идентификатор (MID) помечает ответ SMB для соответствующего запроса SMB.
Вот как работает этот процесс:
• Программа посылает запрос ввода-вывода операционной системе через вызов интерфейса прикладного программирования (API).
• Операционная система (или редиректор с помощью прерывания "int21") определяет, что запрос предназначен для удаленного ресурса, и передает его редиректору.
• Редиректор форматирует запрос ввода-вывода как запрос SMB и посылает его по сети на сервер.
• Сервер получает SMB и посылает запрос ввода-вывода локальной операционной системе сервера.
• Сервер форматирует данные ответа SMB. Данные возвращаются, если выполнена операция чтения, или возвращается код, если выполнена операция записи. Сервер посылает их по сети запрашивающей рабочей станции.
• Редиректор передает ответ в операционную систему.
• Операционная система передает ответ вызывающему приложению.