RxChangeBufferingState-Funktion (rxprocs.h)
RxChangeBufferingState wird aufgerufen, um eine Änderungsanforderung für den Pufferzustand zu verarbeiten.
Syntax
NTSTATUS RxChangeBufferingState(
PSRV_OPEN SrvOpen,
PVOID Context,
BOOLEAN ComputeNewState
);
Parameter
SrvOpen
Ein Zeiger auf die zu ändernde SRV_OPEN Datenstruktur.
Context
Ein Zeiger auf den Kontextparameter zur Verwendung durch den Rückruf des Netzwerk-Miniumleitungs.
ComputeNewState
Der Wert, der angibt, ob der neue Pufferzustand berechnet werden soll. Wenn dieser Wert auf TRUE festgelegt ist, wird der neue Pufferzustand bestimmt, indem der Netzwerk-Miniumleitung aufgerufen wird, um den neuen Pufferzustand zu berechnen. Wenn dieser Wert FALSE ist, wird der neue Pufferzustand durch den BufferingFlags-Member der in SrvOpen übergebenen Struktur bestimmt.
Rückgabewert
RxChangeBufferingState gibt immer STATUS_SUCCESS zurück, ob diese Routine erfolgreich war oder ob ein Fehler auftritt. Wenn ein Fehler auftritt, wird der Pufferzustand geändert, sodass keine Pufferung aktiviert wird.
Hinweise
Wenn die lokale Pufferung für diesen FCB deaktiviert ist (FCB_STATE_DISABLE_LOCAL_BUFFERING im FcbState-Strukturmitglied des FCB festgelegt ist), wird die lokale Pufferung unabhängig vom offenen Modus auf dem FCB und allen Standardpufferoptionen deaktiviert. Wenn FCB_STATE_DISABLE_LOCAL_BUFFERING festgelegt ist, besteht der neue Pufferzustand, der von RxChangeBufferingState festgelegt wird, darin, die gesamte Pufferung zu deaktivieren.
Wenn ComputeNewStateTRUE ist, wird die vom Netzwerk-Mini-Redirector exportierte MRxComputeNewBufferingState-Routine aufgerufen, um den zu verwendenden neuen Pufferzustand zu berechnen.
Wenn der FCB ausschließlich erworben wird und ComputeNewStateauf FALSE festgelegt ist. dann legt RxChangeBufferingState die folgenden Pufferzustandsoptionen fest:
- FCB_STATE_WRITECACHING_ENABLED
- FCB_STATE_FILESIZECACHEING_ENABLED
- FCB_STATE_FILETIMECACHEING_ENABLED
- FCB_STATE_WRITEBUFFERING_ENABLED
- FCB_STATE_LOCK_BUFFERING_ENABLED
- FCB_STATE_READBUFFERING_ENABLED
- FCB_STATE_READCACHING_ENABLED
- ShareAccess.SharedRead
- ShareAccess.SharedWrite
- ShareAccess.SharedDelete
- FCB_STATE_WRITEBUFFERING_ENABLED
- FCB_STATE_READBUFFERING_ENABLED
- FCB_STATE_OPENSHARING_ENABLED
- FCB_STATE_COLLAPSING_ENABLED
- FCB_STATE_FILESIZECACHEING_ENABLED
- FCB_STATE_FILETIMECACHEING_ENABLED
Beim Beenden von RxChangeBufferingState gibt es keine Änderung des Ressourcenbesitzes.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | rxprocs.h (include Rxprocs.h, Struchdr.h, Fcb.h) |
IRQL | <= APC_LEVEL |
Weitere Informationen
RxIndicateChangeOfBufferingState