RxFinalizeVNetRoot 함수(fcb.h)
RxFinalizeVNetRoot 지정된 V_NET_ROOT 구조를 완료합니다. 호출자는 디바이스 개체와 연결된 netname 테이블에 배타적 잠금이 있어야 합니다.
통사론
BOOLEAN RxFinalizeVNetRoot(
[out] OUT PV_NET_ROOT ThisVNetRoot,
[in] IN BOOLEAN RecursiveFinalize,
[in] IN BOOLEAN ForceFinalize
);
매개 변수
[out] ThisVNetRoot
완료할 V_NET_ROOT 구조체에 대한 포인터입니다.
[in] RecursiveFinalize
재귀적으로 종료를 수행해야 하는지 여부를 나타내는 값입니다. 이 매개 변수는 현재 사용되지 않습니다.
[in] ForceFinalize
참조 수에 관계없이 종료를 강제 적용할지 여부를 나타내는 값입니다.
ForceFinalize FALSE 경우 V_NET_ROOT 완료하려면 ThisVNetRoot 가리키는 V_NET_ROOT 구조의 NodeReferenceCount 멤버가 1이어야 합니다.
반환 값
RxFinalizeVNetRoot 성공 시 TRUE 반환하거나 종료가 발생하지 않은 경우 FALSE .
발언
RxFinalizeVNetRoot 루틴은 일반적으로 네트워크 미니 리렉터 드라이버에서 직접 호출되지 않습니다. RDBSS는 V_NET_ROOT 대한 참조 수가 1로 감소할 때 내부적으로 이 루틴을 호출합니다.
RxFinalizeConnection Level 매개 변수가 TRUE 설정된 경우 RxFinalizeVNetRootRxFinalizeConnection 루틴에서도 호출됩니다. RxFinalizeConnection 일반적으로 사용자 모드에서 사용자 지정 IOCTL 요청을 수신하는 응답으로 네트워크 미니 리디렉션기 드라이버에 의해 호출됩니다. 예를 들어 사용자는 명령줄에서 "NET USE x: /d"를 실행하여 공유를 삭제할 수 있습니다. 이 요청은 네트워크 미니 리디렉션자가 제공하는 네트워크 공급자 DLL을 통해 네트워크 미니 리디렉션자 커널 드라이버로 전송된 사용자 지정 IOCTL 요청에 매핑됩니다. 이 요청은 RxFinalizeConnection 루틴을 호출하여 연결 및 연결된 V_NET_ROOT 구조를 삭제합니다.
RxFinalizeVNetRootRxForceFinalizeAllVNetRoots 루틴에서 호출되어 NET_ROOT 구조와 연결된 각 V_NET_ROOT 완료합니다.
RxFinalizeVNetRoot호출하기 전에 디바이스 개체와 연결된 netname 테이블에 대한 잠금을 단독 모드로 획득해야 합니다.
V_NET_ROOT UpperFinalization 멤버가 0이면 RxFinalizeVNetRoot 이 V_NET_ROOT 연결된 NET_ROOT 속한 모든 FCB를 반복하고 V_NET_ROOT 연결된 모든 SRV_OPEN 구조를 분리합니다.
RxFinalizeVNetRootMRxFinalizeVNetRoot 루틴을 호출하여 V_NET_ROOT 구조체의 메모리가 해제되기 전에 V_NET_ROOT 완료합니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 바탕 화면 |
헤더 | fcb.h(Mrxfcb.h, Fcb.h 포함) |
IRQL | <= APC_LEVEL |