Error Codes
This table lists the error codes that can be returned by DirectInput methods and functions. Errors are represented by negative values and cannot be combined.
For a list of the errors each method or function can raise, see the individual descriptions. Lists of error codes in the documentation are necessarily incomplete. For example, any DirectInput method can return DIERR_OUTOFMEMORY even though the error code is not explicitly listed as a possible return value in the documentation for that method.
- DI_OK
- The operation completed successfully. This value is equal to the S_OK standard COM return value.
- DIERR_ACQUIRED
- The operation cannot be performed while the device is acquired.
- DIERR_ALREADYINITIALIZED
- This object is already initialized
- DIERR_BADDRIVERVER
- The object could not be created due to an incompatible driver version or mismatched or incomplete driver components.
- DIERR_BETADIRECTINPUTVERSION
- The application was written for an unsupported prerelease version of DirectInput.
- DIERR_DEVICEFULL
- The device is full.
- DIERR_DEVICENOTREG
- The device or device instance is not registered with DirectInput. This value is equal to the REGDB_E_CLASSNOTREG standard COM return value.
- DIERR_EFFECTPLAYING
- The parameters were updated in memory but were not downloaded to the device because the device does not support updating an effect while it is still playing.
- DIERR_GENERIC
- An undetermined error occurred inside the DirectInput subsystem. This value is equal to the E_FAIL standard COM return value.
- DIERR_HANDLEEXISTS
- The device already has an event notification associated with it. This value is equal to the E_ACCESSDENIED standard COM return value.
- DIERR_HASEFFECTS
- The device cannot be reinitialized because effects are attached to it.
- DIERR_INCOMPLETEEFFECT
- The effect could not be downloaded because essential information is missing. For example, no axes have been associated with the effect, or no type-specific information has been supplied.
- DIERR_INPUTLOST
- Access to the input device has been lost. It must be reacquired.
- DIERR_INVALIDHANDLE
- An invalid window handle was passed to the method.
- DIERR_INVALIDPARAM
- An invalid parameter was passed to the returning function, or the object was not in a state that permitted the function to be called. This value is equal to the E_INVALIDARG standard COM return value.
- DIERR_MAPFILEFAIL
- An error has occurred reading either the vendor-supplied action-mapping file for the device or reading or writing the user configuration file for the device.
- DIERR_MOREDATA
- Not all the requested information fitted into the buffer.
- DIERR_NOAGGREGATION
- This object does not support aggregation.
- DIERR_NOINTERFACE
- The specified interface is not supported by the object. This value is equal to the E_NOINTERFACE standard COM return value.
- DIERR_NOTACQUIRED
- The operation cannot be performed unless the device is acquired.
- DIERR_NOTBUFFERED
- The device is not buffered. Set the DIPROP_BUFFERSIZE property to enable buffering.
- DIERR_NOTDOWNLOADED
- The effect is not downloaded.
- DIERR_NOTEXCLUSIVEACQUIRED
- The operation cannot be performed unless the device is acquired in DISCL_EXCLUSIVE mode.
- DIERR_NOTFOUND
- The requested object does not exist.
- DIERR_NOTINITIALIZED
- The object has not been initialized.
- DIERR_OBJECTNOTFOUND
- The requested object does not exist.
- DIERR_OLDDIRECTINPUTVERSION
- The application requires a newer version of DirectInput.
- DIERR_OTHERAPPHASPRIO
- Another application has a higher priority level, preventing this call from succeeding. This value is equal to the E_ACCESSDENIED standard COM return value. This error can be returned when an application has only foreground access to a device but is attempting to acquire the device while in the background.
- DIERR_OUTOFMEMORY
- The DirectInput subsystem couldn't allocate sufficient memory to complete the call. This value is equal to the E_OUTOFMEMORY standard COM return value.
- DIERR_READONLY
- The specified property cannot be changed. This value is equal to the E_ACCESSDENIED standard COM return value.
- DIERR_REPORTFULL
- More information was requested to be sent than can be sent to the device.
- DIERR_UNPLUGGED
- The operation could not be completed because the device is not plugged in.
- DIERR_UNSUPPORTED
- The function called is not supported at this time. This value is equal to the E_NOTIMPL standard COM return value.
- E_PENDING
- Data is not yet available.