Funzione RxChangeBufferingState (rxprocs.h)
RxChangeBufferingState viene chiamato per elaborare una richiesta di modifica dello stato del buffer.
Sintassi
NTSTATUS RxChangeBufferingState(
PSRV_OPEN SrvOpen,
PVOID Context,
BOOLEAN ComputeNewState
);
Parametri
SrvOpen
Puntatore alla struttura di dati SRV_OPEN da modificare.
Context
Puntatore al parametro di contesto da usare dal callback del mini-reindirizzamento 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 membro BufferingFlags della struttura SrvOpen passata.
Valore restituito
RxChangeBufferingState restituisce sempre STATUS_SUCCESS se questa routine è riuscita 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.
Commenti
Se il buffer locale è disabilitato per questo fcB (FCB_STATE_DISABLE_LOCAL_BUFFERING è impostato nel membro della struttura FcbState del fcb), il buffer 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 buffer impostato da RxChangeBufferingState sarà quello di disabilitare tutto il buffering.
Se ComputeNewState è TRUE, viene chiamata la routine MRxComputeNewBufferingState esportata dal mini-reindirizzamento di rete per calcolare il nuovo stato di buffer da usare.
Se il fcB viene acquisito esclusivamente e ComputeNewState è FALSE. RxChangeBufferingState imposterà le opzioni di stato di buffer 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 è presente alcuna modifica nella proprietà della risorsa.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | rxprocs.h (include Rxprocs.h, Struchdr.h, Fcb.h) |
IRQL | <= APC_LEVEL |
Vedi anche
RxIndicateChangeOfBufferingState