L'exécution de MiniDumpWriteDump dans le processus spécifique fournit un fichier de vidage sain.MiniDumpWriteDump (C#) produit des fichiers de vidage de longueur nulle pour un processus spécifique
exécution MiniDumpWriteDump du processus externe, où le point hProcess et processId au processus spécifique mentionné, fournit un fichier de vidage de longueur zéro
Identique # 2 montrant juste FireFox par exemple fournit le fichier de vidage sain
Le processus spécifique que j'essaye de sauvegarder est exécuté avec des privilèges faibles autant que je sache, et mon processus externe est exécuté à partir de la fenêtre Administrateur CMD.
[DllImport("dbghelp.dll",
EntryPoint = "MiniDumpWriteDump",
CallingConvention = CallingConvention.Winapi,
CharSet = CharSet.Unicode,
ExactSpelling = true,
SetLastError = true)]
private static extern bool MiniDumpWriteDump(IntPtr hProcess,
uint processId,
SafeHandle hFile,
uint dumpType,
IntPtr expParam,
IntPtr userStreamParam,
IntPtr callbackParam);
Notes:
- Je rinçage, la fermeture et à bien le flux de fichiers
- MiniDumpWriteDump return false et retourne GetLastWin32Error: -2147024597
- Le processus spécifique mentionné (un point net server project) a les mêmes options de sécurité que FireFox (le vidage fonctionne sur le processus Notepad ++ par exemple).