Función RxFinalizeSrvCall (fcb.h)
RxFinalizeSrvCall finaliza la estructura de SRV_CALL especificada. El autor de la llamada debe tener un bloqueo exclusivo en la tabla netname asociada al objeto de dispositivo.
Sintaxis
BOOLEAN RxFinalizeSrvCall(
[out] OUT PSRV_CALL ThisSrvCall,
[in] IN BOOLEAN ForceFinalize
);
Parámetros
[out] ThisSrvCall
Puntero a la estructura SRV_CALL que se va a finalizar.
[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 SRV_CALL a la que apunta ThisSrvCall debe ser 1 para que se finalice el SRV_CALL.
Valor devuelto
RxFinalizeSrvCall devuelve TRUE si se ha realizado correctamente o FALSE si no se ha producido la finalización:
Comentarios
Normalmente, los controladores de minidirector de red no llaman a la rutina RxFinalizeSrvCall . RDBSS llama a esta rutina internamente cuando el recuento de referencias en el SRV_CALL se reduce a 1. RDBSS también llama a RxFinalizeSrvCall cuando el controlador minidirector de red se detiene o descarga.
Antes de llamar a RxFinalizeSrvCall, se debe adquirir un bloqueo en la tabla netname asociada al objeto device en modo exclusivo.
Si el identificador de proceso en ejecución actual es el mismo que el identificador de proceso de RDBSS, se enviará un subproceso de trabajo retrasado para destruir la estructura de SRV_CALL. Este subproceso de trabajo llamará posteriormente a la rutina MRxFinalizeSrvCall proporcionada por el minidirector de red para finalizar la SRV_CALL. De lo contrario, se llamará directamente a la rutina MRxFinalizeSrvCall para finalizar la SRV_CALL.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | fcb.h (incluya Mrxfcb.h, Fcb.h) |
IRQL | <= APC_LEVEL |