PMRX_CHANGE_BUFFERING_STATE_CALLDOWN回呼函式 (mrx.h)

RDBSS 會呼叫MRxCompleteBufferingStateChangeRequest 例程,以通知網路迷你重新導向器已完成緩衝狀態變更要求。

語法

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 會在成功或適當的 NTSTATUS 值上傳回STATUS_SUCCESS,例如:

傳回碼 Description
STATUS_NOT_SUPPORTED 不支援緩衝要求變更中的選項。

備註

呼叫 MRxCompleteBufferingStateChangeRequest 之前,RDBSS:

  • 取得FCB結構的獨佔鎖定。

  • SrvOpen-Fcb>FcbState 成員設定為 FCB_STATE_BUFFERSTATE_CHANGING。

  • 修改 RxContext 參數所指向之RX_CONTEXT結構中的下列成員:

    • pRelevantSrvOpen 設定為 SRV_OPEN 結構。
    • pFcb 設定為FCB結構。
    • pFobx 設定為FOBX結構。

如果啟用鎖定緩衝, MRxCompleteBufferingStateChangeRequest 必須清除伺服器的位元組範圍鎖定。 鎖定區域清單會傳遞至 RX_CONTEXT 結構的LowIoContext.ParamsFor.Locks.LockList 成員中的網路迷你重新導向器。

伺服器消息塊 (SMB) 重新導向器會使用 MRxCompleteBufferingStateChangeRequest 來傳送 oplock 中斷回應,或在不再使用檔案時關閉 oplock 中斷的句柄。 需要排清到伺服器的位元組範圍鎖定會傳遞至 RX_CONTEXT結構的LowIoContext.ParamsFor.Locks.LockList 成員中的網路迷你重新導向器。 新的 oplock 層級會在 MrxContext 參數中傳遞。

RDBSS 會忽略 MRxCompleteBufferingStateChangeRequest 的傳回值。

規格需求

需求
目標平台 桌面
標頭 mrx.h (包含 Mrx.h)

另請參閱

MRxComputeNewBufferingState

MRxGetConnectionId