CcUnpinRepinnedBcb-Funktion (ntifs.h)

Die CcUnpinRepinnedBcb-Routine löst einen umgepinnten Puffersteuerungsblock (BCB).

Syntax

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

Parameter

[in] Bcb

Zeiger auf den umgepinnten BCB.

[in] WriteThrough

Legen Sie auf TRUE fest, wenn der BCB durchgeschrieben 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 ein entsprechender NTSTATUS-Fehlercode festgelegt. IoStatus.Information ist auf die tatsächliche Anzahl von Bytes festgelegt, die erfolgreich auf den Datenträger geleert wurden.

Rückgabewert

Keine

Bemerkungen

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

Jeder Aufruf von CcRepinBcb muss durch einen nachfolgenden Aufruf von CcUnpinRepinnedBcb abgeglichen werden.

Da CcUnpinRepinnedBcb die BCB-Ressource ausschließlich erwirbt, 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 nichts anderes in derselben zwischengespeicherten Datei angeheftet ist. Normalerweise wird CcUnpinRepinnedBcb während der Anforderungsvervollständigung aufgerufen, nachdem alle anderen Ressourcen freigegeben wurden.

CcUnpinRepinnedBcb schreibt synchron den Puffer (für Durchschreibanforderungen) und löst den BCB auf, der durch den vorherigen Aufruf von CcRepinBcb umgepinnt wurde.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ntifs.h (include Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe

Weitere Informationen

CcRepinBcb