Funzione RxChangeBufferingState (rxprocs.h)
RxChangeBufferingState viene chiamato per elaborare una richiesta di modifica dello stato di buffering.
Sintassi
NTSTATUS RxChangeBufferingState(
PSRV_OPEN SrvOpen,
PVOID Context,
BOOLEAN ComputeNewState
);
Parametri
SrvOpen
Puntatore alla struttura dei dati SRV_OPEN da modificare.
Context
Puntatore al parametro di contesto da usare dal callback del mini-redirector di rete.
ComputeNewState
Valore che indica se il nuovo stato di buffering deve essere calcolato. Quando questo valore è impostato su TRUE, il nuovo stato di buffering viene determinato chiamando il mini-redirector di rete per calcolare il nuovo stato di buffering. Quando questo valore è FALSE, il nuovo stato di buffering viene determinato dal bufferingFlags membro dell'oggetto passato nella struttura SrvOpen.
Valore restituito
RxChangeBufferingState restituisce sempre STATUS_SUCCESS se la routine ha avuto esito positivo o se si verifica un errore. Se si verifica un errore, lo stato di buffering viene modificato in modo che non sia abilitato alcun buffering.
Osservazioni
Se il buffering locale è disabilitato per questo fcb (FCB_STATE_DISABLE_LOCAL_BUFFERING è impostato nel membro della struttura FcbState del cluster di failover), il buffering locale verrà disabilitato indipendentemente dalla modalità aperta nel fcb e in tutte le opzioni di buffering predefinite. Quando FCB_STATE_DISABLE_LOCAL_BUFFERING è impostato, il nuovo stato di buffering impostato da RxChangeBufferingState sarà disabilitare tutto il buffering.
Se ComputeNewState è TRUE, viene chiamata la routine MRxComputeNewBufferingState esportata dal mini-redirector di rete per calcolare il nuovo stato di buffering da usare.
Se il cluster di failover viene acquisito esclusivamente e ComputeNewState è FALSE. quindi RxChangeBufferingState imposta le opzioni di stato di buffering seguenti:
- 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
All'uscita da RxChangeBufferingState, non viene apportata alcuna modifica alla proprietà della risorsa.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Desktop |
intestazione | rxprocs.h (include Rxprocs.h, Struchdr.h, Fcb.h) |
IRQL | <= APC_LEVEL |
Vedere anche
RxIndicateChangeOfBufferingState