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 |