функция обратного вызова PMRX_CHANGE_BUFFERING_STATE_CALLDOWN (mrx.h)
ПодпрограммаMRxCompleteBufferingStateChangeReque st вызывается RDBSS, чтобы уведомить мини-перенаправление сети о завершении запроса на изменение состояния буферизации.
Синтаксис
PMRX_CHANGE_BUFFERING_STATE_CALLDOWN PmrxChangeBufferingStateCalldown;
NTSTATUS PmrxChangeBufferingStateCalldown(
[in, out] IN OUT PRX_CONTEXT RxContext,
[in, out] IN OUT PMRX_SRV_OPEN SrvOpen,
[in] IN PVOID MRxContext
)
{...}
Параметры
[in, out] RxContext
Указатель на структуру RX_CONTEXT. Этот параметр содержит IRP, запрашивающий операцию.
[in, out] SrvOpen
Указатель на параметр контекста для использования подпрограммой обратного вызова мини-перенаправления сети.
[in] MRxContext
Указатель на структуру SRV_OPEN и связанную структуру FCB, которая должна быть изменена.
Возвращаемое значение
MRxCompleteBufferingStateChangeRequest возвращает STATUS_SUCCESS при успешном выполнении или соответствующее значение NTSTATUS, например следующее:
Возвращаемый код | Описание |
---|---|
STATUS_NOT_SUPPORTED | Параметр в изменении запроса буферизации не поддерживается. |
Замечания
Перед вызовом MRxCompleteBufferingStateChangeRequest, RDBSS:
Получает монопольную блокировку структуры FCB.
Задает FcbState член SrvOpen->Fcb FCB_STATE_BUFFERSTATE_CHANGING.
Изменяет следующие элементы в структуре RX_CONTEXT, на которые указывает параметр RxContext:
- pRelevantSrvOpen имеет SRV_OPEN структуру.
- pFcb имеет структуру FCB.
- pFobx имеет структуру FOBX.
Если буферизация блокировки включена, MRxCompleteBufferingStateChangeRequest потребуется отменить блокировки диапазона байтов на сервер. Список заблокированных регионов передается в мини-перенаправление сети в элементе LowIoContext.ParamsFor.Locks.LockList члена структуры RX_CONTEXT.
Перенаправление блока сообщений сервера (SMB) использует MRxCompleteBufferingStateChangeRequest для отправки ответа на разрыв оплока или закрытия дескриптора в разрыве оплока, если файл больше не используется. Блокировки диапазона байтов, которые необходимо очистить на сервер, передаются в мини-перенаправление сети в LowIoContext.ParamsFor.Locks.LockList член структуры RX_CONTEXT. Новый уровень оплока передается в параметре MrxContext.
RDBSS игнорирует возвращаемое значение из MRxCompleteBufferingStateChangeRequest.
Требования
Требование | Ценность |
---|---|
целевая платформа | Настольный |
заголовка | mrx.h (include Mrx.h) |