Функция 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, элемент NodeReferenceCount структуры SRV_CALL, на которую указывает ThisSrvCall , должен иметь значение 1 для завершения SRV_CALL.
Возвращаемое значение
RxFinalizeSrvCall возвращает значение TRUE при успешном выполнении или FALSE , если завершение не произошло:
Комментарии
Подпрограмма RxFinalizeSrvCall обычно не вызывается драйверами сетевого мини-перенаправления напрямую. RDBSS вызывает эту подпрограмму внутренне, когда количество ссылок на SRV_CALL уменьшается до 1. RDBSS также вызывает RxFinalizeSrvCall при остановке или выгрузке драйвера сетевого мини-перенаправления.
Перед вызовом RxFinalizeSrvCall блокировка таблицы netname, связанной с объектом устройства, должна быть получена в монопольном режиме.
Если текущий идентификатор выполняемого процесса совпадает с идентификатором процесса RDBSS, будет отправлен отложенный рабочий поток для уничтожения структуры SRV_CALL. Позже этот рабочий поток вызовет подпрограмму MRxFinalizeSrvCall , предоставляемую сетевым мини-перенаправлением, для завершения SRV_CALL. В противном случае для завершения SRV_CALL будет вызвана подпрограмма MRxFinalizeSrvCall .
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | fcb.h (включая Mrxfcb.h, Fcb.h) |
IRQL | <= APC_LEVEL |