General Audio Error Codes

DirectX API methods and functions sometimes return HRESULT error codes that aren't part of the API's standard set, but emerge from an internal or underlying component. For example, XAudio2 running on Windows XP uses DirectSound to render its final output to an audio device, and in rare cases it may return a DirectSound error such as 0x88780032 (DSERR_INVALIDCALL). You can recognize this error as a non-XAudio2 error because its facility code (the 2nd to 4th hex digits) is 0x878, whereas XAudio2's facility code is 0x896. This particular error indicates there is a problem at the DirectSound level or below, possibly in the audio driver.

When an API behaves incorrectly, any HRESULT codes returned or shown in debugger output can help diagnose the problem, including these "foreign" error codes. The DirectX error tool (DXErr) can describe some of these non-DirectX errors, but its focus is on DirectX errors.

Some of the possible foreign error codes are in the following list.

General Errors

General errors that you may encounter occasionally.

Code Define Description
0x80004001 E_NOTIMPL The specified feature is not implemented.
0x80004002 E_NOINTERFACE The requested COM interface is not available.
0x80004003 E_POINTER An invalid pointer was used.
0x80004004 E_ABORT An operation aborted.
0x80004005 E_FAIL A general failure occurred.
0x80040154 REGDB_E_CLASSNOTREG A required COM object isn't registered.
0x800401F0 CO_E_NOTINITIALIZED CoInitialize has not been called.
0x80070001 ERROR_INVALID_FUNCTION An invalid function was called.
0x80070002 ERROR_FILE_NOT_FOUND The system could not find the file specified.
0x80070003 ERROR_PATH_NOT_FOUND The system could not find the path specified.
0x80070005 E_ACCESSDENIED Access to a resource was denied.
0x80070006 E_HANDLE An invalid object handle was used.
0x8007000E E_OUTOFMEMORY No memory was available for allocation.
0x80070057 E_INVALIDARG An invalid argument was encountered.
0x8007001F ERROR_GEN_FAILURE A device attached to the system is not functioning.
0x8007007E ERROR_MOD_NOT_FOUND A required DLL or EXE could not be found.
0x800700A4 ERROR_MAX_THRDS_REACHED The system maximum number of threads has been reached.
0x800700B7 ERROR_ALREADY_EXISTS A file could not be created because it already exists.
0x800705AA ERROR_NO_SYSTEM_RESOURCES A required system resource has been exhausted.
0x800706B5 RPC_S_UNKNOWN_IF The interface is unknown.
0x800706BE RPC_S_CALL_FAILED A remote procedure call failed.
0x8007012B ERROR_PARTIAL_COPY Only part of a ReadProcessMemory or WriteProcessMemory request was completed.

XAudio2 Errors

XAudio2 errors that you may encounter.

Code Define Description
0x88960001 XAUDIO2_E_INVALID_CALL An API call or one of its arguments was illegal.
0x88960002 XAUDIO2_E_XMA_DECODER_ERROR The XMA hardware suffered an unrecoverable error.
0x88960003 XAUDIO2_E_XAPO_CREATION_FAILED Failed to instantiate an effect.
0x88960004 XAUDIO2_E_DEVICE_INVALIDATED An audio device became unusable (unplugged, etc).

XACT Errors

XACT errors that you may encounter.

