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) |