Freigeben über


CcUnpinRepinnedBcb-Funktion (ntifs.h)

Die CcUnpinRepinnedBcb Routine lösen einen gehefteten Puffersteuerelementblock (BCB) auf.

Syntax

void CcUnpinRepinnedBcb(
  [in]  PVOID            Bcb,
  [in]  BOOLEAN          WriteThrough,
  [out] PIO_STATUS_BLOCK IoStatus
);

Parameter

[in] Bcb

Zeiger auf den repinnierten BCB.

[in] WriteThrough

Legen Sie auf TRUE- fest, wenn der BCB durch geschrieben werden soll.

[out] IoStatus

Zeiger auf eine IO_STATUS_BLOCK Struktur. Wenn der Aufruf von CcUnpinRepinnedBcb erfolgreich ist, wird IoStatus.Status- auf STATUS_SUCCESS festgelegt. Andernfalls wird er auf einen entsprechenden NTSTATUS-Fehlercode festgelegt. IoStatus.Information wird auf die tatsächliche Anzahl der Bytes festgelegt, die erfolgreich auf den Datenträger geleert wurden.

Rückgabewert

Nichts

Bemerkungen

Dateisysteme rufen CcUnpinRepinnedBcb- auf, um einen zuvor angehefteten Puffer über einen Datenträger zu schreiben.

Jeder Aufruf von CcRepinBcb muss mit einem nachfolgenden Aufruf von CcUnpinRepinnedBcbabgeglichen werden.

Da CcUnpinRepinnedBcb ausschließlich die BCB-Ressource abruft, muss der Aufrufer äußerst vorsichtig sein, um Deadlocks zu vermeiden. Wenn möglich, sollte der Aufrufer keine Ressourcen besitzen. Andernfalls muss der Aufrufer garantieren, dass er nichts anderes in derselben zwischengespeicherten Datei angeheftet hat. Normalerweise wird CcUnpinRepinnedBcb während des Anforderungsabschlusses aufgerufen, nachdem alle anderen Ressourcen freigegeben wurden.

CcUnpinRepinnedBcb den Puffer synchron schreibt (für Schreib-Through-Anforderungen) und löst den BCB, der vom vorherigen Aufruf an CcRepinBcbangeheftet wurde.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe

Siehe auch

CcRepinBcb-