CcFastCopyWrite-Funktion (ntifs.h)
Die CcFastCopyWrite Routine führt einen schnellen Kopiervorgang 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
Zeigen Sie auf ein Dateiobjekt für die zwischengespeicherte Datei, in die die Daten geschrieben werden sollen.
[in] FileOffset
Zeigen Sie auf eine Variable, die den Anfangsbyte-Offset innerhalb der zwischengespeicherten Datei angibt.
[in] Length
Länge in Byte der zu schreibenden Daten.
[in] Buffer
Zeigen Sie auf den Puffer, aus dem die Daten kopiert werden sollen.
Rückgabewert
Nichts
Bemerkungen
CcFastCopyWrite ist eine schnellere Version von CcCopyWrite. Es unterscheidet sich von CcCopyWrite in folgenden Punkten:
FileOffset- ist ein ULONG, kein PLARGE_INTEGER.
Es gibt keinen Wait Parameter. Der Aufrufer muss in der Lage sein, einen Wartezustand einzugeben, bis alle Daten kopiert wurden.
CcFastCopyWrite gibt keinen BOOLEAN zurück, um anzugeben, ob der Schreibvorgang erfolgreich war.
Wenn die erforderlichen Seiten der zwischengespeicherten Datei bereits im Arbeitsspeicher vorhanden sind, werden die Daten sofort kopiert und keine Blockierung erfolgt. Wenn erforderliche Seiten nicht vorhanden sind, wird der Aufrufer in einen Wartezustand versetzt, bis alle erforderlichen Seiten resident 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. Um die Kontrolle zu erlangen, wenn ein Fehler auftritt, sollte der Treiber den Aufruf von CcFastCopyWrite- in einem try-except oder try-finally Anweisung umschließen.
Verwenden Sie zum Zwischenspeichern einer Datei "CcInitializeCacheMap".
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |