Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
RxPurgeAllFobxs очищает все структуры FOBX, связанные с мини-перенаправлением сети.
Синтаксис
VOID RxPurgeAllFobxs(
PRDBSS_DEVICE_OBJECT RxDeviceObject
);
Параметры
RxDeviceObject
Указатель на объект устройства мини-перенаправления, для которого необходимо выполнить очистку.
Возвращаемое значение
Никакой
Замечания
При очистке больше нет пользовательских дескрипторов, связанных с объектом файла. В таких случаях интервал времени между закрытием и очисткой определяется дополнительными ссылками, поддерживаемыми диспетчером памяти и диспетчером кэша. RDBSS использует процесс scavenger, выполняемый в отдельном потоке, для очистки ненужных FOBX и других структур.
Мини-перенаправление сети может вызывать RxPurgeAllFobxs и RxScavengeAllFobsx в ответ на событие изменения питания PnP.
Программа RxPurgeAllFobxs получает мьютекс scavenger, проходит ClosePendingFobxsList на объекте scavenger, удалив записи списка, а затем освобождает мьютекс. Если структура FOBX не NULL, RxPurgeAllFobxs будет очищать структуру FOBX и пытаться получить монопольную блокировку связанной структуры FCB. В случае успешного выполнения RxPurgeAllFobxs попытается разыменовать структуру NET_FOBX и разыменовать, завершить и освободить структуру FCB.
При проверенных сборках RxPurgeAllFobxs приводит к тому, что система БУДЕТ УТВЕРЖДАТЬ для ряда условий, включая следующие:
- Элемент FlinkRxScavenger->ClosePendingFobxsList в RxDeviceObject имеет значение NULL.
- Fobx->NodeTypeCode не RDBSS_NTC_FOBX.
- Элементы Flink и Blink для записи списка NULL.
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Настольный |
| заголовка | rxprocs.h (include Rxprocs.h) |
| IRQL | <= APC_LEVEL |