共用方式為


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 的呼叫都必須比對 CcUnpinRepinRepinnedBcb 的後續呼叫。

因為 CcUnpinRepinnedBcb 以獨佔方式取得 BCB 資源,所以呼叫端必須非常小心,以避免死結。 可能的話,呼叫端不應該擁有任何資源。 否則,呼叫端必須保證它沒有任何其他釘選在相同快取的檔案中。 一般而言,在要求完成期間呼叫 CcUnpinRepinnedBcb ,在所有其他資源都已釋放之後。

CcUnpinRepinnedBcb 會同步寫入緩衝區 (以進行寫入要求) ,並取消釘選先前呼叫 CcRepinBcb 所重新釘選的 BCB。

規格需求

需求
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe

另請參閱

CcRepinBcb