Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
se llama a rxChangeBufferingState para procesar una solicitud de cambio de estado de almacenamiento en búfer.
Sintaxis
NTSTATUS RxChangeBufferingState(
PSRV_OPEN SrvOpen,
PVOID Context,
BOOLEAN ComputeNewState
);
Parámetros
SrvOpen
Puntero a la estructura de datos SRV_OPEN que se va a cambiar.
Context
Puntero al parámetro de contexto para que lo use la devolución de llamada del minidirector de red.
ComputeNewState
Valor que indica si se va a calcular el nuevo estado de almacenamiento en búfer. Cuando este valor se establece en TRUE, el nuevo estado de almacenamiento en búfer se determina llamando al minidirector de red para calcular el nuevo estado de almacenamiento en búfer. Cuando este valor es FALSE, el nuevo estado de almacenamiento en búfer viene determinado por el BufferingFlags miembro del pasado en SrvOpen estructura.
Valor devuelto
RxChangeBufferingState siempre devuelve STATUS_SUCCESS si esta rutina se realizó correctamente o si se produce un error. Si se produce un error, se cambia el estado de almacenamiento en búfer para que no se habilite ningún almacenamiento en búfer.
Observaciones
Si el almacenamiento en búfer local está deshabilitado para este FCB (FCB_STATE_DISABLE_LOCAL_BUFFERING se establece en el miembro de la estructura FcbState del FCB), esto deshabilitará el almacenamiento en búfer local independientemente del modo abierto en el FCB y las opciones de almacenamiento en búfer predeterminadas. Cuando se establece FCB_STATE_DISABLE_LOCAL_BUFFERING, el nuevo estado de almacenamiento en búfer establecido por RxChangeBufferingState será deshabilitar todo el almacenamiento en búfer.
Si ComputeNewState es TRUE, se llama a la rutina MRxComputeNewBufferingState exportada por el minidirector de red para calcular el nuevo estado de almacenamiento en búfer que se va a usar.
Si el FCB se adquiere exclusivamente y computeNewState es FALSE. a continuación, RxChangeBufferingState establecerá las siguientes opciones de estado de almacenamiento en búfer:
- 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
Al salir de RxChangeBufferingState, no hay ningún cambio en la propiedad del recurso.
Requisitos
| Requisito | Valor |
|---|---|
| de la plataforma de destino de | Escritorio |
| encabezado de | rxprocs.h (incluya Rxprocs.h, Struchdr.h, Fcb.h) |
| irQL | <= APC_LEVEL |
Consulte también
rxIndicateChangeOfBufferingState
RxIndicateChangeOfBufferingStateForSrvOpen
el estructura de SRV_OPEN