Code Define Description
0x8AC70001 XACTENGINE_E_ALREADYINITIALIZED The engine is already initialized.
0x8AC70002 XACTENGINE_E_NOTINITIALIZED The engine has not been initialized.
0x8AC70003 XACTENGINE_E_EXPIRED The engine has expired (demo or pre-release version).
0x8AC70004 XACTENGINE_E_NONOTIFICATIONCALLBACK No notification callback.
0x8AC70005 XACTENGINE_E_NOTIFICATIONREGISTERED Notification already registered.
0x8AC70006 XACTENGINE_E_INVALIDUSAGE Invalid usage.
0x8AC70007 XACTENGINE_E_INVALIDDATA Invalid data.
0x8AC70008 XACTENGINE_E_INSTANCELIMITFAILTOPLAY A sound failed to play due to the instance limit.
0x8AC70009 XACTENGINE_E_NOGLOBALSETTINGS Global Settings are not loaded.
0x8AC7000a XACTENGINE_E_INVALIDVARIABLEINDEX Invalid variable index.
0x8AC7000b XACTENGINE_E_INVALIDCATEGORY Invalid category.
0x8AC7000c XACTENGINE_E_INVALIDCUEINDEX Invalid cue index.
0x8AC7000d XACTENGINE_E_INVALIDWAVEINDEX Invalid wave index.
0x8AC7000e XACTENGINE_E_INVALIDTRACKINDEX Invalid track index.
0x8AC7000f XACTENGINE_E_INVALIDSOUNDOFFSETORINDEX Invalid sound offset or index.
0x8AC70010 XACTENGINE_E_READFILE Error reading a file.
0x8AC70011 XACTENGINE_E_UNKNOWNEVENT Unknown event type.
0x8AC70012 XACTENGINE_E_INCALLBACK Invalid call of a method or function from callback.
0x8AC70013 XACTENGINE_E_NOWAVEBANK No wavebank exists for the specified operation.
0x8AC70014 XACTENGINE_E_SELECTVARIATION Unable to select a variation.
0x8AC70015 XACTENGINE_E_MULTIPLEAUDITIONENGINES Attempted to create more that one audition engine.
0x8AC70016 XACTENGINE_E_WAVEBANKNOTPREPARED The wavebank is not prepared.
0x8AC70017 XACTENGINE_E_NORENDERER No audio device can be found.
0x8AC70018 XACTENGINE_E_INVALIDENTRYCOUNT Invalid entry count for channel maps.
0x8AC70101 XACTENGINE_E_AUDITION_WRITEFILE An error occurred writing a file during auditioning.
0x8AC70102 XACTENGINE_E_AUDITION_NOSOUNDBANK Missing a sound bank.
0x8AC70103 XACTENGINE_E_AUDITION_INVALIDRPCINDEX Missing an RPC curve.
0x8AC70104 XACTENGINE_E_AUDITION_MISSINGDATA Missing data for an audition command.
0x8AC70105 XACTENGINE_E_AUDITION_UNKNOWNCOMMAND Unknown command.
0x8AC70106 XACTENGINE_E_AUDITION_INVALIDDSPINDEX Missing a DSP parameter.

DirectSound (only most common errors)

Code Define Description
0x8878001E DSERR_CONTROLUNAVAIL The requested control is not available.
0x88780032 DSERR_INVALIDCALL The call is not valid for the current state of this object.
0x88780046 DSERR_PRIOLEVELNEEDED The function requires a higher priority level.
0x88780064 DSERR_BADFORMAT The specified wave format is not supported.
0x88780078 DSERR_NODRIVER No sound driver is available for use.
0x88780096 DSERR_BUFFERLOST Buffer memory has been lost, and must be restored.
0x887800A0 DSERR_OTHERAPPHASPRIO Another dsound app has focus, preventing this call from succeeding.
0x887800AA DSERR_UNINITIALIZED This object has not been initialized.
0x887800BE DSERR_DS8_REQUIRED Attempted to use DirectSound 8+ functionality on an older DirectSound object

DirectMusic

