Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

29 lines
964 B

// Override the linkers default behaviour to DELAYLOAD failures. Instead of throwing an exception
// try and return a function that simulates a failure in that API, therefore allowing the caller
// to correctly handle it.
//
// To use this functionality exactly one source must include this with COMPILE_DELAYLOAD_STUBS defined,
// and link to shlwapi.
#ifdef __cplusplus
extern "C" { // Assume C declarations for C++
#endif // __cplusplus
#ifdef COMPILE_DELAYLOAD_STUBS
#include "delayimp.h"
// NOTE: The names __pfnDliNotifyHook / __pfnDliFailureHook must not be changed,
// NOTE: as they are referenced by the linker's DELAYLOAD handler so we can hook
// NOTE: and process failures during symbol import.
FARPROC WINAPI ShellDelayLoadHelper(UINT unReason, PDelayLoadInfo pInfo);
PfnDliHook __pfnDliNotifyHook = ShellDelayLoadHelper;
PfnDliHook __pfnDliFailureHook = ShellDelayLoadHelper;
#endif
#ifdef __cplusplus
}
#endif // __cplusplus