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. |