CcCanIWrite-Funktion (ntifs.h)
Die CcCanIWrite Routine bestimmt, ob der Aufrufer in eine zwischengespeicherte Datei schreiben kann.
Syntax
BOOLEAN CcCanIWrite(
[in] PFILE_OBJECT FileObject,
[in] ULONG BytesToWrite,
[in] BOOLEAN Wait,
[in] UCHAR Retrying
);
Parameter
[in] FileObject
Zeigen Sie auf ein Dateiobjekt für die zwischengespeicherte Datei.
[in] BytesToWrite
Anzahl der zu schreibenden Bytes.
[in] Wait
Wird auf TRUE festgelegt, wenn der Aufrufer in einen Wartezustand versetzt werden kann, bis er in die zwischengespeicherte Datei schreiben kann, andernfalls FALSE.
[in] Retrying
Wird auf FALSE festgelegt, wenn dies das erste Mal ist, CcCanIWrite für diese Schreibanforderung aufgerufen wird, andernfalls TRUE.
Rückgabewert
"CcCanIWrite" "TRUE" zurück, wenn der Cache-Manager die Schreibanforderung akzeptieren kann, andernfalls FALSE.
Bemerkungen
CcCanIWrite- sollte aufgerufen werden, bevor CcCopyWrite oder CcFastCopyWriteaufgerufen werden.
Wenn CcCanIWrite TRUE zurückgibt, kann der Aufrufer sofort CcCopyWrite oder CcFastCopyWriteaufrufen.
Wenn CcCanIWrite FALSE zurückgibt, muss der Aufrufer stattdessen CcDeferWrite- aufrufen, um die Schreibanforderung zurückzuweisen.
Im Allgemeinen kann der Cache-Manager eine Schreibanforderung annehmen, wenn die folgenden Bedingungen erfüllt sind:
Die zu schreibende Datenmenge ist nicht zu groß.
Es ist genügend Arbeitsspeicher vorhanden, um den Schreibvorgang auszuführen.
Die Anzahl der geänderten Seiten im Systemcache überschreitet nicht den Schwellenwert für schmutzige Seiten (CcDirtyPageThreshold).
Wenn für diese Datei ein Schwellenwert für schmutzige Seiten pro Datei vorhanden ist, wird er nicht von der Anzahl der geänderten Seiten für diese Datei im Systemcache überschritten.
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 |