mmsystem.h CAP2 patch
Robert Reif
reif at earthlink.net
Thu Aug 5 07:22:48 CDT 2004
Adds CAPS2 structures.
-------------- next part --------------
Index: include/mmsystem.h
===================================================================
RCS file: /home/wine/wine/include/mmsystem.h,v
retrieving revision 1.72
diff -u -r1.72 mmsystem.h
--- include/mmsystem.h 16 Jul 2004 19:15:40 -0000 1.72
+++ include/mmsystem.h 5 Aug 2004 12:17:48 -0000
@@ -315,7 +315,7 @@
#define WHDR_ENDLOOP 0x00000008 /* loop end block */
#define WHDR_INQUEUE 0x00000010 /* reserved for driver */
-typedef struct {
+typedef struct tagWAVEOUTCAPSA {
WORD wMid; /* manufacturer ID */
WORD wPid; /* product ID */
MMVERSION vDriverVersion; /* version of the driver */
@@ -326,7 +326,7 @@
DWORD dwSupport; /* functionality supported by driver */
} WAVEOUTCAPSA, *LPWAVEOUTCAPSA;
-typedef struct {
+typedef struct tagWAVEOUTCAPSW {
WORD wMid; /* manufacturer ID */
WORD wPid; /* product ID */
MMVERSION vDriverVersion; /* version of the driver */
@@ -339,6 +339,36 @@
DECL_WINELIB_TYPE_AW(WAVEOUTCAPS)
DECL_WINELIB_TYPE_AW(LPWAVEOUTCAPS)
+typedef struct tagWAVEOUTCAPS2A {
+ WORD wMid; /* manufacturer ID */
+ WORD wPid; /* product ID */
+ MMVERSION vDriverVersion; /* version of the driver */
+ CHAR szPname[MAXPNAMELEN]; /* product name (0 terminated string) */
+ DWORD dwFormats; /* formats supported */
+ WORD wChannels; /* number of sources supported */
+ WORD wReserved1; /* padding */
+ DWORD dwSupport; /* functionality supported by driver */
+ GUID ManufacturerGuid; /* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} WAVEOUTCAPS2A, *LPWAVEOUTCAPS2A;
+
+typedef struct tagWAVEOUTCAPS2W {
+ WORD wMid; /* manufacturer ID */
+ WORD wPid; /* product ID */
+ MMVERSION vDriverVersion; /* version of the driver */
+ WCHAR szPname[MAXPNAMELEN]; /* product name (0 terminated string) */
+ DWORD dwFormats; /* formats supported */
+ WORD wChannels; /* number of sources supported */
+ WORD wReserved1; /* padding */
+ DWORD dwSupport; /* functionality supported by driver */
+ GUID ManufacturerGuid; /* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} WAVEOUTCAPS2W, *LPWAVEOUTCAPS2W;
+DECL_WINELIB_TYPE_AW(WAVEOUTCAPS2)
+DECL_WINELIB_TYPE_AW(LPWAVEOUTCAPS2)
+
#define WAVECAPS_PITCH 0x0001 /* supports pitch control */
#define WAVECAPS_PLAYBACKRATE 0x0002 /* supports playback rate control */
#define WAVECAPS_VOLUME 0x0004 /* supports volume control */
@@ -347,7 +377,7 @@
#define WAVECAPS_SAMPLEACCURATE 0x0020 /* position is sample accurate */
#define WAVECAPS_DIRECTSOUND 0x0040 /* ? */
-typedef struct {
+typedef struct tagWAVEINCAPSA {
WORD wMid; /* manufacturer ID */
WORD wPid; /* product ID */
MMVERSION vDriverVersion; /* version of the driver */
@@ -356,7 +386,7 @@
WORD wChannels; /* number of channels supported */
WORD wReserved1;
} WAVEINCAPSA, *LPWAVEINCAPSA;
-typedef struct {
+typedef struct tagWAVEINCAPSW {
WORD wMid; /* manufacturer ID */
WORD wPid; /* product ID */
MMVERSION vDriverVersion; /* version of the driver */
@@ -368,6 +398,33 @@
DECL_WINELIB_TYPE_AW(WAVEINCAPS)
DECL_WINELIB_TYPE_AW(LPWAVEINCAPS)
+typedef struct tagWAVEINCAPS2A {
+ WORD wMid; /* manufacturer ID */
+ WORD wPid; /* product ID */
+ MMVERSION vDriverVersion; /* version of the driver */
+ CHAR szPname[MAXPNAMELEN]; /* product name (0 terminated string) */
+ DWORD dwFormats; /* formats supported */
+ WORD wChannels; /* number of channels supported */
+ WORD wReserved1;
+ GUID ManufacturerGuid; /* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} WAVEINCAPS2A, *LPWAVEINCAPS2A;
+typedef struct tagWAVEINCAPS2W {
+ WORD wMid; /* manufacturer ID */
+ WORD wPid; /* product ID */
+ MMVERSION vDriverVersion; /* version of the driver */
+ WCHAR szPname[MAXPNAMELEN]; /* product name (0 terminated string) */
+ DWORD dwFormats; /* formats supported */
+ WORD wChannels; /* number of channels supported */
+ WORD wReserved1;
+ GUID ManufacturerGuid; /* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} WAVEINCAPS2W, *LPWAVEINCAPS2W;
+DECL_WINELIB_TYPE_AW(WAVEINCAPS2)
+DECL_WINELIB_TYPE_AW(LPWAVEINCAPS2)
+
#define WAVE_INVALIDFORMAT 0x00000000 /* invalid format */
#define WAVE_FORMAT_1M08 0x00000001 /* 11.025 kHz, Mono, 8-bit */
#define WAVE_FORMAT_1S08 0x00000002 /* 11.025 kHz, Stereo, 8-bit */
@@ -509,7 +566,7 @@
#define MIDI_CACHE_QUERY 3
#define MIDI_UNCACHE 4
-typedef struct {
+typedef struct tagMIDIOUTCAPSA {
WORD wMid; /* manufacturer ID */
WORD wPid; /* product ID */
MMVERSION vDriverVersion; /* version of the driver */
@@ -521,7 +578,7 @@
DWORD dwSupport; /* functionality supported by driver */
} MIDIOUTCAPSA, *LPMIDIOUTCAPSA;
-typedef struct {
+typedef struct tagMIDIOUTCAPSW {
WORD wMid; /* manufacturer ID */
WORD wPid; /* product ID */
MMVERSION vDriverVersion; /* version of the driver */
@@ -536,6 +593,39 @@
DECL_WINELIB_TYPE_AW(MIDIOUTCAPS)
DECL_WINELIB_TYPE_AW(LPMIDIOUTCAPS)
+typedef struct tagMIDIOUTCAPS2A {
+ WORD wMid; /* manufacturer ID */
+ WORD wPid; /* product ID */
+ MMVERSION vDriverVersion; /* version of the driver */
+ CHAR szPname[MAXPNAMELEN];/* product name (NULL terminated string) */
+ WORD wTechnology; /* type of device */
+ WORD wVoices; /* # of voices (internal synth only) */
+ WORD wNotes; /* max # of notes (internal synth only) */
+ WORD wChannelMask; /* channels used (internal synth only) */
+ DWORD dwSupport; /* functionality supported by driver */
+ GUID ManufacturerGuid;/* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} MIDIOUTCAPS2A, *LPMIDIOUTCAPS2A;
+
+typedef struct tagMIDIOUTCAPS2W {
+ WORD wMid; /* manufacturer ID */
+ WORD wPid; /* product ID */
+ MMVERSION vDriverVersion; /* version of the driver */
+ WCHAR szPname[MAXPNAMELEN];/* product name (NULL terminated string) */
+ WORD wTechnology; /* type of device */
+ WORD wVoices; /* # of voices (internal synth only) */
+ WORD wNotes; /* max # of notes (internal synth only) */
+ WORD wChannelMask; /* channels used (internal synth only) */
+ DWORD dwSupport; /* functionality supported by driver */
+ GUID ManufacturerGuid;/* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} MIDIOUTCAPS2W, *LPMIDIOUTCAPS2W;
+
+DECL_WINELIB_TYPE_AW(MIDIOUTCAPS2)
+DECL_WINELIB_TYPE_AW(LPMIDIOUTCAPS2)
+
#define MOD_MIDIPORT 1 /* output port */
#define MOD_SYNTH 2 /* generic internal synth */
#define MOD_SQSYNTH 3 /* square wave internal synth */
@@ -547,7 +637,7 @@
#define MIDICAPS_CACHE 0x0004
#define MIDICAPS_STREAM 0x0008 /* capable of supporting stream buffer */
-typedef struct {
+typedef struct tagMIDIINCAPSA {
WORD wMid; /* manufacturer ID */
WORD wPid; /* product ID */
MMVERSION vDriverVersion; /* version of the driver */
@@ -555,7 +645,7 @@
DWORD dwSupport; /* included in win95 and higher */
} MIDIINCAPSA, *LPMIDIINCAPSA;
-typedef struct {
+typedef struct tagMIDIINCAPSW {
WORD wMid; /* manufacturer ID */
WORD wPid; /* product ID */
MMVERSION vDriverVersion; /* version of the driver */
@@ -566,6 +656,31 @@
DECL_WINELIB_TYPE_AW(MIDIINCAPS)
DECL_WINELIB_TYPE_AW(LPMIDIINCAPS)
+typedef struct tagMIDIINCAPS2A {
+ WORD wMid; /* manufacturer ID */
+ WORD wPid; /* product ID */
+ MMVERSION vDriverVersion; /* version of the driver */
+ CHAR szPname[MAXPNAMELEN];/* product name (NULL terminated string) */
+ DWORD dwSupport; /* included in win95 and higher */
+ GUID ManufacturerGuid;/* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} MIDIINCAPS2A, *LPMIDIINCAPS2A;
+
+typedef struct tagMIDIINCAPS2W {
+ WORD wMid; /* manufacturer ID */
+ WORD wPid; /* product ID */
+ MMVERSION vDriverVersion; /* version of the driver */
+ WCHAR szPname[MAXPNAMELEN];/* product name (NULL terminated string) */
+ DWORD dwSupport; /* included in win95 and higher */
+ GUID ManufacturerGuid;/* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} MIDIINCAPS2W, *LPMIDIINCAPS2W;
+
+DECL_WINELIB_TYPE_AW(MIDIINCAPS2)
+DECL_WINELIB_TYPE_AW(LPMIDIINCAPS2)
+
/* It seems that Win32 has a slightly different structure than Win 16.
* sigh....
*/
@@ -672,7 +787,7 @@
#define AUX_MAPPER (-1)
-typedef struct {
+typedef struct tagAUXCAPSA {
WORD wMid; /* manufacturer ID */
WORD wPid; /* product ID */
MMVERSION vDriverVersion; /* version of the driver */
@@ -682,7 +797,7 @@
DWORD dwSupport; /* functionality supported by driver */
} AUXCAPSA, *LPAUXCAPSA;
-typedef struct {
+typedef struct tagAUXCAPSW {
WORD wMid; /* manufacturer ID */
WORD wPid; /* product ID */
MMVERSION vDriverVersion; /* version of the driver */
@@ -695,6 +810,35 @@
DECL_WINELIB_TYPE_AW(AUXCAPS)
DECL_WINELIB_TYPE_AW(LPAUXCAPS)
+typedef struct tagAUXCAPS2A {
+ WORD wMid; /* manufacturer ID */
+ WORD wPid; /* product ID */
+ MMVERSION vDriverVersion; /* version of the driver */
+ CHAR szPname[MAXPNAMELEN]; /* product name (NULL terminated string) */
+ WORD wTechnology; /* type of device */
+ WORD wReserved1; /* padding */
+ DWORD dwSupport; /* functionality supported by driver */
+ GUID ManufacturerGuid; /* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} AUXCAPS2A, *LPAUXCAPS2A;
+
+typedef struct tagAUXCAPS2W {
+ WORD wMid; /* manufacturer ID */
+ WORD wPid; /* product ID */
+ MMVERSION vDriverVersion; /* version of the driver */
+ WCHAR szPname[MAXPNAMELEN]; /* product name (NULL terminated string) */
+ WORD wTechnology; /* type of device */
+ WORD wReserved1; /* padding */
+ DWORD dwSupport; /* functionality supported by driver */
+ GUID ManufacturerGuid; /* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} AUXCAPS2W, *LPAUXCAPS2W;
+
+DECL_WINELIB_TYPE_AW(AUXCAPS2)
+DECL_WINELIB_TYPE_AW(LPAUXCAPS2)
+
#define AUXCAPS_CDAUDIO 1 /* audio from internal CD-ROM drive */
#define AUXCAPS_AUXIN 2 /* audio from auxiliary input jacks */
@@ -722,7 +866,7 @@
#define TIME_CALLBACK_EVENT_PULSE 0x0020 /* callback is event - use PulseEvent */
#define TIME_KILL_SYNCHRONOUS 0x0100
-typedef struct {
+typedef struct timecaps_tag {
UINT wPeriodMin;
UINT wPeriodMax;
} TIMECAPS, *LPTIMECAPS;
@@ -798,7 +942,7 @@
#define JOY_CAL_READUONLY 0x04000000
#define JOY_CAL_READVONLY 0x08000000
-typedef struct {
+typedef struct tagJOYCAPSA {
WORD wMid;
WORD wPid;
CHAR szPname[MAXPNAMELEN];
@@ -825,7 +969,7 @@
CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
} JOYCAPSA, *LPJOYCAPSA;
-typedef struct {
+typedef struct tagJOYCAPSW {
WORD wMid;
WORD wPid;
WCHAR szPname[MAXPNAMELEN];
@@ -854,14 +998,76 @@
DECL_WINELIB_TYPE_AW(JOYCAPS)
DECL_WINELIB_TYPE_AW(LPJOYCAPS)
-typedef struct {
+typedef struct tagJOYCAPS2A {
+ WORD wMid;
+ WORD wPid;
+ CHAR szPname[MAXPNAMELEN];
+ UINT wXmin;
+ UINT wXmax;
+ UINT wYmin;
+ UINT wYmax;
+ UINT wZmin;
+ UINT wZmax;
+ UINT wNumButtons;
+ UINT wPeriodMin;
+ UINT wPeriodMax;
+ UINT wRmin;
+ UINT wRmax;
+ UINT wUmin;
+ UINT wUmax;
+ UINT wVmin;
+ UINT wVmax;
+ UINT wCaps;
+ UINT wMaxAxes;
+ UINT wNumAxes;
+ UINT wMaxButtons;
+ CHAR szRegKey[MAXPNAMELEN];
+ CHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
+ GUID ManufacturerGuid; /* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} JOYCAPS2A, *LPJOYCAPS2A;
+
+typedef struct tagJOYCAPS2W {
+ WORD wMid;
+ WORD wPid;
+ WCHAR szPname[MAXPNAMELEN];
+ UINT wXmin;
+ UINT wXmax;
+ UINT wYmin;
+ UINT wYmax;
+ UINT wZmin;
+ UINT wZmax;
+ UINT wNumButtons;
+ UINT wPeriodMin;
+ UINT wPeriodMax;
+ UINT wRmin;
+ UINT wRmax;
+ UINT wUmin;
+ UINT wUmax;
+ UINT wVmin;
+ UINT wVmax;
+ UINT wCaps;
+ UINT wMaxAxes;
+ UINT wNumAxes;
+ UINT wMaxButtons;
+ WCHAR szRegKey[MAXPNAMELEN];
+ WCHAR szOEMVxD[MAX_JOYSTICKOEMVXDNAME];
+ GUID ManufacturerGuid; /* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} JOYCAPS2W, *LPJOYCAPS2W;
+DECL_WINELIB_TYPE_AW(JOYCAPS2)
+DECL_WINELIB_TYPE_AW(LPJOYCAPS2)
+
+typedef struct joyinfo_tag {
UINT wXpos;
UINT wYpos;
UINT wZpos;
UINT wButtons;
} JOYINFO, *LPJOYINFO;
-typedef struct {
+typedef struct joyinfoex_tag {
DWORD dwSize; /* size of structure */
DWORD dwFlags; /* flags to indicate what to return */
DWORD dwXpos; /* x position */
@@ -895,7 +1101,7 @@
#define MIXERR_INVALVALUE (MIXERR_BASE + 2)
#define MIXERR_LASTERROR (MIXERR_BASE + 2)
-typedef struct {
+typedef struct tagMIXERCAPSA {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
@@ -904,7 +1110,7 @@
DWORD cDestinations;
} MIXERCAPSA,*LPMIXERCAPSA;
-typedef struct {
+typedef struct tagMIXERCAPSW {
WORD wMid;
WORD wPid;
MMVERSION vDriverVersion;
@@ -915,6 +1121,33 @@
DECL_WINELIB_TYPE_AW(MIXERCAPS)
DECL_WINELIB_TYPE_AW(LPMIXERCAPS)
+
+typedef struct tagMIXERCAPS2A {
+ WORD wMid;
+ WORD wPid;
+ MMVERSION vDriverVersion;
+ CHAR szPname[MAXPNAMELEN];
+ DWORD fdwSupport;
+ DWORD cDestinations;
+ GUID ManufacturerGuid; /* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} MIXERCAPS2A,*LPMIXERCAPS2A;
+
+typedef struct tagMIXERCAPS2W {
+ WORD wMid;
+ WORD wPid;
+ MMVERSION vDriverVersion;
+ WCHAR szPname[MAXPNAMELEN];
+ DWORD fdwSupport;
+ DWORD cDestinations;
+ GUID ManufacturerGuid; /* for extensible MID mapping */
+ GUID ProductGuid; /* for extensible PID mapping */
+ GUID NameGuid; /* for name lookup in registry */
+} MIXERCAPS2W,*LPMIXERCAPS2W;
+
+DECL_WINELIB_TYPE_AW(MIXERCAPS2)
+DECL_WINELIB_TYPE_AW(LPMIXERCAPS2)
#define MIXER_SHORT_NAME_CHARS 16
#define MIXER_LONG_NAME_CHARS 64
More information about the wine-patches
mailing list