Partager via


PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH fonction de rappel (werapi.h)

Rapport d'erreurs Windows (WER) appelle cette fonction pour vous permettre de personnaliser les options de lancement et la chaîne de lancement du débogueur.

Le type PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH définit un pointeur vers cette fonction de rappel. Vous devez utiliser « OutOfProcessExceptionEventDebuggerLaunchCallback » comme nom de la fonction de rappel.

Syntaxe

PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH PfnWerRuntimeExceptionDebuggerLaunch;

HRESULT PfnWerRuntimeExceptionDebuggerLaunch(
  [in]      PVOID pContext,
  [in]      const PWER_RUNTIME_EXCEPTION_INFORMATION pExceptionInformation,
  [out]     PBOOL pbIsCustomDebugger,
  [out]     PWSTR pwszDebuggerLaunch,
  [in, out] PDWORD pchDebuggerLaunch,
  [out]     PBOOL pbIsDebuggerAutolaunch
)
{...}

Paramètres

[in] pContext

Pointeur vers des informations de contexte arbitraires que vous avez spécifiées lorsque vous avez appelé la fonction WerRegisterRuntimeExceptionModule pour inscrire le gestionnaire d’exceptions.

[in] pExceptionInformation

Structure WER_RUNTIME_EXCEPTION_INFORMATION qui contient les informations d’exception.

[out] pbIsCustomDebugger

Définissez sur TRUE si le débogueur personnalisé spécifié dans le paramètre pwszDebuggerLaunch est utilisé pour déboguer l’incident ; sinon, définissez sur FALSE pour utiliser le débogueur par défaut. Si vous définissez ce paramètre sur FALSE, ne définissez pas le paramètre pwszDebuggerLaunch .

[out] pwszDebuggerLaunch

Mémoire tampon allouée à l’appelant que vous utilisez pour spécifier la chaîne de lancement du débogueur utilisée pour lancer le débogueur. La chaîne de lancement doit inclure le chemin d’accès complet au débogueur et les arguments éventuels. Si un argument comprend plusieurs mots, utilisez des guillemets pour délimiter l’argument. La chaîne du débogueur doit respecter le même protocole que la chaîne de débogueur AeDebug par défaut (voir Configuration du débogage automatique). La chaîne doit contenir deux spécificateurs de mise en forme : %ld pour l’ID de processus d’incident et %ld pour que le handle à un objet d’événement soit signalé après que le débogueur personnalisé a attaché à la cible (pour obtenir une description de ces spécificateurs, consultez Activation du débogage post-mortem). Toutefois, les débogueurs personnalisés peuvent choisir d’ignorer ces paramètres.

[in, out] pchDebuggerLaunch

Taille, en caractères, de la mémoire tampon pwszDebuggerLaunch .

[out] pbIsDebuggerAutolaunch

Définissez sur TRUE si vous souhaitez que WER lance le débogueur en mode silencieux ; sinon, FALSE si vous souhaitez que WER demande à l’utilisateur avant de lancer le débogueur.

Valeur retournée

Retournez S_OK, même si aucun débogueur client ne doit être utilisé. Si vous retournez d’autres codes d’échec, WER revient à son comportement de rapport d’incident par défaut.

Notes

Vous devez implémenter cette fonction dans votre DLL de gestionnaire d’exceptions.

WER utilise cette fonction pour déterminer quel débogueur lancer et s’il faut lancer le débogueur automatiquement ou demander à l’utilisateur avant de lancer le débogueur. La spécification d’un débogueur personnalisé remplace la chaîne de lancement par défaut (la clé de Registre AeDebug contient la chaîne de lancement par défaut).

WER appelle cette fonction de rappel uniquement si vous définissez le paramètre pbOwnershipClaimed de votre fonction de rappel OutOfProcessExceptionEventCallback sur TRUE.

Configuration requise

   
Client minimal pris en charge Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête werapi.h

Voir aussi

WerRegisterRuntimeExceptionModule, Rapport d'erreurs Windows