CcCopyWrite-Funktion (ntifs.h)

Die CcCopyWrite-Routine kopiert Daten aus einem Benutzerpuffer in eine zwischengespeicherte Datei.

Syntax

BOOLEAN CcCopyWrite(
  [in] PFILE_OBJECT   FileObject,
  [in] PLARGE_INTEGER FileOffset,
  [in] ULONG          Length,
  [in] BOOLEAN        Wait,
  [in] PVOID          Buffer
);

Parameter

[in] FileObject

Ein Zeiger auf ein Dateiobjekt für die zwischengespeicherte Datei, in die die Daten geschrieben werden sollen.

[in] FileOffset

Ein Zeiger auf eine Variable, die den Anfangsbyteversatz innerhalb der zwischengespeicherten Datei angibt.

[in] Length

Die Länge in Bytes der zu schreibenden Daten.

[in] Wait

Legen Sie auf TRUE fest, wenn der Aufrufer in einen Wartezustand versetzt werden kann, bis alle Daten kopiert wurden, andernfalls FALSE .

[in] Buffer

Ein Zeiger auf den Puffer, aus dem die Daten kopiert werden sollen.

Rückgabewert

Die CcCopyWrite-Routine gibt TRUE zurück, wenn die Daten erfolgreich kopiert wurden, andernfalls FALSE .

Hinweise

Wenn "Wait" wahr ist, wird CcCopyWrite garantiert, die Kopieanforderung abzuschließen und TRUE zurückzugeben. Wenn die erforderlichen Seiten der zwischengespeicherten Datei bereits im Arbeitsspeicher vorhanden sind, werden die Daten sofort kopiert, und es tritt keine Blockierung auf. Wenn erforderliche Seiten nicht ansässig sind, wird der Aufrufer in einen Wartezustand versetzt, bis alle erforderlichen Seiten ansässig wurden, und die Daten können kopiert werden.

Wenn "Wait" falsch ist, lehnt CcCopyWrite die Blockierung ab und gibt FALSCH zurück, wenn die erforderlichen Seiten der zwischengespeicherten Datei nicht bereits im Arbeitsspeicher vorhanden sind oder wenn das FO_WRITE_THROUGH Flag für das Dateiobjekt festgelegt ist.

Wenn ein Fehler auftritt, löst CcCopyWrite eine Status ausnahme für diesen bestimmten Fehler aus. Wenn beispielsweise ein Poolzuordnungsfehler auftritt, löst CcCopyWrite eine STATUS_INSUFFICIENT_RESOURCES Ausnahme aus; Wenn ein I/O-Fehler auftritt, löst CcCopyWrite die Status ausnahme des I/O-Fehlers aus. Um die Kontrolle zu erhalten, wenn ein Fehler auftritt, sollte der Treiber den Aufruf von CcCopyWrite in einer Try-except - oder try-finally-Anweisung umschließen.

Um eine Datei zwischenzuspeichern, verwenden Sie CcInitializeCacheMap.

Requirements (Anforderungen)

   
Unterstützte Mindestversion (Client) Verfügbar auf Microsoft Windows 2000 und höher windows-Betriebssystemen.
Zielplattform Universell
Header ntifs.h (include Ntifs.h, FltKernel.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Weitere Informationen

CcInitializeCacheMap