mmsystem.h

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 1,850 行 · 第 1/5 页

H
1,850
字号
#define MCI_SET_OFF 0x4000
#define MCI_SET_AUDIO_ALL 0
#define MCI_SET_AUDIO_LEFT 1
#define MCI_SET_AUDIO_RIGHT 2
#define MCI_BREAK_KEY 256
#define MCI_BREAK_HWND 512
#define MCI_BREAK_OFF 1024
#define MCI_RECORD_INSERT 256
#define MCI_RECORD_OVERWRITE 512
#define MCI_SAVE_FILE 256
#define MCI_LOAD_FILE 256
#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 0x10000
#define MCI_VD_PLAY_FAST 0x20000
#define MCI_VD_PLAY_SPEED 0x40000
#define MCI_VD_PLAY_SCAN 0x80000
#define MCI_VD_PLAY_SLOW 0x100000
#define MCI_VD_SEEK_REVERSE 0x10000
#define MCI_VD_STATUS_SPEED 0x4002
#define MCI_VD_STATUS_FORWARD 0x4003
#define MCI_VD_STATUS_MEDIA_TYPE 0x4004
#define MCI_VD_STATUS_SIDE 0x4005
#define MCI_VD_STATUS_DISC_SIZE 0x4006
#define MCI_VD_GETDEVCAPS_CLV 0x10000
#define MCI_VD_GETDEVCAPS_CAV 0x20000
#define MCI_VD_SPIN_UP 0x10000
#define MCI_VD_SPIN_DOWN 0x20000
#define MCI_VD_GETDEVCAPS_CAN_REVERSE 0x4002
#define MCI_VD_GETDEVCAPS_FAST_RATE 0x4003
#define MCI_VD_GETDEVCAPS_SLOW_RATE 0x4004
#define MCI_VD_GETDEVCAPS_NORMAL_RATE 0x4005
#define MCI_VD_STEP_FRAMES 0x10000
#define MCI_VD_STEP_REVERSE 0x20000
#define MCI_VD_ESCAPE_STRING 256
#define MCI_CDA_STATUS_TYPE_TRACK 0x4001
#define MCI_CDA_TRACK_AUDIO MCI_CD_OFFSET
#define MCI_CDA_TRACK_OTHER (MCI_CD_OFFSET+1)
#define MCI_WAVE_PCM MCI_WAVE_OFFSET
#define MCI_WAVE_MAPPER (MCI_WAVE_OFFSET+1)
#define MCI_WAVE_OPEN_BUFFER 0x10000
#define MCI_WAVE_SET_FORMATTAG 0x10000
#define MCI_WAVE_SET_CHANNELS 0x20000
#define MCI_WAVE_SET_SAMPLESPERSEC 0x40000
#define MCI_WAVE_SET_AVGBYTESPERSEC 0x80000
#define MCI_WAVE_SET_BLOCKALIGN 0x100000
#define MCI_WAVE_SET_BITSPERSAMPLE 0x200000
#define MCI_WAVE_INPUT 0x400000
#define MCI_WAVE_OUTPUT 0x800000
#define MCI_WAVE_STATUS_FORMATTAG 0x4001
#define MCI_WAVE_STATUS_CHANNELS 0x4002
#define MCI_WAVE_STATUS_SAMPLESPERSEC 0x4003
#define MCI_WAVE_STATUS_AVGBYTESPERSEC 0x4004
#define MCI_WAVE_STATUS_BLOCKALIGN 0x4005
#define MCI_WAVE_STATUS_BITSPERSAMPLE 0x4006
#define MCI_WAVE_STATUS_LEVEL 0x4007
#define MCI_WAVE_SET_ANYINPUT 0x4000000
#define MCI_WAVE_SET_ANYOUTPUT 0x8000000
#define MCI_WAVE_GETDEVCAPS_INPUTS 0x4001
#define MCI_WAVE_GETDEVCAPS_OUTPUTS 0x4002
#define MCI_SEQ_DIV_PPQN MCI_SEQ_OFFSET
#define MCI_SEQ_DIV_SMPTE_24 (MCI_SEQ_OFFSET+1)
#define MCI_SEQ_DIV_SMPTE_25 (MCI_SEQ_OFFSET+2)
#define MCI_SEQ_DIV_SMPTE_30DROP (MCI_SEQ_OFFSET+3)
#define MCI_SEQ_DIV_SMPTE_30 (MCI_SEQ_OFFSET+4)
#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_MAPPER 65535
#define MCI_SEQ_STATUS_TEMPO 0x4002
#define MCI_SEQ_STATUS_PORT 0x4003
#define MCI_SEQ_STATUS_SLAVE 0x4007
#define MCI_SEQ_STATUS_MASTER 0x4008
#define MCI_SEQ_STATUS_OFFSET 0x4009
#define MCI_SEQ_STATUS_DIVTYPE 0x400A
#define MCI_SEQ_STATUS_NAME 0x400B
#define MCI_SEQ_STATUS_COPYRIGHT 0x400C
#define MCI_SEQ_SET_TEMPO 0x10000
#define MCI_SEQ_SET_PORT 0x20000
#define MCI_SEQ_SET_SLAVE 0x40000
#define MCI_SEQ_SET_MASTER 0x80000
#define MCI_SEQ_SET_OFFSET 0x1000000
#define MCI_ANIM_OPEN_WS 0x10000
#define MCI_ANIM_OPEN_PARENT 0x20000
#define MCI_ANIM_OPEN_NOSTATIC 0x40000
#define MCI_ANIM_PLAY_SPEED 0x10000
#define MCI_ANIM_PLAY_REVERSE 0x20000
#define MCI_ANIM_PLAY_FAST 0x40000
#define MCI_ANIM_PLAY_SLOW 0x80000
#define MCI_ANIM_PLAY_SCAN 0x100000
#define MCI_ANIM_STEP_REVERSE 0x10000
#define MCI_ANIM_STEP_FRAMES 0x20000
#define MCI_ANIM_STATUS_SPEED 0x4001
#define MCI_ANIM_STATUS_FORWARD 0x4002
#define MCI_ANIM_STATUS_HWND 0x4003
#define MCI_ANIM_STATUS_HPAL 0x4004
#define MCI_ANIM_STATUS_STRETCH 0x4005
#define MCI_ANIM_INFO_TEXT 0x10000
#define MCI_ANIM_GETDEVCAPS_CAN_REVERSE 0x4001
#define MCI_ANIM_GETDEVCAPS_FAST_RATE 0x4002
#define MCI_ANIM_GETDEVCAPS_SLOW_RATE 0x4003
#define MCI_ANIM_GETDEVCAPS_NORMAL_RATE 0x4004
#define MCI_ANIM_GETDEVCAPS_PALETTES 0x4006
#define MCI_ANIM_GETDEVCAPS_CAN_STRETCH 0x4007
#define MCI_ANIM_GETDEVCAPS_MAX_WINDOWS 0x4008
#define MCI_ANIM_REALIZE_NORM 0x10000
#define MCI_ANIM_REALIZE_BKGD 0x20000
#define MCI_ANIM_WINDOW_HWND 0x10000
#define MCI_ANIM_WINDOW_STATE 0x40000
#define MCI_ANIM_WINDOW_TEXT 0x80000
#define MCI_ANIM_WINDOW_ENABLE_STRETCH 0x100000
#define MCI_ANIM_WINDOW_DISABLE_STRETCH 0x200000
#define MCI_ANIM_WINDOW_DEFAULT 0xL
#define MCI_ANIM_RECT 0x10000
#define MCI_ANIM_PUT_SOURCE 0x20000
#define MCI_ANIM_PUT_DESTINATION 0x40000
#define MCI_ANIM_WHERE_SOURCE 0x20000
#define MCI_ANIM_WHERE_DESTINATION 0x40000
#define MCI_ANIM_UPDATE_HDC 0x20000
#define MCI_OVLY_OPEN_WS 0x10000
#define MCI_OVLY_OPEN_PARENT 0x20000
#define MCI_OVLY_STATUS_HWND 0x4001
#define MCI_OVLY_STATUS_STRETCH 0x4002
#define MCI_OVLY_INFO_TEXT 0x10000
#define MCI_OVLY_GETDEVCAPS_CAN_STRETCH 0x4001
#define MCI_OVLY_GETDEVCAPS_CAN_FREEZE 0x4002
#define MCI_OVLY_GETDEVCAPS_MAX_WINDOWS 0x4003
#define MCI_OVLY_WINDOW_HWND 0x10000
#define MCI_OVLY_WINDOW_STATE 0x40000
#define MCI_OVLY_WINDOW_TEXT 0x80000
#define MCI_OVLY_WINDOW_ENABLE_STRETCH 0x100000
#define MCI_OVLY_WINDOW_DISABLE_STRETCH 0x200000
#define MCI_OVLY_WINDOW_DEFAULT 0xL
#define MCI_OVLY_RECT 0x10000
#define MCI_OVLY_PUT_SOURCE 0x20000
#define MCI_OVLY_PUT_DESTINATION 0x40000
#define MCI_OVLY_PUT_FRAME 0x80000
#define MCI_OVLY_PUT_VIDEO 0x100000
#define MCI_OVLY_WHERE_SOURCE 0x20000
#define MCI_OVLY_WHERE_DESTINATION 0x40000
#define MCI_OVLY_WHERE_FRAME 0x80000
#define MCI_OVLY_WHERE_VIDEO 0x100000
#define NEWTRANSPARENT 3
#define QUERYROPSUPPORT 40
#define SELECTDIB 41
#define DIBINDEX(n) MAKELONG((n),0x10FF)
#define SC_SCREENSAVE 0xF140
#define CAPS1 94
#define C1_TRANSPARENT 1
#ifndef SEEK_SET
#define SEEK_SET 0
#endif
#ifndef SEEK_CUR
#define SEEK_CUR 1
#endif
#ifndef SEEK_END
#define SEEK_END 2
#endif

