Freigeben über


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

Siehe auch

CcCopyWrite-

CcInitializeCacheMap-