DUMP_WRITE funzione di callback (ntdddump.h)
La routine di callback Dump_Write viene chiamata prima della scrittura nel driver della porta di dump. Il driver di filtro può accedere ai dati di dump in questo momento.
Sintassi
DUMP_WRITE DumpWrite;
NTSTATUS DumpWrite(
[in] PFILTER_EXTENSION FilterExtension,
[in, out] PLARGE_INTEGER DiskByteOffset,
[in, out] PMDL Mdl
)
{...}
Parametri
[in] FilterExtension
Puntatore a una struttura FILTER_EXTENSION.
[in, out] DiskByteOffset
Valore, in byte, relativo alla partizione di destinazione per il dump o l'ibernazione di arresto anomalo del sistema. I driver di filtro non devono modificare questo campo.
[in, out] Mdl
Puntatore a una struttura MDL che descrive il buffer di dati. Se la MDL viene modificata, le dimensioni dell'operazione di scrittura non possono essere modificate.
Valore restituito
Se la routine ha esito positivo, deve restituire STATUS_SUCCESS. In caso contrario, deve restituire uno dei valori di stato dell'errore definiti in Ntstatus.h.
Osservazioni
I driver di filtro possono leggere i dati che devono essere scritti. Tuttavia, i driver di filtro non possono scrivere nel buffer, perché ciò potrebbe modificare il contenuto del codice o dei dati usati dal processo di dump di arresto anomalo del sistema. Inoltre, i driver di filtro non possono modificare le dimensioni dei dati.
Per modificare in modo sicuro i dati per la scrittura dump, un driver di filtro deve allocare un buffer secondario. Le dimensioni del buffer saranno il valore del membro MaxPagesPerWrite di FILTER_INITIALIZATION_DATA moltiplicato per PAGE_SIZE. I dati per il buffer corrente descritto da Mdl vengono copiati nel buffer secondario ed elaborati. Al termine della gestione dei dati di dump nel buffer secondario, il MDL a cui punta Mdl viene aggiornato con l'indirizzo del buffer secondario. L'indirizzo iniziale del buffer secondario impostato nella MDL deve essere allineato alla pagina.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows Vista e Windows Server 2008. |
piattaforma di destinazione | Desktop |
intestazione | ntdddump.h (include Ntdddump.h) |