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 + -
显示快捷键?