home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / dmerror.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  19.7 KB  |  638 lines

  1. /************************************************************************
  2. *                                                                       *
  3. *   dmerror.h -- Error code returned by DirectMusic API's               *
  4. *                                                                       *
  5. *   Copyright (c) 1998, Microsoft Corp. All rights reserved.            *
  6. *                                                                       *
  7. ************************************************************************/
  8.  
  9. #ifndef _DMERROR_
  10. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  11. #define _DMERROR_
  12.  
  13. #define FACILITY_DIRECTMUSIC      0x878       /* Shared with DirectSound */
  14. #define DMUS_ERRBASE              0x1000      /* Make error codes human readable in hex */
  15.  
  16. #ifndef MAKE_HRESULT
  17. #define MAKE_HRESULT(sev,fac,code) \
  18.     ((HRESULT) (((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))) )
  19. #endif
  20.     
  21. #define MAKE_DMHRESULTSUCCESS(code)     MAKE_HRESULT(0, FACILITY_DIRECTMUSIC, (DMUS_ERRBASE + (code)))
  22. #define MAKE_DMHRESULTERROR(code)       MAKE_HRESULT(1, FACILITY_DIRECTMUSIC, (DMUS_ERRBASE + (code)))
  23.  
  24. /* DMUS_S_PARTIALLOAD
  25.  *
  26.  * The object could only load partially. This can happen if some components are
  27.  * not registered properly, such as embedded tracks and tools.
  28.  */
  29. #define DMUS_S_PARTIALLOAD              MAKE_DMHRESULTSUCCESS(0x091)
  30.  
  31. /* DMUS_S_PARTIALDOWNLOAD
  32.  *
  33.  * This code indicates that a band download was only successful in reaching
  34.  * some, but not all, of the referenced ports. Some samples may not play
  35.  * correctly.
  36.  */
  37. #define DMUS_S_PARTIALDOWNLOAD          MAKE_DMHRESULTSUCCESS(0x092)
  38.  
  39. /* DMUS_S_REQUEUE
  40.  *
  41.  * Return value from IDirectMusicTool::ProcessPMsg() which indicates to the
  42.  * performance that it should cue the PMsg again automatically.
  43.  */
  44.  
  45. #define DMUS_S_REQUEUE                  MAKE_DMHRESULTSUCCESS(0x200)
  46.  
  47. /* DMUS_S_FREE
  48.  *
  49.  * Return value from IDirectMusicTool::ProcessPMsg() which indicates to the
  50.  * performance that it should free the PMsg automatically.
  51.  */
  52. #define DMUS_S_FREE                     MAKE_DMHRESULTSUCCESS(0x201)
  53.  
  54. /* DMUS_S_END
  55.  *
  56.  * Return value from IDirectMusicTrack::Play() which indicates to the
  57.  * segment that the track has no more data after mtEnd.
  58.  */
  59. #define DMUS_S_END                      MAKE_DMHRESULTSUCCESS(0x202)
  60.  
  61. /* DMUS_S_STRING_TRUNCATED
  62.  *
  63.  * Returned string has been truncated to fit the buffer size.
  64.  */
  65. #define DMUS_S_STRING_TRUNCATED         MAKE_DMHRESULTSUCCESS(0x210)
  66.  
  67. /* DMUS_S_LAST_TOOL
  68.  *
  69.  * Returned from IDirectMusicGraph::StampPMsg(), this indicates that the PMsg
  70.  * is already stamped with the last tool in the graph. The returned PMsg's
  71.  * tool pointer is now NULL.
  72.  */
  73. #define DMUS_S_LAST_TOOL                MAKE_DMHRESULTSUCCESS(0x211)
  74.  
  75. /* DMUS_S_OVER_CHORD
  76.  *
  77.  * Returned from IDirectMusicPerformance::MusicToMIDI(), this indicates 
  78.  * that no note has been calculated because the music value has the note 
  79.  * at a position higher than the top note of the chord. This applies only
  80.  * to DMUS_PLAYMODE_NORMALCHORD play mode. This success code indicates
  81.  * that the caller should not do anything with the note. It is not meant
  82.  * to be played against this chord.
  83.  */
  84. #define DMUS_S_OVER_CHORD               MAKE_DMHRESULTSUCCESS(0x212)
  85.  
  86. /* DMUS_S_UP_OCTAVE
  87.  *
  88.  * Returned from IDirectMusicPerformance::MIDIToMusic(),  and
  89.  * IDirectMusicPerformance::MusicToMIDI(), this indicates 
  90.  * that the note conversion generated a note value that is below 0, 
  91.  * so it has been bumped up one or more octaves to be in the proper
  92.  * MIDI range of 0 through 127. 
  93.  * Note that this is valid for MIDIToMusic() when using play modes
  94.  * DMUS_PLAYMODE_FIXEDTOCHORD and DMUS_PLAYMODE_FIXEDTOKEY, both of
  95.  * which store MIDI values in wMusicValue. With MusicToMIDI(), it is
  96.  * valid for all play modes.
  97.  * Ofcourse, DMUS_PLAYMODE_FIXED will never return this success code.
  98.  */
  99. #define DMUS_S_UP_OCTAVE                MAKE_DMHRESULTSUCCESS(0x213)
  100.  
  101. /* DMUS_S_DOWN_OCTAVE
  102.  *
  103.  * Returned from IDirectMusicPerformance::MIDIToMusic(),  and
  104.  * IDirectMusicPerformance::MusicToMIDI(), this indicates 
  105.  * that the note conversion generated a note value that is above 127, 
  106.  * so it has been bumped down one or more octaves to be in the proper
  107.  * MIDI range of 0 through 127. 
  108.  * Note that this is valid for MIDIToMusic() when using play modes
  109.  * DMUS_PLAYMODE_FIXEDTOCHORD and DMUS_PLAYMODE_FIXEDTOKEY, both of
  110.  * which store MIDI values in wMusicValue. With MusicToMIDI(), it is
  111.  * valid for all play modes.
  112.  * Ofcourse, DMUS_PLAYMODE_FIXED will never return this success code.
  113.  */
  114. #define DMUS_S_DOWN_OCTAVE              MAKE_DMHRESULTSUCCESS(0x214)
  115.  
  116. /* DMUS_S_NOBUFFERCONTROL
  117.  *
  118.  * Although the audio output from the port will be routed to the
  119.  * same device as the given DirectSound buffer, buffer controls
  120.  * such as pan and volume will not affect the output.
  121.  *
  122.  */
  123. #define DMUS_S_NOBUFFERCONTROL          MAKE_DMHRESULTSUCCESS(0x215)
  124.  
  125. /* DMUS_E_DRIVER_FAILED
  126.  *
  127.  * An unexpected error was returned from a device driver, indicating
  128.  * possible failure of the driver or hardware.
  129.  */
  130. #define DMUS_E_DRIVER_FAILED            MAKE_DMHRESULTERROR(0x0101)
  131.  
  132. /* DMUS_E_PORTS_OPEN
  133.  *
  134.  * The requested operation cannot be performed while there are 
  135.  * instantiated ports in any process in the system.
  136.  */
  137. #define DMUS_E_PORTS_OPEN               MAKE_DMHRESULTERROR(0x0102)
  138.  
  139. /* DMUS_E_DEVICE_IN_USE
  140.  *
  141.  * The requested device is already in use (possibly by a non-DirectMusic
  142.  * client) and cannot be opened again.
  143.  */
  144. #define DMUS_E_DEVICE_IN_USE            MAKE_DMHRESULTERROR(0x0103)
  145.  
  146. /* DMUS_E_INSUFFICIENTBUFFER
  147.  *
  148.  * Buffer is not large enough for requested operation.
  149.  */
  150. #define DMUS_E_INSUFFICIENTBUFFER       MAKE_DMHRESULTERROR(0x0104)
  151.  
  152. /* DMUS_E_BUFFERNOTSET
  153.  *
  154.  * No buffer was prepared for the download data.
  155.  */
  156. #define DMUS_E_BUFFERNOTSET             MAKE_DMHRESULTERROR(0x0105)
  157.  
  158. /* DMUS_E_BUFFERNOTAVAILABLE
  159.  *
  160.  * Download failed due to inability to access or create download buffer.
  161.  */
  162. #define DMUS_E_BUFFERNOTAVAILABLE       MAKE_DMHRESULTERROR(0x0106)
  163.  
  164. /* DMUS_E_NOTADLSCOL
  165.  *
  166.  * Error parsing DLS collection. File is corrupt.
  167.  */
  168. #define DMUS_E_NOTADLSCOL               MAKE_DMHRESULTERROR(0x0108)
  169.  
  170. /* DMUS_E_INVALIDOFFSET
  171.  *
  172.  * Wave chunks in DLS collection file are at incorrect offsets.
  173.  */
  174. #define DMUS_E_INVALIDOFFSET            MAKE_DMHRESULTERROR(0x0109)
  175.  
  176. /* DMUS_E_ALREADY_LOADED
  177.  *
  178.  * Second attempt to load a DLS collection that is currently open. 
  179.  */
  180. #define DMUS_E_ALREADY_LOADED           MAKE_DMHRESULTERROR(0x0111)
  181.  
  182. /* DMUS_E_INVALIDPOS
  183.  *
  184.  * Error reading wave data from DLS collection. Indicates bad file.
  185.  */
  186. #define DMUS_E_INVALIDPOS               MAKE_DMHRESULTERROR(0x0113)
  187.  
  188. /* DMUS_E_INVALIDPATCH
  189.  *
  190.  * There is no instrument in the collection that matches patch number.
  191.  */
  192. #define DMUS_E_INVALIDPATCH             MAKE_DMHRESULTERROR(0x0114)
  193.  
  194. /* DMUS_E_CANNOTSEEK
  195.  *
  196.  * The IStream* doesn't support Seek().
  197.  */
  198. #define DMUS_E_CANNOTSEEK               MAKE_DMHRESULTERROR(0x0115)
  199.  
  200. /* DMUS_E_CANNOTWRITE
  201.  *
  202.  * The IStream* doesn't support Write().
  203.  */
  204. #define DMUS_E_CANNOTWRITE              MAKE_DMHRESULTERROR(0x0116)
  205.  
  206. /* DMUS_E_CHUNKNOTFOUND
  207.  *
  208.  * The RIFF parser doesn't contain a required chunk while parsing file.
  209.  */
  210. #define DMUS_E_CHUNKNOTFOUND            MAKE_DMHRESULTERROR(0x0117)
  211.  
  212. /* DMUS_E_INVALID_DOWNLOADID
  213.  *
  214.  * Invalid download id was used in the process of creating a download buffer.
  215.  */
  216. #define DMUS_E_INVALID_DOWNLOADID       MAKE_DMHRESULTERROR(0x0119)
  217.  
  218. /* DMUS_E_NOT_DOWNLOADED_TO_PORT
  219.  *
  220.  * Tried to unload an object that was not downloaded or previously unloaded.
  221.  */
  222. #define DMUS_E_NOT_DOWNLOADED_TO_PORT   MAKE_DMHRESULTERROR(0x0120)
  223.  
  224. /* DMUS_E_ALREADY_DOWNLOADED
  225.  *
  226.  * Buffer was already downloaded to synth.
  227.  */
  228. #define DMUS_E_ALREADY_DOWNLOADED       MAKE_DMHRESULTERROR(0x0121)
  229.  
  230. /* DMUS_E_UNKNOWN_PROPERTY
  231.  *
  232.  * The specified property item was not recognized by the target object.
  233.  */
  234. #define DMUS_E_UNKNOWN_PROPERTY         MAKE_DMHRESULTERROR(0x0122)
  235.  
  236. /* DMUS_E_SET_UNSUPPORTED
  237.  *
  238.  * The specified property item may not be set on the target object.
  239.  */
  240. #define DMUS_E_SET_UNSUPPORTED          MAKE_DMHRESULTERROR(0x0123)
  241.  
  242. /* DMUS_E_GET_UNSUPPORTED
  243.  *
  244.  * The specified property item may not be retrieved from the target object.
  245.  */ 
  246. #define DMUS_E_GET_UNSUPPORTED          MAKE_DMHRESULTERROR(0x0124)
  247.  
  248. /* DMUS_E_NOTMONO
  249.  *
  250.  * Wave chunk has more than one interleaved channel. DLS format requires MONO.
  251.  */
  252. #define DMUS_E_NOTMONO                  MAKE_DMHRESULTERROR(0x0125)
  253.  
  254. /* DMUS_E_BADARTICULATION
  255.  *
  256.  * Invalid articulation chunk in DLS collection.
  257.  */
  258. #define DMUS_E_BADARTICULATION          MAKE_DMHRESULTERROR(0x0126)
  259.  
  260. /* DMUS_E_BADINSTRUMENT
  261.  *
  262.  * Invalid instrument chunk in DLS collection.
  263.  */
  264. #define DMUS_E_BADINSTRUMENT            MAKE_DMHRESULTERROR(0x0127)
  265.  
  266. /* DMUS_E_BADWAVELINK
  267.  *
  268.  * Wavelink chunk in DLS collection points to invalid wave.
  269.  */
  270. #define DMUS_E_BADWAVELINK              MAKE_DMHRESULTERROR(0x0128)
  271.  
  272. /* DMUS_E_NOARTICULATION
  273.  *
  274.  * Articulation missing from instrument in DLS collection.
  275.  */
  276. #define DMUS_E_NOARTICULATION           MAKE_DMHRESULTERROR(0x0129)
  277.  
  278. /* DMUS_E_NOTPCM
  279.  *
  280.  * Downoaded DLS wave is not in PCM format. 
  281. */
  282. #define DMUS_E_NOTPCM                   MAKE_DMHRESULTERROR(0x012A)
  283.  
  284. /* DMUS_E_BADWAVE
  285.  *
  286.  * Bad wave chunk in DLS collection
  287.  */
  288. #define DMUS_E_BADWAVE                  MAKE_DMHRESULTERROR(0x012B)
  289.  
  290. /* DMUS_E_BADOFFSETTABLE
  291.  *
  292.  * Offset Table for download buffer has errors. 
  293.  */
  294. #define DMUS_E_BADOFFSETTABLE           MAKE_DMHRESULTERROR(0x012C)
  295.  
  296. /* DMUS_E_UNKNOWNDOWNLOAD
  297.  *
  298.  * Attempted to download unknown data type.
  299.  */
  300. #define DMUS_E_UNKNOWNDOWNLOAD          MAKE_DMHRESULTERROR(0x012D)
  301.  
  302. /* DMUS_E_NOSYNTHSINK
  303.  *
  304.  * The operation could not be completed because no sink was connected to
  305.  * the synthesizer.
  306.  */
  307. #define DMUS_E_NOSYNTHSINK              MAKE_DMHRESULTERROR(0x012E)
  308.  
  309. /* DMUS_E_ALREADYOPEN
  310.  *
  311.  * An attempt was made to open the software synthesizer while it was already 
  312.  * open.
  313.  * ASSERT?
  314.  */
  315. #define DMUS_E_ALREADYOPEN              MAKE_DMHRESULTERROR(0x012F)
  316.  
  317. /* DMUS_E_ALREADYCLOSE
  318.  *
  319.  * An attempt was made to close the software synthesizer while it was already 
  320.  * open.
  321.  * ASSERT?
  322.  */
  323. #define DMUS_E_ALREADYCLOSED            MAKE_DMHRESULTERROR(0x0130)
  324.  
  325. /* DMUS_E_SYNTHNOTCONFIGURED
  326.  *
  327.  * The operation could not be completed because the software synth has not 
  328.  * yet been fully configured.
  329.  * ASSERT?
  330.  */
  331. #define DMUS_E_SYNTHNOTCONFIGURED       MAKE_DMHRESULTERROR(0x0131)
  332.  
  333. /* DMUS_E_SYNTHACTIVE
  334.  *
  335.  * The operation cannot be carried out while the synthesizer is active.
  336.  */
  337. #define DMUS_E_SYNTHACTIVE              MAKE_DMHRESULTERROR(0x0132)
  338.  
  339. /* DMUS_E_CANNOTREAD
  340.  *
  341.  * An error occurred while attempting to read from the IStream* object.
  342.  */
  343. #define DMUS_E_CANNOTREAD               MAKE_DMHRESULTERROR(0x0133)
  344.  
  345. /* DMUS_E_DMUSIC_RELEASED
  346.  *
  347.  * The operation cannot be performed because the final instance of the
  348.  * DirectMusic object was released. Ports cannot be used after final 
  349.  * release of the DirectMusic object.
  350.  */
  351. #define DMUS_E_DMUSIC_RELEASED          MAKE_DMHRESULTERROR(0x0134)
  352.  
  353. /* DMUS_E_BUFFER_EMPTY
  354.  *
  355.  * There was no data in the referenced buffer.
  356.  */
  357. #define DMUS_E_BUFFER_EMPTY             MAKE_DMHRESULTERROR(0x0135)
  358.  
  359. /* DMUS_E_BUFFER_FULL
  360.  *
  361.  * There is insufficient space to insert the given event into the buffer.
  362.  */
  363. #define DMUS_E_BUFFER_FULL              MAKE_DMHRESULTERROR(0x0136)
  364.  
  365. /* DMUS_E_PORT_NOT_CAPTURE
  366.  *
  367.  * The given operation could not be carried out because the port is a
  368.  * capture port.
  369.  */
  370. #define DMUS_E_PORT_NOT_CAPTURE         MAKE_DMHRESULTERROR(0x0137)
  371.  
  372. /* DMUS_E_PORT_NOT_RENDER
  373.  *
  374.  * The given operation could not be carried out because the port is a
  375.  * render port.
  376.  */
  377. #define DMUS_E_PORT_NOT_RENDER          MAKE_DMHRESULTERROR(0x0138)
  378.  
  379. /* DMUS_E_DSOUND_NOT_SET
  380.  *
  381.  * The port could not be created because no DirectSound has been specified.
  382.  * Specify a DirectSound interface via the IDirectMusic::SetDirectSound
  383.  * method; pass NULL to have DirectMusic manage usage of DirectSound.
  384.  */
  385. #define DMUS_E_DSOUND_NOT_SET           MAKE_DMHRESULTERROR(0x0139)
  386.  
  387. /* DMUS_E_ALREADY_ACTIVATED
  388.  *
  389.  * The operation cannot be carried out while the port is active.
  390.  */
  391. #define DMUS_E_ALREADY_ACTIVATED        MAKE_DMHRESULTERROR(0x013A)
  392.  
  393. /* DMUS_E_INVALIDBUFFER
  394.  *
  395.  * Invalid DirectSound buffer was handed to port. 
  396.  */
  397. #define DMUS_E_INVALIDBUFFER            MAKE_DMHRESULTERROR(0x013B)
  398.  
  399. /* DMUS_E_WAVEFORMATNOTSUPPORTED
  400.  *
  401.  * Invalid buffer format was handed to the synth sink.
  402.  */
  403. #define DMUS_E_WAVEFORMATNOTSUPPORTED   MAKE_DMHRESULTERROR(0x013C)
  404.  
  405. /* DMUS_E_SYNTHINACTIVE
  406.  *
  407.  * The operation cannot be carried out while the synthesizer is inactive.
  408.  */
  409. #define DMUS_E_SYNTHINACTIVE            MAKE_DMHRESULTERROR(0x013D)
  410.  
  411. /* DMUS_E_DSOUND_ALREADY_SET
  412.  *
  413.  * IDirectMusic::SetDirectSound has already been called. It may not be
  414.  * changed while in use.
  415.  */
  416. #define DMUS_E_DSOUND_ALREADY_SET       MAKE_DMHRESULTERROR(0x013E)
  417.  
  418. /* DMUS_E_INVALID_EVENT
  419.  *
  420.  * The given event is invalid (either it is not a valid MIDI message
  421.  * or it makes use of running status). The event cannot be packed
  422.  * into the buffer.
  423.  */
  424. #define DMUS_E_INVALID_EVENT            MAKE_DMHRESULTERROR(0x013F)
  425.  
  426. /* DMUS_E_UNSUPPORTED_STREAM
  427.  *
  428.  * The IStream* object does not contain data supported by the loading object.
  429.  */
  430. #define DMUS_E_UNSUPPORTED_STREAM       MAKE_DMHRESULTERROR(0x0150)
  431.  
  432. /* DMUS_E_ALREADY_INITED
  433.  *
  434.  * The object has already been initialized.
  435.  */
  436. #define DMUS_E_ALREADY_INITED           MAKE_DMHRESULTERROR(0x0151)
  437.  
  438. /* DMUS_E_INVALID_BAND
  439.  *
  440.  * The file does not contain a valid band.
  441.  */
  442. #define DMUS_E_INVALID_BAND             MAKE_DMHRESULTERROR(0x0152)
  443.  
  444. /* DMUS_E_TRACK_HDR_NOT_FIRST_CK
  445.  *
  446.  * The IStream* object's data does not have a track header as the first chunk,
  447.  * and therefore can not be read by the segment object.
  448.  */
  449. #define DMUS_E_TRACK_HDR_NOT_FIRST_CK   MAKE_DMHRESULTERROR(0x0155)
  450.  
  451. /* DMUS_E_TOOL_HDR_NOT_FIRST_CK
  452.  *
  453.  * The IStream* object's data does not have a tool header as the first chunk,
  454.  * and therefore can not be read by the graph object.
  455.  */
  456. #define DMUS_E_TOOL_HDR_NOT_FIRST_CK    MAKE_DMHRESULTERROR(0x0156)
  457.  
  458. /* DMUS_E_INVALID_TRACK_HDR
  459.  *
  460.  * The IStream* object's data contains an invalid track header (ckid is 0 and
  461.  * fccType is NULL,) and therefore can not be read by the segment object.
  462.  */
  463. #define DMUS_E_INVALID_TRACK_HDR        MAKE_DMHRESULTERROR(0x0157)
  464.  
  465. /* DMUS_E_INVALID_TOOL_HDR
  466.  *
  467.  * The IStream* object's data contains an invalid tool header (ckid is 0 and
  468.  * fccType is NULL,) and therefore can not be read by the graph object.
  469.  */
  470. #define DMUS_E_INVALID_TOOL_HDR         MAKE_DMHRESULTERROR(0x0158)
  471.  
  472. /* DMUS_E_ALL_TOOLS_FAILED
  473.  *
  474.  * The graph object was unable to load all tools from the IStream* object data.
  475.  * This may be due to errors in the stream, or the tools being incorrectly
  476.  * registered on the client.
  477.  */
  478. #define DMUS_E_ALL_TOOLS_FAILED         MAKE_DMHRESULTERROR(0x0159)
  479.  
  480. /* DMUS_E_ALL_TRACKS_FAILED
  481.  *
  482.  * The segment object was unable to load all tracks from the IStream* object data.
  483.  * This may be due to errors in the stream, or the tracks being incorrectly
  484.  * registered on the client.
  485.  */
  486. #define DMUS_E_ALL_TRACKS_FAILED        MAKE_DMHRESULTERROR(0x0160)
  487.  
  488. /* DMUS_E_NOT_FOUND
  489.  *
  490.  * The requested item was not contained by the object.
  491.  */
  492. #define DMUS_E_NOT_FOUND                MAKE_DMHRESULTERROR(0x0161)
  493.  
  494. /* DMUS_E_NOT_INIT
  495.  *
  496.  * A required object is not initialized or failed to initialize.
  497.  */
  498. #define DMUS_E_NOT_INIT                 MAKE_DMHRESULTERROR(0x0162)
  499.  
  500. /* DMUS_E_TYPE_DISABLED
  501.  *
  502.  * The requested parameter type is currently disabled. Parameter types may
  503.  * be enabled and disabled by certain calls to SetParam().
  504.  */
  505. #define DMUS_E_TYPE_DISABLED            MAKE_DMHRESULTERROR(0x0163)
  506.  
  507. /* DMUS_E_TYPE_UNSUPPORTED
  508.  *
  509.  * The requested parameter type is not supported on the object.
  510.  */
  511. #define DMUS_E_TYPE_UNSUPPORTED         MAKE_DMHRESULTERROR(0x0164)
  512.  
  513. /* DMUS_E_TIME_PAST
  514.  *
  515.  * The time is in the past, and the operation can not succeed.
  516.  */
  517. #define DMUS_E_TIME_PAST                MAKE_DMHRESULTERROR(0x0165)
  518.  
  519. /* DMUS_E_TRACK_NOT_FOUND
  520.  *
  521.  * The requested track is not contained by the segment.
  522.  */
  523. #define DMUS_E_TRACK_NOT_FOUND            MAKE_DMHRESULTERROR(0x0166)
  524.  
  525. /* DMUS_E_NO_MASTER_CLOCK
  526.  *
  527.  * There is no master clock in the performance. Be sure to call
  528.  * IDirectMusicPerformance::Init().
  529.  */
  530. #define DMUS_E_NO_MASTER_CLOCK          MAKE_DMHRESULTERROR(0x0170)
  531.  
  532. /* DMUS_E_LOADER_NOCLASSID
  533.  *
  534.  * The class id field is required and missing in the DMUS_OBJECTDESC.
  535.  */
  536. #define DMUS_E_LOADER_NOCLASSID         MAKE_DMHRESULTERROR(0x0180)
  537.  
  538. /* DMUS_E_LOADER_BADPATH
  539.  *
  540.  * The requested file path is invalid.
  541.  */
  542. #define DMUS_E_LOADER_BADPATH           MAKE_DMHRESULTERROR(0x0181)
  543.  
  544. /* DMUS_E_LOADER_FAILEDOPEN
  545.  *
  546.  * File open failed - either file doesn't exist or is locked.
  547.  */
  548. #define DMUS_E_LOADER_FAILEDOPEN        MAKE_DMHRESULTERROR(0x0182)
  549.  
  550. /* DMUS_E_LOADER_FORMATNOTSUPPORTED
  551.  *
  552.  * Search data type is not supported.
  553.  */
  554. #define DMUS_E_LOADER_FORMATNOTSUPPORTED    MAKE_DMHRESULTERROR(0x0183)
  555.  
  556. /* DMUS_E_LOADER_FAILEDCREATE
  557.  *
  558.  * Unable to find or create object.
  559.  */
  560. #define DMUS_E_LOADER_FAILEDCREATE      MAKE_DMHRESULTERROR(0x0184)
  561.  
  562. /* DMUS_E_LOADER_OBJECTNOTFOUND
  563.  *
  564.  * Object was not found.
  565.  */
  566. #define DMUS_E_LOADER_OBJECTNOTFOUND    MAKE_DMHRESULTERROR(0x0185)
  567.  
  568. /* DMUS_E_LOADER_NOFILENAME
  569.  *
  570.  * The file name is missing from the DMUS_OBJECTDESC.
  571.  */
  572. #define DMUS_E_LOADER_NOFILENAME        MAKE_DMHRESULTERROR(0x0186)
  573.  
  574. /* DMUS_E_INVALIDFILE
  575.  *
  576.  * The file requested is not a valid file.
  577.  */
  578. #define DMUS_E_INVALIDFILE              MAKE_DMHRESULTERROR(0x0200)
  579.  
  580. /* DMUS_E_ALREADY_EXISTS
  581.  *
  582.  * The tool is already contained in the graph. Create a new instance.
  583.  */
  584. #define DMUS_E_ALREADY_EXISTS           MAKE_DMHRESULTERROR(0x0201)
  585.  
  586. /* DMUS_E_OUT_OF_RANGE
  587.  *
  588.  * Value is out of range, for instance the requested length is longer than
  589.  * the segment.
  590.  */
  591. #define DMUS_E_OUT_OF_RANGE             MAKE_DMHRESULTERROR(0x0202)
  592.  
  593. /* DMUS_E_SEGMENT_INIT_FAILED
  594.  *
  595.  * Segment initialization failed, most likely due to a critical memory situation.
  596.  */
  597. #define DMUS_E_SEGMENT_INIT_FAILED      MAKE_DMHRESULTERROR(0x0203)
  598.  
  599. /* DMUS_E_ALREADY_SENT
  600.  *
  601.  * The DMUS_PMSG has already been sent to the performance object via
  602.  * IDirectMusicPerformance::SendPMsg().
  603.  */
  604. #define DMUS_E_ALREADY_SENT             MAKE_DMHRESULTERROR(0x0204)
  605.  
  606. /* DMUS_E_CANNOT_FREE
  607.  *
  608.  * The DMUS_PMSG was either not allocated by the performance via
  609.  * IDirectMusicPerformance::AllocPMsg(), or it was already freed via
  610.  * IDirectMusicPerformance::FreePMsg().
  611.  */
  612. #define DMUS_E_CANNOT_FREE              MAKE_DMHRESULTERROR(0x0205)
  613.  
  614. /* DMUS_E_CANNOT_OPEN_PORT
  615.  *
  616.  * The default system port could not be opened.
  617.  */
  618. #define DMUS_E_CANNOT_OPEN_PORT         MAKE_DMHRESULTERROR(0x0206)
  619.  
  620. /* DMUS_E_CONNOT_CONVERT
  621.  *
  622.  * A call to MIDIToMusic() or MusicToMIDI() resulted in an error because
  623.  * the requested conversion could not happen. This usually occurs when the
  624.  * provided DMUS_CHORD_KEY structure has an invalid chord or scale pattern.
  625.  */
  626. #define DMUS_E_CONNOT_CONVERT           MAKE_DMHRESULTERROR(0x0207)
  627.  
  628. /* DMUS_E_DESCEND_CHUNK_FAIL
  629.  * 
  630.  * DMUS_E_DESCEND_CHUNK_FAIL is returned when the end of the file 
  631.  * was reached before the desired chunk was found.
  632.  */
  633. #define DMUS_E_DESCEND_CHUNK_FAIL       MAKE_DMHRESULTERROR(0x0210)
  634.  
  635. #pragma option pop /*P_O_Pop*/
  636. #endif
  637.  
  638.