Función RxFinalizeNetRoot (fcb.h)
RxFinalizeNetRoot finaliza la estructura de NET_ROOT especificada. El autor de la llamada debe tener un bloqueo exclusivo en la tabla netname asociada al objeto de dispositivo.
Sintaxis
BOOLEAN RxFinalizeNetRoot(
[out] OUT PNET_ROOT ThisNetRoot,
[in] IN BOOLEAN RecursiveFinalize,
[in] IN BOOLEAN ForceFinalize
);
Parámetros
[out] ThisNetRoot
Puntero a la estructura NET_ROOT que se va a finalizar.
[in] RecursiveFinalize
Valor que indica si la finalización se debe realizar de forma recursiva.
[in] ForceFinalize
Valor que indica si se debe forzar la finalización, independientemente del recuento de referencias.
Si ForceFinalize es FALSE, el miembro NodeReferenceCount de la estructura de NET_ROOT a la que apunta ThisNetRoot debe ser 1 para que se finalice el NET_ROOT.
Valor devuelto
RxFinalizeNetRoot devuelve TRUE si se ha realizado correctamente o FALSE si no se ha producido la finalización: si ya está en proceso una finalización del NET_ROOT, RxFinalizeNetRoot devolverá FALSE.
Comentarios
Normalmente, los controladores de minidirector de red no llaman a la rutina RxFinalizeNetRoot . RDBSS llama a esta rutina internamente cuando el recuento de referencias del NET_ROOT se reduce a 1.
Antes de llamar a RxFinalizeNetRoot, se debe adquirir un bloqueo en la tabla netname asociada al objeto de dispositivo en modo exclusivo.
Si el parámetro RecursiveFinalize es TRUE, RxFinalizeNetRoot purgará las estructuras FCB huérfanas asociadas a este NET_ROOT. Estos FCB huérfanos son estructuras en las que el miembro FcbState tiene la marca FCB_STATE_ORPHANED establecida.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | fcb.h (incluya Fcb.h, Mrxfcb.h) |
IRQL | <= APC_LEVEL |