What does Windows error code 305 (ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME) mean?

 
Could be also:
ConstantTypeOS
HTTP_STATUS_USE_PROXYHTTP CodeAny
INVALID_EXTENDED_PROCESSOR_STATEBugCheck CodeWindows
Previous Next
ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING ERROR_SECURITY_STREAM_IS_INCONSISTENT

ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME

8.3 short-name generation is disabled

ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME is a Win32 result associated with legacy path compatibility and short-name queries., diagnosis should begin with the exact API, target object, and operation that produced it rather than with the message text alone.

What the result means

The requested operation depends on 8.3 short names, but they are disabled on the volume. The practical meaning depends on the caller and on whether the affected object is local, remote, removable, policy-managed, or handled asynchronously. Diagnostics for it should retain its symbolic name, numeric value, and the operation name together.

What to check

  • Use long paths and Unicode-capable APIs whenever possible.
  • Check whether the file predates the policy and already has a short name.
  • Identify the legacy component that still requires 8.3 aliases.
  • Avoid enabling short names globally as a first response.

Recommended handling

Modernize the caller or enable the feature only for a justified compatibility requirement. Changing the setting does not retroactively create short names for every existing file.

Developer notes

Code handling this result should capture the failing API, resolved path or device identity, requested access, process identity, and the first observed error. After a call that reports it, read GetLastError() immediately because later cleanup or logging can overwrite the value. Retry it only when the specific condition is documented as transient, using a bounded delay and cancellation support.

References


Looking for a different code? Search another status or error code.