Condividi tramite


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)

Vedere anche

Dump_Read

FILTER_EXTENSION

FILTER_INITIALIZATION_DATA