RxIndicateChangeOfBufferingStateForSrvOpen 함수(rxprocs.h)
RxIndicateChangeOfBufferingStateForSrvOpen 은 이후 처리를 위해 변경 버퍼링 상태 요청(예: oplock 중단 표시)을 등록하기 위해 호출됩니다. 필요한 사전 조건이 충족되면 oplock이 추가로 처리됩니다.
구문
void RxIndicateChangeOfBufferingStateForSrvOpen(
PMRX_SRV_CALL SrvCall,
PMRX_SRV_OPEN SrvOpen,
PVOID SrvOpenKey,
PVOID Context
);
매개 변수
SrvCall
SRV_CALL 구조체에 대한 포인터입니다.
SrvOpen
SRV_OPEN 구조체에 대한 포인터입니다.
SrvOpenKey
SRV_OPEN 키 구조의 키에 대한 포인터입니다.
Context
요청을 처리하기 위해 콜백하는 동안 네트워크 미니 리렉터로 다시 전달할 컨텍스트에 대한 포인터입니다.
반환 값
없음
설명
이 루틴은 등록 목록(DPC 수준 처리) 또는 적절한 디스패처/처리기 목록에 삽입하여 변경 버퍼링 상태 요청을 등록합니다.
버퍼링 상태의 서버 변경 표시에서 클라이언트에서 생성된 키를 사용하는 instance(SRV_OPEN 주소 자체가 사용할 수 있는 최상의 키임). 이는 더 이상 조회가 필요하지 않음을 의미합니다.
그러나 이 루틴이 DPC 수준에서 호출되면 조회를 수행해야 하는 것처럼 표시가 처리됩니다.
이 스레드에서 FCB에 대한 리소스를 이미 획득한 경우 버퍼링 상태 변경 표시는 추가 지연 없이 즉시 처리됩니다. 이 경우 RxIndicateChangeOfBufferingStateForSrvOpen 은 RxChangeBufferingState를 즉시 호출합니다.
이 루틴에서 호출하는 내부 루틴은 사용 가능한 메모리가 부족하여(예를 들어 페이징되지 않은 풀 메모리를 할당할 수 없음) 실패할 수 있지만 VOID 루틴이므로 이 조건이 발생할 때 오류가 반환되지 않습니다.
버퍼링 상태 요청을 나중에 처리하기 위해 큐에 대기하는 대신 즉시 처리할 수 있는 경우 RxChangeBufferingState를 호출할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | rxprocs.h(Rxprocs.h, Struchdr.h, Fcb.h 포함) |
IRQL | <= APC_LEVEL |