Code Define Description
0x88781101 DMUS_E_DRIVER_FAILED An unexpected error was returned from a device driver, indicating possible failure of the driver or hardware.
0x88781102 DMUS_E_PORTS_OPEN The requested operation cannot be performed while there are instantiated ports in any process in the system.
0x88781103 DMUS_E_DEVICE_IN_USE The requested device is already in use (possibly by a non-DirectMusic client), and cannot be opened again.
0x88781104 DMUS_E_INSUFFICIENTBUFFER Buffer is not large enough for the requested operation.
0x88781105 DMUS_E_BUFFERNOTSET No buffer was prepared for the download data.
0x88781106 DMUS_E_BUFFERNOTAVAILABLE Download failed due to inability to access or create a download buffer.
0x88781108 DMUS_E_NOTADLSCOL Error parsing DLS collection. File is corrupt.
0x88781109 DMUS_E_INVALIDOFFSET Wave chunks in DLS collection file are at incorrect offsets.
0x88781111 DMUS_E_ALREADY_LOADED Attempted to load a DLS collection that has already been loaded.
0x88781113 DMUS_E_INVALIDPOS Error reading wave data from DLS collection. Indicates a bad file.
0x88781114 DMUS_E_INVALIDPATCH There is no instrument in the collection that matches the specified patch number.
0x88781115 DMUS_E_CANNOTSEEK The IStream* doesn't support Seek().
0x88781116 DMUS_E_CANNOTWRITE The IStream* doesn't support Write().
0x88781117 DMUS_E_CHUNKNOTFOUND A required RIFF chunk could not be found while parsing a file.
0x88781119 DMUS_E_INVALID_DOWNLOADID An invalid download id was used in the process of creating a download buffer.
0x88781120 DMUS_E_NOT_DOWNLOADED_TO_PORT Attempted to unload an object that was not downloaded or that was previously unloaded.
0x88781121 DMUS_E_ALREADY_DOWNLOADED Buffer was already downloaded to synth.
0x88781122 DMUS_E_UNKNOWN_PROPERTY The specified property item was not recognized by the target object.
0x88781123 DMUS_E_SET_UNSUPPORTED The specified property item may not be set on the target object.
0x88781124 DMUS_E_GET_UNSUPPORTED The specified property item may not be retrieved from the target object.
0x88781125 DMUS_E_NOTMONO Wave chunk has more than one interleaved channel. DLS format requires MONO.
0x88781126 DMUS_E_BADARTICULATION Invalid articulation chunk in DLS collection.
0x88781127 DMUS_E_BADINSTRUMENT Invalid instrument chunk in DLS collection.
0x88781128 DMUS_E_BADWAVELINK Wavelink chunk in DLS collection points to invalid wave.
0x88781129 DMUS_E_NOARTICULATION Articulation missing from instrument in DLS collection.
0x8878112A DMUS_E_NOTPCM Downoaded DLS wave is not in PCM format.
0x8878112B DMUS_E_BADWAVE Bad wave chunk in DLS collection.
0x8878112C DMUS_E_BADOFFSETTABLE Offset Table for download buffer has errors.
0x8878112D DMUS_E_UNKNOWNDOWNLOAD Attempted to download unknown data type.
0x8878112E DMUS_E_NOSYNTHSINK An operation could not be completed because no sink was connected to the synthesizer.
0x8878112F DMUS_E_ALREADYOPEN An attempt was made to open the software synthesizer while it was already open.
0x88781130 DMUS_E_ALREADYCLOSED An attempt was made to close the software synthesizer while it was already closed.
0x88781131 DMUS_E_SYNTHNOTCONFIGURED The operation could not be completed because the software synthesizer has not yet been fully configured.
0x88781132 DMUS_E_SYNTHACTIVE The operation cannot be carried out while the synthesizer is active.
0x88781133 DMUS_E_CANNOTREAD An error occurred while attempting to read from the IStream* object.
0x88781134 DMUS_E_DMUSIC_RELEASED The operation cannot be performed because the final instance of the DirectMusic object was released. Ports cannot be used after final release of the DirectMusic object.
0x88781135 DMUS_E_BUFFER_EMPTY There was no data in the referenced buffer.
0x88781136 DMUS_E_BUFFER_FULL There is insufficient space to insert the specified event into the buffer.
0x88781137 DMUS_E_PORT_NOT_CAPTURE The specified operation could not be carried out because the port is a capture port.
0x88781138 DMUS_E_PORT_NOT_RENDER The specified operation could not be carried out because the port is a render port.
0x88781139 DMUS_E_DSOUND_NOT_SET The port could not be created because no DirectSound instance has been specified. Specify a DirectSound interface via the IDirectMusic::SetDirectSound method; pass NULL to have DirectMusic manage usage of DirectSound.
0x8878113A DMUS_E_ALREADY_ACTIVATED The operation cannot be carried out while the port is active.
0x8878113B DMUS_E_INVALIDBUFFER An invalid DirectSound buffer was passed to the port.
0x8878113C DMUS_E_WAVEFORMATNOTSUPPORTED An invalid buffer format was handed to the synth sink.
0x8878113D DMUS_E_SYNTHINACTIVE The operation cannot be carried out while the synthesizer is inactive.
0x8878113E DMUS_E_DSOUND_ALREADY_SET IDirectMusic::SetDirectSound has already been called. It may not be changed while in use.
0x8878113F DMUS_E_INVALID_EVENT The given event is invalid (either it is not a valid MIDI message or it makes use of running status). The event cannot be packed into the buffer.
0x88781150 DMUS_E_UNSUPPORTED_STREAM The IStream* object does not contain data supported by the loading object.
0x88781151 DMUS_E_ALREADY_INITED The object has already been initialized.
0x88781152 DMUS_E_INVALID_BAND The file does not contain a valid band.
0x88781155 DMUS_E_TRACK_HDR_NOT_FIRST_CK The IStream* object's data does not have a track header as the first chunk. Therefore, it can't be read by the segment object.
0x88781156 DMUS_E_TOOL_HDR_NOT_FIRST_CK The IStream* object's data does not have a tool header as the first chunk. Therefore, it can't be read by the graph object.
0x88781157 DMUS_E_INVALID_TRACK_HDR The IStream* object's data contains an invalid track header (ckid is 0 and fccType is NULL). Therefore, it can't be read by the segment object.
0x88781158 DMUS_E_INVALID_TOOL_HDR The IStream* object's data contains an invalid tool header (ckid is 0 and fccType is NULL). Therefore, it can't be read by the graph object.
0x88781159 DMUS_E_ALL_TOOLS_FAILED The graph object was unable to load all tools from the IStream* object data. This may be due to errors in the stream, or the tools being incorrectly registered on the client.
0x88781160 DMUS_E_ALL_TRACKS_FAILED The segment object was unable to load all tracks from the IStream* object data. This may be due to errors in the stream, or the tracks being incorrectly registered on the client.
0x88781161 DMUS_E_NOT_FOUND The requested item was not contained by the object.
0x88781162 DMUS_E_NOT_INIT A required object is not initialized or failed to initialize.
0x88781163 DMUS_E_TYPE_DISABLED The requested parameter type is currently disabled. Parameter types may be enabled and disabled by certain calls to SetParam().
0x88781164 DMUS_E_TYPE_UNSUPPORTED The requested parameter type is not supported on the object.
0x88781165 DMUS_E_TIME_PAST The specified time is in the past, and the operation can not succeed.
0x88781166 DMUS_E_TRACK_NOT_FOUND The requested track is not contained by the segment.
0x88781167 DMUS_E_TRACK_NO_CLOCKTIME_SUPPORT The track does not support clock time playback or getparam.
0x88781170 DMUS_E_NO_MASTER_CLOCK There is no master clock in the performance. Be sure to call IDirectMusicPerformance::Init().
0x88781180 DMUS_E_LOADER_NOCLASSID The class id field is required and is missing in the DMUS_OBJECTDESC.
0x88781181 DMUS_E_LOADER_BADPATH The specified file path is invalid.
0x88781182 DMUS_E_LOADER_FAILEDOPEN File open failed.
0x88781183 DMUS_E_LOADER_FORMATNOTSUPPORTED Search data type is not supported.
0x88781184 DMUS_E_LOADER_FAILEDCREATE Unable to find or create object.
0x88781185 DMUS_E_LOADER_OBJECTNOTFOUND Object was not found.
0x88781186 DMUS_E_LOADER_NOFILENAME The file name is missing from the DMUS_OBJECTDESC.
0x88781200 DMUS_E_INVALIDFILE The specified file is not a valid file.
0x88781201 DMUS_E_ALREADY_EXISTS The tool is already contained in the graph. Create a new instance.
0x88781202 DMUS_E_OUT_OF_RANGE Value is out of range.
0x88781203 DMUS_E_SEGMENT_INIT_FAILED Segment initialization failed.
0x88781204 DMUS_E_ALREADY_SENT The DMUS_PMSG has already been sent to the performance object via IDirectMusicPerformance::SendPMsg().
0x88781205 DMUS_E_CANNOT_FREE The DMUS_PMSG was either not allocated by the performance via IDirectMusicPerformance::AllocPMsg(), or it was already freed via IDirectMusicPerformance::FreePMsg().
0x88781206 DMUS_E_CANNOT_OPEN_PORT
0x88781207 DMUS_E_CANNOT_CONVERT A call to MIDIToMusic() or MusicToMIDI() resulted in an error because the requested conversion could not happen. This usually occurs when the provided DMUS_CHORD_KEY structure has an invalid chord or scale pattern.
0x88781210 DMUS_E_DESCEND_CHUNK_FAIL The end of the file was reached before the specified chunk was found.
0x88781211 DMUS_E_NOT_LOADED An attempt to use this object failed because the object has not been loaded.
0x88781213 DMUS_E_SCRIPT_LANGUAGE_INCOMPATIBLE The activeX scripting engine for the script's language is not compatible with DirectMusic.
0x88781214 DMUS_E_SCRIPT_UNSUPPORTED_VARTYPE A variant was used that had a type that is not supported by DirectMusic.
0x88781215 DMUS_E_SCRIPT_ERROR_IN_SCRIPT An error was encountered while parsing or executing the script.
0x88781216 DMUS_E_SCRIPT_CANTLOAD_OLEAUT32 Loading of oleaut32.dll failed.
0x88781217 DMUS_E_SCRIPT_LOADSCRIPT_ERROR An error occurred while parsing a script loaded using LoadScript. The script being loaded contains an error.
0x88781218 DMUS_E_SCRIPT_INVALID_FILE The script file is invalid.
0x88781219 DMUS_E_INVALID_SCRIPTTRACK The file contains an invalid script track.
0x8878121A DMUS_E_SCRIPT_VARIABLE_NOT_FOUND The script does not contain a variable with the specified name.
0x8878121B DMUS_E_SCRIPT_ROUTINE_NOT_FOUND The script does not contain a routine with the specified name.
0x8878121C DMUS_E_SCRIPT_CONTENT_READONLY Attempted to set variables for content referenced or embedded in a script.
0x8878121D DMUS_E_SCRIPT_NOT_A_REFERENCE Attempt was made to set a script's variable by reference to a value that was not an object type.
0x8878121E DMUS_E_SCRIPT_VALUE_NOT_SUPPORTED Attempt was made to set a script's variable by value to an object that does not support a default value property.
0x88781220 DMUS_E_INVALID_SEGMENTTRIGGERTRACK The file contains an invalid segment trigger track.
0x88781221 DMUS_E_INVALID_LYRICSTRACK The file contains an invalid lyrics track.
0x88781222 DMUS_E_INVALID_PARAMCONTROLTRACK The file contains an invalid parameter control track.
0x88781223 DMUS_E_AUDIOVBSCRIPT_SYNTAXERROR A script written in AudioVBScript could not be read because it contained a statement that is not allowed by the AudioVBScript language.
0x88781224 DMUS_E_AUDIOVBSCRIPT_RUNTIMEERROR A script routine written in AudioVBScript failed because an invalid operation occurred.
0x88781225 DMUS_E_AUDIOVBSCRIPT_OPERATIONFAILURE A script routine written in AudioVBScript failed because a function outside of a script failed to complete.
0x88781226 DMUS_E_AUDIOPATHS_NOT_VALID Audio paths are invalid because pchannels have been set.
0x88781227 DMUS_E_AUDIOPATHS_IN_USE Pchannels are invalid because audio paths have been set.
0x88781228 DMUS_E_NO_AUDIOPATH_CONFIG The specified segment has no embedded audio path configuration.
0x88781229 DMUS_E_AUDIOPATH_INACTIVE An audiopath is inactive.
0x8878122A DMUS_E_AUDIOPATH_NOBUFFER An audiopath failed to create because a requested buffer could not be created.
0x8878122B DMUS_E_AUDIOPATH_NOPORT An audiopath could not be used for playback because it lacked port assignments.
0x8878122C DMUS_E_NO_AUDIOPATH Attempted to play a segment in audiopath mode when there was no audiopath.
0x8878122D DMUS_E_INVALIDCHUNK Invalid data was found in a RIFF file chunk.
0x8878122E DMUS_E_AUDIOPATH_NOGLOBALFXBUFFER Attempted to create an audiopath that sends to a nonexistent global effects buffer.
0x8878122F DMUS_E_INVALID_CONTAINER_OBJECT The file does not contain a valid container object.

