mmsystem.mh
来自「开放源码的编译器open watcom 1.6.0版的源代码」· MH 代码 · 共 1,149 行 · 第 1/3 页
MH
1,149 行
#define MCI_CUT 0x851
#define MCI_COPY 0x852
#define MCI_PASTE 0x853
#define MCI_UPDATE 0x854
#define MCI_RESUME 0x855
#define MCI_DELETE 0x856
#define MCI_USER_MESSAGES (0x400 + DRV_MCI_FIRST)
#define MCI_ALL_DEVICE_ID 0xFFFF
#define MCI_DEVTYPE_VCR (MCI_STRING_OFFSET + 1)
#define MCI_DEVTYPE_VIDEODISC (MCI_STRING_OFFSET + 2)
#define MCI_DEVTYPE_OVERLAY (MCI_STRING_OFFSET + 3)
#define MCI_DEVTYPE_CD_AUDIO (MCI_STRING_OFFSET + 4)
#define MCI_DEVTYPE_DAT (MCI_STRING_OFFSET + 5)
#define MCI_DEVTYPE_SCANNER (MCI_STRING_OFFSET + 6)
#define MCI_DEVTYPE_ANIMATION (MCI_STRING_OFFSET + 7)
#define MCI_DEVTYPE_DIGITAL_VIDEO (MCI_STRING_OFFSET + 8)
#define MCI_DEVTYPE_OTHER (MCI_STRING_OFFSET + 9)
#define MCI_DEVTYPE_WAVEFORM_AUDIO (MCI_STRING_OFFSET + 10)
#define MCI_DEVTYPE_SEQUENCER (MCI_STRING_OFFSET + 11)
#define MCI_DEVTYPE_FIRST MCI_DEVTYPE_VCR
#define MCI_DEVTYPE_LAST MCI_DEVTYPE_SEQUENCER
#define MCI_MODE_NOT_READY (MCI_STRING_OFFSET + 12)
#define MCI_MODE_STOP (MCI_STRING_OFFSET + 13)
#define MCI_MODE_PLAY (MCI_STRING_OFFSET + 14)
#define MCI_MODE_RECORD (MCI_STRING_OFFSET + 15)
#define MCI_MODE_SEEK (MCI_STRING_OFFSET + 16)
#define MCI_MODE_PAUSE (MCI_STRING_OFFSET + 17)
#define MCI_MODE_OPEN (MCI_STRING_OFFSET + 18)
#define MCI_FORMAT_MILLISECONDS 0
#define MCI_FORMAT_HMS 1
#define MCI_FORMAT_MSF 2
#define MCI_FORMAT_FRAMES 3
#define MCI_FORMAT_SMPTE_24 4
#define MCI_FORMAT_SMPTE_25 5
#define MCI_FORMAT_SMPTE_30 6
#define MCI_FORMAT_SMPTE_30DROP 7
#define MCI_FORMAT_BYTES 8
#define MCI_FORMAT_SAMPLES 9
#define MCI_FORMAT_TMSF 10
#define MCI_MSF_MINUTE(t) ((BYTE)(t))
#define MCI_MSF_SECOND(t) ((BYTE)(((WORD)(t))>>8))
#define MCI_MSF_FRAME(t) ((BYTE)((t)>>16))
#define MCI_MAKE_MSF(m,s,f) ((DWORD)(((BYTE)(m)|((WORD)(s)<<8))|(((DWORD)(BYTE)(f))<<16)))
#define MCI_TMSF_TRACK(t) ((BYTE)(t))
#define MCI_TMSF_MINUTE(t) ((BYTE)(((WORD)(t))>>8))
#define MCI_TMSF_SECOND(t) ((BYTE)((t)>>16))
#define MCI_TMSF_FRAME(t) ((BYTE)((t)>>24))
#define MCI_MAKE_TMSF(t,m,s,f) ((DWORD)(((BYTE)(t)|((WORD)(m)<<8))|(((DWORD)(BYTE)(s)|((WORD)(f)<<8))<<16)))
#define MCI_HMS_HOUR(t) ((BYTE)(t))
#define MCI_HMS_MINUTE(t) ((BYTE)(((WORD)(t))>>8))
#define MCI_HMS_SECOND(t) ((BYTE)((t)>>16))
#define MCI_MAKE_HMS(h,m,s) ((DWORD)(((BYTE)(h)|((WORD)(m)<<8))|(((DWORD)(BYTE)(s))<<16)))
#define MCI_NOTIFY_SUCCESSFUL 1
#define MCI_NOTIFY_SUPERSEDED 2
#define MCI_NOTIFY_ABORTED 4
#define MCI_NOTIFY_FAILURE 8
#define MCI_NOTIFY 1L
#define MCI_WAIT 2L
#define MCI_FROM 4L
#define MCI_TO 8L
#define MCI_TRACK 0x10L
#define MCI_OPEN_SHAREABLE 0x100L
#define MCI_OPEN_ELEMENT 0x200L
#define MCI_OPEN_ALIAS 0x400L
#define MCI_OPEN_ELEMENT_ID 0x800L
#define MCI_OPEN_TYPE_ID 0x1000L
#define MCI_OPEN_TYPE 0x2000L
#define MCI_SEEK_TO_START 0x100L
#define MCI_SEEK_TO_END 0x200L
#define MCI_STATUS_ITEM 0x100L
#define MCI_STATUS_START 0x200L
#define MCI_STATUS_LENGTH 1L
#define MCI_STATUS_POSITION 2L
#define MCI_STATUS_NUMBER_OF_TRACKS 3L
#define MCI_STATUS_MODE 4L
#define MCI_STATUS_MEDIA_PRESENT 5L
#define MCI_STATUS_TIME_FORMAT 6L
#define MCI_STATUS_READY 7L
#define MCI_STATUS_CURRENT_TRACK 8L
#define MCI_INFO_PRODUCT 0x100L
#define MCI_INFO_FILE 0x200L
#define MCI_GETDEVCAPS_ITEM 0x100L
#define MCI_GETDEVCAPS_CAN_RECORD 1L
#define MCI_GETDEVCAPS_HAS_AUDIO 2L
#define MCI_GETDEVCAPS_HAS_VIDEO 3L
#define MCI_GETDEVCAPS_DEVICE_TYPE 4L
#define MCI_GETDEVCAPS_USES_FILES 5L
#define MCI_GETDEVCAPS_COMPOUND_DEVICE 6L
#define MCI_GETDEVCAPS_CAN_EJECT 7L
#define MCI_GETDEVCAPS_CAN_PLAY 8L
#define MCI_GETDEVCAPS_CAN_SAVE 9L
#define MCI_SYSINFO_QUANTITY 0x100L
#define MCI_SYSINFO_OPEN 0x200L
#define MCI_SYSINFO_NAME 0x400L
#define MCI_SYSINFO_INSTALLNAME 0x800L
#define MCI_SET_DOOR_OPEN 0x100L
#define MCI_SET_DOOR_CLOSED 0x200L
#define MCI_SET_TIME_FORMAT 0x400L
#define MCI_SET_AUDIO 0x800L
#define MCI_SET_VIDEO 0x1000L
#define MCI_SET_ON 0x2000L
#define MCI_SET_OFF 0x4000L
#define MCI_SET_AUDIO_ALL 0
#define MCI_SET_AUDIO_LEFT 1L
#define MCI_SET_AUDIO_RIGHT 2L
#define MCI_BREAK_KEY 0x100L
#define MCI_BREAK_HWND 0x200L
#define MCI_BREAK_OFF 0x400L
#define MCI_RECORD_INSERT 0x100L
#define MCI_RECORD_OVERWRITE 0x200L
#define MCI_SOUND_NAME 0x100L
#define MCI_SAVE_FILE 0x100L
#define MCI_LOAD_FILE 0x100L
#define MCI_VD_MODE_PARK (MCI_VD_OFFSET + 1)
#define MCI_VD_MEDIA_CLV (MCI_VD_OFFSET + 2)
#define MCI_VD_MEDIA_CAV (MCI_VD_OFFSET + 3)
#define MCI_VD_MEDIA_OTHER (MCI_VD_OFFSET + 4)
#define MCI_VD_FORMAT_TRACK 0x4001
#define MCI_VD_PLAY_REVERSE 0x10000L
#define MCI_VD_PLAY_FAST 0x20000L
#define MCI_VD_PLAY_SPEED 0x40000L
#define MCI_VD_PLAY_SCAN 0x80000L
#define MCI_VD_PLAY_SLOW 0x100000L
#define MCI_VD_SEEK_REVERSE 0x10000L
#define MCI_VD_STATUS_SPEED 0x4002L
#define MCI_VD_STATUS_FORWARD 0x4003L
#define MCI_VD_STATUS_MEDIA_TYPE 0x4004L
#define MCI_VD_STATUS_SIDE 0x4005L
#define MCI_VD_STATUS_DISC_SIZE 0x4006L
#define MCI_VD_GETDEVCAPS_CLV 0x10000L
#define MCI_VD_GETDEVCAPS_CAV 0x20000L
#define MCI_VD_SPIN_UP 0x10000L
#define MCI_VD_SPIN_DOWN 0x20000L
#define MCI_VD_GETDEVCAPS_CAN_REVERSE 0x4002L
#define MCI_VD_GETDEVCAPS_FAST_RATE 0x4003L
#define MCI_VD_GETDEVCAPS_SLOW_RATE 0x4004L
#define MCI_VD_GETDEVCAPS_NORMAL_RATE 0x4005L
#define MCI_VD_STEP_FRAMES 0x10000L
#define MCI_VD_STEP_REVERSE 0x20000L
#define MCI_VD_ESCAPE_STRING 0x100L
#define MCI_WAVE_OPEN_BUFFER 0x10000L
#define MCI_WAVE_SET_FORMATTAG 0x10000L
#define MCI_WAVE_SET_CHANNELS 0x20000L
#define MCI_WAVE_SET_SAMPLESPERSEC 0x40000L
#define MCI_WAVE_SET_AVGBYTESPERSEC 0x80000L
#define MCI_WAVE_SET_BLOCKALIGN 0x100000L
#define MCI_WAVE_SET_BITSPERSAMPLE 0x200000L
#define MCI_WAVE_INPUT 0x400000L
#define MCI_WAVE_OUTPUT 0x800000L
#define MCI_WAVE_STATUS_FORMATTAG 0x4001L
#define MCI_WAVE_STATUS_CHANNELS 0x4002L
#define MCI_WAVE_STATUS_SAMPLESPERSEC 0x4003L
#define MCI_WAVE_STATUS_AVGBYTESPERSEC 0x4004L
#define MCI_WAVE_STATUS_BLOCKALIGN 0x4005L
#define MCI_WAVE_STATUS_BITSPERSAMPLE 0x4006L
#define MCI_WAVE_STATUS_LEVEL 0x4007L
#define MCI_WAVE_SET_ANYINPUT 0x4000000L
#define MCI_WAVE_SET_ANYOUTPUT 0x8000000L
#define MCI_WAVE_GETDEVCAPS_INPUTS 0x4001L
#define MCI_WAVE_GETDEVCAPS_OUTPUTS 0x4002L
#define MCI_SEQ_DIV_PPQN (0 + MCI_SEQ_OFFSET)
#define MCI_SEQ_DIV_SMPTE_24 (1 + MCI_SEQ_OFFSET)
#define MCI_SEQ_DIV_SMPTE_25 (2 + MCI_SEQ_OFFSET)
#define MCI_SEQ_DIV_SMPTE_30DROP (3 + MCI_SEQ_OFFSET)
#define MCI_SEQ_DIV_SMPTE_30 (4 + MCI_SEQ_OFFSET)
#define MCI_SEQ_FORMAT_SONGPTR 0x4001
#define MCI_SEQ_FILE 0x4002
#define MCI_SEQ_MIDI 0x4003
#define MCI_SEQ_SMPTE 0x4004
#define MCI_SEQ_NONE 65533
#define MCI_SEQ_STATUS_TEMPO 0x4002L
#define MCI_SEQ_STATUS_PORT 0x4003L
#define MCI_SEQ_STATUS_SLAVE 0x4007L
#define MCI_SEQ_STATUS_MASTER 0x4008L
#define MCI_SEQ_STATUS_OFFSET 0x4009L
#define MCI_SEQ_STATUS_DIVTYPE 0x400AL
#define MCI_SEQ_SET_TEMPO 0x10000L
#define MCI_SEQ_SET_PORT 0x20000L
#define MCI_SEQ_SET_SLAVE 0x40000L
#define MCI_SEQ_SET_MASTER 0x80000L
#define MCI_SEQ_SET_OFFSET 0x1000000L
#define MCI_ANIM_OPEN_WS 0x10000L
#define MCI_ANIM_OPEN_PARENT 0x20000L
#define MCI_ANIM_OPEN_NOSTATIC 0x40000L
#define MCI_ANIM_PLAY_SPEED 0x10000L
#define MCI_ANIM_PLAY_REVERSE 0x20000L
#define MCI_ANIM_PLAY_FAST 0x40000L
#define MCI_ANIM_PLAY_SLOW 0x80000L
#define MCI_ANIM_PLAY_SCAN 0x100000L
#define MCI_ANIM_STEP_REVERSE 0x10000L
#define MCI_ANIM_STEP_FRAMES 0x20000L
#define MCI_ANIM_STATUS_SPEED 0x4001L
#define MCI_ANIM_STATUS_FORWARD 0x4002L
#define MCI_ANIM_STATUS_HWND 0x4003L
#define MCI_ANIM_STATUS_HPAL 0x4004L
#define MCI_ANIM_STATUS_STRETCH 0x4005L
#define MCI_ANIM_INFO_TEXT 0x10000L
#define MCI_ANIM_GETDEVCAPS_CAN_REVERSE 0x4001L
#define MCI_ANIM_GETDEVCAPS_FAST_RATE 0x4002L
#define MCI_ANIM_GETDEVCAPS_SLOW_RATE 0x4003L
#define MCI_ANIM_GETDEVCAPS_NORMAL_RATE 0x4004L
#define MCI_ANIM_GETDEVCAPS_PALETTES 0x4006L
#define MCI_ANIM_GETDEVCAPS_CAN_STRETCH 0x4007L
#define MCI_ANIM_GETDEVCAPS_MAX_WINDOWS 0x4008L
#define MCI_ANIM_REALIZE_NORM 0x10000L
#define MCI_ANIM_REALIZE_BKGD 0x20000L
#define MCI_ANIM_WINDOW_HWND 0x10000L
#define MCI_ANIM_WINDOW_STATE 0x40000L
#define MCI_ANIM_WINDOW_TEXT 0x80000L
#define MCI_ANIM_WINDOW_ENABLE_STRETCH 0x100000L
#define MCI_ANIM_WINDOW_DISABLE_STRETCH 0x200000L
#define MCI_ANIM_WINDOW_DEFAULT 0
#define MCI_ANIM_RECT 0x10000L
#define MCI_ANIM_PUT_SOURCE 0x20000L
#define MCI_ANIM_PUT_DESTINATION 0x40000L
#define MCI_ANIM_WHERE_SOURCE 0x20000L
#define MCI_ANIM_WHERE_DESTINATION 0x40000L
#define MCI_ANIM_UPDATE_HDC 0x20000L
#define MCI_OVLY_OPEN_WS 0x10000L
#define MCI_OVLY_OPEN_PARENT 0x20000L
#define MCI_OVLY_STATUS_HWND 0x4001L
#define MCI_OVLY_STATUS_STRETCH 0x4002L
#define MCI_OVLY_INFO_TEXT 0x10000L
#define MCI_OVLY_GETDEVCAPS_CAN_STRETCH 0x4001L
#define MCI_OVLY_GETDEVCAPS_CAN_FREEZE 0x4002L
#define MCI_OVLY_GETDEVCAPS_MAX_WINDOWS 0x4003L
#define MCI_OVLY_WINDOW_HWND 0x10000L
#define MCI_OVLY_WINDOW_STATE 0x40000L
#define MCI_OVLY_WINDOW_TEXT 0x80000L
#define MCI_OVLY_WINDOW_ENABLE_STRETCH 0x100000L
#define MCI_OVLY_WINDOW_DISABLE_STRETCH 0x200000L
#define MCI_OVLY_WINDOW_DEFAULT 0
#define MCI_OVLY_RECT 0x10000L
#define MCI_OVLY_PUT_SOURCE 0x20000L
#define MCI_OVLY_PUT_DESTINATION 0x40000L
#define MCI_OVLY_PUT_FRAME 0x80000L
#define MCI_OVLY_PUT_VIDEO 0x100000L
#define MCI_OVLY_WHERE_SOURCE 0x20000L
#define MCI_OVLY_WHERE_DESTINATION 0x40000L
#define MCI_OVLY_WHERE_FRAME 0x80000L
#define MCI_OVLY_WHERE_VIDEO 0x100000L
#ifndef C1_TRANSPARENT
#define CAPS1 94
#define C1_TRANSPARENT 1
#define NEWTRANSPARENT 3
#define QUERYROPSUPPORT 40
#endif
#define SELECTDIB 41
#define DIBINDEX(n) MAKELONG((n),0x10FF)
#ifndef SC_SCREENSAVE
#define SC_SCREENSAVE 0xF140
#endif
#ifndef RC_INVOKED
DECLARE_HANDLE(HWAVE);
DECLARE_HANDLE(HWAVEIN);
DECLARE_HANDLE(HWAVEOUT);
DECLARE_HANDLE(HMIDI);
DECLARE_HANDLE(HMIDIIN);
DECLARE_HANDLE(HMIDIOUT);
DECLARE_HANDLE(HMMIO);
typedef WORD VERSION;
typedef struct mmtime_tag {
UINT wType;
union {
DWORD ms;
DWORD sample;
DWORD cb;
struct {
BYTE hour;
BYTE min;
BYTE sec;
BYTE frame;
BYTE fps;
BYTE dummy;
} smpte;
struct {
DWORD songptrpos;
} midi;
} u;
} MMTIME,*PMMTIME,NEAR *NPMMTIME,FAR *LPMMTIME;
typedef void (CALLBACK DRVCALLBACK)(HDRVR,UINT,DWORD,DWORD,DWORD);
typedef DRVCALLBACK FAR *LPDRVCALLBACK;
typedef HWAVEIN FAR *LPHWAVEIN;
typedef HWAVEOUT FAR *LPHWAVEOUT;
typedef DRVCALLBACK WAVECALLBACK;
typedef WAVECALLBACK FAR *LPWAVECALLBACK;
typedef struct wavehdr_tag {
LPSTR lpData;
DWORD dwBufferLength;
DWORD dwBytesRecorded;
DWORD dwUser;
DWORD dwFlags;
DWORD dwLoops;
struct wavehdr_tag FAR *lpNext;
DWORD reserved;
} WAVEHDR,*PWAVEHDR,NEAR *NPWAVEHDR,FAR *LPWAVEHDR;
typedef struct waveoutcaps_tag {
UINT wMid;
UINT wPid;
VERSION vDriverVersion;
char szPname[MAXPNAMELEN];
DWORD dwFormats;
UINT wChannels;
DWORD dwSupport;
} WAVEOUTCAPS,*PWAVEOUTCAPS,NEAR *NPWAVEOUTCAPS,FAR *LPWAVEOUTCAPS;
typedef struct waveincaps_tag {
UINT wMid;
UINT wPid;
VERSION vDriverVersion;
char szPname[MAXPNAMELEN];
DWORD dwFormats;
UINT wChannels;
} WAVEINCAPS,*PWAVEINCAPS,NEAR *NPWAVEINCAPS,FAR *LPWAVEINCAPS;
typedef struct waveformat_tag {
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
} WAVEFORMAT,*PWAVEFORMAT,NEAR *NPWAVEFORMAT,FAR *LPWAVEFORMAT;
typedef struct pcmwaveformat_tag {
WAVEFORMAT wf;
WORD wBitsPerSample;
} PCMWAVEFORMAT,*PPCMWAVEFORMAT,NEAR *NPPCMWAVEFORMAT,FAR *LPPCMWAVEFORMAT;
typedef HMIDIIN FAR *LPHMIDIIN;
typedef HMIDIOUT FAR *LPHMIDIOUT;
typedef DRVCALLBACK MIDICALLBACK;
typedef MIDICALLBACK FAR *LPMIDICALLBACK;
typedef WORD PATCHARRAY[MIDIPATCHSIZE];
typedef WORD FAR *LPPATCHARRAY;
typedef WORD KEYARRAY[MIDIPATCHSIZE];
typedef WORD FAR *LPKEYARRAY;
typedef struct midioutcaps_tag {
UINT wMid;
UINT wPid;
VERSION vDriverVersion;
char szPname[MAXPNAMELEN];
UINT wTechnology;
UINT wVoices;
UINT wNotes;
UINT wChannelMask;
DWORD dwSupport;
} MIDIOUTCAPS,*PMIDIOUTCAPS,NEAR *NPMIDIOUTCAPS,FAR *LPMIDIOUTCAPS;
typedef struct midiincaps_tag {
UINT wMid;
UINT wPid;
VERSION vDriverVersion;
char szPname[MAXPNAMELEN];
} MIDIINCAPS,*PMIDIINCAPS,NEAR *NPMIDIINCAPS,FAR *LPMIDIINCAPS;
typedef struct midihdr_tag {
LPSTR lpData;
DWORD dwBufferLength;
DWORD dwBytesRecorded;
DWORD dwUser;
DWORD dwFlags;
struct midihdr_tag FAR *lpNext;
DWORD reserved;
} MIDIHDR,*PMIDIHDR,NEAR *NPMIDIHDR,FAR *LPMIDIHDR;
typedef struct auxcaps_tag {
UINT wMid;
UINT wPid;
VERSION vDriverVersion;
char szPname[MAXPNAMELEN];
UINT wTechnology;
DWORD dwSupport;
} AUXCAPS,*PAUXCAPS,NEAR *NPAUXCAPS,FAR *LPAUXCAPS;
typedef void (CALLBACK TIMECALLBACK)(UINT,UINT,DWORD,DWORD,DWORD);
typedef TIMECALLBACK FAR *LPTIMECALLBACK;
typedef struct timecaps_tag {
UINT wPeriodMin;
UINT wPeriodMax;
} TIMECAPS,*PTIMECAPS,NEAR *NPTIMECAPS,FAR *LPTIMECAPS;
typedef struct joycaps_tag {
UINT wMid;
UINT wPid;
char szPname[MAXPNAMELEN];
UINT wXmin;
UINT wXmax;
UINT wYmin;
UINT wYmax;
UINT wZmin;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?