共用方式為


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

另請參閱

CcRepinBcb