функция обратного вызова PMRX_CALLDOWN_CTX (mrx.h)

Подпрограмма MRxStart вызывается RDBSS для запуска сетевого мини-перенаправителя.

Синтаксис

PMRX_CALLDOWN_CTX PmrxCalldownCtx;

NTSTATUS PmrxCalldownCtx(
  [in, out] IN OUT PRX_CONTEXT RxContext,
  [in, out] IN OUT PRDBSS_DEVICE_OBJECT RxDeviceObject
)
{...}

Параметры

[in, out] RxContext

Указатель на структуру RX_CONTEXT. Этот параметр содержит IRP, который запросил запуск мини-перенаправления сети.

[in, out] RxDeviceObject

Указатель на структуру RDBSS_DEVICE_OBJECT для этого сетевого мини-перенаправления.

Возвращаемое значение

MRxStart возвращает STATUS_SUCCESS при успешном выполнении или соответствующее значение NTSTATUS, например одно из следующих значений:

Код возврата Описание
STATUS_REDIRECTOR_STARTED Сетевой мини-перенаправление уже запущен.
STATUS_UNSUCCESSFUL Не удалось запустить мини-перенаправление сети.

Комментарии

MRxStart завершает инициализацию сетевого мини-перенаправителя с точки зрения RDBSS. Обратите внимание, что это отличается от инициализации, выполняемой в подпрограмме DriverEntry . Любая инициализация, которая зависит от RDBSS, должна выполняться в рамках этой процедуры, а инициализация, независимая от RDBSS, должна выполняться в подпрограмме DriverEntry .

Перед вызовом MRxStart RDBSS изменяет следующие элементы в структуре RX_CONTEXT, на которую указывает параметр RxContext :

Для элемента MajorFunction задана основная функция IRP.

Элементу LowIoContext.ParamsFor.FsCtl.FsControlCode присваивается код FSCTL для IRP, если это был запрос FSTCL, используемый для запуска сетевого мини-перенаправления.

MRxStart вызывается RDBSS из подпрограммы RxStartMinirdr . Перед вызовом MRxStart RDBSS регистрирует RxDeviceObject сетевого мини-перенаправителя в качестве файловой системы. RDBSS также зарегистрирует сетевой мини-перенаправление в качестве поставщика UNC, если сетевой мини-перенаправление указывает на поддержку UNC-имен.

Если MRxStart возвращает STATUS_SUCCESS, то подпрограмма была успешной. Любое другое возвращаемое значение указывает, что в последовательности запуска произошла ошибка.

Если MRxStart возвращает STATUS_SUCCESS, RDBSS устанавливает состояние RDBSS в RDBSS_STARTED. Это состояние хранится в элементе StartStopContext.State структуры RDBSS_DEVICE_OBJECT, на которую указывает RxDeviceObject.

Сетевой мини-перенаправление обычно поддерживает внутреннюю переменную, указывающую, запущен ли сетевой мини-перенаправление. Например, сетевой мини-перенаправление может отслеживать, когда он останавливается, запускается, а также когда выполняется операция запуска или остановки.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть mrx.h (включая Mrx.h)

См. также раздел

MRxDevFcbXXXControlFile

MRxStop

RxStartMinirdr