PMRX_CHANGE_BUFFERING_STATE_CALLDOWN Rückruffunktion (mrx.h)
DieMRxCompleteBufferingStateChangeRequest Routine wird von RDBSS- aufgerufen, um den Netzwerkminiumleitungs-Umleitungsmodul zu benachrichtigen, dass eine Anforderung für die Pufferungsstatusänderung abgeschlossen wurde.
Syntax
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
)
{...}
Parameter
[in, out] RxContext
Ein Zeiger auf die RX_CONTEXT-Struktur. Dieser Parameter enthält das IRP, das den Vorgang anfordert.
[in, out] SrvOpen
Ein Zeiger auf einen Kontextparameter für die Verwendung durch die Miniumleitungsrückleitungsroutine des Netzwerks.
[in] MRxContext
Ein Zeiger auf die SRV_OPEN Struktur und die zugeordnete FCB-Struktur, die geändert werden soll.
Rückgabewert
MRxCompleteBufferingStateChangeRequest gibt STATUS_SUCCESS für erfolg oder einen entsprechenden NTSTATUS-Wert zurück, z. B. folgendes:
Rückgabecode | Beschreibung |
---|---|
STATUS_NOT_SUPPORTED | Eine Option in der Änderung der Pufferanforderung wird nicht unterstützt. |
Bemerkungen
Vor dem Aufrufen MRxCompleteBufferingStateChangeRequest, RDBSS:
Erwirbt eine exklusive Sperre für die FCB-Struktur.
Legt den FcbState Mitglied von SrvOpen->Fcb- auf FCB_STATE_BUFFERSTATE_CHANGING fest.
Ändert die folgenden Elemente in der RX_CONTEXT Struktur, auf die durch den RxContext Parameter verwiesen wird:
- pRelevantSrvOpen wird auf die SRV_OPEN-Struktur festgelegt.
- pFcb wird auf die FCB-Struktur festgelegt.
- pFobx- auf die FOBX-Struktur festgelegt ist.
Wenn die Sperrpufferung aktiviert ist, müssen MRxCompleteBufferingStateChangeRequest die Bytebereichssperren auf dem Server leeren. Die Liste der gesperrten Bereiche wird an den Netzwerkminiumleitungsmodul in der LowIoContext.ParamsFor.Locks.LockList Member der RX_CONTEXT-Struktur übergeben.
Der Server Message Block (SMB)-Umleitung verwendet MRxCompleteBufferingStateChangeRequest, um eine Oplock-Unterbrechungsantwort zu senden oder den Handle für einen Oplock-Umbruch zu schließen, wenn die Datei nicht mehr verwendet wird. Bytebereichssperren, die auf dem Server geleert werden müssen, werden an den Netzwerkminiumleitungsor in der LowIoContext.ParamsFor.Locks.LockList Member der RX_CONTEXT Struktur übergeben. Die neue Oplock-Ebene wird im MrxContext Parameter übergeben.
RDBSS ignoriert den Rückgabewert von MRxCompleteBufferingStateChangeRequest.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | mrx.h (einschließlich Mrx.h) |