функция обратного вызова 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) |