PMRX_CHANGE_BUFFERING_STATE_CALLDOWN 콜백 함수(mrx.h)
TheMRxCompleteBufferingStateChangeRequest 루틴은 버퍼링 상태 변경 요청이 완료되었음을 네트워크 미니 리디렉터에 알리기 위해 RDBSS에서 호출됩니다.
구문
PMRX_CHANGE_BUFFERING_STATE_CALLDOWN PmrxChangeBufferingStateCalldown;
NTSTATUS PmrxChangeBufferingStateCalldown(
[in, out] IN OUT PRX_CONTEXT RxContext,
[in, out] IN OUT PMRX_SRV_OPEN SrvOpen,
[in] IN PVOID MRxContext
)
{...}
매개 변수
[in, out] RxContext
RX_CONTEXT 구조체에 대한 포인터입니다. 이 매개 변수에는 작업을 요청하는 IRP가 포함됩니다.
[in, out] SrvOpen
네트워크 미니 리렉터 콜백 루틴에서 사용할 컨텍스트 매개 변수에 대한 포인터입니다.
[in] MRxContext
변경할 SRV_OPEN 구조체 및 연결된 FCB 구조체에 대한 포인터입니다.
반환 값
MRxCompleteBufferingStateChangeRequest 는 성공 시 STATUS_SUCCESS 반환하거나 다음과 같은 적절한 NTSTATUS 값을 반환합니다.
| 반환 코드 | 설명 |
|---|---|
|
버퍼링 요청 변경의 옵션은 지원되지 않습니다. |
설명
MRxCompleteBufferingStateChangeRequest를 호출하기 전에 RDBSS:
- FCB 구조체에 대한 배타적 잠금을 획득합니다.
- SrvOpen->Fcb의 FcbState 멤버를 FCB_STATE_BUFFERSTATE_CHANGING 설정합니다.
-
RxContext 매개 변수가 가리키는 RX_CONTEXT 구조체에서 다음 멤버를 수정합니다.
- pRelevantSrvOpen 은 SRV_OPEN 구조체로 설정됩니다.
- pFcb 는 FCB 구조체로 설정됩니다.
- pFobx 는 FOBX 구조체로 설정됩니다.
SMB(서버 메시지 블록) 리디렉션기는 MRxCompleteBufferingStateChangeRequest 를 사용하여 oplock 중단 응답을 보내거나 파일이 더 이상 사용되지 않는 경우 oplock 중단에서 핸들을 닫습니다. 서버로 플러시해야 하는 바이트 범위 잠금은 RX_CONTEXT 구조체의 LowIoContext.ParamsFor.Locks.LockList 멤버의 네트워크 미니 리디렉션자에 전달됩니다. 새 oplock 수준은 MrxContext 매개 변수에 전달됩니다.
RDBSS는 MRxCompleteBufferingStateChangeRequest의 반환 값을 무시합니다.
요구 사항
| 대상 플랫폼 | 데스크톱 |
| 헤더 | mrx.h(Mrx.h 포함) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기