RxChangeBufferingState 함수(rxprocs.h)
RxChangeBufferingState 버퍼링 상태 변경 요청을 처리하기 위해 호출됩니다.
통사론
NTSTATUS RxChangeBufferingState(
PSRV_OPEN SrvOpen,
PVOID Context,
BOOLEAN ComputeNewState
);
매개 변수
SrvOpen
변경할 SRV_OPEN 데이터 구조에 대한 포인터입니다.
Context
네트워크 미니 리제이렉터 콜백에서 사용할 컨텍스트 매개 변수에 대한 포인터입니다.
ComputeNewState
새 버퍼링 상태를 계산할지를 나타내는 값입니다. 이 값이 TRUE 설정되면 새 버퍼링 상태는 네트워크 미니 리다이렉터를 호출하여 새 버퍼링 상태를 계산하여 결정됩니다. 이 값이 FALSE 경우 새 버퍼링 상태는 SrvOpen 구조에 전달된 BufferingFlags 멤버에 의해 결정됩니다.
반환 값
RxChangeBufferingState 항상 이 루틴이 성공했는지 또는 오류가 발생했는지에 STATUS_SUCCESS 반환합니다. 오류가 발생하면 버퍼링이 활성화되지 않도록 버퍼링 상태가 변경됩니다.
발언
이 FCB에 대해 로컬 버퍼링을 사용하지 않도록 설정한 경우(FCB_STATE_DISABLE_LOCAL_BUFFERING FCB의 FcbState 구조체 멤버에서 설정됨) FCB의 열린 모드와 기본 버퍼링 옵션에 관계없이 로컬 버퍼링을 사용하지 않도록 설정합니다. FCB_STATE_DISABLE_LOCAL_BUFFERING 설정되면 RxChangeBufferingState 설정된 새 버퍼링 상태는 모든 버퍼링을 사용하지 않도록 설정하는 것입니다.
ComputeNewState TRUE 경우 네트워크 미니 리트리버에서 내보낸 MRxComputeNewBufferingState 루틴이 호출되어 사용할 새 버퍼링 상태를 계산합니다.
FCB를 단독으로 획득하고 ComputeNewState 경우 FALSE . 그런 다음 RxChangeBufferingState 다음 버퍼링 상태 옵션을 설정합니다.
- 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
RxChangeBufferingState종료할 때 리소스 소유권은 변경되지 않습니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 바탕 화면 |
헤더 | rxprocs.h(Rxprocs.h, Struchdr.h, Fcb.h 포함) |
IRQL | <= APC_LEVEL |
참고 항목
RxIndicateChangeOfBufferingState