ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

mmsystem.h
Go to the documentation of this file.
00001 /*
00002  * Multimedia declarations
00003  */
00004 
00005 #ifndef _MMSYSTEM_H
00006 #define _MMSYSTEM_H
00007 
00008 #pragma pack(push,1)
00009 #ifdef __cplusplus
00010 extern "C" {
00011 #endif
00012 
00013 #ifdef _MSC_VER
00014 #pragma warning(push)
00015 #pragma warning(disable:4201)
00016 #endif
00017 
00018 #define DRV_SUCCESS     0x0001
00019 #define DRV_FAILURE     0x0000
00020 
00021 #define WINMMAPI    DECLSPEC_IMPORT
00022 #define _loadds
00023 #define _huge
00024 #define MAXPNAMELEN            32
00025 #define MAXERRORLENGTH         256
00026 #define MAX_JOYSTICKOEMVXDNAME 260
00027 #define _MMRESULT_
00028 #define TIME_MS                1
00029 #define TIME_SAMPLES           2
00030 #define TIME_BYTES             4
00031 #define TIME_SMPTE             8
00032 #define TIME_MIDI              16
00033 #define TIME_TICKS             32
00034 #define MAKEFOURCC(c0,c1,c2,c3) ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<<16)|((DWORD)(BYTE)(c3)<<24))
00035 #ifndef mmioFOURCC
00036 #define mmioFOURCC(c0,c1,c2,c3) MAKEFOURCC(c0,c1,c2,c3)
00037 #endif
00038 
00039 #define MM_MICROSOFT            1       /* Microsoft Corp. */
00040 #define MM_CREATIVE             2       /* Creative labs   */
00041 
00042 #define MM_JOY1MOVE           0x3A0
00043 #define MM_JOY2MOVE           0x3A1
00044 #define MM_JOY1ZMOVE          0x3A2
00045 #define MM_JOY2ZMOVE          0x3A3
00046 #define MM_JOY1BUTTONDOWN     0x3B5
00047 #define MM_JOY2BUTTONDOWN     0x3B6
00048 #define MM_JOY1BUTTONUP       0x3B7
00049 #define MM_JOY2BUTTONUP       0x3B8
00050 #define MM_MCINOTIFY          0x3B9
00051 #define MM_WOM_OPEN           0x3BB
00052 #define MM_WOM_CLOSE          0x3BC
00053 #define MM_WOM_DONE           0x3BD
00054 #define MM_WIM_OPEN           0x3BE
00055 #define MM_WIM_CLOSE          0x3BF
00056 #define MM_WIM_DATA           0x3C0
00057 #define MM_MIM_OPEN           0x3C1
00058 #define MM_MIM_CLOSE          0x3C2
00059 #define MM_MIM_DATA           0x3C3
00060 #define MM_MIM_LONGDATA       0x3C4
00061 #define MM_MIM_ERROR          0x3C5
00062 #define MM_MIM_LONGERROR      0x3C6
00063 #define MM_MOM_OPEN           0x3C7
00064 #define MM_MOM_CLOSE          0x3C8
00065 #define MM_MOM_DONE           0x3C9
00066 #define MM_DRVM_OPEN          0x3D0
00067 #define MM_DRVM_CLOSE         0x3D1
00068 #define MM_DRVM_DATA          0x3D2
00069 #define MM_DRVM_ERROR         0x3D3
00070 #define MM_STREAM_OPEN        0x3D4
00071 #define MM_STREAM_CLOSE       0x3D5
00072 #define MM_STREAM_DONE        0x3D6
00073 #define MM_STREAM_ERROR       0x3D7
00074 #define MM_MOM_POSITIONCB     0x3CA
00075 #define MM_MCISIGNAL          0x3CB
00076 #define MM_MIM_MOREDATA       0x3CC
00077 #define MM_MIXM_LINE_CHANGE   0x3D0
00078 #define MM_MIXM_CONTROL_CHANGE 0x3D1
00079 #define MMSYSERR_BASE         0
00080 #define WAVERR_BASE           32
00081 #define MIDIERR_BASE          64
00082 #define TIMERR_BASE           96
00083 #define JOYERR_BASE           160
00084 #define MCIERR_BASE           256
00085 #define MIXERR_BASE           1024
00086 #define MCI_STRING_OFFSET     512
00087 #define MCI_VD_OFFSET         1024
00088 #define MCI_CD_OFFSET         1088
00089 #define MCI_WAVE_OFFSET       1152
00090 #define MCI_SEQ_OFFSET        1216
00091 #define MMSYSERR_NOERROR      0
00092 #define MMSYSERR_ERROR        (MMSYSERR_BASE+1)
00093 #define MMSYSERR_BADDEVICEID  (MMSYSERR_BASE+2)
00094 #define MMSYSERR_NOTENABLED   (MMSYSERR_BASE+3)
00095 #define MMSYSERR_ALLOCATED    (MMSYSERR_BASE+4)
00096 #define MMSYSERR_INVALHANDLE  (MMSYSERR_BASE+5)
00097 #define MMSYSERR_NODRIVER     (MMSYSERR_BASE+6)
00098 #define MMSYSERR_NOMEM        (MMSYSERR_BASE+7)
00099 #define MMSYSERR_NOTSUPPORTED (MMSYSERR_BASE+8)
00100 #define MMSYSERR_BADERRNUM    (MMSYSERR_BASE+9)
00101 #define MMSYSERR_INVALFLAG    (MMSYSERR_BASE+10)
00102 #define MMSYSERR_INVALPARAM   (MMSYSERR_BASE+11)
00103 #define MMSYSERR_HANDLEBUSY   (MMSYSERR_BASE+12)
00104 #define MMSYSERR_INVALIDALIAS (MMSYSERR_BASE+13)
00105 #define MMSYSERR_BADDB        (MMSYSERR_BASE+14)
00106 #define MMSYSERR_KEYNOTFOUND  (MMSYSERR_BASE + 15)
00107 #define MMSYSERR_READERROR    (MMSYSERR_BASE + 16)
00108 #define MMSYSERR_WRITEERROR   (MMSYSERR_BASE + 17)
00109 #define MMSYSERR_DELETEERROR  (MMSYSERR_BASE + 18)
00110 #define MMSYSERR_VALNOTFOUND  (MMSYSERR_BASE + 19)
00111 #define MMSYSERR_NODRIVERCB   (MMSYSERR_BASE + 20)
00112 #define MMSYSERR_MOREDATA     (MMSYSERR_BASE + 21)
00113 #define MMSYSERR_LASTERROR    (MMSYSERR_BASE + 21)
00114 #define DRV_LOAD              1
00115 #define DRV_ENABLE            2
00116 #define DRV_OPEN              3
00117 #define DRV_CLOSE             4
00118 #define DRV_DISABLE           5
00119 #define DRV_FREE              6
00120 #define DRV_CONFIGURE         7
00121 #define DRV_QUERYCONFIGURE    8
00122 #define DRV_INSTALL           9
00123 #define DRV_REMOVE            10
00124 #define DRV_EXITSESSION       11
00125 #define DRV_POWER             15
00126 #define DRV_RESERVED          0x800
00127 #define DRV_USER              0x4000
00128 #define DRVCNF_CANCEL         0
00129 #define DRVCNF_OK             1
00130 #define DRVCNF_RESTART        2
00131 #define DRV_CANCEL            DRVCNF_CANCEL
00132 #define DRV_OK                DRVCNF_OK
00133 #define DRV_RESTART           DRVCNF_RESTART
00134 #define DRV_MCI_FIRST         DRV_RESERVED
00135 #define DRV_MCI_LAST          (DRV_RESERVED+0xFFF)
00136 #ifdef _WINE
00137 #define DRV_SUCCESS     0x0001
00138 #define DRV_FAILURE     0x0000
00139 #define DRV_EXITAPPLICATION     0x000C
00140 #endif
00141 #define CALLBACK_TYPEMASK     0x70000
00142 #define CALLBACK_NULL         0
00143 #define CALLBACK_WINDOW       0x10000
00144 #define CALLBACK_TASK         0x20000
00145 #define CALLBACK_FUNCTION     0x30000
00146 #define CALLBACK_THREAD       CALLBACK_TASK
00147 #define CALLBACK_EVENT        0x50000
00148 #define SND_SYNC              0
00149 #define SND_ASYNC             1
00150 #define SND_NODEFAULT         2
00151 #define SND_MEMORY            4
00152 #define SND_LOOP              8
00153 #define SND_NOSTOP            16
00154 #define SND_NOWAIT            0x2000
00155 #define SND_ALIAS             0x10000
00156 #define SND_ALIAS_ID          0x110000
00157 #define SND_FILENAME          0x20000
00158 #define SND_RESOURCE          0x40004
00159 #define SND_PURGE             0x40
00160 #define SND_APPLICATION       0x80
00161 #define SND_ALIAS_START       0
00162 #define sndAlias(c0,c1)       (SND_ALIAS_START+((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)))
00163 #define SND_ALIAS_SYSTEMASTERISK    sndAlias('S','*')
00164 #define SND_ALIAS_SYSTEMQUESTION    sndAlias('S','?')
00165 #define SND_ALIAS_SYSTEMHAND        sndAlias('S','H')
00166 #define SND_ALIAS_SYSTEMEXIT        sndAlias('S','E')
00167 #define SND_ALIAS_SYSTEMSTART       sndAlias('S','S')
00168 #define SND_ALIAS_SYSTEMWELCOME     sndAlias('S','W')
00169 #define SND_ALIAS_SYSTEMEXCLAMATION sndAlias('S','!')
00170 #define SND_ALIAS_SYSTEMDEFAULT     sndAlias('S','D')
00171 #define WAVERR_BADFORMAT            (WAVERR_BASE + 0)
00172 #define WAVERR_STILLPLAYING         (WAVERR_BASE + 1)
00173 #define WAVERR_UNPREPARED           (WAVERR_BASE + 2)
00174 #define WAVERR_SYNC                 (WAVERR_BASE + 3)
00175 #define WAVERR_LASTERROR            (WAVERR_BASE + 3)
00176 #define WOM_OPEN                    MM_WOM_OPEN
00177 #define WOM_CLOSE                   MM_WOM_CLOSE
00178 #define WOM_DONE                    MM_WOM_DONE
00179 #define WIM_OPEN                    MM_WIM_OPEN
00180 #define WIM_CLOSE                   MM_WIM_CLOSE
00181 #define WIM_DATA                    MM_WIM_DATA
00182 #define WAVE_MAPPER                 ((UINT)-1)
00183 #define WAVE_FORMAT_QUERY           1
00184 #define WAVE_ALLOWSYNC              2
00185 #define WAVE_MAPPED                 4
00186 #define WAVE_FORMAT_DIRECT          8
00187 #define WAVE_FORMAT_DIRECT_QUERY    (WAVE_FORMAT_QUERY|WAVE_FORMAT_DIRECT)
00188 #define WHDR_DONE                   1
00189 #define WHDR_PREPARED               2
00190 #define WHDR_BEGINLOOP              4
00191 #define WHDR_ENDLOOP                8
00192 #define WHDR_INQUEUE                16
00193 #define WAVECAPS_PITCH              1
00194 #define WAVECAPS_PLAYBACKRATE       2
00195 #define WAVECAPS_VOLUME             4
00196 #define WAVECAPS_LRVOLUME           8
00197 #define WAVECAPS_SYNC               16
00198 #define WAVECAPS_SAMPLEACCURATE     32
00199 #define WAVECAPS_DIRECTSOUND        64
00200 #define WAVE_INVALIDFORMAT          0
00201 #define WAVE_FORMAT_1M08            1
00202 #define WAVE_FORMAT_1S08            2
00203 #define WAVE_FORMAT_1M16            4
00204 #define WAVE_FORMAT_1S16            8
00205 #define WAVE_FORMAT_2M08            16
00206 #define WAVE_FORMAT_2S08            32
00207 #define WAVE_FORMAT_2M16            64
00208 #define WAVE_FORMAT_2S16            128
00209 #define WAVE_FORMAT_4M08            256
00210 #define WAVE_FORMAT_4S08            512
00211 #define WAVE_FORMAT_4M16            1024
00212 #define WAVE_FORMAT_4S16            2048
00213 #define WAVE_FORMAT_48M08           4096
00214 #define WAVE_FORMAT_48S08           8192
00215 #define WAVE_FORMAT_48M16           16384
00216 #define WAVE_FORMAT_48S16           32768
00217 #define WAVE_FORMAT_96M08           65536
00218 #define WAVE_FORMAT_96S08           131072
00219 #define WAVE_FORMAT_96M16           262144
00220 #define WAVE_FORMAT_96S16           524288
00221 
00222 #ifndef WAVE_FORMAT_PCM
00223 #define WAVE_FORMAT_PCM             1
00224 #endif
00225 
00226 #define MIDIERR_UNPREPARED          MIDIERR_BASE
00227 #define MIDIERR_STILLPLAYING        (MIDIERR_BASE+1)
00228 #define MIDIERR_NOMAP               (MIDIERR_BASE+2)
00229 #define MIDIERR_NOTREADY            (MIDIERR_BASE+3)
00230 #define MIDIERR_NODEVICE            (MIDIERR_BASE+4)
00231 #define MIDIERR_INVALIDSETUP        (MIDIERR_BASE+5)
00232 #define MIDIERR_BADOPENMODE         (MIDIERR_BASE+6)
00233 #define MIDIERR_DONT_CONTINUE       (MIDIERR_BASE+7)
00234 #define MIDIERR_LASTERROR           (MIDIERR_BASE+7)
00235 #define MIDIPATCHSIZE               128
00236 #define MIM_OPEN                    MM_MIM_OPEN
00237 #define MIM_CLOSE                   MM_MIM_CLOSE
00238 #define MIM_DATA                    MM_MIM_DATA
00239 #define MIM_LONGDATA                MM_MIM_LONGDATA
00240 #define MIM_ERROR                   MM_MIM_ERROR
00241 #define MIM_LONGERROR               MM_MIM_LONGERROR
00242 #define MOM_OPEN                    MM_MOM_OPEN
00243 #define MOM_CLOSE                   MM_MOM_CLOSE
00244 #define MOM_DONE                    MM_MOM_DONE
00245 #define MIM_MOREDATA                MM_MIM_MOREDATA
00246 #define MOM_POSITIONCB              MM_MOM_POSITIONCB
00247 #define MIDIMAPPER                  ((UINT)-1)
00248 #define MIDI_MAPPER                 ((UINT)-1)
00249 #define MIDI_IO_STATUS              32
00250 #define MIDI_CACHE_ALL              1
00251 #define MIDI_CACHE_BESTFIT          2
00252 #define MIDI_CACHE_QUERY            3
00253 #define MIDI_UNCACHE                4
00254 #define MOD_MIDIPORT                1
00255 #define MOD_SYNTH                   2
00256 #define MOD_SQSYNTH                 3
00257 #define MOD_FMSYNTH                 4
00258 #define MOD_MAPPER                  5
00259 #define MIDICAPS_VOLUME             1
00260 #define MIDICAPS_LRVOLUME           2
00261 #define MIDICAPS_CACHE              4
00262 #define MIDICAPS_STREAM             8
00263 #define MHDR_DONE                   1
00264 #define MHDR_PREPARED               2
00265 #define MHDR_INQUEUE                4
00266 #define MHDR_ISSTRM                 8
00267 #define MEVT_F_SHORT                0
00268 #define MEVT_F_LONG                 0x80000000
00269 #define MEVT_F_CALLBACK             0x40000000
00270 #define MEVT_EVENTTYPE(x)           ((BYTE)(((x)>>24)&0xFF))
00271 #define MEVT_EVENTPARM(x)           ((DWORD)((x)&0xFFFFFFL))
00272 #define MEVT_SHORTMSG               0
00273 #define MEVT_TEMPO                  1
00274 #define MEVT_NOP                    2
00275 #define MEVT_LONGMSG                ((BYTE)0x80)
00276 #define MEVT_COMMENT                ((BYTE)0x82)
00277 #define MEVT_VERSION                ((BYTE)0x84)
00278 #define MIDISTRM_ERROR              (-2)
00279 #define MIDIPROP_SET                0x80000000
00280 #define MIDIPROP_GET                0x40000000
00281 #define MIDIPROP_TIMEDIV            1
00282 #define MIDIPROP_TEMPO              2
00283 #define AUX_MAPPER                  ((UINT)-1)
00284 #define AUXCAPS_CDAUDIO             1
00285 #define AUXCAPS_AUXIN               2
00286 #define AUXCAPS_VOLUME              1
00287 #define AUXCAPS_LRVOLUME            2
00288 #define MIXER_SHORT_NAME_CHARS      16
00289 #define MIXER_LONG_NAME_CHARS       64
00290 #define MIXERR_INVALLINE            MIXERR_BASE
00291 #define MIXERR_INVALCONTROL         (MIXERR_BASE+1)
00292 #define MIXERR_INVALVALUE           (MIXERR_BASE+2)
00293 #define MIXERR_LASTERROR            (MIXERR_BASE+2)
00294 #define MIXER_OBJECTF_HANDLE        0x80000000
00295 #define MIXER_OBJECTF_MIXER         0
00296 #define MIXER_OBJECTF_HMIXER        (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIXER)
00297 #define MIXER_OBJECTF_WAVEOUT       0x10000000
00298 #define MIXER_OBJECTF_HWAVEOUT      (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEOUT)
00299 #define MIXER_OBJECTF_WAVEIN        0x20000000
00300 #define MIXER_OBJECTF_HWAVEIN       (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_WAVEIN)
00301 #define MIXER_OBJECTF_MIDIOUT       0x30000000
00302 #define MIXER_OBJECTF_HMIDIOUT      (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIOUT)
00303 #define MIXER_OBJECTF_MIDIIN        0x40000000
00304 #define MIXER_OBJECTF_HMIDIIN       (MIXER_OBJECTF_HANDLE|MIXER_OBJECTF_MIDIIN)
00305 #define MIXER_OBJECTF_AUX           0x50000000
00306 #define MIXERLINE_LINEF_ACTIVE      1
00307 #define MIXERLINE_LINEF_DISCONNECTED 0x8000
00308 #define MIXERLINE_LINEF_SOURCE       0x80000000
00309 #define MIXERLINE_COMPONENTTYPE_DST_FIRST 0
00310 #define MIXERLINE_COMPONENTTYPE_DST_UNDEFINED  MIXERLINE_COMPONENTTYPE_DST_FIRST
00311 #define MIXERLINE_COMPONENTTYPE_DST_DIGITAL    (MIXERLINE_COMPONENTTYPE_DST_FIRST+1)
00312 #define MIXERLINE_COMPONENTTYPE_DST_LINE       (MIXERLINE_COMPONENTTYPE_DST_FIRST+2)
00313 #define MIXERLINE_COMPONENTTYPE_DST_MONITOR    (MIXERLINE_COMPONENTTYPE_DST_FIRST+3)
00314 #define MIXERLINE_COMPONENTTYPE_DST_SPEAKERS   (MIXERLINE_COMPONENTTYPE_DST_FIRST+4)
00315 #define MIXERLINE_COMPONENTTYPE_DST_HEADPHONES (MIXERLINE_COMPONENTTYPE_DST_FIRST+5)
00316 #define MIXERLINE_COMPONENTTYPE_DST_TELEPHONE  (MIXERLINE_COMPONENTTYPE_DST_FIRST+6)
00317 #define MIXERLINE_COMPONENTTYPE_DST_WAVEIN     (MIXERLINE_COMPONENTTYPE_DST_FIRST+7)
00318 #define MIXERLINE_COMPONENTTYPE_DST_VOICEIN    (MIXERLINE_COMPONENTTYPE_DST_FIRST+8)
00319 #define MIXERLINE_COMPONENTTYPE_DST_LAST       (MIXERLINE_COMPONENTTYPE_DST_FIRST+8)
00320 #define MIXERLINE_COMPONENTTYPE_SRC_FIRST      0x1000
00321 #define MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED  MIXERLINE_COMPONENTTYPE_SRC_FIRST
00322 #define MIXERLINE_COMPONENTTYPE_SRC_DIGITAL    (MIXERLINE_COMPONENTTYPE_SRC_FIRST+1)
00323 #define MIXERLINE_COMPONENTTYPE_SRC_LINE       (MIXERLINE_COMPONENTTYPE_SRC_FIRST+2)
00324 #define MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE (MIXERLINE_COMPONENTTYPE_SRC_FIRST+3)
00325 #define MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER (MIXERLINE_COMPONENTTYPE_SRC_FIRST+4)
00326 #define MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC (MIXERLINE_COMPONENTTYPE_SRC_FIRST+5)
00327 #define MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE  (MIXERLINE_COMPONENTTYPE_SRC_FIRST+6)
00328 #define MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER  (MIXERLINE_COMPONENTTYPE_SRC_FIRST+7)
00329 #define MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT    (MIXERLINE_COMPONENTTYPE_SRC_FIRST+8)
00330 #define MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY  (MIXERLINE_COMPONENTTYPE_SRC_FIRST+9)
00331 #define MIXERLINE_COMPONENTTYPE_SRC_ANALOG     (MIXERLINE_COMPONENTTYPE_SRC_FIRST+10)
00332 #define MIXERLINE_COMPONENTTYPE_SRC_LAST       (MIXERLINE_COMPONENTTYPE_SRC_FIRST+10)
00333 #define MIXERLINE_TARGETTYPE_UNDEFINED         0
00334 #define MIXERLINE_TARGETTYPE_WAVEOUT           1
00335 #define MIXERLINE_TARGETTYPE_WAVEIN            2
00336 #define MIXERLINE_TARGETTYPE_MIDIOUT           3
00337 #define MIXERLINE_TARGETTYPE_MIDIIN            4
00338 #define MIXERLINE_TARGETTYPE_AUX               5
00339 #define MIXER_GETLINEINFOF_DESTINATION         0
00340 #define MIXER_GETLINEINFOF_SOURCE              1
00341 #define MIXER_GETLINEINFOF_LINEID              2
00342 #define MIXER_GETLINEINFOF_COMPONENTTYPE       3
00343 #define MIXER_GETLINEINFOF_TARGETTYPE          4
00344 #define MIXER_GETLINEINFOF_QUERYMASK           15
00345 #define MIXERCONTROL_CONTROLF_UNIFORM          1
00346 #define MIXERCONTROL_CONTROLF_MULTIPLE         2
00347 #define MIXERCONTROL_CONTROLF_DISABLED         0x80000000
00348 #define MIXERCONTROL_CT_CLASS_MASK             0xF0000000
00349 #define MIXERCONTROL_CT_CLASS_CUSTOM           0
00350 #define MIXERCONTROL_CT_CLASS_METER            0x10000000
00351 #define MIXERCONTROL_CT_CLASS_SWITCH           0x20000000
00352 #define MIXERCONTROL_CT_CLASS_NUMBER           0x30000000
00353 #define MIXERCONTROL_CT_CLASS_SLIDER           0x40000000
00354 #define MIXERCONTROL_CT_CLASS_FADER            0x50000000
00355 #define MIXERCONTROL_CT_CLASS_TIME             0x60000000
00356 #define MIXERCONTROL_CT_CLASS_LIST             0x70000000
00357 #define MIXERCONTROL_CT_SUBCLASS_MASK          0xF000000
00358 #define MIXERCONTROL_CT_SC_SWITCH_BOOLEAN      0
00359 #define MIXERCONTROL_CT_SC_SWITCH_BUTTON       0x1000000
00360 #define MIXERCONTROL_CT_SC_METER_POLLED        0
00361 #define MIXERCONTROL_CT_SC_TIME_MICROSECS      0
00362 #define MIXERCONTROL_CT_SC_TIME_MILLISECS      0x1000000
00363 #define MIXERCONTROL_CT_SC_LIST_SINGLE         0
00364 #define MIXERCONTROL_CT_SC_LIST_MULTIPLE       0x1000000
00365 #define MIXERCONTROL_CT_UNITS_MASK             0xFF0000
00366 #define MIXERCONTROL_CT_UNITS_CUSTOM           0
00367 #define MIXERCONTROL_CT_UNITS_BOOLEAN          0x10000
00368 #define MIXERCONTROL_CT_UNITS_SIGNED           0x20000
00369 #define MIXERCONTROL_CT_UNITS_UNSIGNED         0x30000
00370 #define MIXERCONTROL_CT_UNITS_DECIBELS         0x40000
00371 #define MIXERCONTROL_CT_UNITS_PERCENT          0x50000
00372 #define MIXERCONTROL_CONTROLTYPE_CUSTOM        (MIXERCONTROL_CT_CLASS_CUSTOM|MIXERCONTROL_CT_UNITS_CUSTOM)
00373 #define MIXERCONTROL_CONTROLTYPE_BOOLEANMETER  (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_BOOLEAN)
00374 #define MIXERCONTROL_CONTROLTYPE_SIGNEDMETER   (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_SIGNED)
00375 #define MIXERCONTROL_CONTROLTYPE_PEAKMETER     (MIXERCONTROL_CONTROLTYPE_SIGNEDMETER+1)
00376 #define MIXERCONTROL_CONTROLTYPE_UNSIGNEDMETER (MIXERCONTROL_CT_CLASS_METER|MIXERCONTROL_CT_SC_METER_POLLED|MIXERCONTROL_CT_UNITS_UNSIGNED)
00377 #define MIXERCONTROL_CONTROLTYPE_BOOLEAN       (MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BOOLEAN|MIXERCONTROL_CT_UNITS_BOOLEAN)
00378 #define MIXERCONTROL_CONTROLTYPE_ONOFF         (MIXERCONTROL_CONTROLTYPE_BOOLEAN+1)
00379 #define MIXERCONTROL_CONTROLTYPE_MUTE          (MIXERCONTROL_CONTROLTYPE_BOOLEAN+2)
00380 #define MIXERCONTROL_CONTROLTYPE_MONO          (MIXERCONTROL_CONTROLTYPE_BOOLEAN+3)
00381 #define MIXERCONTROL_CONTROLTYPE_LOUDNESS      (MIXERCONTROL_CONTROLTYPE_BOOLEAN+4)
00382 #define MIXERCONTROL_CONTROLTYPE_STEREOENH     (MIXERCONTROL_CONTROLTYPE_BOOLEAN+5)
00383 #define MIXERCONTROL_CONTROLTYPE_BASS_BOOST    (MIXERCONTROL_CONTROLTYPE_BOOLEAN + 0x00002277)
00384 #define MIXERCONTROL_CONTROLTYPE_BUTTON        (MIXERCONTROL_CT_CLASS_SWITCH|MIXERCONTROL_CT_SC_SWITCH_BUTTON|MIXERCONTROL_CT_UNITS_BOOLEAN)
00385 #define MIXERCONTROL_CONTROLTYPE_DECIBELS      (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_DECIBELS)
00386 #define MIXERCONTROL_CONTROLTYPE_SIGNED        (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_SIGNED)
00387 #define MIXERCONTROL_CONTROLTYPE_UNSIGNED      (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_UNSIGNED)
00388 #define MIXERCONTROL_CONTROLTYPE_PERCENT       (MIXERCONTROL_CT_CLASS_NUMBER|MIXERCONTROL_CT_UNITS_PERCENT)
00389 #define MIXERCONTROL_CONTROLTYPE_SLIDER        (MIXERCONTROL_CT_CLASS_SLIDER|MIXERCONTROL_CT_UNITS_SIGNED)
00390 #define MIXERCONTROL_CONTROLTYPE_PAN           (MIXERCONTROL_CONTROLTYPE_SLIDER+1)
00391 #define MIXERCONTROL_CONTROLTYPE_QSOUNDPAN     (MIXERCONTROL_CONTROLTYPE_SLIDER+2)
00392 #define MIXERCONTROL_CONTROLTYPE_FADER         (MIXERCONTROL_CT_CLASS_FADER|MIXERCONTROL_CT_UNITS_UNSIGNED)
00393 #define MIXERCONTROL_CONTROLTYPE_VOLUME        (MIXERCONTROL_CONTROLTYPE_FADER+1)
00394 #define MIXERCONTROL_CONTROLTYPE_BASS          (MIXERCONTROL_CONTROLTYPE_FADER+2)
00395 #define MIXERCONTROL_CONTROLTYPE_TREBLE        (MIXERCONTROL_CONTROLTYPE_FADER+3)
00396 #define MIXERCONTROL_CONTROLTYPE_EQUALIZER     (MIXERCONTROL_CONTROLTYPE_FADER+4)
00397 #define MIXERCONTROL_CONTROLTYPE_SINGLESELECT  (MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_SINGLE|MIXERCONTROL_CT_UNITS_BOOLEAN)
00398 #define MIXERCONTROL_CONTROLTYPE_MUX           (MIXERCONTROL_CONTROLTYPE_SINGLESELECT+1)
00399 #define MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT (MIXERCONTROL_CT_CLASS_LIST|MIXERCONTROL_CT_SC_LIST_MULTIPLE|MIXERCONTROL_CT_UNITS_BOOLEAN)
00400 #define MIXERCONTROL_CONTROLTYPE_MIXER         (MIXERCONTROL_CONTROLTYPE_MULTIPLESELECT+1)
00401 #define MIXERCONTROL_CONTROLTYPE_MICROTIME     (MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MICROSECS|MIXERCONTROL_CT_UNITS_UNSIGNED)
00402 #define MIXERCONTROL_CONTROLTYPE_MILLITIME     (MIXERCONTROL_CT_CLASS_TIME|MIXERCONTROL_CT_SC_TIME_MILLISECS|MIXERCONTROL_CT_UNITS_UNSIGNED)
00403 #define MIXER_GETLINECONTROLSF_ALL             0
00404 #define MIXER_GETLINECONTROLSF_ONEBYID         1
00405 #define MIXER_GETLINECONTROLSF_ONEBYTYPE       2
00406 #define MIXER_GETLINECONTROLSF_QUERYMASK       15
00407 #define MIXER_GETCONTROLDETAILSF_VALUE         0
00408 #define MIXER_GETCONTROLDETAILSF_LISTTEXT      1
00409 #define MIXER_GETCONTROLDETAILSF_QUERYMASK     15
00410 #define MIXER_SETCONTROLDETAILSF_VALUE         0
00411 #define MIXER_SETCONTROLDETAILSF_CUSTOM        1
00412 #define MIXER_SETCONTROLDETAILSF_QUERYMASK     15
00413 #define TIMERR_NOERROR            0
00414 #define TIMERR_NOCANDO            (TIMERR_BASE+1)
00415 #define TIMERR_STRUCT             (TIMERR_BASE+33)
00416 #define TIME_ONESHOT              0
00417 #define TIME_PERIODIC             1
00418 #define TIME_CALLBACK_FUNCTION    0
00419 #define TIME_CALLBACK_EVENT_SET   16
00420 #define TIME_CALLBACK_EVENT_PULSE 32
00421 #if (WINVER >= 0x0501)
00422 #define TIME_KILL_SYNCHRONOUS 0x0100
00423 #endif
00424 #define JOYERR_NOERROR     (0)
00425 #define JOYERR_PARMS       (JOYERR_BASE+5)
00426 #define JOYERR_NOCANDO     (JOYERR_BASE+6)
00427 #define JOYERR_UNPLUGGED   (JOYERR_BASE+7)
00428 #define JOY_BUTTON1        1
00429 #define JOY_BUTTON2        2
00430 #define JOY_BUTTON3        4
00431 #define JOY_BUTTON4        8
00432 #define JOY_BUTTON1CHG     256
00433 #define JOY_BUTTON2CHG     512
00434 #define JOY_BUTTON3CHG     1024
00435 #define JOY_BUTTON4CHG     2048
00436 #define JOY_BUTTON5        257
00437 #define JOY_BUTTON6        513
00438 #define JOY_BUTTON7        1025
00439 #define JOY_BUTTON8        2049
00440 #define JOY_BUTTON9        256
00441 #define JOY_BUTTON10       512
00442 #define JOY_BUTTON11       1024
00443 #define JOY_BUTTON12       2048
00444 #define JOY_BUTTON13       4096
00445 #define JOY_BUTTON14       8192
00446 #define JOY_BUTTON15       16384
00447 #define JOY_BUTTON16       32768
00448 #define JOY_BUTTON17       65536
00449 #define JOY_BUTTON18       0x20000
00450 #define JOY_BUTTON19       0x40000
00451 #define JOY_BUTTON20       0x80000
00452 #define JOY_BUTTON21       0x100000
00453 #define JOY_BUTTON22       0x200000
00454 #define JOY_BUTTON23       0x400000
00455 #define JOY_BUTTON24       0x800000
00456 #define JOY_BUTTON25       0x1000000
00457 #define JOY_BUTTON26       0x2000000
00458 #define JOY_BUTTON27       0x4000000
00459 #define JOY_BUTTON28       0x8000000
00460 #define JOY_BUTTON29       0x10000000
00461 #define JOY_BUTTON30       0x20000000
00462 #define JOY_BUTTON31       0x40000000
00463 #define JOY_BUTTON32       0x80000000
00464 #define JOY_POVCENTERED    ((WORD)-1)
00465 #define JOY_POVFORWARD     0
00466 #define JOY_POVRIGHT       9000
00467 #define JOY_POVBACKWARD    18000
00468 #define JOY_POVLEFT        27000
00469 #define JOY_RETURNX        1
00470 #define JOY_RETURNY        2
00471 #define JOY_RETURNZ        4l
00472 #define JOY_RETURNR        8
00473 #define JOY_RETURNU        16
00474 #define JOY_RETURNV        32
00475 #define JOY_RETURNPOV      64
00476 #define JOY_RETURNBUTTONS   128
00477 #define JOY_RETURNRAWDATA   256
00478 #define JOY_RETURNPOVCTS    512
00479 #define JOY_RETURNCENTERED  1024
00480 #define JOY_USEDEADZONE     2048
00481 #define JOY_RETURNALL      (JOY_RETURNX|JOY_RETURNY|JOY_RETURNZ|JOY_RETURNR|JOY_RETURNU|JOY_RETURNV|JOY_RETURNPOV|JOY_RETURNBUTTONS)
00482 #define JOY_CAL_READALWAYS  0x10000
00483 #define JOY_CAL_READXYONLY  0x20000
00484 #define JOY_CAL_READ3       0x40000
00485 #define JOY_CAL_READ4       0x80000
00486 #define JOY_CAL_READXONLY   0x100000
00487 #define JOY_CAL_READYONLY   0x200000
00488 #define JOY_CAL_READ5       0x400000
00489 #define JOY_CAL_READ6       0x800000
00490 #define JOY_CAL_READZONLY   0x1000000
00491 #define JOY_CAL_READRONLY   0x2000000
00492 #define JOY_CAL_READUONLY   0x4000000
00493 #define JOY_CAL_READVONLY   0x8000000
00494 #define JOYSTICKID1         0
00495 #define JOYSTICKID2         1
00496 #define JOYCAPS_HASZ        1
00497 #define JOYCAPS_HASR        2
00498 #define JOYCAPS_HASU        4
00499 #define JOYCAPS_HASV        8
00500 #define JOYCAPS_HASPOV      16
00501 #define JOYCAPS_POV4DIR     32
00502 #define JOYCAPS_POVCTS      64
00503 #define MMIOERR_BASE        256
00504 #define MMIOERR_FILENOTFOUND      (MMIOERR_BASE+1)
00505 #define MMIOERR_OUTOFMEMORY       (MMIOERR_BASE+2)
00506 #define MMIOERR_CANNOTOPEN        (MMIOERR_BASE+3)
00507 #define MMIOERR_CANNOTCLOSE       (MMIOERR_BASE+4)
00508 #define MMIOERR_CANNOTREAD        (MMIOERR_BASE+5)
00509 #define MMIOERR_CANNOTWRITE       (MMIOERR_BASE+6)
00510 #define MMIOERR_CANNOTSEEK        (MMIOERR_BASE+7)
00511 #define MMIOERR_CANNOTEXPAND      (MMIOERR_BASE+8)
00512 #define MMIOERR_CHUNKNOTFOUND     (MMIOERR_BASE+9)
00513 #define MMIOERR_UNBUFFERED        (MMIOERR_BASE+10)
00514 #define MMIOERR_PATHNOTFOUND      (MMIOERR_BASE+11)
00515 #define MMIOERR_ACCESSDENIED      (MMIOERR_BASE+12)
00516 #define MMIOERR_SHARINGVIOLATION  (MMIOERR_BASE+13)
00517 #define MMIOERR_NETWORKERROR      (MMIOERR_BASE+14)
00518 #define MMIOERR_TOOMANYOPENFILES  (MMIOERR_BASE+15)
00519 #define MMIOERR_INVALIDFILE       (MMIOERR_BASE+16)
00520 #define CFSEPCHAR             '+'
00521 #define MMIO_RWMODE           3
00522 #define MMIO_SHAREMODE        0x70
00523 #define MMIO_CREATE           0x1000
00524 #define MMIO_PARSE            256
00525 #define MMIO_DELETE           512
00526 #define MMIO_EXIST            0x4000
00527 #define MMIO_ALLOCBUF         0x10000
00528 #define MMIO_GETTEMP          0x20000
00529 #define MMIO_DIRTY            0x10000000
00530 #define MMIO_READ             0
00531 #define MMIO_WRITE            1
00532 #define MMIO_READWRITE        2
00533 #define MMIO_COMPAT           0
00534 #define MMIO_EXCLUSIVE        16
00535 #define MMIO_DENYWRITE        32
00536 #define MMIO_DENYREAD         0x30
00537 #define MMIO_DENYNONE         64
00538 #define MMIO_FHOPEN           16
00539 #define MMIO_EMPTYBUF         16
00540 #define MMIO_TOUPPER          16
00541 #define MMIO_INSTALLPROC      0x10000
00542 #define MMIO_GLOBALPROC       0x10000000
00543 #define MMIO_REMOVEPROC       0x20000
00544 #define MMIO_UNICODEPROC      0x1000000
00545 #define MMIO_FINDPROC         0x40000
00546 #define MMIO_FINDCHUNK        16
00547 #define MMIO_FINDRIFF         32
00548 #define MMIO_FINDLIST         64
00549 #define MMIO_CREATERIFF       32
00550 #define MMIO_CREATELIST       64
00551 #define MMIOM_READ            MMIO_READ
00552 #define MMIOM_WRITE           MMIO_WRITE
00553 #define MMIOM_SEEK            2
00554 #define MMIOM_OPEN            3
00555 #define MMIOM_CLOSE           4
00556 #define MMIOM_WRITEFLUSH      5
00557 #define MMIOM_RENAME          6
00558 #define MMIOM_USER            0x8000
00559 #define FOURCC_RIFF           mmioFOURCC('R', 'I', 'F', 'F')
00560 #define FOURCC_LIST           mmioFOURCC('L', 'I', 'S', 'T')
00561 #define FOURCC_DOS            mmioFOURCC('D', 'O', 'S', ' ')
00562 #define FOURCC_MEM            mmioFOURCC('M', 'E', 'M', ' ')
00563 #define MMIO_DEFAULTBUFFER    8192
00564 #define MCIERR_INVALID_DEVICE_ID       (MCIERR_BASE+1)
00565 #define MCIERR_UNRECOGNIZED_KEYWORD    (MCIERR_BASE+3)
00566 #define MCIERR_UNRECOGNIZED_COMMAND    (MCIERR_BASE+5)
00567 #define MCIERR_HARDWARE                (MCIERR_BASE+6)
00568 #define MCIERR_INVALID_DEVICE_NAME     (MCIERR_BASE+7)
00569 #define MCIERR_OUT_OF_MEMORY           (MCIERR_BASE+8)
00570 #define MCIERR_DEVICE_OPEN             (MCIERR_BASE+9)
00571 #define MCIERR_CANNOT_LOAD_DRIVER      (MCIERR_BASE+10)
00572 #define MCIERR_MISSING_COMMAND_STRING  (MCIERR_BASE+11)
00573 #define MCIERR_PARAM_OVERFLOW          (MCIERR_BASE+12)
00574 #define MCIERR_MISSING_STRING_ARGUMENT (MCIERR_BASE+13)
00575 #define MCIERR_BAD_INTEGER             (MCIERR_BASE+14)
00576 #define MCIERR_PARSER_INTERNAL         (MCIERR_BASE+15)
00577 #define MCIERR_DRIVER_INTERNAL         (MCIERR_BASE+16)
00578 #define MCIERR_MISSING_PARAMETER       (MCIERR_BASE+17)
00579 #define MCIERR_UNSUPPORTED_FUNCTION    (MCIERR_BASE+18)
00580 #define MCIERR_FILE_NOT_FOUND          (MCIERR_BASE+19)
00581 #define MCIERR_DEVICE_NOT_READY        (MCIERR_BASE+20)
00582 #define MCIERR_INTERNAL                (MCIERR_BASE+21)
00583 #define MCIERR_DRIVER                  (MCIERR_BASE+22)
00584 #define MCIERR_CANNOT_USE_ALL          (MCIERR_BASE+23)
00585 #define MCIERR_MULTIPLE                (MCIERR_BASE+24)
00586 #define MCIERR_EXTENSION_NOT_FOUND     (MCIERR_BASE+25)
00587 #define MCIERR_OUTOFRANGE              (MCIERR_BASE+26)
00588 #define MCIERR_FLAGS_NOT_COMPATIBLE    (MCIERR_BASE+28)
00589 #define MCIERR_FILE_NOT_SAVED          (MCIERR_BASE+30)
00590 #define MCIERR_DEVICE_TYPE_REQUIRED    (MCIERR_BASE+31)
00591 #define MCIERR_DEVICE_LOCKED           (MCIERR_BASE+32)
00592 #define MCIERR_DUPLICATE_ALIAS         (MCIERR_BASE+33)
00593 #define MCIERR_BAD_CONSTANT            (MCIERR_BASE+34)
00594 #define MCIERR_MUST_USE_SHAREABLE      (MCIERR_BASE+35)
00595 #define MCIERR_MISSING_DEVICE_NAME     (MCIERR_BASE+36)
00596 #define MCIERR_BAD_TIME_FORMAT         (MCIERR_BASE+37)
00597 #define MCIERR_NO_CLOSING_QUOTE        (MCIERR_BASE+38)
00598 #define MCIERR_DUPLICATE_FLAGS         (MCIERR_BASE+39)
00599 #define MCIERR_INVALID_FILE            (MCIERR_BASE+40)
00600 #define MCIERR_NULL_PARAMETER_BLOCK    (MCIERR_BASE+41)
00601 #define MCIERR_UNNAMED_RESOURCE        (MCIERR_BASE+42)
00602 #define MCIERR_NEW_REQUIRES_ALIAS      (MCIERR_BASE+43)
00603 #define MCIERR_NOTIFY_ON_AUTO_OPEN     (MCIERR_BASE+44)
00604 #define MCIERR_NO_ELEMENT_ALLOWED      (MCIERR_BASE+45)
00605 #define MCIERR_NONAPPLICABLE_FUNCTION  (MCIERR_BASE+46)
00606 #define MCIERR_ILLEGAL_FOR_AUTO_OPEN   (MCIERR_BASE+47)
00607 #define MCIERR_FILENAME_REQUIRED       (MCIERR_BASE+48)
00608 #define MCIERR_EXTRA_CHARACTERS        (MCIERR_BASE+49)
00609 #define MCIERR_DEVICE_NOT_INSTALLED    (MCIERR_BASE+50)
00610 #define MCIERR_GET_CD                  (MCIERR_BASE+51)
00611 #define MCIERR_SET_CD                  (MCIERR_BASE+52)
00612 #define MCIERR_SET_DRIVE               (MCIERR_BASE+53)
00613 #define MCIERR_DEVICE_LENGTH           (MCIERR_BASE+54)
00614 #define MCIERR_DEVICE_ORD_LENGTH       (MCIERR_BASE+55)
00615 #define MCIERR_NO_INTEGER              (MCIERR_BASE+56)
00616 #define MCIERR_WAVE_OUTPUTSINUSE       (MCIERR_BASE+64)
00617 #define MCIERR_WAVE_SETOUTPUTINUSE     (MCIERR_BASE+65)
00618 #define MCIERR_WAVE_INPUTSINUSE        (MCIERR_BASE+66)
00619 #define MCIERR_WAVE_SETINPUTINUSE      (MCIERR_BASE+67)
00620 #define MCIERR_WAVE_OUTPUTUNSPECIFIED  (MCIERR_BASE+68)
00621 #define MCIERR_WAVE_INPUTUNSPECIFIED   (MCIERR_BASE+69)
00622 #define MCIERR_WAVE_OUTPUTSUNSUITABLE  (MCIERR_BASE+70)
00623 #define MCIERR_WAVE_SETOUTPUTUNSUITABLE (MCIERR_BASE+71)
00624 #define MCIERR_WAVE_INPUTSUNSUITABLE   (MCIERR_BASE+72)
00625 #define MCIERR_WAVE_SETINPUTUNSUITABLE (MCIERR_BASE+73)
00626 #define MCIERR_SEQ_DIV_INCOMPATIBLE    (MCIERR_BASE+80)
00627 #define MCIERR_SEQ_PORT_INUSE          (MCIERR_BASE+81)
00628 #define MCIERR_SEQ_PORT_NONEXISTENT    (MCIERR_BASE+82)
00629 #define MCIERR_SEQ_PORT_MAPNODEVICE    (MCIERR_BASE+83)
00630 #define MCIERR_SEQ_PORT_MISCERROR      (MCIERR_BASE+84)
00631 #define MCIERR_SEQ_TIMER               (MCIERR_BASE+85)
00632 #define MCIERR_SEQ_PORTUNSPECIFIED     (MCIERR_BASE+86)
00633 #define MCIERR_SEQ_NOMIDIPRESENT       (MCIERR_BASE+87)
00634 #define MCIERR_NO_WINDOW               (MCIERR_BASE+90)
00635 #define MCIERR_CREATEWINDOW            (MCIERR_BASE+91)
00636 #define MCIERR_FILE_READ               (MCIERR_BASE+92)
00637 #define MCIERR_FILE_WRITE              (MCIERR_BASE+93)
00638 #define MCIERR_NO_IDENTITY             (MCIERR_BASE+94)
00639 #define MCIERR_CUSTOM_DRIVER_BASE      (MCIERR_BASE+256)
00640 #define MCI_FIRST         DRV_MCI_FIRST
00641 #define MCI_OPEN          0x803
00642 #define MCI_CLOSE         0x804
00643 #define MCI_ESCAPE        0x805
00644 #define MCI_PLAY          0x806
00645 #define MCI_SEEK          0x807
00646 #define MCI_STOP          0x808
00647 #define MCI_PAUSE         0x809
00648 #define MCI_INFO          0x80A
00649 #define MCI_GETDEVCAPS    0x80B
00650 #define MCI_SPIN          0x80C
00651 #define MCI_SET           0x80D
00652 #define MCI_STEP          0x80E
00653 #define MCI_RECORD        0x80F
00654 #define MCI_SYSINFO       0x810
00655 #define MCI_BREAK         0x811
00656 #define MCI_SAVE          0x813
00657 #define MCI_STATUS        0x814
00658 #define MCI_CUE           0x830
00659 #define MCI_REALIZE       0x840
00660 #define MCI_WINDOW        0x841
00661 #define MCI_PUT           0x842
00662 #define MCI_WHERE         0x843
00663 #define MCI_FREEZE        0x844
00664 #define MCI_UNFREEZE      0x845
00665 #define MCI_LOAD          0x850
00666 #define MCI_CUT           0x851
00667 #define MCI_COPY          0x852
00668 #define MCI_PASTE         0x853
00669 #define MCI_UPDATE        0x854
00670 #define MCI_RESUME        0x855
00671 #define MCI_DELETE        0x856
00672 #define MCI_USER_MESSAGES (DRV_MCI_FIRST+0x400)
00673 #define MCI_LAST          0xFFF
00674 #define MCI_ALL_DEVICE_ID ((MCIDEVICEID)-1)
00675 #define MCI_DEVTYPE_VCR            513
00676 #define MCI_DEVTYPE_VIDEODISC      514
00677 #define MCI_DEVTYPE_OVERLAY        515
00678 #define MCI_DEVTYPE_CD_AUDIO       516
00679 #define MCI_DEVTYPE_DAT            517
00680 #define MCI_DEVTYPE_SCANNER        518
00681 #define MCI_DEVTYPE_ANIMATION      519
00682 #define MCI_DEVTYPE_DIGITAL_VIDEO  520
00683 #define MCI_DEVTYPE_OTHER          521
00684 #define MCI_DEVTYPE_WAVEFORM_AUDIO 522
00685 #define MCI_DEVTYPE_SEQUENCER      523
00686 #define MCI_DEVTYPE_FIRST          MCI_DEVTYPE_VCR
00687 #define MCI_DEVTYPE_LAST           MCI_DEVTYPE_SEQUENCER
00688 #define MCI_DEVTYPE_FIRST_USER     0x1000
00689 #define MCI_MODE_NOT_READY         (MCI_STRING_OFFSET+12)
00690 #define MCI_MODE_STOP              (MCI_STRING_OFFSET+13)
00691 #define MCI_MODE_PLAY              (MCI_STRING_OFFSET+14)
00692 #define MCI_MODE_RECORD            (MCI_STRING_OFFSET+15)
00693 #define MCI_MODE_SEEK              (MCI_STRING_OFFSET+16)
00694 #define MCI_MODE_PAUSE             (MCI_STRING_OFFSET+17)
00695 #define MCI_MODE_OPEN              (MCI_STRING_OFFSET+18)
00696 #define MCI_FORMAT_MILLISECONDS    0
00697 #define MCI_FORMAT_HMS             1
00698 #define MCI_FORMAT_MSF             2
00699 #define MCI_FORMAT_FRAMES          3
00700 #define MCI_FORMAT_SMPTE_24        4
00701 #define MCI_FORMAT_SMPTE_25        5
00702 #define MCI_FORMAT_SMPTE_30        6
00703 #define MCI_FORMAT_SMPTE_30DROP    7
00704 #define MCI_FORMAT_BYTES           8
00705 #define MCI_FORMAT_SAMPLES         9
00706 #define MCI_FORMAT_TMSF            10
00707 #define MCI_MSF_MINUTE(t)        ((BYTE)(t))
00708 #define MCI_MSF_SECOND(t)        ((BYTE)(((WORD)(t))>>8))
00709 #define MCI_MSF_FRAME(t)         ((BYTE)((t)>>16))
00710 #define MCI_MAKE_MSF(m,s,f)      ((DWORD)(((BYTE)(m)|((WORD)(s)<<8))|(((DWORD)(BYTE)(f))<<16)))
00711 #define MCI_TMSF_TRACK(t)        ((BYTE)(t))
00712 #define MCI_TMSF_MINUTE(t)       ((BYTE)(((WORD)(t))>>8))
00713 #define MCI_TMSF_SECOND(t)       ((BYTE)((t)>>16))
00714 #define MCI_TMSF_FRAME(t)        ((BYTE)((t)>>24))
00715 #define MCI_MAKE_TMSF(t,m,s,f)   ((DWORD)(((BYTE)(t)|((WORD)(m)<<8))|(((DWORD)(BYTE)(s)|((WORD)(f)<<8))<<16)))
00716 #define MCI_HMS_HOUR(t)          ((BYTE)(t))
00717 #define MCI_HMS_MINUTE(t)        ((BYTE)(((WORD)(t))>>8))
00718 #define MCI_HMS_SECOND(t)        ((BYTE)((t)>>16))
00719 #define MCI_MAKE_HMS(h,m,s)      ((DWORD)(((BYTE)(h)|((WORD)(m)<<8))|(((DWORD)(BYTE)(s))<<16)))
00720 #define MCI_NOTIFY_SUCCESSFUL             1
00721 #define MCI_NOTIFY_SUPERSEDED             2
00722 #define MCI_NOTIFY_ABORTED                4
00723 #define MCI_NOTIFY_FAILURE                8
00724 #define MCI_NOTIFY                        1
00725 #define MCI_WAIT                          2
00726 #define MCI_FROM                          4
00727 #define MCI_TO                            8
00728 #define MCI_TRACK                         16
00729 #define MCI_OPEN_SHAREABLE                256
00730 #define MCI_OPEN_ELEMENT                  512
00731 #define MCI_OPEN_ALIAS                    1024
00732 #define MCI_OPEN_ELEMENT_ID               2048
00733 #define MCI_OPEN_TYPE_ID                  0x1000
00734 #define MCI_OPEN_TYPE                     0x2000
00735 #define MCI_SEEK_TO_START                 256
00736 #define MCI_SEEK_TO_END                   512
00737 #define MCI_STATUS_ITEM                   256
00738 #define MCI_STATUS_START                  512
00739 #define MCI_STATUS_LENGTH                 1
00740 #define MCI_STATUS_POSITION               2
00741 #define MCI_STATUS_NUMBER_OF_TRACKS       3
00742 #define MCI_STATUS_MODE                   4
00743 #define MCI_STATUS_MEDIA_PRESENT          5
00744 #define MCI_STATUS_TIME_FORMAT            6
00745 #define MCI_STATUS_READY                  7
00746 #define MCI_STATUS_CURRENT_TRACK          8
00747 #define MCI_INFO_PRODUCT                  256
00748 #define MCI_INFO_FILE                     512
00749 #define MCI_INFO_MEDIA_UPC                1024
00750 #define MCI_INFO_MEDIA_IDENTITY           2048
00751 #define MCI_INFO_NAME                     0x1000
00752 #define MCI_INFO_COPYRIGHT                0x2000
00753 #define MCI_GETDEVCAPS_ITEM               256
00754 #define MCI_GETDEVCAPS_CAN_RECORD         1
00755 #define MCI_GETDEVCAPS_HAS_AUDIO          2
00756 #define MCI_GETDEVCAPS_HAS_VIDEO          3
00757 #define MCI_GETDEVCAPS_DEVICE_TYPE        4
00758 #define MCI_GETDEVCAPS_USES_FILES         5
00759 #define MCI_GETDEVCAPS_COMPOUND_DEVICE    6
00760 #define MCI_GETDEVCAPS_CAN_EJECT          7
00761 #define MCI_GETDEVCAPS_CAN_PLAY           8
00762 #define MCI_GETDEVCAPS_CAN_SAVE           9
00763 #define MCI_SYSINFO_QUANTITY              256
00764 #define MCI_SYSINFO_OPEN                  512
00765 #define MCI_SYSINFO_NAME                  1024
00766 #define MCI_SYSINFO_INSTALLNAME           2048
00767 #define MCI_SET_DOOR_OPEN                 256
00768 #define MCI_SET_DOOR_CLOSED               512
00769 #define MCI_SET_TIME_FORMAT               1024
00770 #define MCI_SET_AUDIO                     2048
00771 #define MCI_SET_VIDEO                     0x1000
00772 #define MCI_SET_ON                        0x2000
00773 #define MCI_SET_OFF                       0x4000
00774 #define MCI_SET_AUDIO_ALL                 0
00775 #define MCI_SET_AUDIO_LEFT                1
00776 #define MCI_SET_AUDIO_RIGHT               2
00777 #define MCI_BREAK_KEY                     256
00778 #define MCI_BREAK_HWND                    512
00779 #define MCI_BREAK_OFF                     1024
00780 #define MCI_RECORD_INSERT                 256
00781 #define MCI_RECORD_OVERWRITE              512
00782 #define MCI_SAVE_FILE                     256
00783 #define MCI_LOAD_FILE                     256
00784 #define MCI_VD_MODE_PARK                  (MCI_VD_OFFSET+1)
00785 #define MCI_VD_MEDIA_CLV                  (MCI_VD_OFFSET+2)
00786 #define MCI_VD_MEDIA_CAV                  (MCI_VD_OFFSET+3)
00787 #define MCI_VD_MEDIA_OTHER                (MCI_VD_OFFSET+4)
00788 #define MCI_VD_FORMAT_TRACK               0x4001
00789 #define MCI_VD_PLAY_REVERSE               0x10000
00790 #define MCI_VD_PLAY_FAST                  0x20000
00791 #define MCI_VD_PLAY_SPEED                 0x40000
00792 #define MCI_VD_PLAY_SCAN                  0x80000
00793 #define MCI_VD_PLAY_SLOW                  0x100000
00794 #define MCI_VD_SEEK_REVERSE               0x10000
00795 #define MCI_VD_STATUS_SPEED               0x4002
00796 #define MCI_VD_STATUS_FORWARD             0x4003
00797 #define MCI_VD_STATUS_MEDIA_TYPE          0x4004
00798 #define MCI_VD_STATUS_SIDE                0x4005
00799 #define MCI_VD_STATUS_DISC_SIZE           0x4006
00800 #define MCI_VD_GETDEVCAPS_CLV             0x10000
00801 #define MCI_VD_GETDEVCAPS_CAV             0x20000
00802 #define MCI_VD_SPIN_UP                    0x10000
00803 #define MCI_VD_SPIN_DOWN                  0x20000
00804 #define MCI_VD_GETDEVCAPS_CAN_REVERSE     0x4002
00805 #define MCI_VD_GETDEVCAPS_FAST_RATE       0x4003
00806 #define MCI_VD_GETDEVCAPS_SLOW_RATE       0x4004
00807 #define MCI_VD_GETDEVCAPS_NORMAL_RATE     0x4005
00808 #define MCI_VD_STEP_FRAMES                0x10000
00809 #define MCI_VD_STEP_REVERSE               0x20000
00810 #define MCI_VD_ESCAPE_STRING              256
00811 #define MCI_CDA_STATUS_TYPE_TRACK         0x4001
00812 #define MCI_CDA_TRACK_AUDIO               MCI_CD_OFFSET
00813 #define MCI_CDA_TRACK_OTHER               (MCI_CD_OFFSET+1)
00814 #define MCI_WAVE_PCM                      MCI_WAVE_OFFSET
00815 #define MCI_WAVE_MAPPER                   (MCI_WAVE_OFFSET+1)
00816 #define MCI_WAVE_OPEN_BUFFER              0x10000
00817 #define MCI_WAVE_SET_FORMATTAG            0x10000
00818 #define MCI_WAVE_SET_CHANNELS             0x20000
00819 #define MCI_WAVE_SET_SAMPLESPERSEC        0x40000
00820 #define MCI_WAVE_SET_AVGBYTESPERSEC       0x80000
00821 #define MCI_WAVE_SET_BLOCKALIGN           0x100000
00822 #define MCI_WAVE_SET_BITSPERSAMPLE        0x200000
00823 #define MCI_WAVE_INPUT                    0x400000
00824 #define MCI_WAVE_OUTPUT                   0x800000
00825 #define MCI_WAVE_STATUS_FORMATTAG         0x4001
00826 #define MCI_WAVE_STATUS_CHANNELS          0x4002
00827 #define MCI_WAVE_STATUS_SAMPLESPERSEC     0x4003
00828 #define MCI_WAVE_STATUS_AVGBYTESPERSEC    0x4004
00829 #define MCI_WAVE_STATUS_BLOCKALIGN        0x4005
00830 #define MCI_WAVE_STATUS_BITSPERSAMPLE     0x4006
00831 #define MCI_WAVE_STATUS_LEVEL             0x4007
00832 #define MCI_WAVE_SET_ANYINPUT             0x4000000
00833 #define MCI_WAVE_SET_ANYOUTPUT            0x8000000
00834 #define MCI_WAVE_GETDEVCAPS_INPUTS        0x4001
00835 #define MCI_WAVE_GETDEVCAPS_OUTPUTS       0x4002
00836 #define MCI_SEQ_DIV_PPQN                  MCI_SEQ_OFFSET
00837 #define MCI_SEQ_DIV_SMPTE_24              (MCI_SEQ_OFFSET+1)
00838 #define MCI_SEQ_DIV_SMPTE_25              (MCI_SEQ_OFFSET+2)
00839 #define MCI_SEQ_DIV_SMPTE_30DROP          (MCI_SEQ_OFFSET+3)
00840 #define MCI_SEQ_DIV_SMPTE_30              (MCI_SEQ_OFFSET+4)
00841 #define MCI_SEQ_FORMAT_SONGPTR            0x4001
00842 #define MCI_SEQ_FILE                      0x4002
00843 #define MCI_SEQ_MIDI                      0x4003
00844 #define MCI_SEQ_SMPTE                     0x4004
00845 #define MCI_SEQ_NONE                      65533
00846 #define MCI_SEQ_MAPPER                    65535
00847 #define MCI_SEQ_STATUS_TEMPO              0x4002
00848 #define MCI_SEQ_STATUS_PORT               0x4003
00849 #define MCI_SEQ_STATUS_SLAVE              0x4007
00850 #define MCI_SEQ_STATUS_MASTER             0x4008
00851 #define MCI_SEQ_STATUS_OFFSET             0x4009
00852 #define MCI_SEQ_STATUS_DIVTYPE            0x400A
00853 #define MCI_SEQ_STATUS_NAME               0x400B
00854 #define MCI_SEQ_STATUS_COPYRIGHT          0x400C
00855 #define MCI_SEQ_SET_TEMPO                 0x10000
00856 #define MCI_SEQ_SET_PORT                  0x20000
00857 #define MCI_SEQ_SET_SLAVE                 0x40000
00858 #define MCI_SEQ_SET_MASTER                0x80000
00859 #define MCI_SEQ_SET_OFFSET                0x1000000
00860 #define MCI_ANIM_OPEN_WS                  0x10000
00861 #define MCI_ANIM_OPEN_PARENT              0x20000
00862 #define MCI_ANIM_OPEN_NOSTATIC            0x40000
00863 #define MCI_ANIM_PLAY_SPEED               0x10000
00864 #define MCI_ANIM_PLAY_REVERSE             0x20000
00865 #define MCI_ANIM_PLAY_FAST                0x40000
00866 #define MCI_ANIM_PLAY_SLOW                0x80000
00867 #define MCI_ANIM_PLAY_SCAN                0x100000
00868 #define MCI_ANIM_STEP_REVERSE             0x10000
00869 #define MCI_ANIM_STEP_FRAMES              0x20000
00870 #define MCI_ANIM_STATUS_SPEED             0x4001
00871 #define MCI_ANIM_STATUS_FORWARD           0x4002
00872 #define MCI_ANIM_STATUS_HWND              0x4003
00873 #define MCI_ANIM_STATUS_HPAL              0x4004
00874 #define MCI_ANIM_STATUS_STRETCH           0x4005
00875 #define MCI_ANIM_INFO_TEXT                0x10000
00876 #define MCI_ANIM_GETDEVCAPS_CAN_REVERSE   0x4001
00877 #define MCI_ANIM_GETDEVCAPS_FAST_RATE     0x4002
00878 #define MCI_ANIM_GETDEVCAPS_SLOW_RATE     0x4003
00879 #define MCI_ANIM_GETDEVCAPS_NORMAL_RATE   0x4004
00880 #define MCI_ANIM_GETDEVCAPS_PALETTES      0x4006
00881 #define MCI_ANIM_GETDEVCAPS_CAN_STRETCH   0x4007
00882 #define MCI_ANIM_GETDEVCAPS_MAX_WINDOWS   0x4008
00883 #define MCI_ANIM_REALIZE_NORM             0x10000
00884 #define MCI_ANIM_REALIZE_BKGD             0x20000
00885 #define MCI_ANIM_WINDOW_HWND              0x10000
00886 #define MCI_ANIM_WINDOW_STATE             0x40000
00887 #define MCI_ANIM_WINDOW_TEXT              0x80000
00888 #define MCI_ANIM_WINDOW_ENABLE_STRETCH    0x100000
00889 #define MCI_ANIM_WINDOW_DISABLE_STRETCH   0x200000
00890 #define MCI_ANIM_WINDOW_DEFAULT           0xL
00891 #define MCI_ANIM_RECT                     0x10000
00892 #define MCI_ANIM_PUT_SOURCE               0x20000
00893 #define MCI_ANIM_PUT_DESTINATION          0x40000
00894 #define MCI_ANIM_WHERE_SOURCE             0x20000
00895 #define MCI_ANIM_WHERE_DESTINATION        0x40000
00896 #define MCI_ANIM_UPDATE_HDC               0x20000
00897 #define MCI_OVLY_OPEN_WS                  0x10000
00898 #define MCI_OVLY_OPEN_PARENT              0x20000
00899 #define MCI_OVLY_STATUS_HWND              0x4001
00900 #define MCI_OVLY_STATUS_STRETCH           0x4002
00901 #define MCI_OVLY_INFO_TEXT                0x10000
00902 #define MCI_OVLY_GETDEVCAPS_CAN_STRETCH   0x4001
00903 #define MCI_OVLY_GETDEVCAPS_CAN_FREEZE    0x4002
00904 #define MCI_OVLY_GETDEVCAPS_MAX_WINDOWS   0x4003
00905 #define MCI_OVLY_WINDOW_HWND              0x10000
00906 #define MCI_OVLY_WINDOW_STATE             0x40000
00907 #define MCI_OVLY_WINDOW_TEXT              0x80000
00908 #define MCI_OVLY_WINDOW_ENABLE_STRETCH    0x100000
00909 #define MCI_OVLY_WINDOW_DISABLE_STRETCH   0x200000
00910 #define MCI_OVLY_WINDOW_DEFAULT           0xL
00911 #define MCI_OVLY_RECT                     0x10000
00912 #define MCI_OVLY_PUT_SOURCE               0x20000
00913 #define MCI_OVLY_PUT_DESTINATION          0x40000
00914 #define MCI_OVLY_PUT_FRAME                0x80000
00915 #define MCI_OVLY_PUT_VIDEO                0x100000
00916 #define MCI_OVLY_WHERE_SOURCE             0x20000
00917 #define MCI_OVLY_WHERE_DESTINATION        0x40000
00918 #define MCI_OVLY_WHERE_FRAME              0x80000
00919 #define MCI_OVLY_WHERE_VIDEO              0x100000
00920 #ifdef _WINE
00921 #define MCI_SOUND                         0x0812
00922 #define MCI_SOUND_NAME                    0x00000100L
00923 #endif
00924 #define NEWTRANSPARENT 3
00925 #define QUERYROPSUPPORT 40
00926 #define SELECTDIB 41
00927 #define DIBINDEX(n) MAKELONG((n),0x10FF)
00928 #define SC_SCREENSAVE 0xF140
00929 #define CAPS1 94
00930 #define C1_TRANSPARENT 1
00931 #ifndef SEEK_SET
00932 #define SEEK_SET 0
00933 #endif
00934 #ifndef SEEK_CUR
00935 #define SEEK_CUR 1
00936 #endif
00937 #ifndef SEEK_END
00938 #define SEEK_END 2
00939 #endif
00940 
00941 #ifdef _WINE
00942 #define MAXWAVEDRIVERS  10
00943 #define MAXMIDIDRIVERS  10
00944 #define MAXAUXDRIVERS   10
00945 #define MAXMCIDRIVERS   32
00946 #define MAXMIXERDRIVERS 10
00947 #endif
00948 
00949 #ifdef _WINE
00950 typedef LPCSTR HPCSTR;
00951 #endif
00952 
00953 typedef DWORD MCIERROR;
00954 typedef UINT MCIDEVICEID;
00955 typedef UINT(CALLBACK *YIELDPROC)(MCIDEVICEID,DWORD);
00956 typedef UINT MMVERSION;
00957 typedef UINT MMRESULT;
00958 
00959 typedef struct mmtime_tag {
00960     UINT wType;
00961     union {
00962         DWORD ms;
00963         DWORD sample;
00964         DWORD cb;
00965         DWORD ticks;
00966         struct {
00967             BYTE hour;
00968             BYTE min;
00969             BYTE sec;
00970             BYTE frame;
00971             BYTE fps;
00972             BYTE dummy;
00973             BYTE pad[2];
00974         } smpte;
00975         struct {
00976             DWORD songptrpos;
00977         } midi;
00978     } u;
00979 } MMTIME,*PMMTIME,*LPMMTIME;
00980 
00981 DECLARE_HANDLE(HDRVR);
00982 
00983 typedef struct tagDRVCONFIGINFO {
00984     DWORD dwDCISize;
00985     LPCWSTR lpszDCISectionName;
00986     LPCWSTR lpszDCIAliasName;
00987 } DRVCONFIGINFO,*PDRVCONFIGINFO,*LPDRVCONFIGINFO;
00988 
00989 typedef struct DRVCONFIGINFOEX {
00990     DWORD dwDCISize;
00991     LPCWSTR lpszDCISectionName;
00992     LPCWSTR lpszDCIAliasName;
00993     DWORD dnDevNode;
00994 } DRVCONFIGINFOEX,*PDRVCONFIGINFOEX,*LPDRVCONFIGINFOEX;
00995 
00996 typedef LRESULT (CALLBACK* DRIVERPROC)(DWORD_PTR,HDRVR,UINT,LPARAM,LPARAM);
00997 typedef void (CALLBACK DRVCALLBACK)(HDRVR,UINT,DWORD,DWORD,DWORD);
00998 typedef DRVCALLBACK *LPDRVCALLBACK;
00999 typedef DRVCALLBACK *PDRVCALLBACK;
01000 DECLARE_HANDLE(HWAVE);
01001 DECLARE_HANDLE(HWAVEIN);
01002 DECLARE_HANDLE(HWAVEOUT);
01003 typedef HWAVEIN *LPHWAVEIN;
01004 typedef HWAVEOUT *LPHWAVEOUT;
01005 typedef DRVCALLBACK WAVECALLBACK;
01006 typedef WAVECALLBACK *LPWAVECALLBACK;
01007 
01008 typedef struct wavehdr_tag {
01009     LPSTR lpData;
01010     DWORD dwBufferLength;
01011     DWORD dwBytesRecorded;
01012     DWORD_PTR dwUser;
01013     DWORD dwFlags;
01014     DWORD dwLoops;
01015     struct wavehdr_tag *lpNext;
01016     DWORD_PTR reserved;
01017 } WAVEHDR,*PWAVEHDR,*LPWAVEHDR;
01018 
01019 typedef struct tagWAVEOUTCAPSA {
01020     WORD wMid;
01021     WORD wPid;
01022     MMVERSION vDriverVersion;
01023     CHAR szPname[MAXPNAMELEN];
01024     DWORD dwFormats;
01025     WORD wChannels;
01026     WORD wReserved1;
01027     DWORD dwSupport;
01028 } WAVEOUTCAPSA,*PWAVEOUTCAPSA,*LPWAVEOUTCAPSA;
01029 
01030 typedef struct tagWAVEOUTCAPSW {
01031     WORD wMid;
01032     WORD wPid;
01033     MMVERSION vDriverVersion;
01034     WCHAR szPname[MAXPNAMELEN];
01035     DWORD dwFormats;
01036     WORD wChannels;
01037     WORD wReserved1;
01038     DWORD dwSupport;
01039 } WAVEOUTCAPSW,*PWAVEOUTCAPSW,*LPWAVEOUTCAPSW;
01040 
01041 typedef struct tagWAVEINCAPSA {
01042     WORD wMid;
01043     WORD wPid;
01044     MMVERSION vDriverVersion;
01045     CHAR szPname[MAXPNAMELEN];
01046     DWORD dwFormats;
01047     WORD wChannels;
01048     WORD wReserved1;
01049 } WAVEINCAPSA,*PWAVEINCAPSA,*LPWAVEINCAPSA;
01050 
01051 typedef struct tagWAVEINCAPSW {
01052     WORD wMid;
01053     WORD wPid;
01054     MMVERSION vDriverVersion;
01055     WCHAR szPname[MAXPNAMELEN];
01056     DWORD dwFormats;
01057     WORD wChannels;
01058     WORD wReserved1;
01059 } WAVEINCAPSW,*PWAVEINCAPSW,*LPWAVEINCAPSW;
01060 
01061 typedef struct waveformat_tag {
01062     WORD wFormatTag;
01063     WORD nChannels;
01064     DWORD nSamplesPerSec;
01065     DWORD nAvgBytesPerSec;
01066     WORD nBlockAlign;
01067 } WAVEFORMAT,*PWAVEFORMAT,*LPWAVEFORMAT;
01068 
01069 typedef struct pcmwaveformat_tag {
01070     WAVEFORMAT wf;
01071     WORD wBitsPerSample;
01072 } PCMWAVEFORMAT, *PPCMWAVEFORMAT,*LPPCMWAVEFORMAT;
01073 
01074 #ifndef _WAVEFORMATEX_
01075 #define _WAVEFORMATEX_
01076 typedef struct tWAVEFORMATEX {
01077     WORD wFormatTag;
01078     WORD nChannels;
01079     DWORD nSamplesPerSec;
01080     DWORD nAvgBytesPerSec;
01081     WORD nBlockAlign;
01082     WORD wBitsPerSample;
01083     WORD cbSize;
01084 } WAVEFORMATEX,*PWAVEFORMATEX,*LPWAVEFORMATEX;
01085 
01086 typedef const struct tWAVEFORMATEX *LPCWAVEFORMATEX;
01087 #endif
01088 
01089 DECLARE_HANDLE(HMIDI);
01090 DECLARE_HANDLE(HMIDIIN);
01091 DECLARE_HANDLE(HMIDIOUT);
01092 DECLARE_HANDLE(HMIDISTRM);
01093 
01094 typedef HMIDI *LPHMIDI;
01095 typedef HMIDIIN *LPHMIDIIN;
01096 typedef HMIDIOUT *LPHMIDIOUT;
01097 typedef HMIDISTRM *LPHMIDISTRM;
01098 typedef DRVCALLBACK MIDICALLBACK;
01099 typedef MIDICALLBACK *LPMIDICALLBACK;
01100 typedef WORD PATCHARRAY[MIDIPATCHSIZE];
01101 typedef WORD *LPPATCHARRAY;
01102 typedef WORD KEYARRAY[MIDIPATCHSIZE];
01103 typedef WORD *LPKEYARRAY;
01104 
01105 typedef struct tagMIDIOUTCAPSA {
01106     WORD wMid;
01107     WORD wPid;
01108     MMVERSION vDriverVersion;
01109     CHAR szPname[MAXPNAMELEN];
01110     WORD wTechnology;
01111     WORD wVoices;
01112     WORD wNotes;
01113     WORD wChannelMask;
01114     DWORD dwSupport;
01115 } MIDIOUTCAPSA,*PMIDIOUTCAPSA,*LPMIDIOUTCAPSA;
01116 
01117 typedef struct tagMIDIOUTCAPSW {
01118     WORD wMid;
01119     WORD wPid;
01120     MMVERSION vDriverVersion;
01121     WCHAR szPname[MAXPNAMELEN];
01122     WORD wTechnology;
01123     WORD wVoices;
01124     WORD wNotes;
01125     WORD wChannelMask;
01126     DWORD dwSupport;
01127 } MIDIOUTCAPSW,*PMIDIOUTCAPSW,*LPMIDIOUTCAPSW;
01128 
01129 typedef struct tagMIDIINCAPSA {
01130     WORD wMid;
01131     WORD wPid;
01132     MMVERSION vDriverVersion;
01133     CHAR szPname[MAXPNAMELEN];
01134     DWORD dwSupport;
01135 } MIDIINCAPSA,*PMIDIINCAPSA,*LPMIDIINCAPSA;
01136 
01137 typedef struct tagMIDIINCAPSW {
01138     WORD wMid;
01139     WORD wPid;
01140     MMVERSION vDriverVersion;
01141     WCHAR szPname[MAXPNAMELEN];
01142     DWORD dwSupport;
01143 } MIDIINCAPSW,*PMIDIINCAPSW,*NPMIDIINCAPSW,*LPMIDIINCAPSW;
01144 
01145 typedef struct midihdr_tag {
01146     LPSTR lpData;
01147     DWORD dwBufferLength;
01148     DWORD dwBytesRecorded;
01149     DWORD dwUser;
01150     DWORD dwFlags;
01151     struct midihdr_tag *lpNext;
01152     DWORD reserved;
01153     DWORD dwOffset;
01154     DWORD dwReserved[8];
01155 } MIDIHDR,*PMIDIHDR,*LPMIDIHDR;
01156 
01157 typedef struct midievent_tag {
01158     DWORD dwDeltaTime;
01159     DWORD dwStreamID;
01160     DWORD dwEvent;
01161     DWORD dwParms[1];
01162 } MIDIEVENT;
01163 #ifdef _WINE
01164 typedef struct midievent_tag *LPMIDIEVENT;
01165 #endif
01166 
01167 typedef struct midistrmbuffver_tag {
01168     DWORD dwVersion;
01169     DWORD dwMid;
01170     DWORD dwOEMVersion;
01171 } MIDISTRMBUFFVER;
01172 
01173 typedef struct midiproptimediv_tag {
01174     DWORD cbStruct;
01175     DWORD dwTimeDiv;
01176 } MIDIPROPTIMEDIV,*LPMIDIPROPTIMEDIV;
01177 
01178 typedef struct midiproptempo_tag {
01179     DWORD cbStruct;
01180     DWORD dwTempo;
01181 } MIDIPROPTEMPO,*LPMIDIPROPTEMPO;
01182 
01183 typedef struct tagAUXCAPSA {
01184     WORD wMid;
01185     WORD wPid;
01186     MMVERSION vDriverVersion;
01187     CHAR szPname[MAXPNAMELEN];
01188     WORD wTechnology;
01189     WORD wReserved1;
01190     DWORD dwSupport;
01191 } AUXCAPSA,*PAUXCAPSA,*LPAUXCAPSA;
01192 
01193 typedef struct tagAUXCAPSW {
01194     WORD wMid;
01195     WORD wPid;
01196     MMVERSION vDriverVersion;
01197     WCHAR szPname[MAXPNAMELEN];
01198     WORD wTechnology;
01199     WORD wReserved1;
01200     DWORD dwSupport;
01201 } AUXCAPSW,*PAUXCAPSW,*LPAUXCAPSW;
01202 
01203 DECLARE_HANDLE(HMIXEROBJ);
01204 typedef HMIXEROBJ *LPHMIXEROBJ;
01205 DECLARE_HANDLE(HMIXER);
01206 typedef HMIXER *LPHMIXER;
01207 
01208 typedef struct tagMIXERCAPSA {
01209     WORD wMid;
01210     WORD wPid;
01211     MMVERSION vDriverVersion;
01212     CHAR szPname[MAXPNAMELEN];
01213     DWORD fdwSupport;
01214     DWORD cDestinations;
01215 } MIXERCAPSA,*PMIXERCAPSA,*LPMIXERCAPSA;
01216 
01217 typedef struct tagMIXERCAPSW {
01218     WORD wMid;
01219     WORD wPid;
01220     MMVERSION vDriverVersion;
01221     WCHAR szPname[MAXPNAMELEN];
01222     DWORD fdwSupport;
01223     DWORD cDestinations;
01224 } MIXERCAPSW,*PMIXERCAPSW,*LPMIXERCAPSW;
01225 
01226 typedef struct tagMIXERLINEA {
01227     DWORD cbStruct;
01228     DWORD dwDestination;
01229     DWORD dwSource;
01230     DWORD dwLineID;
01231     DWORD fdwLine;
01232     DWORD dwUser;
01233     DWORD dwComponentType;
01234     DWORD cChannels;
01235     DWORD cConnections;
01236     DWORD cControls;
01237     CHAR szShortName[MIXER_SHORT_NAME_CHARS];
01238     CHAR szName[MIXER_LONG_NAME_CHARS];
01239     struct {
01240         DWORD dwType;
01241         DWORD dwDeviceID;
01242         WORD wMid;
01243         WORD wPid;
01244         MMVERSION vDriverVersion;
01245         CHAR szPname[MAXPNAMELEN];
01246     } Target;
01247 } MIXERLINEA,*PMIXERLINEA,*LPMIXERLINEA;
01248 
01249 typedef struct tagMIXERLINEW {
01250     DWORD cbStruct;
01251     DWORD dwDestination;
01252     DWORD dwSource;
01253     DWORD dwLineID;
01254     DWORD fdwLine;
01255     DWORD dwUser;
01256     DWORD dwComponentType;
01257     DWORD cChannels;
01258     DWORD cConnections;
01259     DWORD cControls;
01260     WCHAR szShortName[MIXER_SHORT_NAME_CHARS];
01261     WCHAR szName[MIXER_LONG_NAME_CHARS];
01262     struct {
01263         DWORD dwType;
01264         DWORD dwDeviceID;
01265         WORD wMid;
01266         WORD wPid;
01267         MMVERSION vDriverVersion;
01268         WCHAR szPname[MAXPNAMELEN];
01269     } Target;
01270 } MIXERLINEW,*PMIXERLINEW,*LPMIXERLINEW;
01271 
01272 typedef struct tagMIXERCONTROLA {
01273     DWORD cbStruct;
01274     DWORD dwControlID;
01275     DWORD dwControlType;
01276     DWORD fdwControl;
01277     DWORD cMultipleItems;
01278     CHAR szShortName[MIXER_SHORT_NAME_CHARS];
01279     CHAR szName[MIXER_LONG_NAME_CHARS];
01280     union {
01281         _ANONYMOUS_STRUCT struct {
01282             LONG lMinimum;
01283             LONG lMaximum;
01284         }_STRUCT_NAME(s);
01285         _ANONYMOUS_STRUCT struct {
01286             DWORD dwMinimum;
01287             DWORD dwMaximum;
01288         }_STRUCT_NAME(s1);
01289         DWORD dwReserved[6];
01290     } Bounds;
01291     union {
01292         DWORD cSteps;
01293         DWORD cbCustomData;
01294         DWORD dwReserved[6];
01295     } Metrics;
01296 } MIXERCONTROLA,*PMIXERCONTROLA,*LPMIXERCONTROLA;
01297 
01298 typedef struct tagMIXERCONTROLW {
01299     DWORD cbStruct;
01300     DWORD dwControlID;
01301     DWORD dwControlType;
01302     DWORD fdwControl;
01303     DWORD cMultipleItems;
01304     WCHAR szShortName[MIXER_SHORT_NAME_CHARS];
01305     WCHAR szName[MIXER_LONG_NAME_CHARS];
01306     union {
01307         _ANONYMOUS_STRUCT struct {
01308             LONG lMinimum;
01309             LONG lMaximum;
01310         }_STRUCT_NAME(s);
01311         _ANONYMOUS_STRUCT struct {
01312             DWORD dwMinimum;
01313             DWORD dwMaximum;
01314         }_STRUCT_NAME(s1);
01315         DWORD dwReserved[6];
01316     } Bounds;
01317     union {
01318         DWORD cSteps;
01319         DWORD cbCustomData;
01320         DWORD dwReserved[6];
01321     } Metrics;
01322 } MIXERCONTROLW,*PMIXERCONTROLW,*LPMIXERCONTROLW;
01323 
01324 typedef struct tagMIXERLINECONTROLSA {
01325     DWORD cbStruct;
01326     DWORD dwLineID;
01327     _ANONYMOUS_UNION union {
01328         DWORD dwControlID;
01329         DWORD dwControlType;
01330     } DUMMYUNIONNAME;
01331     DWORD cControls;
01332     DWORD cbmxctrl;
01333     LPMIXERCONTROLA pamxctrl;
01334 } MIXERLINECONTROLSA,*PMIXERLINECONTROLSA,*LPMIXERLINECONTROLSA;
01335 
01336 typedef struct tagMIXERLINECONTROLSW {
01337     DWORD cbStruct;
01338     DWORD dwLineID;
01339     _ANONYMOUS_UNION union {
01340         DWORD dwControlID;
01341         DWORD dwControlType;
01342     } DUMMYUNIONNAME;
01343     DWORD cControls;
01344     DWORD cbmxctrl;
01345     LPMIXERCONTROLW pamxctrl;
01346 } MIXERLINECONTROLSW,*PMIXERLINECONTROLSW,*LPMIXERLINECONTROLSW;
01347 
01348 typedef struct tMIXERCONTROLDETAILS {
01349     DWORD cbStruct;
01350     DWORD dwControlID;
01351     DWORD cChannels;
01352     _ANONYMOUS_UNION union {
01353         HWND hwndOwner;
01354         DWORD cMultipleItems;
01355     } DUMMYUNIONNAME;
01356     DWORD cbDetails;
01357     PVOID paDetails;
01358 } MIXERCONTROLDETAILS,*PMIXERCONTROLDETAILS,*LPMIXERCONTROLDETAILS;
01359 
01360 typedef struct tagMIXERCONTROLDETAILS_LISTTEXTA {
01361     DWORD dwParam1;
01362     DWORD dwParam2;
01363     CHAR szName[MIXER_LONG_NAME_CHARS];
01364 } MIXERCONTROLDETAILS_LISTTEXTA,*PMIXERCONTROLDETAILS_LISTTEXTA,*LPMIXERCONTROLDETAILS_LISTTEXTA;
01365 
01366 typedef struct tagMIXERCONTROLDETAILS_LISTTEXTW {
01367     DWORD dwParam1;
01368     DWORD dwParam2;
01369     WCHAR szName[MIXER_LONG_NAME_CHARS];
01370 } MIXERCONTROLDETAILS_LISTTEXTW,*PMIXERCONTROLDETAILS_LISTTEXTW,*LPMIXERCONTROLDETAILS_LISTTEXTW;
01371 
01372 typedef struct tMIXERCONTROLDETAILS_BOOLEAN {
01373     LONG fValue;
01374 } MIXERCONTROLDETAILS_BOOLEAN,*PMIXERCONTROLDETAILS_BOOLEAN,*LPMIXERCONTROLDETAILS_BOOLEAN;
01375 
01376 typedef struct tMIXERCONTROLDETAILS_SIGNED {
01377     LONG lValue;
01378 } MIXERCONTROLDETAILS_SIGNED,*PMIXERCONTROLDETAILS_SIGNED,*LPMIXERCONTROLDETAILS_SIGNED;
01379 
01380 typedef struct tMIXERCONTROLDETAILS_UNSIGNED {
01381     DWORD dwValue;
01382 } MIXERCONTROLDETAILS_UNSIGNED,*PMIXERCONTROLDETAILS_UNSIGNED,*LPMIXERCONTROLDETAILS_UNSIGNED;
01383 
01384 typedef void(CALLBACK TIMECALLBACK)(UINT,UINT,DWORD_PTR,DWORD_PTR,DWORD_PTR);
01385 
01386 typedef TIMECALLBACK *LPTIMECALLBACK;
01387 
01388 typedef struct timecaps_tag {
01389     UINT wPeriodMin;
01390     UINT wPeriodMax;
01391 } TIMECAPS,*PTIMECAPS,*LPTIMECAPS;
01392 
01393 typedef struct tagJOYCAPSA {
01394     WORD wMid;
01395     WORD wPid;
01396     CHAR szPname[MAXPNAMELEN];
01397     UINT wXmin;
01398     UINT wXmax;
01399     UINT wYmin;
01400     UINT wYmax;
01401     UINT wZmin;
01402     UINT wZmax;
01403     UINT wNumButtons;
01404     UINT wPeriodMin;
01405     UINT wPeriodMax;
01406     UINT wRmin;
01407     UINT wRmax;
01408     UINT wUmin;
01409     UINT wUmax;
01410     UINT wVmin;
01411     UINT wVmax;
01412     UINT wCaps;
01413     UINT wMaxAxes;
01414     UINT wNumAxes;
01415     UINT wMaxButtons;
01416     CHAR szRegKey[MAXPNAMELEN];
01417     CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
01418 } JOYCAPSA,*PJOYCAPSA,*LPJOYCAPSA;
01419 
01420 typedef struct tagJOYCAPSW {
01421     WORD wMid;
01422     WORD wPid;
01423     WCHAR szPname[MAXPNAMELEN];
01424     UINT wXmin;
01425     UINT wXmax;
01426     UINT wYmin;
01427     UINT wYmax;
01428     UINT wZmin;
01429     UINT wZmax;
01430     UINT wNumButtons;
01431     UINT wPeriodMin;
01432     UINT wPeriodMax;
01433     UINT wRmin;
01434     UINT wRmax;
01435     UINT wUmin;
01436     UINT wUmax;
01437     UINT wVmin;
01438     UINT wVmax;
01439     UINT wCaps;
01440     UINT wMaxAxes;
01441     UINT wNumAxes;
01442     UINT wMaxButtons;
01443     WCHAR szRegKey[MAXPNAMELEN];
01444     WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
01445 } JOYCAPSW,*PJOYCAPSW,*LPJOYCAPSW;
01446 
01447 typedef struct joyinfo_tag {
01448     UINT wXpos;
01449     UINT wYpos;
01450     UINT wZpos;
01451     UINT wButtons;
01452 } JOYINFO,*PJOYINFO,*LPJOYINFO;
01453 
01454 typedef struct joyinfoex_tag {
01455     DWORD dwSize;
01456     DWORD dwFlags;
01457     DWORD dwXpos;
01458     DWORD dwYpos;
01459     DWORD dwZpos;
01460     DWORD dwRpos;
01461     DWORD dwUpos;
01462     DWORD dwVpos;
01463     DWORD dwButtons;
01464     DWORD dwButtonNumber;
01465     DWORD dwPOV;
01466     DWORD dwReserved1;
01467     DWORD dwReserved2;
01468 } JOYINFOEX,*PJOYINFOEX,*LPJOYINFOEX;
01469 
01470 typedef DWORD FOURCC;
01471 
01472 typedef char *HPSTR;
01473 
01474 DECLARE_HANDLE(HMMIO);
01475 
01476 typedef LRESULT (CALLBACK MMIOPROC)(LPSTR,UINT,LPARAM,LPARAM);
01477 
01478 typedef MMIOPROC *LPMMIOPROC;
01479 
01480 typedef struct _MMIOINFO {
01481     DWORD dwFlags;
01482     FOURCC fccIOProc;
01483     LPMMIOPROC pIOProc;
01484     UINT wErrorRet;
01485     HTASK htask;
01486     LONG cchBuffer;
01487     HPSTR pchBuffer;
01488     HPSTR pchNext;
01489     HPSTR pchEndRead;
01490     HPSTR pchEndWrite;
01491     LONG lBufOffset;
01492     LONG lDiskOffset;
01493     DWORD adwInfo[3];
01494     DWORD dwReserved1;
01495     DWORD dwReserved2;
01496     HMMIO hmmio;
01497 } MMIOINFO,*PMMIOINFO,*LPMMIOINFO;
01498 
01499 typedef const MMIOINFO *LPCMMIOINFO;
01500 
01501 typedef struct _MMCKINFO {
01502     FOURCC ckid;
01503     DWORD cksize;
01504     FOURCC fccType;
01505     DWORD dwDataOffset;
01506     DWORD dwFlags;
01507 } MMCKINFO,*PMMCKINFO,*LPMMCKINFO;
01508 
01509 typedef const MMCKINFO *LPCMMCKINFO;
01510 
01511 typedef struct tagMCI_GENERIC_PARMS {
01512     DWORD_PTR dwCallback;
01513 } MCI_GENERIC_PARMS,*PMCI_GENERIC_PARMS,*LPMCI_GENERIC_PARMS;
01514 
01515 typedef struct tagMCI_OPEN_PARMSA {
01516     DWORD_PTR dwCallback;
01517     MCIDEVICEID wDeviceID;
01518     LPCSTR lpstrDeviceType;
01519     LPCSTR lpstrElementName;
01520     LPCSTR lpstrAlias;
01521 } MCI_OPEN_PARMSA,*PMCI_OPEN_PARMSA,*LPMCI_OPEN_PARMSA;
01522 
01523 typedef struct tagMCI_OPEN_PARMSW {
01524     DWORD_PTR dwCallback;
01525     MCIDEVICEID wDeviceID;
01526     LPCWSTR lpstrDeviceType;
01527     LPCWSTR lpstrElementName;
01528     LPCWSTR lpstrAlias;
01529 } MCI_OPEN_PARMSW,*PMCI_OPEN_PARMSW,*LPMCI_OPEN_PARMSW;
01530 
01531 typedef struct tagMCI_PLAY_PARMS {
01532     DWORD_PTR dwCallback;
01533     DWORD dwFrom;
01534     DWORD dwTo;
01535 } MCI_PLAY_PARMS,*PMCI_PLAY_PARMS,*LPMCI_PLAY_PARMS;
01536 
01537 typedef struct tagMCI_SEEK_PARMS {
01538     DWORD_PTR dwCallback;
01539     DWORD dwTo;
01540 } MCI_SEEK_PARMS, *PMCI_SEEK_PARMS,*LPMCI_SEEK_PARMS;
01541 
01542 #ifdef _WINE
01543 typedef struct tagMCI_SOUND_PARMSA {
01544     DWORD_PTR   dwCallback;
01545     LPCSTR      lpstrSoundName;
01546 } MCI_SOUND_PARMSA, *LPMCI_SOUND_PARMSA;
01547 
01548 typedef struct tagMCI_SOUND_PARMSW {
01549     DWORD_PTR   dwCallback;
01550     LPCWSTR     lpstrSoundName;
01551 } MCI_SOUND_PARMSW, *LPMCI_SOUND_PARMSW;
01552 
01553 #ifdef UNICODE
01554 typedef MCI_SOUND_PARMSW MCI_SOUND_PARMS;
01555 #else
01556 typedef MCI_SOUND_PARMSA MCI_SOUND_PARMS;
01557 #endif
01558 #endif
01559 
01560 typedef struct tagMCI_STATUS_PARMS {
01561     DWORD_PTR dwCallback;
01562     DWORD_PTR dwReturn;
01563     DWORD dwItem;
01564     DWORD dwTrack;
01565 } MCI_STATUS_PARMS,*PMCI_STATUS_PARMS,*LPMCI_STATUS_PARMS;
01566 
01567 typedef struct tagMCI_INFO_PARMSA {
01568     DWORD_PTR dwCallback;
01569     LPSTR lpstrReturn;
01570     DWORD dwRetSize;
01571 } MCI_INFO_PARMSA,*LPMCI_INFO_PARMSA;
01572 
01573 typedef struct tagMCI_INFO_PARMSW {
01574     DWORD_PTR dwCallback;
01575     LPWSTR lpstrReturn;
01576     DWORD dwRetSize;
01577 } MCI_INFO_PARMSW,*LPMCI_INFO_PARMSW;
01578 
01579 typedef struct tagMCI_GETDEVCAPS_PARMS {
01580     DWORD_PTR dwCallback;
01581     DWORD dwReturn;
01582     DWORD dwItem;
01583 } MCI_GETDEVCAPS_PARMS,*PMCI_GETDEVCAPS_PARMS,*LPMCI_GETDEVCAPS_PARMS;
01584 
01585 typedef struct tagMCI_SYSINFO_PARMSA {
01586     DWORD_PTR dwCallback;
01587     LPSTR lpstrReturn;
01588     DWORD dwRetSize;
01589     DWORD dwNumber;
01590     UINT wDeviceType;
01591 } MCI_SYSINFO_PARMSA,*PMCI_SYSINFO_PARMSA,*LPMCI_SYSINFO_PARMSA;
01592 
01593 typedef struct tagMCI_SYSINFO_PARMSW {
01594     DWORD_PTR dwCallback;
01595     LPWSTR lpstrReturn;
01596     DWORD dwRetSize;
01597     DWORD dwNumber;
01598     UINT wDeviceType;
01599 } MCI_SYSINFO_PARMSW,*PMCI_SYSINFO_PARMSW,*LPMCI_SYSINFO_PARMSW;
01600 
01601 typedef struct tagMCI_SET_PARMS {
01602     DWORD_PTR dwCallback;
01603     DWORD dwTimeFormat;
01604     DWORD dwAudio;
01605 } MCI_SET_PARMS,*PMCI_SET_PARMS,*LPMCI_SET_PARMS;
01606 
01607 typedef struct tagMCI_BREAK_PARMS {
01608     DWORD_PTR dwCallback;
01609     int nVirtKey;
01610     HWND hwndBreak;
01611 } MCI_BREAK_PARMS,*PMCI_BREAK_PARMS,*LPMCI_BREAK_PARMS;
01612 
01613 typedef struct tagMCI_SAVE_PARMSA {
01614     DWORD_PTR dwCallback;
01615     LPCSTR lpfilename;
01616 } MCI_SAVE_PARMSA,*PMCI_SAVE_PARMSA,*LPMCI_SAVE_PARMSA;
01617 
01618 typedef struct tagMCI_SAVE_PARMSW {
01619     DWORD_PTR dwCallback;
01620     LPCWSTR lpfilename;
01621 } MCI_SAVE_PARMSW,*PMCI_SAVE_PARMSW,*LPMCI_SAVE_PARMSW;
01622 
01623 typedef struct tagMCI_LOAD_PARMSA {
01624     DWORD_PTR dwCallback;
01625     LPCSTR lpfilename;
01626 } MCI_LOAD_PARMSA,*PMCI_LOAD_PARMSA,*LPMCI_LOAD_PARMSA;
01627 
01628 typedef struct tagMCI_LOAD_PARMSW {
01629     DWORD_PTR dwCallback;
01630     LPCWSTR lpfilename;
01631 } MCI_LOAD_PARMSW,*PMCI_LOAD_PARMSW,*LPMCI_LOAD_PARMSW;
01632 
01633 typedef struct tagMCI_RECORD_PARMS {
01634     DWORD_PTR dwCallback;
01635     DWORD dwFrom;
01636     DWORD dwTo;
01637 } MCI_RECORD_PARMS,*LPMCI_RECORD_PARMS;
01638 
01639 typedef struct tagMCI_VD_PLAY_PARMS {
01640     DWORD_PTR dwCallback;
01641     DWORD dwFrom;
01642     DWORD dwTo;
01643     DWORD dwSpeed;
01644 } MCI_VD_PLAY_PARMS,*PMCI_VD_PLAY_PARMS,*LPMCI_VD_PLAY_PARMS;
01645 
01646 typedef struct tagMCI_VD_STEP_PARMS {
01647     DWORD_PTR dwCallback;
01648     DWORD dwFrames;
01649 } MCI_VD_STEP_PARMS,*PMCI_VD_STEP_PARMS,*LPMCI_VD_STEP_PARMS;
01650 
01651 typedef struct tagMCI_VD_ESCAPE_PARMSA {
01652     DWORD_PTR dwCallback;
01653     LPCSTR lpstrCommand;
01654 } MCI_VD_ESCAPE_PARMSA,*PMCI_VD_ESCAPE_PARMSA,*LPMCI_VD_ESCAPE_PARMSA;
01655 
01656 typedef struct tagMCI_VD_ESCAPE_PARMSW {
01657     DWORD_PTR dwCallback;
01658     LPCWSTR lpstrCommand;
01659 } MCI_VD_ESCAPE_PARMSW,*PMCI_VD_ESCAPE_PARMSW,*LPMCI_VD_ESCAPE_PARMSW;
01660 
01661 typedef struct tagMCI_WAVE_OPEN_PARMSA {
01662     DWORD_PTR dwCallback;
01663     MCIDEVICEID wDeviceID;
01664     LPCSTR lpstrDeviceType;
01665     LPCSTR lpstrElementName;
01666     LPCSTR lpstrAlias;
01667     DWORD dwBufferSeconds;
01668 } MCI_WAVE_OPEN_PARMSA,*PMCI_WAVE_OPEN_PARMSA,*LPMCI_WAVE_OPEN_PARMSA;
01669 
01670 typedef struct tagMCI_WAVE_OPEN_PARMSW {
01671     DWORD_PTR dwCallback;
01672     MCIDEVICEID wDeviceID;
01673     LPCWSTR lpstrDeviceType;
01674     LPCWSTR lpstrElementName;
01675     LPCWSTR lpstrAlias;
01676     DWORD dwBufferSeconds;
01677 } MCI_WAVE_OPEN_PARMSW,*PMCI_WAVE_OPEN_PARMSW,*LPMCI_WAVE_OPEN_PARMSW;
01678 
01679 typedef struct tagMCI_WAVE_DELETE_PARMS {
01680     DWORD_PTR dwCallback;
01681     DWORD dwFrom;
01682     DWORD dwTo;
01683 } MCI_WAVE_DELETE_PARMS, *PMCI_WAVE_DELETE_PARMS,*LPMCI_WAVE_DELETE_PARMS;
01684 
01685 typedef struct tagMCI_WAVE_SET_PARMS {
01686     DWORD_PTR dwCallback;
01687     DWORD dwTimeFormat;
01688     DWORD dwAudio;
01689     UINT wInput;
01690     UINT wOutput;
01691     WORD wFormatTag;
01692     WORD wReserved2;
01693     WORD nChannels;
01694     WORD wReserved3;
01695     DWORD nSamplesPerSec;
01696     DWORD nAvgBytesPerSec;
01697     WORD nBlockAlign;
01698     WORD wReserved4;
01699     WORD wBitsPerSample;
01700     WORD wReserved5;
01701 } MCI_WAVE_SET_PARMS,*PMCI_WAVE_SET_PARMS,*LPMCI_WAVE_SET_PARMS;
01702 
01703 LRESULT WINAPI CloseDriver(HDRVR,LPARAM,LPARAM);
01704 HDRVR WINAPI OpenDriver(LPCWSTR,LPCWSTR,LPARAM);
01705 LRESULT WINAPI SendDriverMessage(HDRVR,UINT,LPARAM,LPARAM);
01706 HMODULE WINAPI DrvGetModuleHandle(HDRVR);
01707 HMODULE WINAPI GetDriverModuleHandle(HDRVR);
01708 LRESULT WINAPI DefDriverProc(DWORD_PTR,HDRVR,UINT,LPARAM,LPARAM);
01709 UINT WINAPI mmsystemGetVersion(void);
01710 #define OutputDebugStr OutputDebugString
01711 BOOL WINAPI sndPlaySoundA(LPCSTR,UINT);
01712 BOOL WINAPI sndPlaySoundW(LPCWSTR,UINT);
01713 BOOL WINAPI PlaySoundA(LPCSTR,HMODULE,DWORD);
01714 BOOL WINAPI PlaySoundW(LPCWSTR,HMODULE,DWORD);
01715 UINT WINAPI waveOutGetNumDevs(void);
01716 MMRESULT WINAPI waveOutGetDevCapsA(UINT_PTR,LPWAVEOUTCAPSA,UINT);
01717 MMRESULT WINAPI waveOutGetDevCapsW(UINT_PTR,LPWAVEOUTCAPSW,UINT);
01718 MMRESULT WINAPI waveOutGetVolume(HWAVEOUT,PDWORD);
01719 MMRESULT WINAPI waveOutSetVolume(HWAVEOUT,DWORD);
01720 MMRESULT WINAPI waveOutGetErrorTextA(MMRESULT,LPSTR,UINT);
01721 MMRESULT WINAPI waveOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
01722 MMRESULT WINAPI waveOutOpen(LPHWAVEOUT,UINT,LPCWAVEFORMATEX,DWORD_PTR,DWORD_PTR,DWORD);
01723 MMRESULT WINAPI waveOutClose(HWAVEOUT);
01724 MMRESULT WINAPI waveOutPrepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
01725 MMRESULT WINAPI waveOutUnprepareHeader(HWAVEOUT,LPWAVEHDR,UINT);
01726 MMRESULT WINAPI waveOutWrite(HWAVEOUT,LPWAVEHDR,UINT);
01727 MMRESULT WINAPI waveOutPause(HWAVEOUT);
01728 MMRESULT WINAPI waveOutRestart(HWAVEOUT);
01729 MMRESULT WINAPI waveOutReset(HWAVEOUT);
01730 MMRESULT WINAPI waveOutBreakLoop(HWAVEOUT);
01731 MMRESULT WINAPI waveOutGetPosition(HWAVEOUT,LPMMTIME,UINT);
01732 MMRESULT WINAPI waveOutGetPitch(HWAVEOUT,PDWORD);
01733 MMRESULT WINAPI waveOutSetPitch(HWAVEOUT,DWORD);
01734 MMRESULT WINAPI waveOutGetPlaybackRate(HWAVEOUT,PDWORD);
01735 MMRESULT WINAPI waveOutSetPlaybackRate(HWAVEOUT,DWORD);
01736 MMRESULT WINAPI waveOutGetID(HWAVEOUT,LPUINT);
01737 #if (WINVER >= 0x030a)
01738 #ifdef _WIN32
01739 MMRESULT WINAPI waveOutMessage(HWAVEOUT,UINT,DWORD_PTR,DWORD_PTR);
01740 #else
01741 DWORD WINAPI waveOutMessage(HWAVEOUT,UINT,DWORD,DWORD);
01742 #endif
01743 #endif
01744 UINT WINAPI waveInGetNumDevs(void);
01745 MMRESULT WINAPI waveInGetDevCapsA(UINT_PTR,LPWAVEINCAPSA,UINT);
01746 MMRESULT WINAPI waveInGetDevCapsW(UINT_PTR,LPWAVEINCAPSW,UINT);
01747 MMRESULT WINAPI waveInGetErrorTextA(MMRESULT,LPSTR,UINT);
01748 MMRESULT WINAPI waveInGetErrorTextW(MMRESULT,LPWSTR,UINT);
01749 MMRESULT WINAPI waveInOpen(LPHWAVEIN,UINT,LPCWAVEFORMATEX,DWORD_PTR,DWORD_PTR,DWORD);
01750 MMRESULT WINAPI waveInClose(HWAVEIN);
01751 MMRESULT WINAPI waveInPrepareHeader(HWAVEIN,LPWAVEHDR,UINT);
01752 MMRESULT WINAPI waveInUnprepareHeader(HWAVEIN,LPWAVEHDR,UINT);
01753 MMRESULT WINAPI waveInAddBuffer(HWAVEIN,LPWAVEHDR,UINT);
01754 MMRESULT WINAPI waveInStart(HWAVEIN);
01755 MMRESULT WINAPI waveInStop(HWAVEIN);
01756 MMRESULT WINAPI waveInReset(HWAVEIN);
01757 MMRESULT WINAPI waveInGetPosition(HWAVEIN,LPMMTIME,UINT);
01758 MMRESULT WINAPI waveInGetID(HWAVEIN,LPUINT);
01759 #if (WINVER >= 0x030a)
01760 #ifdef _WIN32
01761 MMRESULT WINAPI waveInMessage(HWAVEIN,UINT,DWORD_PTR,DWORD_PTR);
01762 #else
01763 DWORD WINAPI waveInMessage(HWAVEIN,UINT,DWORD,DWORD);
01764 #endif
01765 #endif
01766 UINT WINAPI midiOutGetNumDevs(void);
01767 MMRESULT WINAPI midiStreamOpen(LPHMIDISTRM,LPUINT,DWORD,DWORD_PTR,DWORD_PTR,DWORD);
01768 MMRESULT WINAPI midiStreamClose(HMIDISTRM);
01769 MMRESULT WINAPI midiStreamProperty(HMIDISTRM,LPBYTE,DWORD);
01770 MMRESULT WINAPI midiStreamPosition(HMIDISTRM,LPMMTIME,UINT);
01771 MMRESULT WINAPI midiStreamOut(HMIDISTRM,LPMIDIHDR,UINT);
01772 MMRESULT WINAPI midiStreamPause(HMIDISTRM);
01773 MMRESULT WINAPI midiStreamRestart(HMIDISTRM);
01774 MMRESULT WINAPI midiStreamStop(HMIDISTRM);
01775 MMRESULT WINAPI midiConnect(HMIDI,HMIDIOUT,PVOID);
01776 MMRESULT WINAPI midiDisconnect(HMIDI,HMIDIOUT,PVOID);
01777 MMRESULT WINAPI midiOutGetDevCapsA(UINT_PTR,LPMIDIOUTCAPSA,UINT);
01778 MMRESULT WINAPI midiOutGetDevCapsW(UINT_PTR,LPMIDIOUTCAPSW,UINT);
01779 MMRESULT WINAPI midiOutGetVolume(HMIDIOUT,PDWORD);
01780 MMRESULT WINAPI midiOutSetVolume(HMIDIOUT,DWORD);
01781 MMRESULT WINAPI midiOutGetErrorTextA(MMRESULT,LPSTR,UINT);
01782 MMRESULT WINAPI midiOutGetErrorTextW(MMRESULT,LPWSTR,UINT);
01783 MMRESULT WINAPI midiOutOpen(LPHMIDIOUT,UINT,DWORD_PTR,DWORD_PTR,DWORD);
01784 MMRESULT WINAPI midiOutClose(HMIDIOUT);
01785 MMRESULT WINAPI midiOutPrepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
01786 MMRESULT WINAPI midiOutUnprepareHeader(HMIDIOUT,LPMIDIHDR,UINT);
01787 MMRESULT WINAPI midiOutShortMsg(HMIDIOUT,DWORD);
01788 MMRESULT WINAPI midiOutLongMsg(HMIDIOUT,LPMIDIHDR,UINT);
01789 MMRESULT WINAPI midiOutReset(HMIDIOUT);
01790 MMRESULT WINAPI midiOutCachePatches(HMIDIOUT,UINT,LPWORD,UINT);
01791 MMRESULT WINAPI midiOutCacheDrumPatches(HMIDIOUT,UINT,LPWORD,UINT);
01792 MMRESULT WINAPI midiOutGetID(HMIDIOUT,LPUINT);
01793 #if (WINVER >= 0x030a)
01794 #ifdef _WIN32
01795 MMRESULT WINAPI midiOutMessage(HMIDIOUT,UINT,DWORD_PTR,DWORD_PTR);
01796 #else
01797 DWORD WINAPI midiOutMessage(HMIDIOUT,UINT,DWORD,DWORD);
01798 #endif
01799 #endif
01800 UINT WINAPI midiInGetNumDevs(void);
01801 MMRESULT WINAPI midiInGetDevCapsA(UINT_PTR,LPMIDIINCAPSA,UINT);
01802 MMRESULT WINAPI midiInGetDevCapsW(UINT_PTR,LPMIDIINCAPSW,UINT);
01803 MMRESULT WINAPI midiInGetErrorTextA(MMRESULT,LPSTR,UINT);
01804 MMRESULT WINAPI midiInGetErrorTextW(MMRESULT,LPWSTR,UINT);
01805 MMRESULT WINAPI midiInOpen(LPHMIDIIN,UINT,DWORD_PTR,DWORD_PTR,DWORD);
01806 MMRESULT WINAPI midiInClose(HMIDIIN);
01807 MMRESULT WINAPI midiInPrepareHeader(HMIDIIN,LPMIDIHDR,UINT);
01808 MMRESULT WINAPI midiInUnprepareHeader(HMIDIIN,LPMIDIHDR,UINT);
01809 MMRESULT WINAPI midiInAddBuffer(HMIDIIN,LPMIDIHDR,UINT);
01810 MMRESULT WINAPI midiInStart(HMIDIIN);
01811 MMRESULT WINAPI midiInStop(HMIDIIN);
01812 MMRESULT WINAPI midiInReset(HMIDIIN);
01813 MMRESULT WINAPI midiInGetID(HMIDIIN,LPUINT);
01814 #if (WINVER >= 0x030a)
01815 #ifdef _WIN32
01816 MMRESULT WINAPI midiInMessage(HMIDIIN,UINT,DWORD_PTR,DWORD_PTR);
01817 #else
01818 DWORD WINAPI midiInMessage(HMIDIIN,UINT,DWORD,DWORD);
01819 #endif
01820 #endif
01821 UINT WINAPI auxGetNumDevs(void);
01822 MMRESULT WINAPI auxGetDevCapsA(UINT_PTR,LPAUXCAPSA,UINT);
01823 MMRESULT WINAPI auxGetDevCapsW(UINT_PTR,LPAUXCAPSW,UINT);
01824 MMRESULT WINAPI auxSetVolume(UINT,DWORD);
01825 MMRESULT WINAPI auxGetVolume(UINT,PDWORD);
01826 MMRESULT WINAPI auxOutMessage(UINT,UINT,DWORD_PTR,DWORD_PTR);
01827 UINT WINAPI mixerGetNumDevs(void);
01828 MMRESULT WINAPI mixerGetDevCapsA(UINT_PTR,LPMIXERCAPSA,UINT);
01829 MMRESULT WINAPI mixerGetDevCapsW(UINT_PTR,LPMIXERCAPSW,UINT);
01830 MMRESULT WINAPI mixerOpen(LPHMIXER,UINT,DWORD_PTR,DWORD_PTR,DWORD);
01831 MMRESULT WINAPI mixerClose(HMIXER);
01832 DWORD WINAPI mixerMessage(HMIXER,UINT,DWORD_PTR,DWORD_PTR);
01833 MMRESULT WINAPI mixerGetLineInfoA(HMIXEROBJ,LPMIXERLINEA,DWORD);
01834 MMRESULT WINAPI mixerGetLineInfoW(HMIXEROBJ,LPMIXERLINEW,DWORD);
01835 MMRESULT WINAPI mixerGetID(HMIXEROBJ,PUINT,DWORD);
01836 MMRESULT WINAPI mixerGetLineControlsA(HMIXEROBJ,LPMIXERLINECONTROLSA,DWORD);
01837 MMRESULT WINAPI mixerGetLineControlsW(HMIXEROBJ,LPMIXERLINECONTROLSW,DWORD);
01838 MMRESULT WINAPI mixerGetControlDetailsA(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
01839 MMRESULT WINAPI mixerGetControlDetailsW(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
01840 MMRESULT WINAPI mixerSetControlDetails(HMIXEROBJ,LPMIXERCONTROLDETAILS,DWORD);
01841 MMRESULT WINAPI timeGetSystemTime(LPMMTIME,UINT);
01842 DWORD WINAPI timeGetTime(void);
01843 MMRESULT WINAPI timeSetEvent(UINT,UINT,LPTIMECALLBACK,DWORD_PTR,UINT);
01844 MMRESULT WINAPI timeKillEvent(UINT);
01845 MMRESULT WINAPI timeGetDevCaps(LPTIMECAPS,UINT);
01846 MMRESULT WINAPI timeBeginPeriod(UINT);
01847 MMRESULT WINAPI timeEndPeriod(UINT);
01848 UINT WINAPI joyGetNumDevs(void);
01849 MMRESULT WINAPI joyGetDevCapsA(UINT_PTR,LPJOYCAPSA,UINT);
01850 MMRESULT WINAPI joyGetDevCapsW(UINT_PTR,LPJOYCAPSW,UINT);
01851 MMRESULT WINAPI joyGetPos(UINT,LPJOYINFO);
01852 MMRESULT WINAPI joyGetPosEx(UINT,LPJOYINFOEX);
01853 MMRESULT WINAPI joyGetThreshold(UINT,LPUINT);
01854 MMRESULT WINAPI joyReleaseCapture(UINT);
01855 MMRESULT WINAPI joySetCapture(HWND,UINT,UINT,BOOL);
01856 MMRESULT WINAPI joySetThreshold(UINT,UINT);
01857 FOURCC WINAPI mmioStringToFOURCCA(LPCSTR,UINT);
01858 FOURCC WINAPI mmioStringToFOURCCW(LPCWSTR,UINT);
01859 LPMMIOPROC WINAPI mmioInstallIOProcA(FOURCC,LPMMIOPROC,DWORD);
01860 LPMMIOPROC WINAPI mmioInstallIOProcW(FOURCC,LPMMIOPROC,DWORD);
01861 HMMIO WINAPI mmioOpenA(LPSTR,LPMMIOINFO,DWORD);
01862 HMMIO WINAPI mmioOpenW(LPWSTR,LPMMIOINFO,DWORD);
01863 MMRESULT WINAPI mmioRenameA(LPCSTR,LPCSTR,LPCMMIOINFO,DWORD);
01864 MMRESULT WINAPI mmioRenameW(LPCWSTR,LPCWSTR,LPCMMIOINFO,DWORD);
01865 MMRESULT WINAPI mmioClose(HMMIO,UINT);
01866 LONG WINAPI mmioRead(HMMIO,HPSTR,LONG);
01867 LONG WINAPI mmioWrite(HMMIO,LPCSTR,LONG);
01868 LONG WINAPI mmioSeek(HMMIO,LONG,int);
01869 MMRESULT WINAPI mmioGetInfo(HMMIO,LPMMIOINFO,UINT);
01870 MMRESULT WINAPI mmioSetInfo(HMMIO,LPCMMIOINFO,UINT);
01871 MMRESULT WINAPI mmioSetBuffer(HMMIO,LPSTR,LONG,UINT);
01872 MMRESULT WINAPI mmioFlush(HMMIO,UINT);
01873 MMRESULT WINAPI mmioAdvance(HMMIO,LPMMIOINFO,UINT);
01874 LRESULT WINAPI mmioSendMessage(HMMIO,UINT,LPARAM,LPARAM);
01875 MMRESULT WINAPI mmioDescend(HMMIO,LPMMCKINFO,const MMCKINFO*,UINT);
01876 MMRESULT WINAPI mmioAscend(HMMIO,LPMMCKINFO,UINT);
01877 MMRESULT WINAPI mmioCreateChunk(HMMIO,LPMMCKINFO,UINT);
01878 MCIERROR WINAPI mciSendCommandA(MCIDEVICEID,UINT,DWORD_PTR,DWORD_PTR);
01879 MCIERROR WINAPI mciSendCommandW(MCIDEVICEID,UINT,DWORD_PTR,DWORD_PTR);
01880 MCIERROR WINAPI mciSendStringA(LPCSTR,LPSTR,UINT,HWND);
01881 MCIERROR WINAPI mciSendStringW(LPCWSTR,LPWSTR,UINT,HWND);
01882 MCIDEVICEID WINAPI mciGetDeviceIDA(LPCSTR);
01883 MCIDEVICEID WINAPI mciGetDeviceIDW(LPCWSTR);
01884 MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDA(DWORD,LPCSTR);
01885 MCIDEVICEID WINAPI mciGetDeviceIDFromElementIDW(DWORD,LPCWSTR);
01886 BOOL WINAPI mciGetErrorStringA(MCIERROR,LPSTR,UINT);
01887 BOOL WINAPI mciGetErrorStringW(MCIERROR,LPWSTR,UINT);
01888 BOOL WINAPI mciSetYieldProc(MCIDEVICEID,YIELDPROC,DWORD);
01889 HTASK WINAPI mciGetCreatorTask(MCIDEVICEID);
01890 YIELDPROC WINAPI mciGetYieldProc(MCIDEVICEID,PDWORD);
01891 
01892 #ifdef _WINE
01893 DWORD WINAPI GetDriverFlags(HDRVR hDriver);
01894 #endif
01895 
01896 typedef struct tagMCI_SEQ_SET_PARMS {
01897     DWORD_PTR dwCallback;
01898     DWORD dwTimeFormat;
01899     DWORD dwAudio;
01900     DWORD dwTempo;
01901     DWORD dwPort;
01902     DWORD dwSlave;
01903     DWORD dwMaster;
01904     DWORD dwOffset;
01905 } MCI_SEQ_SET_PARMS,*PMCI_SEQ_SET_PARMS,*LPMCI_SEQ_SET_PARMS;
01906 typedef struct tagMCI_ANIM_OPEN_PARMSA {
01907     DWORD_PTR dwCallback;
01908     MCIDEVICEID wDeviceID;
01909     LPCSTR lpstrDeviceType;
01910     LPCSTR lpstrElementName;
01911     LPCSTR lpstrAlias;
01912     DWORD dwStyle;
01913     HWND hWndParent;
01914 } MCI_ANIM_OPEN_PARMSA,*PMCI_ANIM_OPEN_PARMSA,*LPMCI_ANIM_OPEN_PARMSA;
01915 typedef struct tagMCI_ANIM_OPEN_PARMSW {
01916     DWORD_PTR dwCallback;
01917     MCIDEVICEID wDeviceID;
01918     LPCWSTR lpstrDeviceType;
01919     LPCWSTR lpstrElementName;
01920     LPCWSTR lpstrAlias;
01921     DWORD dwStyle;
01922     HWND hWndParent;
01923 } MCI_ANIM_OPEN_PARMSW,*PMCI_ANIM_OPEN_PARMSW,*LPMCI_ANIM_OPEN_PARMSW;
01924 typedef struct tagMCI_ANIM_PLAY_PARMS {
01925     DWORD_PTR dwCallback;
01926     DWORD dwFrom;
01927     DWORD dwTo;
01928     DWORD dwSpeed;
01929 } MCI_ANIM_PLAY_PARMS,*PMCI_ANIM_PLAY_PARMS,*LPMCI_ANIM_PLAY_PARMS;
01930 typedef struct tagMCI_ANIM_STEP_PARMS {
01931     DWORD_PTR dwCallback;
01932     DWORD dwFrames;
01933 } MCI_ANIM_STEP_PARMS,*PMCI_ANIM_STEP_PARMS,*LPMCI_ANIM_STEP_PARMS;
01934 typedef struct tagMCI_ANIM_WINDOW_PARMSA {
01935     DWORD_PTR dwCallback;
01936     HWND hWnd;
01937     UINT nCmdShow;
01938     LPCSTR lpstrText;
01939 } MCI_ANIM_WINDOW_PARMSA,*PMCI_ANIM_WINDOW_PARMSA,*LPMCI_ANIM_WINDOW_PARMSA;
01940 typedef struct tagMCI_ANIM_WINDOW_PARMSW {
01941     DWORD_PTR dwCallback;
01942     HWND hWnd;
01943     UINT nCmdShow;
01944     LPCWSTR lpstrText;
01945 } MCI_ANIM_WINDOW_PARMSW,*PMCI_ANIM_WINDOW_PARMSW,*LPMCI_ANIM_WINDOW_PARMSW;
01946 typedef struct tagMCI_ANIM_RECT_PARMS {
01947     DWORD_PTR dwCallback;
01948 #ifdef MCI_USE_OFFEXT
01949     POINT ptOffset;
01950     POINT ptExtent;
01951 #else
01952     RECT rc;
01953 #endif
01954 } MCI_ANIM_RECT_PARMS,*PMCI_ANIM_RECT_PARMS,*LPMCI_ANIM_RECT_PARMS;
01955 typedef struct tagMCI_ANIM_UPDATE_PARMS {
01956     DWORD_PTR dwCallback;
01957     RECT rc;
01958     HDC hDC;
01959 } MCI_ANIM_UPDATE_PARMS,*PMCI_ANIM_UPDATE_PARMS,*LPMCI_ANIM_UPDATE_PARMS;
01960 typedef struct tagMCI_OVLY_OPEN_PARMSA {
01961     DWORD_PTR dwCallback;
01962     MCIDEVICEID wDeviceID;
01963     LPCSTR lpstrDeviceType;
01964     LPCSTR lpstrElementName;
01965     LPCSTR lpstrAlias;
01966     DWORD dwStyle;
01967     HWND hWndParent;
01968 } MCI_OVLY_OPEN_PARMSA,*PMCI_OVLY_OPEN_PARMSA,*LPMCI_OVLY_OPEN_PARMSA;
01969 typedef struct tagMCI_OVLY_OPEN_PARMSW {
01970     DWORD_PTR dwCallback;
01971     MCIDEVICEID wDeviceID;
01972     LPCWSTR lpstrDeviceType;
01973     LPCWSTR lpstrElementName;
01974     LPCWSTR lpstrAlias;
01975     DWORD dwStyle;
01976     HWND hWndParent;
01977 } MCI_OVLY_OPEN_PARMSW,*PMCI_OVLY_OPEN_PARMSW,*LPMCI_OVLY_OPEN_PARMSW;
01978 typedef struct tagMCI_OVLY_WINDOW_PARMSA {
01979     DWORD_PTR dwCallback;
01980     HWND hWnd;
01981     UINT nCmdShow;
01982     LPCSTR lpstrText;
01983 } MCI_OVLY_WINDOW_PARMSA,*PMCI_OVLY_WINDOW_PARMSA,*LPMCI_OVLY_WINDOW_PARMSA;
01984 typedef struct tagMCI_OVLY_WINDOW_PARMSW {
01985     DWORD_PTR dwCallback;
01986     HWND hWnd;
01987     UINT nCmdShow;
01988     LPCWSTR lpstrText;
01989 } MCI_OVLY_WINDOW_PARMSW,*PMCI_OVLY_WINDOW_PARMSW,*LPMCI_OVLY_WINDOW_PARMSW;
01990 typedef struct tagMCI_OVLY_RECT_PARMS {
01991     DWORD_PTR dwCallback;
01992 #ifdef MCI_USE_OFFEXT
01993     POINT ptOffset;
01994     POINT ptExtent;
01995 #else
01996     RECT rc;
01997 #endif
01998 } MCI_OVLY_RECT_PARMS,*PMCI_OVLY_RECT_PARMS,*LPMCI_OVLY_RECT_PARMS;
01999 typedef struct tagMCI_OVLY_SAVE_PARMSA {
02000     DWORD_PTR dwCallback;
02001     LPCSTR lpfilename;
02002     RECT rc;
02003 } MCI_OVLY_SAVE_PARMSA,*PMCI_OVLY_SAVE_PARMSA,*LPMCI_OVLY_SAVE_PARMSA;
02004 typedef struct tagMCI_OVLY_SAVE_PARMSW {
02005     DWORD_PTR dwCallback;
02006     LPCWSTR lpfilename;
02007     RECT rc;
02008 } MCI_OVLY_SAVE_PARMSW,*PMCI_OVLY_SAVE_PARMSW,*LPMCI_OVLY_SAVE_PARMSW;
02009 typedef struct tagMCI_OVLY_LOAD_PARMSA {
02010     DWORD_PTR dwCallback;
02011     LPCSTR lpfilename;
02012     RECT rc;
02013 } MCI_OVLY_LOAD_PARMSA,*PMCI_OVLY_LOAD_PARMSA,*LPMCI_OVLY_LOAD_PARMSA;
02014 typedef struct tagMCI_OVLY_LOAD_PARMSW {
02015     DWORD_PTR dwCallback;
02016     LPCWSTR lpfilename;
02017     RECT rc;
02018 } MCI_OVLY_LOAD_PARMSW,*PMCI_OVLY_LOAD_PARMSW,*LPMCI_OVLY_LOAD_PARMSW;
02019 
02020 #ifdef UNICODE
02021 typedef WAVEOUTCAPSW WAVEOUTCAPS,*PWAVEOUTCAPS,*LPWAVEOUTCAPS;
02022 typedef WAVEINCAPSW WAVEINCAPS,*PWAVEINCAPS,*LPWAVEINCAPS;
02023 typedef MIDIOUTCAPSW MIDIOUTCAPS,*PMIDIOUTCAPS,*LPMIDIOUTCAPS;
02024 typedef MIDIINCAPSW MIDIINCAPS,*PMIDIINCAPS,*LPMIDIINCAPS;
02025 typedef AUXCAPSW AUXCAPS,*PAUXCAPS,*LPAUXCAPS;
02026 typedef MIXERCAPSW MIXERCAPS,*PMIXERCAPS,*LPMIXERCAPS;
02027 typedef MIXERLINEW MIXERLINE,*PMIXERLINE,*LPMIXERLINE;
02028 typedef MIXERCONTROLW MIXERCONTROL,*PMIXERCONTROL,*LPMIXERCONTROL;
02029 typedef MIXERLINECONTROLSW MIXERLINECONTROLS,*PMIXERLINECONTROLS,*LPMIXERLINECONTROLS;
02030 typedef MIXERCONTROLDETAILS_LISTTEXTW MIXERCONTROLDETAILS_LISTTEXT,*PMIXERCONTROLDETAILS_LISTTEXT,*LPMIXERCONTROLDETAILS_LISTTEXT;
02031 typedef JOYCAPSW JOYCAPS,*PJOYCAPS,*LPJOYCAPS;
02032 typedef MCI_OPEN_PARMSW MCI_OPEN_PARMS,*PMCI_OPEN_PARMS,*LPMCI_OPEN_PARMS;
02033 typedef MCI_INFO_PARMSW MCI_INFO_PARMS,*LPMCI_INFO_PARMS;
02034 typedef MCI_SYSINFO_PARMSW MCI_SYSINFO_PARMS,*PMCI_SYSINFO_PARMS,*LPMCI_SYSINFO_PARMS;
02035 typedef MCI_SAVE_PARMSW MCI_SAVE_PARMS,*PMCI_SAVE_PARMS,*LPMCI_SAVE_PARMS;
02036 typedef MCI_LOAD_PARMSW MCI_LOAD_PARMS,*PMCI_LOAD_PARMS,*LPMCI_LOAD_PARMS;
02037 typedef MCI_VD_ESCAPE_PARMSW MCI_VD_ESCAPE_PARMS,*PMCI_VD_ESCAPE_PARMS,*LPMCI_VD_ESCAPE_PARMS;
02038 typedef MCI_WAVE_OPEN_PARMSW MCI_WAVE_OPEN_PARMS,*PMCI_WAVE_OPEN_PARMS,*LPMCI_WAVE_OPEN_PARMS;
02039 typedef MCI_ANIM_OPEN_PARMSW MCI_ANIM_OPEN_PARMS,*PMCI_ANIM_OPEN_PARMS,*LPMCI_ANIM_OPEN_PARMS;
02040 typedef MCI_ANIM_WINDOW_PARMSW MCI_ANIM_WINDOW_PARMS,*PMCI_ANIM_WINDOW_PARMS,*LPMCI_ANIM_WINDOW_PARMS;
02041 typedef MCI_OVLY_OPEN_PARMSW MCI_OVLY_OPEN_PARMS,*PMCI_OVLY_OPEN_PARMS,*LPMCI_OVLY_OPEN_PARMS;
02042 typedef MCI_OVLY_WINDOW_PARMSW MCI_OVLY_WINDOW_PARMS,*PMCI_OVLY_WINDOW_PARMS,*LPMCI_OVLY_WINDOW_PARMS;
02043 typedef MCI_OVLY_SAVE_PARMSW MCI_OVLY_SAVE_PARMS,*PMCI_OVLY_SAVE_PARMS,*LPMCI_OVLY_SAVE_PARMS;
02044 #define sndPlaySound sndPlaySoundW
02045 #define PlaySound PlaySoundW
02046 #define waveOutGetDevCaps waveOutGetDevCapsW
02047 #define waveOutGetErrorText waveOutGetErrorTextW
02048 #define waveInGetDevCaps waveInGetDevCapsW
02049 #define waveInGetErrorText waveInGetErrorTextW
02050 #define midiOutGetDevCaps midiOutGetDevCapsW
02051 #define midiOutGetErrorText midiOutGetErrorTextW
02052 #define midiInGetDevCaps midiInGetDevCapsW
02053 #define midiInGetErrorText midiInGetErrorTextW
02054 #define auxGetDevCaps auxGetDevCapsW
02055 #define mixerGetDevCaps mixerGetDevCapsW
02056 #define mixerGetLineInfo mixerGetLineInfoW
02057 #define mixerGetLineControls mixerGetLineControlsW
02058 #define mixerGetControlDetails mixerGetControlDetailsW
02059 #define joyGetDevCaps joyGetDevCapsW
02060 #define mmioInstallIOProc mmioInstallIOProcW
02061 #define mmioStringToFOURCC mmioStringToFOURCCW
02062 #define mmioOpen mmioOpenW
02063 #define mmioRename mmioRenameW
02064 #define mciSendCommand mciSendCommandW
02065 #define mciSendString mciSendStringW
02066 #define mciGetDeviceID mciGetDeviceIDW
02067 #define mciGetDeviceIDFromElementID mciGetDeviceIDFromElementIDW
02068 #define mciGetErrorString mciGetErrorStringW
02069 #else
02070 typedef WAVEOUTCAPSA WAVEOUTCAPS,*PWAVEOUTCAPS,*LPWAVEOUTCAPS;
02071 typedef WAVEINCAPSA WAVEINCAPS,*PWAVEINCAPS,*LPWAVEINCAPS;
02072 typedef MIDIOUTCAPSA MIDIOUTCAPS,*PMIDIOUTCAPS,*LPMIDIOUTCAPS;
02073 typedef MIDIINCAPSA MIDIINCAPS,*PMIDIINCAPS,*LPMIDIINCAPS;
02074 typedef AUXCAPSA AUXCAPS,*PAUXCAPS,*LPAUXCAPS;
02075 typedef MIXERCAPSA MIXERCAPS,*PMIXERCAPS,*LPMIXERCAPS;
02076 typedef MIXERLINEA MIXERLINE,*PMIXERLINE,*LPMIXERLINE;
02077 typedef MIXERCONTROLA MIXERCONTROL,*PMIXERCONTROL,*LPMIXERCONTROL;
02078 typedef MIXERLINECONTROLSA MIXERLINECONTROLS,*PMIXERLINECONTROLS,*LPMIXERLINECONTROLS;
02079 typedef MIXERCONTROLDETAILS_LISTTEXTA MIXERCONTROLDETAILS_LISTTEXT,*PMIXERCONTROLDETAILS_LISTTEXT,*LPMIXERCONTROLDETAILS_LISTTEXT;
02080 typedef JOYCAPSA JOYCAPS,*PJOYCAPS,*LPJOYCAPS;
02081 typedef MCI_OPEN_PARMSA MCI_OPEN_PARMS,*PMCI_OPEN_PARMS,*LPMCI_OPEN_PARMS;
02082 typedef MCI_INFO_PARMSA MCI_INFO_PARMS,*LPMCI_INFO_PARMS;
02083 typedef MCI_SYSINFO_PARMSA MCI_SYSINFO_PARMS,*PMCI_SYSINFO_PARMS,*LPMCI_SYSINFO_PARMS;
02084 typedef MCI_SAVE_PARMSA MCI_SAVE_PARMS,*PMCI_SAVE_PARMS,*LPMCI_SAVE_PARMS;
02085 typedef MCI_LOAD_PARMSA MCI_LOAD_PARMS,*PMCI_LOAD_PARMS,*LPMCI_LOAD_PARMS;
02086 typedef MCI_VD_ESCAPE_PARMSA MCI_VD_ESCAPE_PARMS,*PMCI_VD_ESCAPE_PARMS,*LPMCI_VD_ESCAPE_PARMS;
02087 typedef MCI_WAVE_OPEN_PARMSA MCI_WAVE_OPEN_PARMS,*PMCI_WAVE_OPEN_PARMS,*LPMCI_WAVE_OPEN_PARMS;
02088 typedef MCI_ANIM_OPEN_PARMSA MCI_ANIM_OPEN_PARMS,*PMCI_ANIM_OPEN_PARMS,*LPMCI_ANIM_OPEN_PARMS;
02089 typedef MCI_ANIM_WINDOW_PARMSA MCI_ANIM_WINDOW_PARMS,*PMCI_ANIM_WINDOW_PARMS,*LPMCI_ANIM_WINDOW_PARMS;
02090 typedef MCI_OVLY_OPEN_PARMSA MCI_OVLY_OPEN_PARMS,*PMCI_OVLY_OPEN_PARMS,*LPMCI_OVLY_OPEN_PARMS;
02091 typedef MCI_OVLY_WINDOW_PARMSA MCI_OVLY_WINDOW_PARMS,*PMCI_OVLY_WINDOW_PARMS,*LPMCI_OVLY_WINDOW_PARMS;
02092 typedef MCI_OVLY_SAVE_PARMSA MCI_OVLY_SAVE_PARMS,*PMCI_OVLY_SAVE_PARMS,*LPMCI_OVLY_SAVE_PARMS;
02093 #define sndPlaySound sndPlaySoundA
02094 #define PlaySound PlaySoundA
02095 #define waveOutGetDevCaps waveOutGetDevCapsA
02096 #define waveOutGetErrorText waveOutGetErrorTextA
02097 #define waveInGetDevCaps waveInGetDevCapsA
02098 #define waveInGetErrorText waveInGetErrorTextA
02099 #define midiOutGetDevCaps midiOutGetDevCapsA
02100 #define midiOutGetErrorText midiOutGetErrorTextA
02101 #define midiInGetDevCaps midiInGetDevCapsA
02102 #define midiInGetErrorText midiInGetErrorTextA
02103 #define auxGetDevCaps auxGetDevCapsA
02104 #define mixerGetDevCaps mixerGetDevCapsA
02105 #define mixerGetLineInfo mixerGetLineInfoA
02106 #define mixerGetLineControls mixerGetLineControlsA
02107 #define mixerGetControlDetails mixerGetControlDetailsA
02108 #define joyGetDevCaps joyGetDevCapsA
02109 #define mmioInstallIOProc mmioInstallIOProcA
02110 #define mmioStringToFOURCC mmioStringToFOURCCA
02111 #define mmioOpen mmioOpenA
02112 #define mmioRename mmioRenameA
02113 #define mciSendCommand mciSendCommandA
02114 #define mciSendString mciSendStringA
02115 #define mciGetDeviceID mciGetDeviceIDA
02116 #define mciGetDeviceIDFromElementID mciGetDeviceIDFromElementIDA
02117 #define mciGetErrorString mciGetErrorStringA
02118 #endif
02119 
02120 #ifdef _MSC_VER
02121 #pragma warning(pop)
02122 #endif
02123 
02124 #ifdef __cplusplus
02125 }
02126 #endif
02127 #pragma pack(pop)
02128 #endif

Generated on Sun May 27 2012 04:31:41 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.