Raccordements de défaillance
Mise à jour : novembre 2007
Le raccordement de défaillance est activé de la même façon que le raccordement de notification. La routine de raccordement doit retourner soit une valeur appropriée permettant la poursuite du traitement (HINSTANCE ou FARPROC), soit 0 pour indiquer qu'une exception doit être générée.
La variable pointeur qui fait référence à la fonction définie par l'utilisateur est :
// This is the failure hook, dliNotify = {dliFailLoadLib|dliFailGetProc}
ExternC
PfnDliHook __pfnDliFailureHook2;
La structure DelayLoadInfo contient toutes les données pertinentes nécessaires pour une notification exacte de l'erreur, y compris la valeur issue de GetLastError.
Si la notification est dliFailLoadLib, la fonction de raccordement peut retourner :
0 en cas d'impossibilité de gérer la défaillance.
Un HMODULE, si le raccordement de défaillance a résolu le problème et chargé lui-même la bibliothèque.
Si la notification est dliFailGetProc, la fonction de raccordement peut retourner :
0 en cas d'impossibilité de gérer la défaillance.
Une adresse de procédure valide (adresse de fonction d'importation), si le raccordement de défaillance a réussi à obtenir l'adresse elle-même.