typedef DWORD MCIERROR;
typedef UINT MCIDEVICEID;
typedef UINT(CALLBACK *YIELDPROC)(MCIDEVICEID,DWORD);
typedef UINT MMVERSION;
typedef UINT MMRESULT;
typedef struct mmtime_tag {
	UINT wType;
	union {
		DWORD ms;
		DWORD sample;
		DWORD cb;
		DWORD ticks;
		struct {
			BYTE hour;
			BYTE min;
			BYTE sec;
			BYTE frame;
			BYTE fps;
			BYTE dummy;
			BYTE pad[2];
		} smpte;
		struct {
			DWORD songptrpos;
		} midi;
	} u;
} MMTIME,*PMMTIME,*LPMMTIME;
DECLARE_HANDLE(HDRVR);
typedef struct tagDRVCONFIGINFO {
	DWORD dwDCISize;
	LPCWSTR lpszDCISectionName;
	LPCWSTR lpszDCIAliasName;
} DRVCONFIGINFO,*PDRVCONFIGINFO,*LPDRVCONFIGINFO;
typedef struct DRVCONFIGINFOEX {
	DWORD dwDCISize;
	LPCWSTR lpszDCISectionName;
	LPCWSTR lpszDCIAliasName;
	DWORD dnDevNode;
} DRVCONFIGINFOEX,*PDRVCONFIGINFOEX,*LPDRVCONFIGINFOEX;
typedef LRESULT(CALLBACK* DRIVERPROC)(DWORD,HDRVR,UINT,LPARAM,LPARAM);
typedef void (CALLBACK DRVCALLBACK)(HDRVR,UINT,DWORD,DWORD,DWORD);
typedef DRVCALLBACK *LPDRVCALLBACK;
typedef DRVCALLBACK *PDRVCALLBACK;
DECLARE_HANDLE(HWAVE);
DECLARE_HANDLE(HWAVEIN);
DECLARE_HANDLE(HWAVEOUT);
typedef HWAVEIN *LPHWAVEIN;
typedef HWAVEOUT *LPHWAVEOUT;
typedef DRVCALLBACK WAVECALLBACK;
typedef WAVECALLBACK *LPWAVECALLBACK;
typedef struct wavehdr_tag {
	LPSTR lpData;
	DWORD dwBufferLength;
	DWORD dwBytesRecorded;
	DWORD dwUser;
	DWORD dwFlags;
	DWORD dwLoops;
	struct wavehdr_tag *lpNext;
	DWORD reserved;
} WAVEHDR,*PWAVEHDR,*LPWAVEHDR;
typedef struct tagWAVEOUTCAPSA {
	WORD wMid;
	WORD wPid;
	MMVERSION vDriverVersion;
	CHAR szPname[MAXPNAMELEN];
	DWORD dwFormats;
	WORD wChannels;
	WORD wReserved1;
	DWORD dwSupport;
} WAVEOUTCAPSA,*PWAVEOUTCAPSA,*LPWAVEOUTCAPSA;
typedef struct tagWAVEOUTCAPSW {
	WORD wMid;
	WORD wPid;
	MMVERSION vDriverVersion;
	WCHAR szPname[MAXPNAMELEN];
	DWORD dwFormats;
	WORD wChannels;
	WORD wReserved1;
	DWORD dwSupport;
} WAVEOUTCAPSW,*PWAVEOUTCAPSW,*LPWAVEOUTCAPSW;
typedef struct tagWAVEINCAPSA {
	WORD wMid;
	WORD wPid;
	MMVERSION vDriverVersion;
	CHAR szPname[MAXPNAMELEN];
	DWORD dwFormats;
	WORD wChannels;
	WORD wReserved1;
} WAVEINCAPSA,*PWAVEINCAPSA,*LPWAVEINCAPSA;
typedef struct tagWAVEINCAPSW {
	WORD wMid;
	WORD wPid;
	MMVERSION vDriverVersion;
	WCHAR szPname[MAXPNAMELEN];
	DWORD dwFormats;
	WORD wChannels;
	WORD wReserved1;
} WAVEINCAPSW,*PWAVEINCAPSW,*LPWAVEINCAPSW;
typedef struct waveformat_tag {
	WORD wFormatTag;
	WORD nChannels;
	DWORD nSamplesPerSec;
	DWORD nAvgBytesPerSec;
	WORD nBlockAlign;
} WAVEFORMAT,*PWAVEFORMAT,*LPWAVEFORMAT;
typedef struct pcmwaveformat_tag {
	WAVEFORMAT wf;
	WORD wBitsPerSample;
} PCMWAVEFORMAT, *PPCMWAVEFORMAT,*LPPCMWAVEFORMAT;
#ifndef _LPCWAVEFORMATEX_DEFINED
#define _LPCWAVEFORMATEX_DEFINED
#define _WAVEFORMATEX_
typedef struct tWAVEFORMATEX {
	WORD wFormatTag;
	WORD nChannels;
	DWORD nSamplesPerSec;
	DWORD nAvgBytesPerSec;
	WORD nBlockAlign;
	WORD wBitsPerSample;
	WORD cbSize;
} WAVEFORMATEX,*PWAVEFORMATEX,*LPWAVEFORMATEX;
typedef const WAVEFORMATEX *LPCWAVEFORMATEX;
#endif
DECLARE_HANDLE(HMIDI);
DECLARE_HANDLE(HMIDIIN);
DECLARE_HANDLE(HMIDIOUT);
DECLARE_HANDLE(HMIDISTRM);
typedef HMIDI *LPHMIDI;
typedef HMIDIIN *LPHMIDIIN;
typedef HMIDIOUT *LPHMIDIOUT;
typedef HMIDISTRM *LPHMIDISTRM;
typedef DRVCALLBACK MIDICALLBACK;
typedef MIDICALLBACK *LPMIDICALLBACK;
typedef WORD PATCHARRAY[MIDIPATCHSIZE];
typedef WORD *LPPATCHARRAY;
typedef WORD KEYARRAY[MIDIPATCHSIZE];
typedef WORD *LPKEYARRAY;
typedef struct tagMIDIOUTCAPSA {
	WORD wMid;
	WORD wPid;
	MMVERSION vDriverVersion;
	CHAR szPname[MAXPNAMELEN];
	WORD wTechnology;
	WORD wVoices;
	WORD wNotes;
	WORD wChannelMask;
	DWORD dwSupport;
} MIDIOUTCAPSA,*PMIDIOUTCAPSA,*LPMIDIOUTCAPSA;
typedef struct tagMIDIOUTCAPSW {
	WORD wMid;
	WORD wPid;
	MMVERSION vDriverVersion;
	WCHAR szPname[MAXPNAMELEN];
	WORD wTechnology;
	WORD wVoices;
	WORD wNotes;
	WORD wChannelMask;
	DWORD dwSupport;
} MIDIOUTCAPSW,*PMIDIOUTCAPSW,*LPMIDIOUTCAPSW;
typedef struct tagMIDIINCAPSA {
	WORD wMid;
	WORD wPid;
	MMVERSION vDriverVersion;
	CHAR szPname[MAXPNAMELEN];
	DWORD dwSupport;
} MIDIINCAPSA,*PMIDIINCAPSA,*LPMIDIINCAPSA;
typedef struct tagMIDIINCAPSW {
	WORD wMid;
	WORD wPid;
	MMVERSION vDriverVersion;
	WCHAR szPname[MAXPNAMELEN];
	DWORD dwSupport;
} MIDIINCAPSW,*PMIDIINCAPSW,*NPMIDIINCAPSW,*LPMIDIINCAPSW;
typedef struct midihdr_tag {
	LPSTR lpData;
	DWORD dwBufferLength;
	DWORD dwBytesRecorded;
	DWORD dwUser;
	DWORD dwFlags;
	struct midihdr_tag *lpNext;
	DWORD reserved;
	DWORD dwOffset;
	DWORD dwReserved[8];
} MIDIHDR,*PMIDIHDR,*LPMIDIHDR;
typedef struct midievent_tag {
	DWORD dwDeltaTime;
	DWORD dwStreamID;
	DWORD dwEvent;
	DWORD dwParms[1];
} MIDIEVENT;
typedef struct midistrmbuffver_tag {
	DWORD dwVersion;
	DWORD dwMid;
	DWORD dwOEMVersion;
} MIDISTRMBUFFVER;
typedef struct midiproptimediv_tag {
	DWORD cbStruct;
	DWORD dwTimeDiv;
} MIDIPROPTIMEDIV,*LPMIDIPROPTIMEDIV;
typedef struct midiproptempo_tag {
	DWORD cbStruct;
	DWORD dwTempo;
} MIDIPROPTEMPO,*LPMIDIPROPTEMPO;
typedef struct tagAUXCAPSA {
	WORD wMid;
	WORD wPid;
	MMVERSION vDriverVersion;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?