Freigeben über


FsRtlMdlWriteCompleteDev-Funktion (ntifs.h)

Die FsRtlMdlWriteCompleteDev Routine gibt die Ressourcen frei, die FsRtlPrepareMdlWriteDev zugeordnet.

Syntax

BOOLEAN FsRtlMdlWriteCompleteDev(
  [in]             PFILE_OBJECT   FileObject,
  [in]             PLARGE_INTEGER FileOffset,
  [in]             PMDL           MdlChain,
  [ in, optional ] PDEVICE_OBJECT DeviceObject
);

Parameter

[in] FileObject

Ein Zeiger auf das Dateiobjekt.

[in] FileOffset

Ein Zeiger auf einen Wert, der den Anfangsbyte-Offset innerhalb des Caches angibt, der die Daten enthält.

[in] MdlChain

Ein Zeiger auf eine verknüpfte Liste der Speicherdeskriptorlisten (MDLs), die FsRtlPrepareMdlWriteDev zugeordnet.

[ in, optional ] DeviceObject

Ein Zeiger auf ein Geräteobjekt, auf dem die Datei geöffnet wird.

Rückgabewert

Die FsRtlMdlWriteCompleteDev Routine gibt TRUE- zurück, wenn der Vorgang erfolgreich ist, und FALSE, wenn der Vorgang fehlschlägt oder wenn das FO_WRITE_THROUGH Flag im Dateiobjekt festgelegt ist.

Bemerkungen

Die FsRtlMdlWriteCompleteDev Routine gibt die Speicherdeskriptorlisten (MDLs) frei , die fsRtlPrepareMdlWriteDev zugeordnet und entsperrt den Cachespeicher, der fsRtlPrepareMdlWriteDev gesperrt .

Wenn das FO_WRITE_THROUGH Flag für das Dateiobjekt festgelegt ist, auf das durch den parameter FileObject verwiesen wird, FsRtlMdlWriteCompleteDev sofort den zwischengespeicherten Speicher auf den Datenträger leeren. Dieser Leervorgang wechselt erneut in das Dateisystem und kann dazu führen, dass FsRtlMdlWriteCompleteDev- eine Ausnahme auslöst, wenn der Löschvorgang fehlschlägt.

Jedem Aufruf von FsRtlPrepareMdlWriteDev muss ein Aufruf von FsRtlMdlWriteCompleteDevfolgen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows 8.
Zielplattform- Universal
Header- ntifs.h (einschließlich Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Siehe auch

FsRtlPrepareMdlWriteDev