DUMP_WRITE Rückruffunktion (ntdddump.h)
Die Dump_Write Rückrufroutine wird aufgerufen, bevor der Schreibvorgang in den Dumpporttreiber erfolgt. Der Filtertreiber kann zurzeit auf die Speicherabbilddaten zugreifen.
Syntax
DUMP_WRITE DumpWrite;
NTSTATUS DumpWrite(
[in] PFILTER_EXTENSION FilterExtension,
[in, out] PLARGE_INTEGER DiskByteOffset,
[in, out] PMDL Mdl
)
{...}
Parameter
[in] FilterExtension
Ein Zeiger auf eine FILTER_EXTENSION Struktur.
[in, out] DiskByteOffset
Der Wert in Bytes relativ zur Zielpartition für das Absturzabbild oder den Ruhezustand. Filtertreiber sollten dieses Feld nicht ändern.
[in, out] Mdl
Ein Zeiger auf eine MDL--Struktur, die den Datenpuffer beschreibt. Wenn die MDL- geändert wird, kann die Größe des Schreibvorgangs nicht geändert werden.
Rückgabewert
Wenn die Routine erfolgreich ist, muss sie STATUS_SUCCESS zurückgeben. Andernfalls muss eine der fehlerstatuswerte zurückgegeben werden, die in Ntstatus.hdefiniert sind.
Bemerkungen
Filtertreiber können die Daten lesen, die geschrieben werden müssen. Filtertreiber können jedoch nicht in den Puffer schreiben, da dadurch der Inhalt des Codes oder der Daten geändert werden kann, die vom Absturzabbildprozess verwendet werden. Außerdem dürfen Filtertreiber die Größe der Daten nicht ändern.
Um die Daten für den Dumpschreibvorgang sicher zu ändern, sollte ein Filtertreiber einen sekundären Puffer zuweisen. Die Größe des Puffers entspricht dem Wert des MaxPagesPerWrite Member von FILTER_INITIALIZATION_DATA multipliziert mit PAGE_SIZE. Die Daten für den aktuellen Puffer, der von Mdl beschrieben wird, werden in den sekundären Puffer kopiert und verarbeitet. Nachdem der Filter die Verarbeitung der Speicherabbilddaten im sekundären Puffer abgeschlossen hat, wird die MDL- auf Mdl mit der Adresse des sekundären Puffers aktualisiert. Die Startadresse des sekundären Puffers, der im MDL- festgelegt ist, muss auf der Seite ausgerichtet sein.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows Vista und Windows Server 2008. |
Zielplattform- | Desktop |
Header- | ntdddump.h (enthalten Ntdddump.h) |