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 例程。 当SRV_CALL的引用计数减为 1 时,RDBSS 在内部调用此例程。 当网络微型重定向程序驱动程序停止或卸载时,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结构