home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / vb_refer / desadecs / mmconst.txt < prev    next >
Text File  |  1992-10-02  |  48KB  |  1,005 lines

  1. ' ------------------------------------------------------------------------
  2. '
  3. '     MMCONST.TXT -- Windows 3.1 Multimedia Constant Declarations for Visual Basic
  4. '
  5. '                       Copyright (C) 1992 Desaware
  6. '
  7. '  You have a royalty-free right to use, modify, reproduce and distribute
  8. '  this file (and/or any modified version) in any way you find useful,
  9. '  provided that you agree that Desaware and Ziff-Davis Press has no 
  10. '  warranty, obligation or liability for its contents.  
  11. '  Refer to the Ziff-Davis Visual Basic Programmer's Guide to the 
  12. '  Windows API for further information.
  13. '
  14. '****************************************************************************
  15. '
  16. '                    General constants and data types
  17. '
  18. '****************************************************************************/
  19.  
  20.  
  21. '' general constants
  22. Global Const MAXPNAMELEN =     32     ' max product name length (including NULL)
  23. Global Const MAXERRORLENGTH =  128    ' max error text length (including NULL)
  24.  
  25.  
  26. '' types for wType field in MMTIME struct 
  27. Global Const TIME_MS =        &H0001  ' time in milliseconds */
  28. Global Const TIME_SAMPLES =   &H0002  ' number of wave samples */
  29. Global Const TIME_BYTES =     &H0004  ' current byte offset
  30. Global Const TIME_SMPTE =     &H0008  ' SMPTE time
  31. Global Const TIME_MIDI =      &H0010  ' MIDI time
  32.  
  33.  
  34. '****************************************************************************
  35. '
  36. ''                    Multimedia Extensions Window Messages
  37. '
  38. '****************************************************************************/
  39.  
  40. Global Const MM_JOY1MOVE =        &H3A0           ' joystick
  41. Global Const MM_JOY2MOVE =        &H3A1
  42. Global Const MM_JOY1ZMOVE =       &H3A2
  43. Global Const MM_JOY2ZMOVE =       &H3A3
  44. Global Const MM_JOY1BUTTONDOWN =  &H3B5
  45. Global Const MM_JOY2BUTTONDOWN =  &H3B6
  46. Global Const MM_JOY1BUTTONUP =    &H3B7
  47. Global Const MM_JOY2BUTTONUP =    &H3B8
  48.  
  49. Global Const MM_MCINOTIFY =       &H3B9           ' MCI
  50.  
  51. Global Const MM_WOM_OPEN =        &H3BB           ' waveform output
  52. Global Const MM_WOM_CLOSE =       &H3BC
  53. Global Const MM_WOM_DONE =        &H3BD
  54.  
  55. Global Const MM_WIM_OPEN =        &H3BE           ' waveform input
  56. Global Const MM_WIM_CLOSE =       &H3BF
  57. Global Const MM_WIM_DATA =        &H3C0
  58.  
  59. Global Const MM_MIM_OPEN =        &H3C1           ' MIDI input
  60. Global Const MM_MIM_CLOSE =       &H3C2
  61. Global Const MM_MIM_DATA =        &H3C3
  62. Global Const MM_MIM_LONGDATA =    &H3C4
  63. Global Const MM_MIM_ERROR =       &H3C5
  64. Global Const MM_MIM_LONGERROR =   &H3C6
  65.  
  66. Global Const MM_MOM_OPEN =        &H3C7           ' MIDI output
  67. Global Const MM_MOM_CLOSE =       &H3C8
  68. Global Const MM_MOM_DONE =        &H3C9
  69.  
  70.  
  71. '****************************************************************************
  72. '
  73. ''                String resource number bases (internal use)
  74. '
  75. '****************************************************************************/
  76.  
  77. Global Const MMSYSERR_BASE =         0
  78. Global Const WAVERR_BASE =           32
  79. Global Const MIDIERR_BASE =          64
  80. Global Const TIMERR_BASE =           96
  81. Global Const JOYERR_BASE =           160
  82. Global Const MCIERR_BASE =           256
  83.  
  84. Global Const MCI_STRING_OFFSET =     512
  85. Global Const MCI_VD_OFFSET =         1024
  86. Global Const MCI_CD_OFFSET =         1088
  87. Global Const MCI_WAVE_OFFSET =       1152
  88. Global Const MCI_SEQ_OFFSET =        1216
  89.  
  90. '****************************************************************************
  91. '
  92. ''                        General error return values
  93. '
  94. '****************************************************************************/
  95.  
  96. Global Const MMSYSERR_NOERROR =     0                    ' no error
  97. Global Const MMSYSERR_ERROR =       (MMSYSERR_BASE + 1)  ' unspecified error
  98. Global Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE + 2)  ' device ID out of range
  99. Global Const MMSYSERR_NOTENABLED =  (MMSYSERR_BASE + 3)  ' driver failed enable
  100. Global Const MMSYSERR_ALLOCATED =   (MMSYSERR_BASE + 4)  ' device already allocated
  101. Global Const MMSYSERR_INVALHANDLE = (MMSYSERR_BASE + 5)  ' device handle is invalid
  102. Global Const MMSYSERR_NODRIVER =    (MMSYSERR_BASE + 6)  ' no device driver present
  103. Global Const MMSYSERR_NOMEM =       (MMSYSERR_BASE + 7)  ' memory allocation error
  104. Global Const MMSYSERR_NOTSUPPORTED =(MMSYSERR_BASE + 8)  ' function isn't supported
  105. Global Const MMSYSERR_BADERRNUM =   (MMSYSERR_BASE + 9)  ' error value out of range
  106. Global Const MMSYSERR_INVALFLAG =   (MMSYSERR_BASE + 10) 'invalid flag passed
  107. Global Const MMSYSERR_INVALPARAM =  (MMSYSERR_BASE + 11) ' invalid parameter passed
  108. Global Const MMSYSERR_LASTERROR =   (MMSYSERR_BASE + 11) ' last error in range
  109.  
  110.  
  111. '****************************************************************************
  112. '
  113. ''                        Installable driver support
  114. '
  115. '****************************************************************************/
  116.  
  117.  
  118. ' return values from DriverProc() function
  119. Global Const DRV_CANCEL =             &H0000
  120. Global Const DRV_OK =                 &H0001
  121. Global Const DRV_RESTART =            &H0002
  122.  
  123. ' Driver messages
  124. Global Const DRV_LOAD =               &H0001
  125. Global Const DRV_ENABLE =             &H0002
  126. Global Const DRV_OPEN =               &H0003
  127. Global Const DRV_CLOSE =              &H0004
  128. Global Const DRV_DISABLE =            &H0005
  129. Global Const DRV_FREE =               &H0006
  130. Global Const DRV_CONFIGURE =          &H0007
  131. Global Const DRV_QUERYCONFIGURE =     &H0008
  132. Global Const DRV_INSTALL =            &H0009
  133. Global Const DRV_REMOVE =             &H000A
  134. Global Const DRV_RESERVED =           &H0800
  135. Global Const DRV_USER =               &H4000
  136.  
  137.  
  138. '****************************************************************************
  139. '
  140. ''                          Driver callback support
  141. '
  142. '****************************************************************************/
  143.  
  144. ' flags used with waveOutOpen(), waveInOpen(), midiInOpen(), and
  145. ' midiOutOpen() to specify the type of the dwCallback parameter.
  146.  
  147. Global Const CALLBACK_TYPEMASK =  &H00070000&    ' callback type mask
  148. Global Const CALLBACK_NULL =      &H00000000&    ' no callback
  149. Global Const CALLBACK_WINDOW =    &H00010000&    ' dwCallback is a HWND
  150. Global Const CALLBACK_TASK =      &H00020000&    ' dwCallback is a HTASK
  151. Global Const CALLBACK_FUNCTION =  &H00030000&    ' dwCallback is a FARPROC
  152.  
  153. ' driver callback prototypes
  154.  
  155. '****************************************************************************
  156. '
  157. ''                         Manufacturer and product IDs
  158. '        
  159. '    Used with wMid and wPid fields in WAVEOUTCAPS, WAVEINCAPS, 
  160. '    MIDIOUTCAPS, MIDIINCAPS, AUXCAPS, JOYCAPS structures.
  161. '
  162. '****************************************************************************/
  163.  
  164. ' manufacturer IDs
  165. Global Const MM_MICROSOFT =           1       ' Microsoft Corp.
  166.  
  167. ' product IDs
  168. Global Const MM_MIDI_MAPPER =         1       ' MIDI Mapper
  169. Global Const MM_WAVE_MAPPER =         2       ' Wave Mapper
  170.  
  171. Global Const MM_SNDBLST_MIDIOUT =     3       ' Sound Blaster MIDI output port
  172. Global Const MM_SNDBLST_MIDIIN =      4       ' Sound Blaster MIDI input port 
  173. Global Const MM_SNDBLST_SYNTH =       5       ' Sound Blaster internal synthesizer
  174. Global Const MM_SNDBLST_WAVEOUT =     6       ' Sound Blaster waveform output
  175. Global Const MM_SNDBLST_WAVEIN =      7       ' Sound Blaster waveform input
  176.  
  177. Global Const MM_ADLIB =               9       ' Ad Lib-compatible synthesizer
  178.  
  179. Global Const MM_MPU401_MIDIOUT =      10      ' MPU401-compatible MIDI output port
  180. Global Const MM_MPU401_MIDIIN =       11      ' MPU401-compatible MIDI input port
  181.  
  182. Global Const MM_PC_JOYSTICK =         12      ' Joystick adapter
  183.  
  184.  
  185. '****************************************************************************
  186. '
  187. ''                            Sound support
  188. '
  189. '****************************************************************************/
  190.  
  191.  
  192. ' flag values for wFlags parameter
  193. Global Const SND_SYNC =           &H0000  ' play synchronously (default)
  194. Global Const SND_ASYNC =          &H0001  ' play asynchronously
  195. Global Const SND_NODEFAULT =      &H0002  ' don't use default sound
  196. Global Const SND_MEMORY =         &H0004  ' lpszSoundName points to a memory file
  197. Global Const SND_LOOP =           &H0008  ' loop the sound until next sndPlaySound
  198. Global Const SND_NOSTOP =         &H0010  ' don't stop any currently playing sound */ 
  199.  
  200.  
  201.  
  202. '****************************************************************************
  203. '
  204. ''                        Waveform audio support
  205. '
  206. '****************************************************************************/
  207.  
  208. ' waveform audio error return values
  209. Global Const WAVERR_BADFORMAT =     (WAVERR_BASE + 0)    ' unsupported wave format
  210. Global Const WAVERR_STILLPLAYING =  (WAVERR_BASE + 1)    ' still something playing
  211. Global Const WAVERR_UNPREPARED =    (WAVERR_BASE + 2)    ' header not prepared
  212. Global Const WAVERR_SYNC =          (WAVERR_BASE + 3)    ' device is synchronous
  213. Global Const WAVERR_LASTERROR =     (WAVERR_BASE + 3)    ' last error in range
  214.  
  215.  
  216. ' wave callback messages 
  217. Global Const WOM_OPEN =       MM_WOM_OPEN
  218. Global Const WOM_CLOSE =      MM_WOM_CLOSE
  219. Global Const WOM_DONE =       MM_WOM_DONE
  220. Global Const WIM_OPEN =       MM_WIM_OPEN
  221. Global Const WIM_CLOSE =      MM_WIM_CLOSE
  222. Global Const WIM_DATA =       MM_WIM_DATA
  223.  
  224. ' device ID for wave device mapper 
  225. Global Const WAVE_MAPPER =    (-1)
  226.  
  227. ' flags for dwFlags parameter in waveOutOpen() and waveInOpen() 
  228. Global Const  WAVE_FORMAT_QUERY =    &H0001
  229. Global Const  WAVE_ALLOWSYNC =       &H0002
  230.  
  231.  
  232. ' flags for dwFlags field of WAVEHDR 
  233. Global Const WHDR_DONE =      &H00000001  ' done bit 
  234. Global Const WHDR_PREPARED =  &H00000002  ' set if this header has been prepared 
  235. Global Const WHDR_BEGINLOOP = &H00000004  ' loop start block 
  236. Global Const WHDR_ENDLOOP =   &H00000008  ' loop end block 
  237. Global Const WHDR_INQUEUE =   &H00000010  ' reserved for driver 
  238.  
  239. ' flags for dwSupport field of WAVEOUTCAPS 
  240. Global Const WAVECAPS_PITCH =         &H0001   ' supports pitch control 
  241. Global Const WAVECAPS_PLAYBACKRATE =  &H0002   ' supports playback rate control 
  242. Global Const WAVECAPS_VOLUME =        &H0004   ' supports volume control 
  243. Global Const WAVECAPS_LRVOLUME =      &H0008   ' separate left-right volume control 
  244. Global Const WAVECAPS_SYNC =          &H0010
  245.  
  246.  
  247. ' defines for dwFormat field of WAVEINCAPS and WAVEOUTCAPS 
  248. Global Const WAVE_INVALIDFORMAT =    &H00000000&       ' invalid format 
  249. Global Const WAVE_FORMAT_1M08 =      &H00000001&       ' 11.025 kHz, Mono,   8-bit  
  250. Global Const WAVE_FORMAT_1S08 =      &H00000002&       ' 11.025 kHz, Stereo, 8-bit  
  251. Global Const WAVE_FORMAT_1M16 =      &H00000004&       ' 11.025 kHz, Mono,   16-bit 
  252. Global Const WAVE_FORMAT_1S16 =      &H00000008&       ' 11.025 kHz, Stereo, 16-bit 
  253. Global Const WAVE_FORMAT_2M08 =      &H00000010&       ' 22.05  kHz, Mono,   8-bit  
  254. Global Const WAVE_FORMAT_2S08 =      &H00000020&       ' 22.05  kHz, Stereo, 8-bit  
  255. Global Const WAVE_FORMAT_2M16 =      &H00000040&       ' 22.05  kHz, Mono,   16-bit 
  256. Global Const WAVE_FORMAT_2S16 =      &H00000080&       ' 22.05  kHz, Stereo, 16-bit 
  257. Global Const WAVE_FORMAT_4M08 =      &H00000100&       ' 44.1   kHz, Mono,   8-bit  
  258. Global Const WAVE_FORMAT_4S08 =      &H00000200&       ' 44.1   kHz, Stereo, 8-bit  
  259. Global Const WAVE_FORMAT_4M16 =      &H00000400&       ' 44.1   kHz, Mono,   16-bit 
  260. Global Const WAVE_FORMAT_4S16 =      &H00000800&       ' 44.1   kHz, Stereo, 16-bit 
  261.  
  262. ' flags for wFormatTag field of WAVEFORMAT 
  263. Global Const WAVE_FORMAT_PCM =    1
  264.  
  265.  
  266.  
  267. '****************************************************************************
  268. '
  269. ''                            MIDI audio support
  270. '
  271. '****************************************************************************/
  272.  
  273. ' MIDI error return values 
  274. Global Const MIDIERR_UNPREPARED =   (MIDIERR_BASE + 0)   ' header not prepared 
  275. Global Const MIDIERR_STILLPLAYING = (MIDIERR_BASE + 1)   ' still something playing 
  276. Global Const MIDIERR_NOMAP =        (MIDIERR_BASE + 2)   ' no current map 
  277. Global Const MIDIERR_NOTREADY =     (MIDIERR_BASE + 3)   ' hardware is still busy 
  278. Global Const MIDIERR_NODEVICE =     (MIDIERR_BASE + 4)   ' port no longer connected 
  279. Global Const MIDIERR_INVALIDSETUP = (MIDIERR_BASE + 5)   ' invalid setup 
  280. Global Const MIDIERR_LASTERROR =    (MIDIERR_BASE + 5)   ' last error in range 
  281.  
  282. ' MIDI audio data types 
  283. Global Const MIDIPATCHSIZE =  128
  284.  
  285. ' MIDI callback messages 
  286. Global Const MIM_OPEN =       MM_MIM_OPEN
  287. Global Const MIM_CLOSE =      MM_MIM_CLOSE
  288. Global Const MIM_DATA =       MM_MIM_DATA
  289. Global Const MIM_LONGDATA =   MM_MIM_LONGDATA
  290. Global Const MIM_ERROR =      MM_MIM_ERROR
  291. Global Const MIM_LONGERROR =  MM_MIM_LONGERROR
  292. Global Const MOM_OPEN =       MM_MOM_OPEN
  293. Global Const MOM_CLOSE =      MM_MOM_CLOSE
  294. Global Const MOM_DONE =       MM_MOM_DONE
  295.  
  296. ' device ID for MIDI mapper 
  297. Global Const MIDIMAPPER =    (-1)
  298. Global Const MIDI_MAPPER =   (-1)
  299.  
  300. ' flags for wFlags parm of midiOutCachePatches(), midiOutCacheDrumPatches()                              
  301. Global Const MIDI_CACHE_ALL =     1                            
  302. Global Const MIDI_CACHE_BESTFIT = 2                            
  303. Global Const MIDI_CACHE_QUERY =   3                            
  304. Global Const MIDI_UNCACHE =       4                            
  305.  
  306. ' flags for wTechnology field of MIDIOUTCAPS structure 
  307. Global Const MOD_MIDIPORT =   1  ' output port 
  308. Global Const MOD_SYNTH =      2  ' generic internal synth 
  309. Global Const MOD_SQSYNTH =    3  ' square wave internal synth 
  310. Global Const MOD_FMSYNTH =    4  ' FM internal synth 
  311. Global Const MOD_MAPPER =     5  ' MIDI mapper 
  312.  
  313. ' flags for dwSupport field of MIDIOUTCAPS structure 
  314. Global Const MIDICAPS_VOLUME =         &H0001  ' supports volume control 
  315. Global Const MIDICAPS_LRVOLUME =       &H0002  ' separate left-right volume control 
  316. Global Const MIDICAPS_CACHE =          &H0004  
  317.  
  318. ' flags for dwFlags field of MIDIHDR structure 
  319. Global Const MHDR_DONE =      &H00000001       ' done bit 
  320. Global Const MHDR_PREPARED =  &H00000002       ' set if header prepared 
  321. Global Const MHDR_INQUEUE =   &H00000004       ' reserved for driver 
  322.  
  323.  
  324. '****************************************************************************
  325. '
  326. ''                        Auxiliary audio support
  327. '
  328. '****************************************************************************/
  329.  
  330. ' device ID for aux device mapper 
  331. Global Const AUX_MAPPER =    (-1)
  332.  
  333. ' flags for wTechnology field in AUXCAPS structure 
  334. Global Const AUXCAPS_CDAUDIO =   1       ' audio from internal CD-ROM drive 
  335. Global Const AUXCAPS_AUXIN =     2       ' audio from auxiliary input jacks 
  336.  
  337. ' flags for dwSupport field in AUXCAPS structure 
  338. Global Const AUXCAPS_VOLUME =         &H0001  ' supports volume control 
  339. Global Const AUXCAPS_LRVOLUME =       &H0002  ' separate left-right volume control 
  340.  
  341.  
  342. '****************************************************************************
  343. '
  344. ''                            Timer support
  345. '
  346. '****************************************************************************/
  347.  
  348. ' timer error return values 
  349. Global Const TIMERR_NOERROR =       (0)                  ' no error 
  350. Global Const TIMERR_NOCANDO =       (TIMERR_BASE+1)      ' request not completed 
  351. Global Const TIMERR_STRUCT =        (TIMERR_BASE+33)     ' time struct size 
  352.  
  353.  
  354. ' flags for wFlags parameter of timeSetEvent() function 
  355. Global Const TIME_ONESHOT =   0   ' program timer for single event 
  356. Global Const TIME_PERIODIC =  1   ' program for continuous periodic event 
  357.  
  358. '****************************************************************************
  359. '
  360. ''                            Joystick support
  361. '
  362. '****************************************************************************/
  363.  
  364. ' joystick error return values 
  365. Global Const JOYERR_NOERROR =       (0)                  ' no error 
  366. Global Const JOYERR_PARMS =         (JOYERR_BASE+5)      ' bad parameters 
  367. Global Const JOYERR_NOCANDO =       (JOYERR_BASE+6)      ' request not completed 
  368. Global Const JOYERR_UNPLUGGED =     (JOYERR_BASE+7)      ' joystick is unplugged 
  369.  
  370. ' constants used with JOYINFO structure and MM_JOY* messages 
  371. Global Const JOY_BUTTON1 =        &H0001
  372. Global Const JOY_BUTTON2 =        &H0002
  373. Global Const JOY_BUTTON3 =        &H0004
  374. Global Const JOY_BUTTON4 =        &H0008
  375. Global Const JOY_BUTTON1CHG =     &H0100
  376. Global Const JOY_BUTTON2CHG =     &H0200
  377. Global Const JOY_BUTTON3CHG =     &H0400
  378. Global Const JOY_BUTTON4CHG =     &H0800
  379.  
  380. ' joystick ID constants 
  381. Global Const JOYSTICKID1 =        0
  382. Global Const JOYSTICKID2 =        1
  383.  
  384.  
  385. '****************************************************************************
  386. '
  387. ''                        Multimedia File I/O support
  388. '
  389. '****************************************************************************/
  390.  
  391. ' MMIO error return values 
  392. Global Const MMIOERR_BASE =           256
  393. Global Const MMIOERR_FILENOTFOUND =   (MMIOERR_BASE + 1)  ' file not found 
  394. Global Const MMIOERR_OUTOFMEMORY =    (MMIOERR_BASE + 2)  ' out of memory 
  395. Global Const MMIOERR_CANNOTOPEN =     (MMIOERR_BASE + 3)  ' cannot open 
  396. Global Const MMIOERR_CANNOTCLOSE =    (MMIOERR_BASE + 4)  ' cannot close 
  397. Global Const MMIOERR_CANNOTREAD =     (MMIOERR_BASE + 5)  ' cannot read 
  398. Global Const MMIOERR_CANNOTWRITE =    (MMIOERR_BASE + 6)  ' cannot write 
  399. Global Const MMIOERR_CANNOTSEEK =     (MMIOERR_BASE + 7)  ' cannot seek 
  400. Global Const MMIOERR_CANNOTEXPAND =   (MMIOERR_BASE + 8)  ' cannot expand file 
  401. Global Const MMIOERR_CHUNKNOTFOUND =  (MMIOERR_BASE + 9)  ' chunk not found 
  402. Global Const MMIOERR_UNBUFFERED =     (MMIOERR_BASE + 10) ' file is unbuffered 
  403.  
  404. ' MMIO constants 
  405. Global Const CFSEPCHAR =      &H2B             ' compound file name separator char. 
  406.  
  407.  
  408. ' bit field masks 
  409. Global Const MMIO_RWMODE =    &H00000003      ' open file for reading/writing/both 
  410. Global Const MMIO_SHAREMODE = &H00000070      ' file sharing mode number 
  411.  
  412. ' constants for dwFlags field of MMIOINFO 
  413. Global Const MMIO_CREATE =    &H00001000      ' create new file (or truncate file) 
  414. Global Const MMIO_PARSE =     &H00000100      ' parse new file returning path 
  415. Global Const MMIO_DELETE =    &H00000200      ' create new file (or truncate file) 
  416. Global Const MMIO_EXIST =     &H00004000      ' checks for existence of file 
  417. Global Const MMIO_ALLOCBUF =  &H00010000      ' mmioOpen() should allocate a buffer 
  418. Global Const MMIO_GETTEMP =   &H00020000      ' mmioOpen() should retrieve temp name 
  419.  
  420. Global Const MMIO_DIRTY =     &H10000000      ' I/O buffer is dirty 
  421.  
  422.  
  423. ' read/write mode numbers (bit field MMIO_RWMODE) 
  424. Global Const MMIO_READ =      &H00000000      ' open file for reading only 
  425. Global Const MMIO_WRITE =     &H00000001      ' open file for writing only 
  426. Global Const MMIO_READWRITE = &H00000002      ' open file for reading and writing 
  427.  
  428. ' share mode numbers (bit field MMIO_SHAREMODE) 
  429. Global Const MMIO_COMPAT =    &H00000000      ' compatibility mode 
  430. Global Const MMIO_EXCLUSIVE = &H00000010      ' exclusive-access mode 
  431. Global Const MMIO_DENYWRITE = &H00000020      ' deny writing to other processes 
  432. Global Const MMIO_DENYREAD =  &H00000030      ' deny reading to other processes 
  433. Global Const MMIO_DENYNONE =  &H00000040      ' deny nothing to other processes 
  434.  
  435. ' various MMIO flags 
  436. Global Const MMIO_FHOPEN =            &H0010  ' mmioClose: keep file handle open 
  437. Global Const MMIO_EMPTYBUF =          &H0010  ' mmioFlush: empty the I/O buffer 
  438. Global Const MMIO_TOUPPER =           &H0010  ' mmioStringToFOURCC: to u-case 
  439. Global Const MMIO_INSTALLPROC =   &H00010000  ' mmioInstallIOProc: install MMIOProc 
  440. Global Const MMIO_GLOBALPROC =    &H10000000  ' mmioInstallIOProc: install globally 
  441. Global Const MMIO_REMOVEPROC =    &H00020000  ' mmioInstallIOProc: remove MMIOProc 
  442. Global Const MMIO_FINDPROC =      &H00040000  ' mmioInstallIOProc: find an MMIOProc 
  443. Global Const MMIO_FINDCHUNK =         &H0010  ' mmioDescend: find a chunk by ID 
  444. Global Const MMIO_FINDRIFF =          &H0020  ' mmioDescend: find a LIST chunk 
  445. Global Const MMIO_FINDLIST =          &H0040  ' mmioDescend: find a RIFF chunk 
  446. Global Const MMIO_CREATERIFF =        &H0020  ' mmioCreateChunk: make a LIST chunk 
  447. Global Const MMIO_CREATELIST =        &H0040  ' mmioCreateChunk: make a RIFF chunk 
  448.  
  449.  
  450. ' message numbers for MMIOPROC I/O procedure functions 
  451. Global Const MMIOM_READ =     MMIO_READ       ' read 
  452. Global Const MMIOM_WRITE =   MMIO_WRITE       ' write 
  453. Global Const MMIOM_SEEK =             2       ' seek to a new position in file 
  454. Global Const MMIOM_OPEN =             3       ' open file 
  455. Global Const MMIOM_CLOSE =            4       ' close file 
  456. Global Const MMIOM_WRITEFLUSH =       5       ' write and flush 
  457.  
  458. Global Const MMIOM_RENAME =           6       ' rename specified file 
  459.  
  460. Global Const MMIOM_USER =        &H8000       ' beginning of user-defined messages 
  461.  
  462. ' standard four character codes 
  463. Global Const FOURCC_RIFF =    &H46464952& ' mmioFOURCC('R', 'I', 'F', 'F')
  464. Global Const FOURCC_LIST =    &H5453494C& ' mmioFOURCC('L', 'I', 'S', 'T')
  465.  
  466. ' four character codes used to identify standard built-in I/O procedures 
  467. Global Const FOURCC_DOS =     &H20534F44& ' mmioFOURCC('D', 'O', 'S', ' ')
  468. Global Const FOURCC_MEM =     &H204D454D& ' mmioFOURCC('M', 'E', 'M', ' ')
  469.  
  470. ' flags for mmioSeek() 
  471. Global Const SEEK_SET =       0               ' seek to an absolute position 
  472. Global Const SEEK_CUR =       1               ' seek relative to current position 
  473. Global Const SEEK_END =       2               ' seek relative to end of file 
  474.  
  475. ' other constants 
  476. Global Const MMIO_DEFAULTBUFFER =     8192    ' default buffer size 
  477.  
  478.  
  479.  
  480. ' MCI error return values 
  481. Global Const MCIERR_INVALID_DEVICE_ID =       (MCIERR_BASE + 1)
  482. Global Const MCIERR_UNRECOGNIZED_KEYWORD =    (MCIERR_BASE + 3)
  483. Global Const MCIERR_UNRECOGNIZED_COMMAND =    (MCIERR_BASE + 5)
  484. Global Const MCIERR_HARDWARE =                (MCIERR_BASE + 6)
  485. Global Const MCIERR_INVALID_DEVICE_NAME =     (MCIERR_BASE + 7)
  486. Global Const MCIERR_OUT_OF_MEMORY =           (MCIERR_BASE + 8)
  487. Global Const MCIERR_DEVICE_OPEN =             (MCIERR_BASE + 9)
  488. Global Const MCIERR_CANNOT_LOAD_DRIVER =      (MCIERR_BASE + 10)
  489. Global Const MCIERR_MISSING_COMMAND_STRING =  (MCIERR_BASE + 11)
  490. Global Const MCIERR_PARAM_OVERFLOW =          (MCIERR_BASE + 12)
  491. Global Const MCIERR_MISSING_STRING_ARGUMENT = (MCIERR_BASE + 13)
  492. Global Const MCIERR_BAD_INTEGER =             (MCIERR_BASE + 14)
  493. Global Const MCIERR_PARSER_INTERNAL =         (MCIERR_BASE + 15)
  494. Global Const MCIERR_DRIVER_INTERNAL =         (MCIERR_BASE + 16)
  495. Global Const MCIERR_MISSING_PARAMETER =       (MCIERR_BASE + 17)
  496. Global Const MCIERR_UNSUPPORTED_FUNCTION =    (MCIERR_BASE + 18)
  497. Global Const MCIERR_FILE_NOT_FOUND =          (MCIERR_BASE + 19)
  498. Global Const MCIERR_DEVICE_NOT_READY =        (MCIERR_BASE + 20)
  499. Global Const MCIERR_INTERNAL =                (MCIERR_BASE + 21)
  500. Global Const MCIERR_DRIVER =                  (MCIERR_BASE + 22)
  501. Global Const MCIERR_CANNOT_USE_ALL =          (MCIERR_BASE + 23)
  502. Global Const MCIERR_MULTIPLE =                (MCIERR_BASE + 24)
  503. Global Const MCIERR_EXTENSION_NOT_FOUND =     (MCIERR_BASE + 25)
  504. Global Const MCIERR_OUTOFRANGE =              (MCIERR_BASE + 26)
  505. Global Const MCIERR_FLAGS_NOT_COMPATIBLE =    (MCIERR_BASE + 28)
  506. Global Const MCIERR_FILE_NOT_SAVED =          (MCIERR_BASE + 30)
  507. Global Const MCIERR_DEVICE_TYPE_REQUIRED =    (MCIERR_BASE + 31)
  508. Global Const MCIERR_DEVICE_LOCKED =           (MCIERR_BASE + 32)
  509. Global Const MCIERR_DUPLICATE_ALIAS =         (MCIERR_BASE + 33)
  510. Global Const MCIERR_BAD_CONSTANT =            (MCIERR_BASE + 34)
  511. Global Const MCIERR_MUST_USE_SHAREABLE =      (MCIERR_BASE + 35)
  512. Global Const MCIERR_MISSING_DEVICE_NAME =     (MCIERR_BASE + 36)
  513. Global Const MCIERR_BAD_TIME_FORMAT =         (MCIERR_BASE + 37)
  514. Global Const MCIERR_NO_CLOSING_QUOTE =        (MCIERR_BASE + 38)
  515. Global Const MCIERR_DUPLICATE_FLAGS =         (MCIERR_BASE + 39)
  516. Global Const MCIERR_INVALID_FILE =            (MCIERR_BASE + 40)
  517. Global Const MCIERR_NULL_PARAMETER_BLOCK =    (MCIERR_BASE + 41)
  518. Global Const MCIERR_UNNAMED_RESOURCE =        (MCIERR_BASE + 42)
  519. Global Const MCIERR_NEW_REQUIRES_ALIAS =      (MCIERR_BASE + 43)
  520. Global Const MCIERR_NOTIFY_ON_AUTO_OPEN =     (MCIERR_BASE + 44)
  521. Global Const MCIERR_NO_ELEMENT_ALLOWED =      (MCIERR_BASE + 45)
  522. Global Const MCIERR_NONAPPLICABLE_FUNCTION =  (MCIERR_BASE + 46)
  523. Global Const MCIERR_ILLEGAL_FOR_AUTO_OPEN =   (MCIERR_BASE + 47)
  524. Global Const MCIERR_FILENAME_REQUIRED =       (MCIERR_BASE + 48)
  525. Global Const MCIERR_EXTRA_CHARACTERS =        (MCIERR_BASE + 49)
  526. Global Const MCIERR_DEVICE_NOT_INSTALLED =    (MCIERR_BASE + 50)
  527. Global Const MCIERR_GET_CD =                  (MCIERR_BASE + 51)
  528. Global Const MCIERR_SET_CD =                  (MCIERR_BASE + 52)
  529. Global Const MCIERR_SET_DRIVE =               (MCIERR_BASE + 53)
  530. Global Const MCIERR_DEVICE_LENGTH =           (MCIERR_BASE + 54)
  531. Global Const MCIERR_DEVICE_ORD_LENGTH =       (MCIERR_BASE + 55)
  532. Global Const MCIERR_NO_INTEGER =              (MCIERR_BASE + 56)
  533.  
  534. Global Const MCIERR_WAVE_OUTPUTSINUSE =       (MCIERR_BASE + 64)
  535. Global Const MCIERR_WAVE_SETOUTPUTINUSE =     (MCIERR_BASE + 65)
  536. Global Const MCIERR_WAVE_INPUTSINUSE =        (MCIERR_BASE + 66)
  537. Global Const MCIERR_WAVE_SETINPUTINUSE =      (MCIERR_BASE + 67)
  538. Global Const MCIERR_WAVE_OUTPUTUNSPECIFIED =  (MCIERR_BASE + 68)
  539. Global Const MCIERR_WAVE_INPUTUNSPECIFIED =   (MCIERR_BASE + 69)
  540. Global Const MCIERR_WAVE_OUTPUTSUNSUITABLE =  (MCIERR_BASE + 70)
  541. Global Const MCIERR_WAVE_SETOUTPUTUNSUITABLE =(MCIERR_BASE + 71)
  542. Global Const MCIERR_WAVE_INPUTSUNSUITABLE =   (MCIERR_BASE + 72)
  543. Global Const MCIERR_WAVE_SETINPUTUNSUITABLE = (MCIERR_BASE + 73)
  544.  
  545. Global Const MCIERR_SEQ_DIV_INCOMPATIBLE =    (MCIERR_BASE + 80)
  546. Global Const MCIERR_SEQ_PORT_INUSE =          (MCIERR_BASE + 81)
  547. Global Const MCIERR_SEQ_PORT_NONEXISTENT =    (MCIERR_BASE + 82)
  548. Global Const MCIERR_SEQ_PORT_MAPNODEVICE =    (MCIERR_BASE + 83)
  549. Global Const MCIERR_SEQ_PORT_MISCERROR =      (MCIERR_BASE + 84)
  550. Global Const MCIERR_SEQ_TIMER =               (MCIERR_BASE + 85)
  551. Global Const MCIERR_SEQ_PORTUNSPECIFIED =     (MCIERR_BASE + 86)
  552. Global Const MCIERR_SEQ_NOMIDIPRESENT =       (MCIERR_BASE + 87)
  553.  
  554. Global Const MCIERR_NO_WINDOW =               (MCIERR_BASE + 90)
  555. Global Const MCIERR_CREATEWINDOW =            (MCIERR_BASE + 91)
  556. Global Const MCIERR_FILE_READ =               (MCIERR_BASE + 92)
  557. Global Const MCIERR_FILE_WRITE =              (MCIERR_BASE + 93)
  558.  
  559. ' all custom device driver errors must be >= than this value 
  560. Global Const MCIERR_CUSTOM_DRIVER_BASE =      (MCIERR_BASE + 256)
  561.  
  562. ' MCI command message identifiers 
  563. Global Const MCI_OPEN =                       &H0803
  564. Global Const MCI_CLOSE =                      &H0804
  565. Global Const MCI_ESCAPE =                     &H0805
  566. Global Const MCI_PLAY =                       &H0806
  567. Global Const MCI_SEEK =                       &H0807
  568. Global Const MCI_STOP =                       &H0808
  569. Global Const MCI_PAUSE =                      &H0809
  570. Global Const MCI_INFO =                       &H080A
  571. Global Const MCI_GETDEVCAPS =                 &H080B
  572. Global Const MCI_SPIN =                       &H080C
  573. Global Const MCI_SET =                        &H080D
  574. Global Const MCI_STEP =                       &H080E
  575. Global Const MCI_RECORD =                     &H080F
  576. Global Const MCI_SYSINFO =                    &H0810
  577. Global Const MCI_BREAK =                      &H0811
  578. Global Const MCI_SOUND =                      &H0812
  579. Global Const MCI_SAVE =                       &H0813
  580. Global Const MCI_STATUS =                     &H0814
  581. Global Const MCI_CUE =                        &H0830
  582. Global Const MCI_REALIZE =                    &H0840
  583. Global Const MCI_WINDOW =                     &H0841
  584. Global Const MCI_PUT =                        &H0842
  585. Global Const MCI_WHERE =                      &H0843
  586. Global Const MCI_FREEZE =                     &H0844
  587. Global Const MCI_UNFREEZE =                   &H0845
  588. Global Const MCI_LOAD =                       &H0850
  589. Global Const MCI_CUT =                        &H0851
  590. Global Const MCI_COPY =                       &H0852
  591. Global Const MCI_PASTE =                      &H0853
  592. Global Const MCI_UPDATE =                     &H0854
  593. Global Const MCI_RESUME =                     &H0855
  594. Global Const MCI_DELETE =                     &H0856
  595.  
  596. ' all custom MCI command messages must be >= than this value 
  597. Global Const MCI_USER_MESSAGES =              (&H400 + DRV_MCI_FIRST)
  598.  
  599.  
  600. ' device ID for "all devices" 
  601. Global Const MCI_ALL_DEVICE_ID =              &HFFFF
  602.  
  603. ' constants for predefined MCI device types 
  604. Global Const MCI_DEVTYPE_VCR =                (MCI_STRING_OFFSET + 1)
  605. Global Const MCI_DEVTYPE_VIDEODISC =          (MCI_STRING_OFFSET + 2)
  606. Global Const MCI_DEVTYPE_OVERLAY =            (MCI_STRING_OFFSET + 3)
  607. Global Const MCI_DEVTYPE_CD_AUDIO =           (MCI_STRING_OFFSET + 4)
  608. Global Const MCI_DEVTYPE_DAT =                (MCI_STRING_OFFSET + 5)
  609. Global Const MCI_DEVTYPE_SCANNER =            (MCI_STRING_OFFSET + 6)
  610. Global Const MCI_DEVTYPE_ANIMATION =          (MCI_STRING_OFFSET + 7)
  611. Global Const MCI_DEVTYPE_DIGITAL_VIDEO =      (MCI_STRING_OFFSET + 8)
  612. Global Const MCI_DEVTYPE_OTHER =              (MCI_STRING_OFFSET + 9)
  613. Global Const MCI_DEVTYPE_WAVEFORM_AUDIO =     (MCI_STRING_OFFSET + 10)
  614. Global Const MCI_DEVTYPE_SEQUENCER =          (MCI_STRING_OFFSET + 11)
  615.  
  616. Global Const MCI_DEVTYPE_FIRST =              MCI_DEVTYPE_VCR
  617. Global Const MCI_DEVTYPE_LAST =               MCI_DEVTYPE_SEQUENCER
  618.  
  619. ' return values for 'status mode' command 
  620. Global Const MCI_MODE_NOT_READY =             (MCI_STRING_OFFSET + 12)
  621. Global Const MCI_MODE_STOP =                  (MCI_STRING_OFFSET + 13)
  622. Global Const MCI_MODE_PLAY =                  (MCI_STRING_OFFSET + 14)
  623. Global Const MCI_MODE_RECORD =                (MCI_STRING_OFFSET + 15)
  624. Global Const MCI_MODE_SEEK =                  (MCI_STRING_OFFSET + 16)
  625. Global Const MCI_MODE_PAUSE =                 (MCI_STRING_OFFSET + 17)
  626. Global Const MCI_MODE_OPEN =                  (MCI_STRING_OFFSET + 18)
  627.  
  628. ' constants used in 'set time format' and 'status time format' commands 
  629. Global Const MCI_FORMAT_MILLISECONDS =        0
  630. Global Const MCI_FORMAT_HMS =                 1
  631. Global Const MCI_FORMAT_MSF =                 2
  632. Global Const MCI_FORMAT_FRAMES =              3
  633. Global Const MCI_FORMAT_SMPTE_24 =            4
  634. Global Const MCI_FORMAT_SMPTE_25 =            5
  635. Global Const MCI_FORMAT_SMPTE_30 =            6
  636. Global Const MCI_FORMAT_SMPTE_30DROP =        7
  637. Global Const MCI_FORMAT_BYTES =               8
  638. Global Const MCI_FORMAT_SAMPLES =             9
  639. Global Const MCI_FORMAT_TMSF =                10
  640.  
  641. ' MCI time format conversion macros 
  642.  
  643. ' flags for wParam of MM_MCINOTIFY message 
  644. Global Const MCI_NOTIFY_SUCCESSFUL =          &H0001
  645. Global Const MCI_NOTIFY_SUPERSEDED =          &H0002
  646. Global Const MCI_NOTIFY_ABORTED =             &H0004
  647. Global Const MCI_NOTIFY_FAILURE =             &H0008
  648.  
  649.  
  650. ' common flags for dwFlags parameter of MCI command messages 
  651. Global Const MCI_NOTIFY =                     &H00000001&
  652. Global Const MCI_WAIT =                       &H00000002&
  653. Global Const MCI_FROM =                       &H00000004&
  654. Global Const MCI_TO =                         &H00000008&
  655. Global Const MCI_TRACK =                      &H00000010&
  656.  
  657. ' flags for dwFlags parameter of MCI_OPEN command message 
  658. Global Const MCI_OPEN_SHAREABLE =             &H00000100&
  659. Global Const MCI_OPEN_ELEMENT =               &H00000200&
  660. Global Const MCI_OPEN_ALIAS =                 &H00000400&
  661. Global Const MCI_OPEN_ELEMENT_ID =            &H00000800&
  662. Global Const MCI_OPEN_TYPE_ID =               &H00001000&
  663. Global Const MCI_OPEN_TYPE =                  &H00002000&
  664.  
  665. ' flags for dwFlags parameter of MCI_SEEK command message 
  666. Global Const MCI_SEEK_TO_START =              &H00000100&
  667. Global Const MCI_SEEK_TO_END =                &H00000200&
  668.  
  669. ' flags for dwFlags parameter of MCI_STATUS command message 
  670. Global Const MCI_STATUS_ITEM =                &H00000100&
  671. Global Const MCI_STATUS_START =               &H00000200&
  672.  
  673. ' flags for dwItem field of the MCI_STATUS_PARMS parameter block 
  674. Global Const MCI_STATUS_LENGTH =              &H00000001&
  675. Global Const MCI_STATUS_POSITION =            &H00000002&
  676. Global Const MCI_STATUS_NUMBER_OF_TRACKS =    &H00000003&
  677. Global Const MCI_STATUS_MODE =                &H00000004&
  678. Global Const MCI_STATUS_MEDIA_PRESENT =       &H00000005&
  679. Global Const MCI_STATUS_TIME_FORMAT =         &H00000006&
  680. Global Const MCI_STATUS_READY =               &H00000007&
  681. Global Const MCI_STATUS_CURRENT_TRACK =       &H00000008&
  682.  
  683. ' flags for dwFlags parameter of MCI_INFO command message 
  684. Global Const MCI_INFO_PRODUCT =               &H00000100&
  685. Global Const MCI_INFO_FILE =                  &H00000200&
  686.  
  687. ' flags for dwFlags parameter of MCI_GETDEVCAPS command message 
  688. Global Const MCI_GETDEVCAPS_ITEM =            &H00000100&
  689.  
  690. ' flags for dwItem field of the MCI_GETDEVCAPS_PARMS parameter block 
  691. Global Const MCI_GETDEVCAPS_CAN_RECORD =      &H00000001&
  692. Global Const MCI_GETDEVCAPS_HAS_AUDIO =       &H00000002&
  693. Global Const MCI_GETDEVCAPS_HAS_VIDEO =       &H00000003&
  694. Global Const MCI_GETDEVCAPS_DEVICE_TYPE =     &H00000004&
  695. Global Const MCI_GETDEVCAPS_USES_FILES =      &H00000005&
  696. Global Const MCI_GETDEVCAPS_COMPOUND_DEVICE = &H00000006&
  697. Global Const MCI_GETDEVCAPS_CAN_EJECT =       &H00000007&
  698. Global Const MCI_GETDEVCAPS_CAN_PLAY =        &H00000008&
  699. Global Const MCI_GETDEVCAPS_CAN_SAVE =        &H00000009&
  700.  
  701. ' flags for dwFlags parameter of MCI_SYSINFO command message 
  702. Global Const MCI_SYSINFO_QUANTITY =           &H00000100&
  703. Global Const MCI_SYSINFO_OPEN =               &H00000200&
  704. Global Const MCI_SYSINFO_NAME =               &H00000400&
  705. Global Const MCI_SYSINFO_INSTALLNAME =        &H00000800&
  706.  
  707. ' flags for dwFlags parameter of MCI_SET command message 
  708. Global Const MCI_SET_DOOR_OPEN =              &H00000100&
  709. Global Const MCI_SET_DOOR_CLOSED =            &H00000200&
  710. Global Const MCI_SET_TIME_FORMAT =            &H00000400&
  711. Global Const MCI_SET_AUDIO =                  &H00000800&
  712. Global Const MCI_SET_VIDEO =                  &H00001000&
  713. Global Const MCI_SET_ON =                     &H00002000&
  714. Global Const MCI_SET_OFF =                    &H00004000&
  715.  
  716. ' flags for dwAudio field of MCI_SET_PARMS or MCI_SEQ_SET_PARMS 
  717. Global Const MCI_SET_AUDIO_ALL =              &H00000000&
  718. Global Const MCI_SET_AUDIO_LEFT =             &H00000001&
  719. Global Const MCI_SET_AUDIO_RIGHT =            &H00000002&
  720.  
  721. ' flags for dwFlags parameter of MCI_BREAK command message 
  722. Global Const MCI_BREAK_KEY =                  &H00000100&
  723. Global Const MCI_BREAK_HWND =                 &H00000200&
  724. Global Const MCI_BREAK_OFF =                  &H00000400&
  725.  
  726. ' flags for dwFlags parameter of MCI_RECORD command message 
  727. Global Const MCI_RECORD_INSERT =              &H00000100&
  728. Global Const MCI_RECORD_OVERWRITE =           &H00000200&
  729.  
  730. ' flags for dwFlags parameter of MCI_SOUND command message 
  731. Global Const MCI_SOUND_NAME =                 &H00000100&
  732.  
  733. ' flags for dwFlags parameter of MCI_SAVE command message 
  734. Global Const MCI_SAVE_FILE =                  &H00000100&
  735.  
  736. ' flags for dwFlags parameter of MCI_LOAD command message 
  737. Global Const MCI_LOAD_FILE =                  &H00000100&
  738.  
  739.  
  740.  
  741. ' MCI extensions for videodisc devices 
  742.  
  743. ' flag for dwReturn field of MCI_STATUS_PARMS 
  744. ' MCI_STATUS command, (dwItem = MCI_STATUS_MODE) 
  745. Global Const MCI_VD_MODE_PARK =               (MCI_VD_OFFSET + 1)
  746.  
  747. ' flag for dwReturn field of MCI_STATUS_PARMS 
  748. ' MCI_STATUS command, (dwItem = MCI_VD_STATUS_MEDIA_TYPE) 
  749. Global Const MCI_VD_MEDIA_CLV =               (MCI_VD_OFFSET + 2)
  750. Global Const MCI_VD_MEDIA_CAV =               (MCI_VD_OFFSET + 3)
  751. Global Const MCI_VD_MEDIA_OTHER =             (MCI_VD_OFFSET + 4)
  752.  
  753. Global Const MCI_VD_FORMAT_TRACK =            &H4001
  754.  
  755. ' flags for dwFlags parameter of MCI_PLAY command message 
  756. Global Const MCI_VD_PLAY_REVERSE =            &H00010000&
  757. Global Const MCI_VD_PLAY_FAST =               &H00020000&
  758. Global Const MCI_VD_PLAY_SPEED =              &H00040000&
  759. Global Const MCI_VD_PLAY_SCAN =               &H00080000&
  760. Global Const MCI_VD_PLAY_SLOW =               &H00100000&
  761.  
  762. ' flag for dwFlags parameter of MCI_SEEK command message 
  763. Global Const MCI_VD_SEEK_REVERSE =            &H00010000&
  764.  
  765. ' flags for dwItem field of MCI_STATUS_PARMS parameter block 
  766. Global Const MCI_VD_STATUS_SPEED =            &H00004002&
  767. Global Const MCI_VD_STATUS_FORWARD =          &H00004003&
  768. Global Const MCI_VD_STATUS_MEDIA_TYPE =       &H00004004&
  769. Global Const MCI_VD_STATUS_SIDE =             &H00004005&
  770. Global Const MCI_VD_STATUS_DISC_SIZE =        &H00004006&
  771.  
  772. ' flags for dwFlags parameter of MCI_GETDEVCAPS command message 
  773. Global Const MCI_VD_GETDEVCAPS_CLV =          &H00010000&
  774. Global Const MCI_VD_GETDEVCAPS_CAV =          &H00020000&
  775.  
  776. Global Const MCI_VD_SPIN_UP =                 &H00010000&
  777. Global Const MCI_VD_SPIN_DOWN =               &H00020000&
  778.  
  779. ' flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block 
  780. Global Const MCI_VD_GETDEVCAPS_CAN_REVERSE =  &H00004002&
  781. Global Const MCI_VD_GETDEVCAPS_FAST_RATE =    &H00004003&
  782. Global Const MCI_VD_GETDEVCAPS_SLOW_RATE =    &H00004004&
  783. Global Const MCI_VD_GETDEVCAPS_NORMAL_RATE =  &H00004005&
  784.  
  785. ' flags for the dwFlags parameter of MCI_STEP command message 
  786. Global Const MCI_VD_STEP_FRAMES =             &H00010000&
  787. Global Const MCI_VD_STEP_REVERSE =            &H00020000&
  788.  
  789. ' flag for the MCI_ESCAPE command message 
  790. Global Const MCI_VD_ESCAPE_STRING =           &H00000100&
  791.  
  792.  
  793. ' MCI extensions for waveform audio devices 
  794.  
  795. ' flags for the dwFlags parameter of MCI_OPEN command message 
  796. Global Const MCI_WAVE_OPEN_BUFFER =           &H00010000&
  797.  
  798. ' flags for the dwFlags parameter of MCI_SET command message 
  799. Global Const MCI_WAVE_SET_FORMATTAG =         &H00010000&
  800. Global Const MCI_WAVE_SET_CHANNELS =          &H00020000&
  801. Global Const MCI_WAVE_SET_SAMPLESPERSEC =     &H00040000&
  802. Global Const MCI_WAVE_SET_AVGBYTESPERSEC =    &H00080000&
  803. Global Const MCI_WAVE_SET_BLOCKALIGN =        &H00100000&
  804. Global Const MCI_WAVE_SET_BITSPERSAMPLE =     &H00200000&
  805.  
  806. ' flags for the dwFlags parameter of MCI_STATUS, MCI_SET command messages 
  807. Global Const MCI_WAVE_INPUT =                 &H00400000&
  808. Global Const MCI_WAVE_OUTPUT =                &H00800000&
  809.  
  810. ' flags for the dwItem field of MCI_STATUS_PARMS parameter block 
  811. Global Const MCI_WAVE_STATUS_FORMATTAG =      &H00004001&
  812. Global Const MCI_WAVE_STATUS_CHANNELS =       &H00004002&
  813. Global Const MCI_WAVE_STATUS_SAMPLESPERSEC =  &H00004003&
  814. Global Const MCI_WAVE_STATUS_AVGBYTESPERSEC = &H00004004&
  815. Global Const MCI_WAVE_STATUS_BLOCKALIGN =     &H00004005&
  816. Global Const MCI_WAVE_STATUS_BITSPERSAMPLE =  &H00004006&
  817. Global Const MCI_WAVE_STATUS_LEVEL =          &H00004007&
  818.  
  819. ' flags for the dwFlags parameter of MCI_SET command message 
  820. Global Const MCI_WAVE_SET_ANYINPUT =          &H04000000&
  821. Global Const MCI_WAVE_SET_ANYOUTPUT =         &H08000000&
  822.  
  823. ' flags for the dwFlags parameter of MCI_GETDEVCAPS command message 
  824. Global Const MCI_WAVE_GETDEVCAPS_INPUTS =     &H00004001&
  825. Global Const MCI_WAVE_GETDEVCAPS_OUTPUTS =    &H00004002&
  826.  
  827.  
  828.  
  829. ' MCI extensions for MIDI sequencer devices 
  830.  
  831. ' flags for the dwReturn field of MCI_STATUS_PARMS parameter block 
  832. ' MCI_STATUS command, (dwItem = MCI_SEQ_STATUS_DIVTYPE) 
  833. Global Const MCI_SEQ_DIV_PPQN         =   (0 + MCI_SEQ_OFFSET)
  834. Global Const MCI_SEQ_DIV_SMPTE_24     =   (1 + MCI_SEQ_OFFSET)
  835. Global Const MCI_SEQ_DIV_SMPTE_25     =   (2 + MCI_SEQ_OFFSET)
  836. Global Const MCI_SEQ_DIV_SMPTE_30DROP =   (3 + MCI_SEQ_OFFSET)
  837. Global Const MCI_SEQ_DIV_SMPTE_30     =   (4 + MCI_SEQ_OFFSET)
  838.  
  839. ' flags for the dwMaster field of MCI_SEQ_SET_PARMS parameter block 
  840. ' MCI_SET command, (dwFlags = MCI_SEQ_SET_MASTER) 
  841. Global Const MCI_SEQ_FORMAT_SONGPTR  =    &H4001
  842. Global Const MCI_SEQ_FILE            =    &H4002
  843. Global Const MCI_SEQ_MIDI            =    &H4003
  844. Global Const MCI_SEQ_SMPTE           =    &H4004
  845. Global Const MCI_SEQ_NONE            =    65533
  846.  
  847. ' flags for the dwItem field of MCI_STATUS_PARMS parameter block 
  848. Global Const MCI_SEQ_STATUS_TEMPO =           &H00004002&
  849. Global Const MCI_SEQ_STATUS_PORT =            &H00004003&
  850. Global Const MCI_SEQ_STATUS_SLAVE =           &H00004007&
  851. Global Const MCI_SEQ_STATUS_MASTER =          &H00004008&
  852. Global Const MCI_SEQ_STATUS_OFFSET =          &H00004009&
  853. Global Const MCI_SEQ_STATUS_DIVTYPE =         &H0000400A&
  854.  
  855. ' flags for the dwFlags parameter of MCI_SET command message 
  856. Global Const MCI_SEQ_SET_TEMPO =              &H00010000&
  857. Global Const MCI_SEQ_SET_PORT =               &H00020000&
  858. Global Const MCI_SEQ_SET_SLAVE =              &H00040000&
  859. Global Const MCI_SEQ_SET_MASTER =             &H00080000&
  860. Global Const MCI_SEQ_SET_OFFSET =             &H01000000&
  861.  
  862.  
  863.  
  864. ' MCI extensions for animation devices 
  865.  
  866. ' flags for dwFlags parameter of MCI_OPEN command message 
  867. Global Const MCI_ANIM_OPEN_WS =               &H00010000&
  868. Global Const MCI_ANIM_OPEN_PARENT =           &H00020000&
  869. Global Const MCI_ANIM_OPEN_NOSTATIC =         &H00040000&
  870.  
  871. ' flags for dwFlags parameter of MCI_PLAY command message 
  872. Global Const MCI_ANIM_PLAY_SPEED =            &H00010000&
  873. Global Const MCI_ANIM_PLAY_REVERSE =          &H00020000&
  874. Global Const MCI_ANIM_PLAY_FAST =             &H00040000&
  875. Global Const MCI_ANIM_PLAY_SLOW =             &H00080000&
  876. Global Const MCI_ANIM_PLAY_SCAN =             &H00100000&
  877.  
  878. ' flags for dwFlags parameter of MCI_STEP command message 
  879. Global Const MCI_ANIM_STEP_REVERSE =          &H00010000&
  880. Global Const MCI_ANIM_STEP_FRAMES =           &H00020000&
  881.  
  882. ' flags for dwItem field of MCI_STATUS_PARMS parameter block 
  883. Global Const MCI_ANIM_STATUS_SPEED =          &H00004001&
  884. Global Const MCI_ANIM_STATUS_FORWARD =        &H00004002&
  885. Global Const MCI_ANIM_STATUS_HWND =           &H00004003&
  886. Global Const MCI_ANIM_STATUS_HPAL =           &H00004004&
  887. Global Const MCI_ANIM_STATUS_STRETCH =        &H00004005&
  888.  
  889. ' flags for the dwFlags parameter of MCI_INFO command message 
  890. Global Const MCI_ANIM_INFO_TEXT =             &H00010000&
  891.  
  892. ' flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block 
  893. Global Const MCI_ANIM_GETDEVCAPS_CAN_REVERSE =&H00004001&
  894. Global Const MCI_ANIM_GETDEVCAPS_FAST_RATE =  &H00004002&
  895. Global Const MCI_ANIM_GETDEVCAPS_SLOW_RATE =  &H00004003&
  896. Global Const MCI_ANIM_GETDEVCAPS_NORMAL_RATE =&H00004004&
  897. Global Const MCI_ANIM_GETDEVCAPS_PALETTES =   &H00004006&
  898. Global Const MCI_ANIM_GETDEVCAPS_CAN_STRETCH =&H00004007&
  899. Global Const MCI_ANIM_GETDEVCAPS_MAX_WINDOWS =&H00004008&
  900.  
  901. ' flags for the MCI_REALIZE command message 
  902. Global Const MCI_ANIM_REALIZE_NORM =          &H00010000&
  903. Global Const MCI_ANIM_REALIZE_BKGD =          &H00020000&
  904.  
  905. ' flags for dwFlags parameter of MCI_WINDOW command message 
  906. Global Const MCI_ANIM_WINDOW_HWND =           &H00010000&
  907. Global Const MCI_ANIM_WINDOW_STATE =          &H00040000&
  908. Global Const MCI_ANIM_WINDOW_TEXT =           &H00080000&
  909. Global Const MCI_ANIM_WINDOW_ENABLE_STRETCH = &H00100000&
  910. Global Const MCI_ANIM_WINDOW_DISABLE_STRETCH =&H00200000&
  911.  
  912. ' flags for hWnd field of MCI_ANIM_WINDOW_PARMS parameter block 
  913. ' MCI_WINDOW command message, (dwFlags = MCI_ANIM_WINDOW_HWND) 
  914. Global Const MCI_ANIM_WINDOW_DEFAULT =        &H00000000&
  915.  
  916. ' flags for dwFlags parameter of MCI_PUT command message 
  917. Global Const MCI_ANIM_RECT =                  &H00010000&
  918. Global Const MCI_ANIM_PUT_SOURCE =            &H00020000&
  919. Global Const MCI_ANIM_PUT_DESTINATION =       &H00040000&
  920.  
  921. ' flags for dwFlags parameter of MCI_WHERE command message 
  922. Global Const MCI_ANIM_WHERE_SOURCE =          &H00020000&
  923. Global Const MCI_ANIM_WHERE_DESTINATION =     &H00040000&
  924.  
  925. ' flags for dwFlags parameter of MCI_UPDATE command message 
  926. Global Const MCI_ANIM_UPDATE_HDC =            &H00020000&
  927.  
  928.  
  929.  
  930. ' MCI extensions for video overlay devices 
  931.  
  932. ' flags for dwFlags parameter of MCI_OPEN command message 
  933. Global Const MCI_OVLY_OPEN_WS =               &H00010000&
  934. Global Const MCI_OVLY_OPEN_PARENT =           &H00020000&
  935.  
  936. ' flags for dwFlags parameter of MCI_STATUS command message 
  937. Global Const MCI_OVLY_STATUS_HWND =           &H00004001&
  938. Global Const MCI_OVLY_STATUS_STRETCH =        &H00004002&
  939.  
  940. ' flags for dwFlags parameter of MCI_INFO command message 
  941. Global Const MCI_OVLY_INFO_TEXT =             &H00010000&
  942.  
  943. ' flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block 
  944. Global Const MCI_OVLY_GETDEVCAPS_CAN_STRETCH =&H00004001&
  945. Global Const MCI_OVLY_GETDEVCAPS_CAN_FREEZE = &H00004002&
  946. Global Const MCI_OVLY_GETDEVCAPS_MAX_WINDOWS =&H00004003&
  947.  
  948. ' flags for dwFlags parameter of MCI_WINDOW command message 
  949. Global Const MCI_OVLY_WINDOW_HWND =           &H00010000&
  950. Global Const MCI_OVLY_WINDOW_STATE =          &H00040000&
  951. Global Const MCI_OVLY_WINDOW_TEXT =           &H00080000&
  952. Global Const MCI_OVLY_WINDOW_ENABLE_STRETCH = &H00100000&
  953. Global Const MCI_OVLY_WINDOW_DISABLE_STRETCH =&H00200000&
  954.  
  955. ' flags for hWnd parameter of MCI_OVLY_WINDOW_PARMS parameter block 
  956. Global Const MCI_OVLY_WINDOW_DEFAULT =        &H00000000&
  957.  
  958. ' flags for dwFlags parameter of MCI_PUT command message 
  959. Global Const MCI_OVLY_RECT =                  &H00010000&
  960. Global Const MCI_OVLY_PUT_SOURCE =            &H00020000&
  961. Global Const MCI_OVLY_PUT_DESTINATION =       &H00040000&
  962. Global Const MCI_OVLY_PUT_FRAME =             &H00080000&
  963. Global Const MCI_OVLY_PUT_VIDEO =             &H00100000&
  964.  
  965. ' flags for dwFlags parameter of MCI_WHERE command message 
  966. Global Const MCI_OVLY_WHERE_SOURCE =          &H00020000&
  967. Global Const MCI_OVLY_WHERE_DESTINATION =     &H00040000&
  968. Global Const MCI_OVLY_WHERE_FRAME =           &H00080000&
  969. Global Const MCI_OVLY_WHERE_VIDEO =           &H00100000&
  970.  
  971.  
  972. '****************************************************************************
  973. '
  974. ''                        DISPLAY Driver extensions
  975. '
  976. '****************************************************************************/
  977.  
  978.     Global Const CAPS1 =          94          ' other caps 
  979.     Global Const C1_TRANSPARENT = &H0001      ' new raster cap 
  980.     Global Const NEWTRANSPARENT = 3           ' use with SetBkMode() 
  981.  
  982.     Global Const QUERYROPSUPPORT =40          ' use to determine ROP support 
  983.  
  984. '****************************************************************************
  985. '
  986. ''                        DIB Driver extensions
  987. '
  988. '****************************************************************************/
  989.  
  990. Global Const SELECTDIB =      41                      ' DIB.DRV select dib escape 
  991.  
  992.  
  993. '****************************************************************************
  994. '
  995. ''                        ScreenSaver support
  996. '
  997. '    The current application will receive a syscommand of SC_SCREENSAVE just
  998. '    before the screen saver is invoked.  If the app wishes to prevent a
  999. '    screen save, return non-zero value, otherwise call DefWindowProc().
  1000. '
  1001. '****************************************************************************/
  1002.  
  1003. Global Const SC_SCREENSAVE =  &HF140
  1004.  
  1005.