XAudio2 Internal Errors

Code Define Description
0x88880001 LEAP_E_INVALID_CALL A method was called in an invalid way.
0x88880002 LEAP_E_INVALID_ARGUMENT An argument was invalid.
0x88880003 LEAP_E_INVALID_FLAGS An invalid flag was specified.
0x88880004 LEAP_E_INVALID_POINTER A required pointer argument was NULL.
0x88880005 LEAP_E_INVALID_INDEX An index value was out of bounds.
0x88880006 LEAP_E_INVALID_LEAP_BUFFER No LeapBuffer was found with the given identifier.
0x88880007 LEAP_E_INVALID_FORMAT An invalid or unsupported audio format was used.
0x88880008 LEAP_E_INVALID_FILTER An invalid ILeapFilter pointer was used.
0x88880009 LEAP_E_INVALID_QUANTUM The specified processing quantum was invalid or out of bounds.
0x8888000a LEAP_E_INVALID_RENDERER An invalid ILeapRendererConnection value was used.
0x8888000b LEAP_E_INVALID_PACKET An invalid audio packet was submitted to a LEAP voice.
0x8888000e LEAP_E_INSUFFICIENT_SPACE The specified array was too small to return the data requested.
0x8888000f LEAP_E_NOT_INITIALIZED ILeap::Initialize must be called successfully before any other API call.
0x88880010 LEAP_E_ALREADY_INITIALIZED ILeap::Initialize cannot be called twice (if first call succeeded).
0x88880011 LEAP_E_NEED_OUTPUT_FILTER ILeap::StartGraph cannot be called with no output filter in the graph.
0x88880012 LEAP_E_GRAPH_RUNNING Function cannot be called while the LEAP graph is running.
0x88880013 LEAP_E_GRAPH_STOPPED Function cannot be called while the LEAP graph is stopped.
0x88880014 LEAP_E_OBJECT_DESTROYED The object this interface referred to has been destroyed.
0x88880015 LEAP_E_RENDERER_BUSY The renderer is already being used by an output object.
0x88880016 LEAP_E_VOICE_QUEUE_FULL The voice object's packet queue has reached maximum capacity.
0x88880017 LEAP_E_NO_RENDERERS No audio rendering devices are enabled on the system.
0x88880018 LEAP_E_RENDERER_INVALIDATED A rendering device was removed or stopped responding.
0x88880eee LEAP_E_INTERNAL_ERROR An internal error such as memory corruption was detected.

