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 Anfangsbyteoffset innerhalb der zwischengespeicherten Datei angibt.
[in] Length
Die Länge der zu schreibenden Daten in Bytes.
[in] Wait
Legen Sie diesen Wert 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 Waitauf TRUE festgelegt ist, wird von CcCopyWrite garantiert, dass die Kopieranforderung abgeschlossen und TRUE zurückgegeben wird. Wenn sich die erforderlichen Seiten der zwischengespeicherten Datei bereits im Arbeitsspeicher befinden, werden die Daten sofort kopiert, und es erfolgt keine Blockierung. Wenn erforderliche Seiten nicht vorhanden sind, wird der Aufrufer in einen Wartezustand versetzt, bis alle erforderlichen Seiten als "resident" festgelegt wurden und die Daten kopiert werden können.
Wenn Waitauf FALSE festgelegt ist, lehnt CcCopyWrite das Blockieren ab und gibt FALSE 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 E/A-Fehler auftritt, löst CcCopyWrite die status Ausnahme des E/A-Fehlers aus. Daher sollte der Treiber den Aufruf von CcCopyWrite in eine try-except- oder try-finally-Anweisung umschließen, um kontrolle zu erhalten, wenn ein Fehler auftritt.
Verwenden Sie CcInitializeCacheMap, um eine Datei zwischenzuspeichern.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 |
Zielplattform | Universell |
Header | ntifs.h (include Ntifs.h, FltKernel.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für