RxFinalizeSrvCall 函数 (fcb.h)
RxFinalizeSrvCall 完成给定SRV_CALL结构。 调用方必须在与设备对象关联的 netname 表上具有独占锁。
语法
BOOLEAN RxFinalizeSrvCall(
[out] OUT PSRV_CALL ThisSrvCall,
[in] IN BOOLEAN ForceFinalize
);
参数
[out] ThisSrvCall
指向要完成的SRV_CALL结构的指针。
[in] ForceFinalize
该值指示是否应强制完成,而不考虑引用计数。
如果 ForceFinalize 为 FALSE,则 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 |