PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH funzione di callback (werapi.h)

Segnalazione errori Windows (WER) chiama questa funzione per personalizzare le opzioni di avvio del debugger e avviare la stringa.

Il tipo PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH definisce un puntatore a questa funzione di callback. È necessario usare "OutOfProcessExceptionEventDebuggerLaunchCallback" come nome della funzione di callback.

Sintassi

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
)
{...}

Parametri

[in] pContext

Puntatore a informazioni di contesto arbitrarie specificate quando si chiama la funzione WerRegisterRuntimeExceptionModule per registrare il gestore eccezioni .

[in] pExceptionInformation

Struttura WER_RUNTIME_EXCEPTION_INFORMATION contenente le informazioni sull'eccezione.

[out] pbIsCustomDebugger

Impostare su TRUE se il debugger personalizzato specificato nel parametro pwszDebuggerLaunch viene usato per eseguire il debug dell'arresto anomalo; in caso contrario, impostare su FALSE per usare il debugger predefinito. Se si imposta questo parametro su FALSE, non impostare il parametro pwszDebuggerLaunch .

[out] pwszDebuggerLaunch

Buffer allocato dal chiamante usato per specificare la stringa di avvio del debugger usata per avviare il debugger. La stringa di avvio deve includere il percorso completo del debugger e qualsiasi argomento. Se un argomento include più parole, usare virgolette per delimitare l'argomento. La stringa del debugger deve rispettare lo stesso protocollo della stringa del debugger AeDebug predefinita (vedere Configurazione del debug automatico). La stringa deve contenere due identificatori di formattazione: %ld per ld per l'ID processo di arresto anomalo e %ld per l'handle in un oggetto evento da segnalare dopo che il debugger personalizzato ha collegato alla destinazione (per una descrizione di questi identificatori, vedere Abilitazione del debug postmortem). Tuttavia, i debugger personalizzati possono scegliere di ignorare questi parametri.

[in, out] pchDebuggerLaunch

Dimensioni, in caratteri, del buffer pwszDebuggerLaunch .

[out] pbIsDebuggerAutolaunch

Impostare su TRUE se si vuole che WER venga avviato in modo invisibile all'utente; in caso contrario, FALSE se si vuole chiedere all'utente di chiedere all'utente di avviare il debugger.

Valore restituito

Restituisce S_OK, anche se non viene usato alcun debugger del cliente. Se si restituiscono altri codici di errore, WER ripristina il comportamento predefinito per la segnalazione degli arresti anomali.

Commenti

È necessario implementare questa funzione nella DLL del gestore eccezioni.

WER usa questa funzione per determinare quale debugger avviare e se avviare automaticamente il debugger o chiedere all'utente prima di avviare il debugger. Se si specifica un debugger personalizzato, la stringa di avvio predefinita verrà sostituita (la chiave del Registro di sistema AeDebug contiene la stringa di avvio predefinita).

WER chiama questa funzione di callback solo se si imposta il parametro pbOwnershipClaimed della funzione di callback OutOfProcessExceptionEventCallback su TRUE.

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione werapi.h

Vedi anche

WerRegisterRuntimeExceptionModule, Segnalazione errori Windows