Функция RxFinalizeConnection (rxprocs.h)
RxFinalizeConnection удаляет подключение к общей папке. Все файлы, открытые при подключении, закрываются в зависимости от указанного уровня силы. Мини-перенаправитель сети может сохранить транспортное подключение открытым для повышения производительности, если не указан какой-то параметр для принудительного закрытия подключения.
Синтаксис
NTSTATUS RxFinalizeConnection(
IN OUT PNET_ROOT NetRoot,
IN OUT PV_NET_ROOT VNetRoot,
IN LOGICAL ForceFilesClosed
);
Параметры
NetRoot
[вход, выход] Указатель на завершаемую структуру NET_ROOT.
VNetRoot
Указатель на завершаемую структуру V_NET_ROOT.
ForceFilesClosed
Флаг, управляющий поведением подпрограммы RxFinalizeConnection . Флаг может иметь одно из следующих значений:
- ИСТИННЫЙ
- ЛОЖНЫХ
- 0xff
RxFinalizeConnection выполняется успешно, даже если потерянные файлы и запросы IRP_MN_NOTIFY_CHANGE_DIRECTORY открыты. Параметр принудительно закрывает эти потерянные файлы.
RxFinalizeConnection завершается сбоем , если открыты файлы или уведомления об изменениях.
RxFinalizeConnection удаляет дополнительную ссылку на структуру V_NET_ROOT из-за запроса на добавление подключения, но в противном случае действует как FALSE. RxFinalizeConnection завершается сбоем , если открыты файлы или уведомления об изменениях.
Возвращаемое значение
RxFinalizeConnection возвращает STATUS_SUCCESS об успешном выполнении или один из следующих кодов ошибок при сбое:
Код возврата | Описание |
---|---|
|
Элемент Flags структуры RX_CONTEXT указывает, что IRP был отменен. |
|
Подключение по-прежнему используется. |
|
Файл был открыт, поэтому удаленное подключение не должно быть удалено. |
|
Монопольная блокировка связанного объекта |
Комментарии
RxFinalizeConnection обычно вызывается драйвером сетевого мини-перенаправления в ответ на получение пользовательского запроса IOCTL из пользовательского режима. Например, пользователь может выполнить из командной строки "NET USE x: /d", чтобы удалить общую папку. Этот запрос будет сопоставлен с помощью библиотеки DLL поставщика сети, предоставленной мини-перенаправлением сети, с пользовательским запросом IOCTL, отправленным драйверу ядра сетевого мини-перенаправления, который вызывает подпрограмму RxFinalizeConnection для удаления подключения.
RxFinalizeConnection отменяет все невыполненные запросы для данной структуры V_NET_ROOT. Эти V_NET_ROOT структуры создаются и удаляются независимо от файлов, которые открываются и обрабатываются с ними. Поэтому при попытке удаления необходимо отменить все невыполненные запросы.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | rxprocs.h (включая Rxprocs.h) |
IRQL | <= APC_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по