Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
RxPurgeRelatedFobxs очищает все структуры FOBX, связанные со структурой NET_ROOT.
Синтаксис
NTSTATUS RxPurgeRelatedFobxs(
PNET_ROOT NetRoot,
PRX_CONTEXT RxContext,
BOOLEAN AttemptFinalization,
PFCB PurgingFcb
);
Параметры
NetRoot
Указатель на NET_ROOT структуру, для которой необходимо очистить структуры FOBX.
RxContext
Указатель на структуру RX_CONTEXT.
AttemptFinalization
Логическое значение, указывающее, должна ли происходить попытка завершить и освободить связанную структуру FCB.
PurgingFcb
Указатель на структуру FCB, для которой должна происходить очистка.
Возвращаемое значение
RxPurgeRelatedFobxs возвращает STATUS_SUCCESS при успешном выполнении или одном из следующих значений ошибок при сбое:
| Возвращаемый код | Описание |
|---|---|
|
Не удалось очистить связанные структуры FOBX. |
Замечания
При очистке больше нет пользовательских дескрипторов, связанных с объектом файла. В таких случаях интервал времени между закрытием и очисткой определяется дополнительными ссылками, поддерживаемыми диспетчером памяти и диспетчером кэша. При очистке FOBX помещается в закрывающийся список и удаляется из соответствующего списка при получении операции закрытия. В промежуточном режиме, если открытая операция завершается ошибкой с состоянием ACCESS_DENIED, RDBSS может принудительно очистить структуру FOBX. Это синхронная операция.
Для переименования каталога все файлы в каталоге должны быть закрыты. Мини-перенаправление сети может вызывать RxPurgeRelatedFobxs и RxScavengeFobxsForNetRoot в ответ на запрос IRP_MJ_SET_INFORMATION переименовать каталог. Передав структуру NET_ROOT для каталога и NULL FCB, все структуры FOBX, связанные с каталогом, будут очищаться и очищаться.
RxPurgeRelatedFobxs подпрограмма пытается очистить все структуры FOBX, которые имели закрытую операцию до получения запроса на очистку. RxPurgeRelatedFobxs подпрограмма получает мьютекс scavenger, проходит ClosePendingFobxsList элемент на объекте scavenger, удаляя записи списка, а затем освобождает мьютекс.
Если TryFinalize задано значение TRUE, RxPurgeRelatedFobxs попытается завершить работу и освободить связанный FCB.
Если PFCB не NULL, и эта очистка структуры FCB не совпадает со структурой FCB, связанной с FOBX на ClosePendingFobxsList, затем RxPurgeRelatedFobxs вызовет подпрограмму обратного вызова MRxAreFilesAliased, предоставляемую мини-перенаправлением сети, если эта подпрограмма поддерживается. Вызов MRxAreFilesAliased заключается в том, чтобы определить, является ли PFCB псевдонимом для FCB, связанного со структурой FOBX.
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | Настольный |
| заголовка | scavengr.h (include Rxprocs.h) |
| IRQL | <= APC_LEVEL |