DUMP_WRITE fonction de rappel (ntdddump.h)
La routine de rappel Dump_Write est appelée avant l’écriture dans le pilote de port de vidage. Le pilote de filtre peut accéder aux données de vidage pour le moment.
Syntaxe
DUMP_WRITE DumpWrite;
NTSTATUS DumpWrite(
[in] PFILTER_EXTENSION FilterExtension,
[in, out] PLARGE_INTEGER DiskByteOffset,
[in, out] PMDL Mdl
)
{...}
Paramètres
[in] FilterExtension
Pointeur vers une structure FILTER_EXTENSION .
[in, out] DiskByteOffset
Valeur, en octets, par rapport à la partition de destination pour le vidage sur incident ou la mise en veille prolongée. Les pilotes de filtre ne doivent pas modifier ce champ.
[in, out] Mdl
Pointeur vers une structure MDL qui décrit la mémoire tampon de données. Si le MDL est modifié, la taille de l’opération d’écriture ne peut pas changer.
Valeur retournée
Si la routine réussit, elle doit retourner STATUS_SUCCESS. Sinon, il doit retourner l’une des valeurs d’erreur status définies dans Ntstatus.h.
Remarques
Les pilotes de filtre peuvent lire les données qui doivent être écrites. Toutefois, les pilotes de filtre ne peuvent pas écrire dans la mémoire tampon, car cela pourrait modifier le contenu du code ou des données utilisés par le processus de vidage sur incident. En outre, les pilotes de filtre ne sont pas autorisés à modifier la taille des données.
Pour modifier en toute sécurité les données pour l’écriture de vidage, un pilote de filtre doit allouer une mémoire tampon secondaire. La taille de la mémoire tampon sera la valeur du membre MaxPagesPerWrite de FILTER_INITIALIZATION_DATA multipliée par PAGE_SIZE. Les données de la mémoire tampon actuelle décrite par Mdl sont copiées dans la mémoire tampon secondaire et traitées. Une fois que le filtre a terminé de gérer les données de vidage dans la mémoire tampon secondaire, le MDL pointé par Mdl est mis à jour avec l’adresse de la mémoire tampon secondaire. L’adresse de départ du jeu de mémoires tampons secondaires dans le MDL doit être alignée sur la page.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows Vista et Windows Server 2008. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ntdddump.h (inclure Ntdddump.h) |