WASAPI (low-level Vista audio API)

Code Define
0x88890001 AUDCLNT_E_NOT_INITIALIZED
0x88890002 AUDCLNT_E_ALREADY_INITIALIZED
0x88890003 AUDCLNT_E_WRONG_ENDPOINT_TYPE
0x88890004 AUDCLNT_E_DEVICE_INVALIDATED
0x88890005 AUDCLNT_E_NOT_STOPPED
0x88890006 AUDCLNT_E_BUFFER_TOO_LARGE
0x88890007 AUDCLNT_E_OUT_OF_ORDER
0x88890008 AUDCLNT_E_UNSUPPORTED_FORMAT
0x88890009 AUDCLNT_E_INVALID_SIZE
0x8889000a AUDCLNT_E_DEVICE_IN_USE
0x8889000b AUDCLNT_E_BUFFER_OPERATION_PENDING
0x8889000c AUDCLNT_E_THREAD_NOT_REGISTERED
0x8889000d AUDCLNT_E_NO_SINGLE_PROCESS
0x8889000e AUDCLNT_E_EXCLUSIVE_MODE_NOT_ALLOWED
0x8889000f AUDCLNT_E_ENDPOINT_CREATE_FAILED
0x88890010 AUDCLNT_E_SERVICE_NOT_RUNNING
0x88890011 AUDCLNT_E_EVENTHANDLE_NOT_EXPECTED
0x88890012 AUDCLNT_E_EXCLUSIVE_MODE_ONLY
0x88890013 AUDCLNT_E_BUFDURATION_PERIOD_NOT_EQUAL
0x88890014 AUDCLNT_E_EVENTHANDLE_NOT_SET
0x88890015 AUDCLNT_E_INCORRECT_BUFFER_SIZE
0x88890016 AUDCLNT_E_BUFFER_SIZE_ERROR
0x88890017 AUDCLNT_E_CPUUSAGE_EXCEEDED

