PMRX_CHANGE_BUFFERING_STATE_CALLDOWN Rückruffunktion (mrx.h)
DieMRxCompleteBufferingStateChangeRequest-Routine wird von RDBSS aufgerufen, um den Netzwerk-Mini-Redirector zu benachrichtigen, dass eine Änderungsanforderung für den Pufferzustand 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, der von der Rückrufroutine für die Netzwerkminiumleitung verwendet werden soll.
[in] MRxContext
Ein Zeiger auf die SRV_OPEN-Struktur und die zugehörige FCB-Struktur, die geändert werden soll.
Rückgabewert
MRxCompleteBufferingStateChangeRequest gibt STATUS_SUCCESS bei Erfolg oder einen geeigneten NTSTATUS-Wert zurück, z. B.:
Rückgabecode | Beschreibung |
---|---|
STATUS_NOT_SUPPORTED | Eine Option in der Änderung der Pufferanforderung wird nicht unterstützt. |
Hinweise
Vor dem Aufrufen von MRxCompleteBufferingStateChangeRequest, RDBSS:
Ruft eine exklusive Sperre für die FCB-Struktur ab.
Legt das FcbState-Element von SrvOpen-Fcb> auf FCB_STATE_BUFFERSTATE_CHANGING fest.
Ändert die folgenden Member in der RX_CONTEXT-Struktur, auf die der RxContext-Parameter verweist:
- pRelevantSrvOpen wird auf die SRV_OPEN-Struktur festgelegt.
- pFcb ist auf die FCB-Struktur festgelegt.
- pFobx ist auf die FOBX-Struktur festgelegt.
Wenn die Sperrpufferung aktiviert ist, muss MRxCompleteBufferingStateChangeRequest die Bytebereichssperren für den Server leeren. Die Liste der gesperrten Regionen wird an den Netzwerkminiumleitungsor im LowIoContext.ParamsFor.Locks.LockList-Element der RX_CONTEXT-Struktur übergeben.
Der SMB-Redirector (Server Message Block) verwendet MRxCompleteBufferingStateChangeRequest , um eine Oplock-Unterbrechungsantwort zu senden oder das Handle für einen Oplock-Umbruch zu schließen, wenn die Datei nicht mehr verwendet wird. Bytebereichssperren, die auf den Server geleert werden müssen, werden an den Netzwerkminiumleitungsor im LowIoContext.ParamsFor.Locks.LockList-Member der RX_CONTEXT-Struktur übergeben. Die neue Oplockebene wird im MrxContext-Parameter übergeben.
RDBSS ignoriert den Rückgabewert von MRxCompleteBufferingStateChangeRequest.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | mrx.h (mrx.h einschließen) |