CcFastCopyWrite-Funktion (ntifs.h)
Die CcFastCopyWrite-Routine führt einen schnellen Kopierschreibvorgang aus einem Puffer im Arbeitsspeicher in eine zwischengespeicherte Datei durch.
Syntax
void CcFastCopyWrite(
[in] PFILE_OBJECT FileObject,
[in] ULONG FileOffset,
[in] ULONG Length,
[in] PVOID Buffer
);
Parameter
[in] FileObject
Zeiger auf ein Dateiobjekt für die zwischengespeicherte Datei, in die die Daten geschrieben werden sollen.
[in] FileOffset
Zeiger auf eine Variable, die den Anfangsbyteoffset in der zwischengespeicherten Datei angibt.
[in] Length
Länge der zu schreibenden Daten in Bytes.
[in] Buffer
Zeiger auf den Puffer, aus dem die Daten kopiert werden sollen.
Rückgabewert
Keine
Bemerkungen
CcFastCopyWrite ist eine schnellere Version von CcCopyWrite. Es unterscheidet sich von CcCopyWrite in den folgenden Punkten:
FileOffset ist ein ULONG, kein PLARGE_INTEGER.
Es gibt keinen Wait-Parameter . Der Aufrufer muss in der Lage sein, einen Wartezustand zu wechseln, bis alle Daten kopiert wurden.
CcFastCopyWrite gibt keinen BOOLEAN zurück, um anzugeben, ob der Schreibvorgang erfolgreich war.
Wenn sich die erforderlichen Seiten der zwischengespeicherten Datei bereits im Arbeitsspeicher befinden, werden die Daten sofort kopiert, und es erfolgt keine Blockierung. Wenn keine benötigten Seiten 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 ein Fehler auftritt, löst CcFastCopyWrite eine status Ausnahme für diesen bestimmten Fehler aus. Wenn beispielsweise ein Poolzuordnungsfehler auftritt, löst CcFastCopyWrite eine STATUS_INSUFFICIENT_RESOURCES Ausnahme aus. Wenn ein E/A-Fehler auftritt, löst CcFastCopyWrite die status Ausnahme des E/A-Fehlers aus. Daher sollte der Treiber den Aufruf von CcFastCopyWrite in einer try-except- oder try-finally-Anweisung umschließen, um die Kontrolle zu erlangen, wenn ein Fehler auftritt.
Um eine Datei zwischenzuspeichern, verwenden Sie CcInitializeCacheMap.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | ntifs.h (include Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
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