XAPO Errors

Code Define Description
0x88970001 XAPO_E_FORMAT_UNSUPPORTED This XAPO does not support the requested audio format.

APO Errors

Code Define Description
0x887D0001 APOERR_ALREADY_INITIALIZED The object has already been initialized.
0x887D0002 APOERR_NOT_INITIALIZED Object/structure is not initialized.
0x887D0003 APOERR_FORMAT_NOT_SUPPORTED A pin supporting the format cannot be found.
0x887D0004 APOERR_INVALID_APO_CLSID Invalid CLSID in an APO Initialization structure.
0x887D0005 APOERR_BUFFERS_OVERLAP Buffers overlap on an APO that does not accept in-place buffers.
0x887D0006 APOERR_ALREADY_UNLOCKED APO is already in an unlocked state.
0x887D0007 APOERR_NUM_CONNECTIONS_INVALID Number of input or output connections not valid on this APO.
0x887D0008 APOERR_INVALID_OUTPUT_MAXFRAMECOUNT Output maxFrameCount not large enough.
0x887D0009 APOERR_INVALID_CONNECTION_FORMAT Invalid connection format for this operation.
0x887D000A APOERR_APO_LOCKED APO is locked ready to process and can not be changed.
0x887D000B APOERR_INVALID_COEFFCOUNT Invalid coefficient count.
0x887D000C APOERR_INVALID_COEFFICIENT Invalid coefficient.
0x887D000D APOERR_INVALID_CURVE_PARAM An invalid curve parameter was specified.

