Подпрограмма 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) |