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 di arresto anomalo o l'ibernazione. I driver di filtro non devono modificare questo campo.
[in, out] Mdl
Puntatore a una struttura MDL che descrive il buffer dei dati. Se il file MDL viene modificato, 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 di errore definiti in Ntstatus.h.
Commenti
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 di 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 file MDL a cui punta Mdl viene aggiornato con l'indirizzo del buffer secondario. L'indirizzo iniziale del buffer secondario impostato in MDL deve essere allineato alla pagina.
Requisiti
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) |