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 |