Hook di errore

L'hook di errore viene attivato in maniera analoga all'hook di notifica. È necessario che il valore restituito dalla routine di hook sia appropriato per consentire il proseguimento dell'esecuzione (HINSTANCE o FARPROC) oppure corrisponda a 0 per indicare che deve essere generata un'eccezione.

La variabile puntatore che fa riferimento alla funzione definita dall'utente è:

// This is the failure hook, dliNotify = {dliFailLoadLib|dliFailGetProc}
ExternC
PfnDliHook   __pfnDliFailureHook2;

La struttura DelayLoadInfo contiene tutti i dati pertinenti necessari alla creazione di accurati report degli errori, compreso il valore di GetLastError.

Se la notifica è dliFailLoadLib, il valore restituito dalla funzione hook può essere:

  • 0 se non è possibile gestire l'errore.

  • Un HMODULE se mediante l'hook di errore è stato corretto il problema e caricata la libreria.

Se la notifica è dliFailGetProc, il valore della funzione hook può essere:

  • 0 se non è possibile gestire l'errore.

  • Un indirizzo di routine valido (indirizzo della funzione di importazione), se è stato possibile ottenerlo grazie all'hook di errore.

Vedere anche

Concetti

Gestione e notifica degli errori