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 (include Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |