다음을 통해 공유


RxFinalizeSrvCall 함수(fcb.h)

RxFinalizeSrvCall 은 지정된 SRV_CALL 구조를 완료합니다. 호출자는 디바이스 개체와 연결된 netname 테이블에 대한 배타적 잠금이 있어야 합니다.

구문

BOOLEAN RxFinalizeSrvCall(
  [out] OUT PSRV_CALL ThisSrvCall,
  [in]  IN BOOLEAN    ForceFinalize
);

매개 변수

[out] ThisSrvCall

완료할 SRV_CALL 구조체에 대한 포인터입니다.

[in] ForceFinalize

참조 수에 관계없이 종료를 강제 적용해야 하는지 여부를 나타내는 값입니다.

ForceFinalizeFALSE이면 ThisSrvCall이 가리키는 SRV_CALL 구조체의 NodeReferenceCount 멤버가 1이어야 SRV_CALL 완료됩니다.

반환 값

RxFinalizeSrvCall 은 성공 시 TRUE 를 반환하고, 종료가 발생하지 않은 경우 FALSE 를 반환합니다.

설명

RxFinalizeSrvCall 루틴은 일반적으로 네트워크 미니 리트리버 드라이버에서 직접 호출되지 않습니다. RDBSS는 SRV_CALL 대한 참조 수가 1로 감소할 때 내부적으로 이 루틴을 호출합니다. 또한 RDBSS는 네트워크 미니 리트리버 드라이버가 중지되거나 언로드될 때 RxFinalizeSrvCall 을 호출합니다.

RxFinalizeSrvCall을 호출하기 전에 디바이스 개체와 연결된 netname 테이블에 대한 잠금을 배타적 모드로 획득해야 합니다.

현재 실행 중인 프로세스 ID가 RDBSS 프로세스 ID와 동일한 경우 지연된 작업자 스레드가 디스패치되어 SRV_CALL 구조를 삭제합니다. 이 작업자 스레드는 나중에 네트워크 미니 리다이렉터에서 제공하는 MRxFinalizeSrvCall 루틴을 호출하여 SRV_CALL 완료합니다. 그렇지 않으면 MRxFinalizeSrvCall 루틴이 직접 호출되어 SRV_CALL 완료합니다.

요구 사항

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

추가 정보

MRxFinalizeSrvCall

RxCreateNetFcb

RxCreateNetFobx

RxCreateNetRoot

RxCreateSrvCall

RxCreateSrvOpen

RxCreateVNetRoot

RxDereference

RxFinalizeConnection

RxFinalizeNetFcb

RxFinalizeNetFobx

RxFinalizeNetRoot

RxFinalizeSrvOpen

RxFinalizeVNetRoot

RxFinishFcbInitialization

RxForceFinalizeAllVNetRoots

RxReference

RxSetSrvCallDomainName

RxpDereferenceNetFcb

RxpReferenceNetFcb

SRV_CALL 구조체