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 수준 처리) 또는 적절한 디스패처/처리기 목록에 삽입하여 변경 버퍼링 상태 요청을 등록합니다.
이는 버퍼링 상태에서 서버의 변경 표시에서 클라이언트에서 생성된 키를 사용하는 인스턴스입니다(SRV_OPEN 주소 자체는 사용할 수 있는 최상의 키입니다). 이는 더 이상 조회가 필요하지 않음을 의미합니다.
그러나 이 루틴이 DPC 수준에서 호출되면 조회를 수행해야 하는 것처럼 표시가 처리됩니다.
이 스레드에서 FCB에 대한 리소스를 이미 획득한 경우 버퍼링 상태 변경 표시는 추가 지연 없이 즉시 처리됩니다. RxIndicateChangeOfBufferingStateForSrvOpen 이 경우 즉시 RxChangeBufferingState 호출합니다.
이 루틴에서 호출하는 내부 루틴은 사용 가능한 메모리 부족(예: 페이징되지 않은 풀 메모리를 할당할 수 없음)으로 인해 실패할 수 있지만 VOID 루틴이므로 이 조건이 발생할 때 오류가 반환되지 않습니다.
나중에 처리를 위해 큐에 대기하는 대신 버퍼링 상태 요청을 즉시 처리할 수 있는 경우 RxChangeBufferingState 호출할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 바탕 화면 |
헤더 | rxprocs.h(Rxprocs.h, Struchdr.h, Fcb.h 포함) |
IRQL | <= APC_LEVEL |