次の方法で共有


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 のピン留めを解除します。

要件

要件
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe

こちらもご覧ください

CcRepinBcb