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 |