Поделиться через


Подпрограмма MRxStop

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

Синтаксис

PMRX_CALLDOWN_CTX MRxStop;

NTSTATUS MRxStop(
  _Inout_ PRX_CONTEXT          RxContext,
  _Inout_ PRDBSS_DEVICE_OBJECT RxDeviceObject
)
{ ... }

Параметры

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

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

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

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

Код возврата Описание
STATUS_REDIRECTOR_HAS_OPEN_HANDLES

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

STATUS_REDIRECTOR_NOT_STARTED

Сетевой мини-перенаправление не запущен.

Комментарии

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

Перед вызовом MRxStop RDBSS изменяет следующие значения:

Член MajorFunction в структуре RX_CONTEXT, на который указывает RxContext , имеет основную функцию IRP.

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

Элемент StartStopContext.State структуры RDBSS_DEVICE_OBJECT, на который указывает RxDeviceObject , имеет значение RDBSS_STOP_IN_PROGRESS

Для элемента StartStopContext.pStopContext структуры RDBSS_DEVICE_OBJECT, на которую указывает RxDeviceObject , задан параметр RxContext .

MRxStop вызывается RDBSS из подпрограммы RxStopMinirdr .

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

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

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

Требования

Целевая платформа

Персональный компьютер

Заголовок

Mrx.h (включая Mrx.h)

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

MRxDevFcbXXXControlFile

MrxStart

RxStopMinirdr