Audio Engine Errors

Code Define Description
0x887C0010 AEERR_ALREADY_INITIALIZED The object has already been initialized.
0x887C0013 AEERR_NOT_INITIALIZED Object/structure is not initialized.
0x887C0014 AEERR_MISALIGNED_BUFFER Misaligned buffer usage.
0x887C0015 AEERR_NO_REALTIME Failed to allocate a real-time thread.
0x887C0016 AEERR_ALREADY_RUNNING Already in a running state.
0x887C0017 AEERR_NOT_RUNNING Not in a running state.
0x887C0018 AEERR_APO_NOT_READY APO is not ready to process.
0x887C001A AEERR_ITEM_NOT_FOUND Item not found in list.
0x887C001B AEERR_MAX_CONNECTIONS_SET Maximum number of input or output connections already set on this APO.
0x887C001C AEERR_MIN_CONNECTIONS_SET Minimum number of input or output connections are set on this APO.
0x887C001D AEERR_OBJECT_BUSY Object is busy performing some operation.
0x887C001E AEERR_INVALID_CONNECTION_FORMAT Invalid connection format for this operation.
0x887C001F AEERR_INPLACE_NOTALLOWED Inplace not allowed on this APO.
0x887C0020 AEERR_INVALID_MIX_FLAGS Invalid mix flags.
0x887C0022 AEERR_TIME_IS_PAST Invalid timestamp (time has already gone by).
0x887C0023 AEERR_BUFFER_NOT_LOCKED Invalid data pointer (the pointer has not been locked).
0x887C0024 AEERR_DATA_POINTER_NOT_RELEASED Data pointer not released (GetDataPointer was called twice).
0x887C0025 AEERR_DATA_POINTER_NOT_ACQUIRED Data pointer not acquired (Release was called without get).
0x887C0027 AEERR_CONNECTION_ATTACHED_TO_APO Connection is attached to an apo and cannot be released.
0x887C0028 AEERR_ENDPOINT_ALREADY_ATTACHED Connection already attached to an endpoint.
0x887C0029 AEERR_PIPE_NOT_CONNECTABLE The pipe contains APOs that cannot be connected.
0x887C002A AEERR_PIPE_LIMIT_REACHED The pipe contains APOs that cannot be connected.
0x887C002B AEERR_ADG_NO_PIPE_INSTANCES The audiodevicegraph does not have any pipe instances.
0x887C002E AEERR_ADG_ALREADY_CONNECTED The audiodevicegraph is already connected.
0x887C002F AEERR_TRANSACTION_ALREADY_IN_PROGRESS There is already a transaction in progress.
0x887C0030 AEERR_NO_CONVERTERS_FOUND No format converters were found.
0x887C0031 AEERR_TRANSACTION_MUST_BE_CANCELLED The transaction must be cancelled (because it was already attempted but failed to cancel).
0x887C0032 AEERR_TRANSACTION_MUST_BE_COMMITTED The transaction must be committed (because it was already attempted but failed to commit).
0x887C0033 AEERR_TIMED_OUT Time out occurred.
0x887C0034 AEERR_FORMAT_NOT_SUPPORTED A pin supporting the format cannot be found.
0x887C0035 AEERR_ENDPOINT_STATE_NOT_VALID Endpoint state is invalid for the required operation.
0x887C0036 AEERR_ENDPOINT_CREATE_FAILED Endpoint creation failed.
0x887C0037 AEERR_ADG_APO_NOT_USABLE An APO is not usable for ADG. See AUDIO_PIPE_DESCRIPTOR for details.
0x887C0039 AEERR_ADG_SAMPLE_RATE_MISMATCH ADG does not support SRC within a pipe.
0x887C003A AEERR_APO_NOT_REGISTERED APO is not registered.
0x887C003B AEERR_APO_REGISTRY An unexpected error occurred when reading APO properties.
0x887C003C AEERR_ADG_INVALID_GRAPH An unexpected error occurred in audio device graph.
0x887C003D AEERR_INVALID_DITHER_STATE Invalid dither state.
0x887C003F AEERR_INVALID_TIMESTAMP The time-stamp is invalid.
0x887C0040 AEERR_ENDPOINT_IO The endpoint failed IO with the driver.
0x887C0041 AEERR_CP_MUTEX_ABONDENED The crossprocess synchronization mutex was abandoned.
0x887C0042 AEERR_INVALID_FRAMERATE Frame rates differ from initialization rates.
0x887C0043 AEERR_DEVICE_IN_USE The device is already in use.
0x887C0044 AEERR_PERFLIB_NOFUNC No supported function available in Audio PerfLib.
0x887C0045 AEERR_CP_SHARED_BUFFER_CORRUPT The crossprocess shared buffer is corrupted.
0x887C0046 AEERR_ADG_INVALID_PROCESSING_PERIOD Invalid ADG global graph processing period.
0x887C0047 AEERR_CP_QUEUE_FULL The crossprocess capture queue is full.
0x887C0048 AEERR_APO_INVALIDARG Invalid APO parameter.
0x887C0049 AEERR_NO_HEAP AudioProcessor heap is not created.
0x887C004A AEERR_HEAP_ALREADY_CREATED AudioProcessor heap is already created.
0x887C004B AEERR_ACTIVE_STREAM_COUNT_ERR
0x887C00AA AEERR_ENDPOINT_IN_USE PinInstantiate returned ERROR_NO_SYSTEM_RESOURCES.

