| Previous | Next |
| STATUS_INVALID_ADDRESS | STATUS_MISSING_SYSTEMFILE |
STATUS_DLL_INIT_FAILED
A DLL was loaded far enough to run initialization, and initialization failed
STATUS_DLL_INIT_FAILED (0xC0000142) reports that DLL initialization did not complete successfully. A common boundary is failure while processing DLL_PROCESS_ATTACH, but the useful cause is the first dependency, loader, runtime, or DLL-specific initialization error that led to the failure.
Evidence to preserve
- Record the DLL path, image architecture, process image, loader context, and the first failing load or initialization event.
- Verify dependent DLL resolution and deployment before assuming that
DllMainitself contains the defect. - For code you own, debug the initialization path and avoid performing work in
DllMainthat violates loader-lock restrictions or depends on components not yet safe to call.
Recovery
Correct the specific dependency or initialization failure, then start a fresh process or reload the component through its supported lifecycle. Repeatedly retrying the same process startup without changing the failing precondition does not make this status transient.
If the DLL explicitly returns failure from process attach, keep the internal error or log entry that explains why. The outer NTSTATUS only identifies the DLL-initialization boundary and cannot distinguish configuration, dependency, architecture, runtime, or application-specific causes by itself.
Reference
Looking for a different code? Search another status or error code.