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에 대한 리소스를 이미 획득한 경우 버퍼링 상태 변경 표시는 추가 지연 없이 즉시 처리됩니다. 이 경우 RxIndicateChangeOfBufferingStateForSrvOpenRxChangeBufferingState를 즉시 호출합니다.

이 루틴에서 호출하는 내부 루틴은 사용 가능한 메모리가 부족하여(예를 들어 페이징되지 않은 풀 메모리를 할당할 수 없음) 실패할 수 있지만 VOID 루틴이므로 이 조건이 발생할 때 오류가 반환되지 않습니다.

버퍼링 상태 요청을 나중에 처리하기 위해 큐에 대기하는 대신 즉시 처리할 수 있는 경우 RxChangeBufferingState를 호출할 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 rxprocs.h(Rxprocs.h, Struchdr.h, Fcb.h 포함)
IRQL <= APC_LEVEL

추가 정보

RX_CONTEXT

RxChangeBufferingState

RxIndicateChangeOfBufferingState