Media Foundation Errors (see mferror.h)

Code Define
0xC00D6D6D MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_OUTPUT_MEDIATYPE
0xC00D6D6E MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_INPUT_MEDIATYPE
0xC00D6D6F MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_MEDIATYPE_COMBINATION
0xC00D6D73 MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_SPKR_CONFIG

WINMM errors (see mmsystem.h)

Define Description
MMSYSERR_ERROR Unspecified error.
MMSYSERR_BADDEVICEID Device ID out of range.
MMSYSERR_NOTENABLED Driver failed enable.
MMSYSERR_ALLOCATED Device already allocated.
MMSYSERR_INVALHANDLE Device handle is invalid.
MMSYSERR_NODRIVER No device driver present.
MMSYSERR_NOMEM Memory allocation error.
MMSYSERR_NOTSUPPORTED Function isn't supported.
MMSYSERR_BADERRNUM Error value out of range.
MMSYSERR_INVALFLAG Invalid flag passed.
MMSYSERR_INVALPARAM Invalid parameter passed.
MMSYSERR_HANDLEBUSY Handle being used simultaneously on another thread.
MMSYSERR_INVALIDALIAS Specified alias not found.
MMSYSERR_BADDB Bad registry database.
MMSYSERR_KEYNOTFOUND Registry key not found.
MMSYSERR_READERROR Registry read error.
MMSYSERR_WRITEERROR Registry write error.
MMSYSERR_DELETEERROR Registry delete error.
MMSYSERR_VALNOTFOUND Registry value not found.
MMSYSERR_NODRIVERCB Driver does not call DriverCallback.
MMSYSERR_MOREDATA More data to be returned.
WAVERR_BADFORMAT Unsupported wave format.
WAVERR_STILLPLAYING Still something playing.
WAVERR_UNPREPARED Header not prepared.
WAVERR_SYNC Device is synchronous.