CcUnpinRepinnedBcb 函数 (ntifs.h)

CcUnpinRepinnedBcb 例程取消固定重新固定的缓冲区控制块 (BCB) 。

语法

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

参数

[in] Bcb

指向已重新固定的 BCB 的指针。

[in] WriteThrough

如果 BCB 应写入,则设置为 TRUE

[out] IoStatus

指向IO_STATUS_BLOCK结构的指针。 如果对 CcUnpinRepinnedBcb 的调用成功, 则 IoStatus.Status 设置为 STATUS_SUCCESS。 否则,它将设置为相应的 NTSTATUS 错误代码。 IoStatus.Information 设置为成功刷新到磁盘的实际字节数。

返回值

备注

文件系统调用 CcUnpinRepinnedBcb ,将以前固定的缓冲区写入磁盘。

每次对 CcRepinBcb 的调用都必须与对 CcUnpinRepinnedBcb 的后续调用相匹配。

由于 CcUnpinRepinnedBcb 以独占方式获取 BCB 资源,因此调用方必须格外小心,以避免死锁。 如果可能,调用方不应拥有任何资源。 否则,调用方必须保证它没有固定在同一缓存文件中的任何其他内容。 通常,在释放所有其他资源后,在请求完成期间调用 CcUnpinRepinnedBcb

CcUnpinRepinnedBcb 同步写入) 写通请求的缓冲区 (,并取消固定先前调用 CcRepinBcb 后重新固定的 BCB。

要求

要求
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe

另请参阅

CcRepinBcb