Функция CcUnpinRepinnedBcb (ntifs.h)

Подпрограмма CcUnpinRepinnedBcb открепить блок управления буфером (BCB).

Синтаксис

void CcUnpinRepinnedBcb(
  [in]  PVOID            Bcb,
  [in]  BOOLEAN          WriteThrough,
  [out] PIO_STATUS_BLOCK IoStatus
);

Параметры

[in] Bcb

Указатель на восстановленную bcb.

[in] WriteThrough

Установите значение TRUE , если необходимо записать bcb.

[out] IoStatus

Указатель на структуру IO_STATUS_BLOCK. Если вызов CcUnpinRepinnedBcb выполнен успешно, ioStatus.Status имеет значение STATUS_SUCCESS. В противном случае устанавливается соответствующий код ошибки NTSTATUS. IoStatus.Information — это фактическое число байтов, которые были успешно выброшены на диск.

Возвращаемое значение

None

Remarks

Файловые системы вызывают CcUnpinRepinnedBcb для записи ранее закрепленного буфера на диск.

Каждый вызов CcRepinBcb должен соответствовать последующему вызову CcUnpinRepinnedBcb.

Так как CcUnpinRepinnedBcb получает исключительно ресурс BCB, вызывающий объект должен быть очень осторожным, чтобы избежать взаимоблокировок. По возможности вызывающий объект не должен владеть ресурсами. В противном случае вызывающий объект должен гарантировать, что в том же кэшированном файле ничего не закреплено. Обычно ccUnpinRepinnedBcb вызывается во время выполнения запроса после освобождения всех остальных ресурсов.

CcUnpinRepinnedBcb синхронно записывает буфер (для запросов через запись) и открепляет BCB, повторно закрепленный при предыдущем вызове CcRepinBcb.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe

См. также раздел

CcRepinBcb