RxFinalizeNetRoot function (fcb.h)
RxFinalizeNetRoot finalizes the given NET_ROOT structure. The caller must have an exclusive lock on the netname table associated with the device object.
Syntax
BOOLEAN RxFinalizeNetRoot(
[out] OUT PNET_ROOT ThisNetRoot,
[in] IN BOOLEAN RecursiveFinalize,
[in] IN BOOLEAN ForceFinalize
);
Parameters
[out] ThisNetRoot
A pointer to the NET_ROOT structure to finalize.
[in] RecursiveFinalize
The value indicating whether the finalization should be done recursively.
[in] ForceFinalize
The value indicating whether the finalization should be forced, regardless of the reference count.
If ForceFinalize is FALSE, then the NodeReferenceCount member of the NET_ROOT structure pointed to by ThisNetRoot must be 1 for the NET_ROOT to be finalized.
Return value
RxFinalizeNetRoot returns TRUE on success or FALSE if the finalization did not occur: If a finalization of the NET_ROOT is already in process, RxFinalizeNetRoot will return FALSE.
Remarks
The RxFinalizeNetRoot routine is not normally called by network mini-redirector drivers directly. RDBSS calls this routine internally when the reference count on the NET_ROOT is decremented to 1.
Before calling RxFinalizeNetRoot, a lock on the netname table associated with the device object must be acquired in exclusive mode.
If the RecursiveFinalize parameter is TRUE, then RxFinalizeNetRoot will purge any orphaned FCB structures associated with this NET_ROOT. These orphaned FCBs are structures where the FcbState member has the FCB_STATE_ORPHANED flag set on.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | fcb.h (include Fcb.h, Mrxfcb.h) |
IRQL | <= APC_LEVEL |