Windows NTSTATUS code 0xc06d007e (delay load failure)

Noting this one down to maybe have a future search result for this when Googling it:

  1. Stack trace from RedM crash on launcher open, KERNELBASE (0x69) - Win10 is as follows:
        Stack trace:
          KERNELBASE.dll!RaiseException (0x69)
          dinput8.dll+8ECC
          dinput8.dll!_imp_load_CreateInputHostForProcess (0x4a)
          dinput8.dll!<lambda>::operator() (0x28)
          ntdll.dll!RtlRunOnceExecuteOnce (0x8f)
          KERNELBASE.dll!InitOnceExecuteOnce (0xa)
          dinput8.dll!<lambda>::<lambda> (0x1e)
    
    
  2. Looking up the crash ID showed exception code 0xc06d007e.
  3. This exception code is defined in delayhlp.cpp from the VC tools:
    RaiseException(
        VcppException(ERROR_SEVERITY_ERROR, ERROR_MOD_NOT_FOUND),
    
  4. VcppException is defined as ((sev) | (FACILITY_VISUALCPP<<16) | err) by VC headers.
  5. FACILITY_VISUALCPP is defined by Windows headers as 0x6d.
  6. As such, exception code 0xc06d007e is decoded as [Error - 0xC, Visual C++ - 0x6D, Module not found - 0x7E, same as the Win32 result].

In this case, indeed, delay load being unable to load the referenced DLL, for this user likely as hmpalert.dll places a bad hook somewhere in OS bits (RedM crash on launcher open, KERNELBASE (0x69) - Win10 - #3 by d-bubble).