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,则 NodeReferenceCountThisSrvCall 指向SRV_CALL结构的成员必须为 1,才能完成SRV_CALL。
返回值
RxFinalizeSrvCall 在成功时返回 true 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 |