다음을 통해 공유


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

참고 항목

RX_CONTEXT

RxChangeBufferingState

RxIndicateChangeOfBufferingState