Headers diff for winmm.dll between 6.0.6002.18005-Windows 6.0 and 6.1.7600.16385-Windows 7.0 versions



 mmsystem.h (6.0.6002.18005-Windows 6.0)   mmsystem.h (6.1.7600.16385-Windows 7.0) 
skipping to change at line 32 skipping to change at line 32
* MMNOMCI MCI support * MMNOMCI MCI support
* MMNOMMIO Multimedia file I/O support * MMNOMMIO Multimedia file I/O support
* MMNOMMSYSTEM General MMSYSTEM functions * MMNOMMSYSTEM General MMSYSTEM functions
* *
*========================================================================== *==========================================================================
*/ */
#ifndef _INC_MMSYSTEM #ifndef _INC_MMSYSTEM
#define _INC_MMSYSTEM /* #defined if mmsystem.h has been included */ #define _INC_MMSYSTEM /* #defined if mmsystem.h has been included */
#pragma warning(disable:4201) // nameless struct/union
#ifdef _WIN32 #ifdef _WIN32
#include <pshpack1.h> #include <pshpack1.h>
#else #else
#ifndef RC_INVOKED #ifndef RC_INVOKED
#pragma pack(1) #pragma pack(1)
#endif #endif
#endif #endif
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { /* Assume C declarations for C++ */ extern "C" { /* Assume C declarations for C++ */
skipping to change at line 403 skipping to change at line 405
#define CALLBACK_THREAD (CALLBACK_TASK)/* thread ID replaces 16 bit task */ #define CALLBACK_THREAD (CALLBACK_TASK)/* thread ID replaces 16 bit task */
#define CALLBACK_EVENT 0x00050000l /* dwCallback is an EVENT Handle */ #define CALLBACK_EVENT 0x00050000l /* dwCallback is an EVENT Handle */
#endif #endif
typedef void (CALLBACK DRVCALLBACK)(HDRVR hdrvr, UINT uMsg, DWORD_PTR dwUser, DW ORD_PTR dw1, DWORD_PTR dw2); typedef void (CALLBACK DRVCALLBACK)(HDRVR hdrvr, UINT uMsg, DWORD_PTR dwUser, DW ORD_PTR dw1, DWORD_PTR dw2);
typedef DRVCALLBACK FAR *LPDRVCALLBACK; typedef DRVCALLBACK FAR *LPDRVCALLBACK;
#ifdef _WIN32 #ifdef _WIN32
typedef DRVCALLBACK *PDRVCALLBACK; typedef DRVCALLBACK *PDRVCALLBACK;
#endif #endif
#ifndef MMNOMMSYSTEM
/****************************************************************************
General MMSYSTEM support
****************************************************************************/
#if (WINVER <= 0x030A)
WINMMAPI UINT WINAPI mmsystemGetVersion(void);
#endif
#ifdef _WIN32
#define OutputDebugStr OutputDebugString
#else
void WINAPI OutputDebugStr(LPCSTR);
#endif
#endif /* ifndef MMNOMMSYSTEM */
#ifndef MMNOSOUND #ifndef MMNOSOUND
/**************************************************************************** /****************************************************************************
Sound support Sound support
****************************************************************************/ ****************************************************************************/
#ifdef _WIN32 #ifdef _WIN32
WINMMAPI BOOL WINAPI sndPlaySoundA( __in_opt LPCSTR pszSound, __in UINT fuSound) ; WINMMAPI BOOL WINAPI sndPlaySoundA( __in_opt LPCSTR pszSound, __in UINT fuSound) ;
skipping to change at line 462 skipping to change at line 446
#define SND_NOWAIT 0x00002000L /* don't wait if the driver is busy */ #define SND_NOWAIT 0x00002000L /* don't wait if the driver is busy */
#define SND_ALIAS 0x00010000L /* name is a registry alias */ #define SND_ALIAS 0x00010000L /* name is a registry alias */
#define SND_ALIAS_ID 0x00110000L /* alias is a predefined ID */ #define SND_ALIAS_ID 0x00110000L /* alias is a predefined ID */
#define SND_FILENAME 0x00020000L /* name is file name */ #define SND_FILENAME 0x00020000L /* name is file name */
#define SND_RESOURCE 0x00040004L /* name is resource name or atom */ #define SND_RESOURCE 0x00040004L /* name is resource name or atom */
#if(WINVER >= 0x0400) #if(WINVER >= 0x0400)
#define SND_PURGE 0x0040 /* purge non-static events for task */ #define SND_PURGE 0x0040 /* purge non-static events for task */
#define SND_APPLICATION 0x0080 /* look for application specific association */ #define SND_APPLICATION 0x0080 /* look for application specific association */
#endif /* WINVER >= 0x0400 */ #endif /* WINVER >= 0x0400 */
#define SND_SENTRY 0x00080000L /* Generate a SoundSentry event with this so und */ #define SND_SENTRY 0x00080000L /* Generate a SoundSentry event with this so und */
#define SND_RING 0x00100000L /* Treat this as a "ring" from a communicati ons app - don't duck me */
#define SND_SYSTEM 0x00200000L /* Treat this as a system sound */ #define SND_SYSTEM 0x00200000L /* Treat this as a system sound */
#define SND_ALIAS_START 0 /* alias base */ #define SND_ALIAS_START 0 /* alias base */
#ifdef _WIN32 #ifdef _WIN32
#define sndAlias(ch0, ch1) (SND_ALIAS_START + (DWORD)(BYTE)(ch0) | ((DWORD) (BYTE)(ch1) << 8)) #define sndAlias(ch0, ch1) (SND_ALIAS_START + (DWORD)(BYTE)(ch0) | ((DWORD) (BYTE)(ch1) << 8))
#define SND_ALIAS_SYSTEMASTERISK sndAlias('S', '*') #define SND_ALIAS_SYSTEMASTERISK sndAlias('S', '*')
#define SND_ALIAS_SYSTEMQUESTION sndAlias('S', '?') #define SND_ALIAS_SYSTEMQUESTION sndAlias('S', '?')
#define SND_ALIAS_SYSTEMHAND sndAlias('S', 'H') #define SND_ALIAS_SYSTEMHAND sndAlias('S', 'H')
skipping to change at line 527 skipping to change at line 512
#define WOM_CLOSE MM_WOM_CLOSE #define WOM_CLOSE MM_WOM_CLOSE
#define WOM_DONE MM_WOM_DONE #define WOM_DONE MM_WOM_DONE
#define WIM_OPEN MM_WIM_OPEN #define WIM_OPEN MM_WIM_OPEN
#define WIM_CLOSE MM_WIM_CLOSE #define WIM_CLOSE MM_WIM_CLOSE
#define WIM_DATA MM_WIM_DATA #define WIM_DATA MM_WIM_DATA
/* device ID for wave device mapper */ /* device ID for wave device mapper */
#define WAVE_MAPPER ((UINT)-1) #define WAVE_MAPPER ((UINT)-1)
/* flags for dwFlags parameter in waveOutOpen() and waveInOpen() */ /* flags for dwFlags parameter in waveOutOpen() and waveInOpen() */
#define WAVE_FORMAT_QUERY 0x0001 #define WAVE_FORMAT_QUERY 0x0001
#define WAVE_ALLOWSYNC 0x0002 #define WAVE_ALLOWSYNC 0x0002
#if(WINVER >= 0x0400) #if(WINVER >= 0x0400)
#define WAVE_MAPPED 0x0004 #define WAVE_MAPPED 0x0004
#define WAVE_FORMAT_DIRECT 0x0008 #define WAVE_FORMAT_DIRECT 0x0008
#define WAVE_FORMAT_DIRECT_QUERY (WAVE_FORMAT_QUERY | WAVE_FORMAT_DIRECT) #define WAVE_FORMAT_DIRECT_QUERY (WAVE_FORMAT_QUERY | WAVE_FO
RMAT_DIRECT)
#define WAVE_MAPPED_DEFAULT_COMMUNICATION_DEVICE 0x0010
#endif /* WINVER >= 0x0400 */ #endif /* WINVER >= 0x0400 */
/* wave data block header */ /* wave data block header */
typedef struct wavehdr_tag { typedef struct wavehdr_tag {
LPSTR lpData; /* pointer to locked data buffer */ LPSTR lpData; /* pointer to locked data buffer */
DWORD dwBufferLength; /* length of data buffer */ DWORD dwBufferLength; /* length of data buffer */
DWORD dwBytesRecorded; /* used for input only */ DWORD dwBytesRecorded; /* used for input only */
DWORD_PTR dwUser; /* for client's use */ DWORD_PTR dwUser; /* for client's use */
DWORD dwFlags; /* assorted flags (see defines) */ DWORD dwFlags; /* assorted flags (see defines) */
DWORD dwLoops; /* loop control counter */ DWORD dwLoops; /* loop control counter */
skipping to change at line 1773 skipping to change at line 1759
/* */ /* */
#define MIXERLINE_TARGETTYPE_UNDEFINED 0 #define MIXERLINE_TARGETTYPE_UNDEFINED 0
#define MIXERLINE_TARGETTYPE_WAVEOUT 1 #define MIXERLINE_TARGETTYPE_WAVEOUT 1
#define MIXERLINE_TARGETTYPE_WAVEIN 2 #define MIXERLINE_TARGETTYPE_WAVEIN 2
#define MIXERLINE_TARGETTYPE_MIDIOUT 3 #define MIXERLINE_TARGETTYPE_MIDIOUT 3
#define MIXERLINE_TARGETTYPE_MIDIIN 4 #define MIXERLINE_TARGETTYPE_MIDIIN 4
#define MIXERLINE_TARGETTYPE_AUX 5 #define MIXERLINE_TARGETTYPE_AUX 5
#ifdef _WIN32 #ifdef _WIN32
WINMMAPI MMRESULT WINAPI mixerGetLineInfoA( __in_opt HMIXEROBJ hmxobj, __out LPM WINMMAPI MMRESULT WINAPI mixerGetLineInfoA( __in_opt HMIXEROBJ hmxobj, __inout L
IXERLINEA pmxl, __in DWORD fdwInfo); PMIXERLINEA pmxl, __in DWORD fdwInfo);
WINMMAPI MMRESULT WINAPI mixerGetLineInfoW( __in_opt HMIXEROBJ hmxobj, __out LPM WINMMAPI MMRESULT WINAPI mixerGetLineInfoW( __in_opt HMIXEROBJ hmxobj, __inout L
IXERLINEW pmxl, __in DWORD fdwInfo); PMIXERLINEW pmxl, __in DWORD fdwInfo);
#ifdef UNICODE #ifdef UNICODE
#define mixerGetLineInfo mixerGetLineInfoW #define mixerGetLineInfo mixerGetLineInfoW
#else #else
#define mixerGetLineInfo mixerGetLineInfoA #define mixerGetLineInfo mixerGetLineInfoA
#endif // !UNICODE #endif // !UNICODE
#else #else
MMRESULT WINAPI mixerGetLineInfo(HMIXEROBJ hmxobj, LPMIXERLINE pmxl, DWORD fdwIn fo); MMRESULT WINAPI mixerGetLineInfo(HMIXEROBJ hmxobj, LPMIXERLINE pmxl, DWORD fdwIn fo);
#endif #endif
skipping to change at line 1813 skipping to change at line 1799
DWORD dwControlID; /* unique control id for mixer device */ DWORD dwControlID; /* unique control id for mixer device */
DWORD dwControlType; /* MIXERCONTROL_CONTROLTYPE_xxx */ DWORD dwControlType; /* MIXERCONTROL_CONTROLTYPE_xxx */
DWORD fdwControl; /* MIXERCONTROL_CONTROLF_xxx */ DWORD fdwControl; /* MIXERCONTROL_CONTROLF_xxx */
DWORD cMultipleItems; /* if MIXERCONTROL_CONTROLF_MULTIPLE set */ DWORD cMultipleItems; /* if MIXERCONTROL_CONTROLF_MULTIPLE set */
CHAR szShortName[MIXER_SHORT_NAME_CHARS]; CHAR szShortName[MIXER_SHORT_NAME_CHARS];
CHAR szName[MIXER_LONG_NAME_CHARS]; CHAR szName[MIXER_LONG_NAME_CHARS];
union { union {
struct { struct {
LONG lMinimum; /* signed minimum for this control */ LONG lMinimum; /* signed minimum for this control */
LONG lMaximum; /* signed maximum for this control */ LONG lMaximum; /* signed maximum for this control */
}; } DUMMYSTRUCTNAME;
struct { struct {
DWORD dwMinimum; /* unsigned minimum for this control */ DWORD dwMinimum; /* unsigned minimum for this control */
DWORD dwMaximum; /* unsigned maximum for this control */ DWORD dwMaximum; /* unsigned maximum for this control */
}; } DUMMYSTRUCTNAME2;
DWORD dwReserved[6]; DWORD dwReserved[6];
} Bounds; } Bounds;
union { union {
DWORD cSteps; /* # of steps between min & max */ DWORD cSteps; /* # of steps between min & max */
DWORD cbCustomData; /* size in bytes of custom data */ DWORD cbCustomData; /* size in bytes of custom data */
DWORD dwReserved[6]; /* !!! needed? we have cbStruct.... */ DWORD dwReserved[6]; /* !!! needed? we have cbStruct.... */
} Metrics; } Metrics;
} MIXERCONTROLA, *PMIXERCONTROLA, *LPMIXERCONTROLA; } MIXERCONTROLA, *PMIXERCONTROLA, *LPMIXERCONTROLA;
typedef struct tagMIXERCONTROLW { typedef struct tagMIXERCONTROLW {
DWORD cbStruct; /* size in bytes of MIXERCONTROL */ DWORD cbStruct; /* size in bytes of MIXERCONTROL */
DWORD dwControlID; /* unique control id for mixer device */ DWORD dwControlID; /* unique control id for mixer device */
DWORD dwControlType; /* MIXERCONTROL_CONTROLTYPE_xxx */ DWORD dwControlType; /* MIXERCONTROL_CONTROLTYPE_xxx */
DWORD fdwControl; /* MIXERCONTROL_CONTROLF_xxx */ DWORD fdwControl; /* MIXERCONTROL_CONTROLF_xxx */
DWORD cMultipleItems; /* if MIXERCONTROL_CONTROLF_MULTIPLE set */ DWORD cMultipleItems; /* if MIXERCONTROL_CONTROLF_MULTIPLE set */
WCHAR szShortName[MIXER_SHORT_NAME_CHARS]; WCHAR szShortName[MIXER_SHORT_NAME_CHARS];
WCHAR szName[MIXER_LONG_NAME_CHARS]; WCHAR szName[MIXER_LONG_NAME_CHARS];
union { union {
struct { struct {
LONG lMinimum; /* signed minimum for this control */ LONG lMinimum; /* signed minimum for this control */
LONG lMaximum; /* signed maximum for this control */ LONG lMaximum; /* signed maximum for this control */
}; } DUMMYSTRUCTNAME;
struct { struct {
DWORD dwMinimum; /* unsigned minimum for this control */ DWORD dwMinimum; /* unsigned minimum for this control */
DWORD dwMaximum; /* unsigned maximum for this control */ DWORD dwMaximum; /* unsigned maximum for this control */
}; } DUMMYSTRUCTNAME2;
DWORD dwReserved[6]; DWORD dwReserved[6];
} Bounds; } Bounds;
union { union {
DWORD cSteps; /* # of steps between min & max */ DWORD cSteps; /* # of steps between min & max */
DWORD cbCustomData; /* size in bytes of custom data */ DWORD cbCustomData; /* size in bytes of custom data */
DWORD dwReserved[6]; /* !!! needed? we have cbStruct.... */ DWORD dwReserved[6]; /* !!! needed? we have cbStruct.... */
} Metrics; } Metrics;
} MIXERCONTROLW, *PMIXERCONTROLW, *LPMIXERCONTROLW; } MIXERCONTROLW, *PMIXERCONTROLW, *LPMIXERCONTROLW;
#ifdef UNICODE #ifdef UNICODE
typedef MIXERCONTROLW MIXERCONTROL; typedef MIXERCONTROLW MIXERCONTROL;
skipping to change at line 1874 skipping to change at line 1860
DWORD dwControlID; /* unique control id for mixer device */ DWORD dwControlID; /* unique control id for mixer device */
DWORD dwControlType; /* MIXERCONTROL_CONTROLTYPE_xxx */ DWORD dwControlType; /* MIXERCONTROL_CONTROLTYPE_xxx */
DWORD fdwControl; /* MIXERCONTROL_CONTROLF_xxx */ DWORD fdwControl; /* MIXERCONTROL_CONTROLF_xxx */
DWORD cMultipleItems; /* if MIXERCONTROL_CONTROLF_MULTIPLE set */ DWORD cMultipleItems; /* if MIXERCONTROL_CONTROLF_MULTIPLE set */
char szShortName[MIXER_SHORT_NAME_CHARS]; char szShortName[MIXER_SHORT_NAME_CHARS];
char szName[MIXER_LONG_NAME_CHARS]; char szName[MIXER_LONG_NAME_CHARS];
union { union {
struct { struct {
LONG lMinimum; /* signed minimum for this control */ LONG lMinimum; /* signed minimum for this control */
LONG lMaximum; /* signed maximum for this control */ LONG lMaximum; /* signed maximum for this control */
}; } DUMMYSTRUCTNAME;
struct { struct {
DWORD dwMinimum; /* unsigned minimum for this control */ DWORD dwMinimum; /* unsigned minimum for this control */
DWORD dwMaximum; /* unsigned maximum for this control */ DWORD dwMaximum; /* unsigned maximum for this control */
}; } DUMMYSTRUCTNAME2;
DWORD dwReserved[6]; DWORD dwReserved[6];
} Bounds; } Bounds;
union { union {
DWORD cSteps; /* # of steps between min & max */ DWORD cSteps; /* # of steps between min & max */
DWORD cbCustomData; /* size in bytes of custom data */ DWORD cbCustomData; /* size in bytes of custom data */
DWORD dwReserved[6]; /* !!! needed? we have cbStruct.... */ DWORD dwReserved[6]; /* !!! needed? we have cbStruct.... */
} Metrics; } Metrics;
} MIXERCONTROL, *PMIXERCONTROL, FAR *LPMIXERCONTROL; } MIXERCONTROL, *PMIXERCONTROL, FAR *LPMIXERCONTROL;
#endif #endif
skipping to change at line 1979 skipping to change at line 1965
/* MIXERLINECONTROLS */ /* MIXERLINECONTROLS */
/* */ /* */
#ifdef _WIN32 #ifdef _WIN32
typedef struct tagMIXERLINECONTROLSA { typedef struct tagMIXERLINECONTROLSA {
DWORD cbStruct; /* size in bytes of MIXERLINECONTROLS */ DWORD cbStruct; /* size in bytes of MIXERLINECONTROLS */
DWORD dwLineID; /* line id (from MIXERLINE.dwLineID) */ DWORD dwLineID; /* line id (from MIXERLINE.dwLineID) */
union { union {
DWORD dwControlID; /* MIXER_GETLINECONTROLSF_ONEBYID */ DWORD dwControlID; /* MIXER_GETLINECONTROLSF_ONEBYID */
DWORD dwControlType; /* MIXER_GETLINECONTROLSF_ONEBYTYPE */ DWORD dwControlType; /* MIXER_GETLINECONTROLSF_ONEBYTYPE */
}; } DUMMYUNIONNAME;
DWORD cControls; /* count of controls pmxctrl points to */ DWORD cControls; /* count of controls pmxctrl points to */
DWORD cbmxctrl; /* size in bytes of _one_ MIXERCONTROL */ DWORD cbmxctrl; /* size in bytes of _one_ MIXERCONTROL */
LPMIXERCONTROLA pamxctrl; /* pointer to first MIXERCONTROL array */ LPMIXERCONTROLA pamxctrl; /* pointer to first MIXERCONTROL array */
} MIXERLINECONTROLSA, *PMIXERLINECONTROLSA, *LPMIXERLINECONTROLSA; } MIXERLINECONTROLSA, *PMIXERLINECONTROLSA, *LPMIXERLINECONTROLSA;
typedef struct tagMIXERLINECONTROLSW { typedef struct tagMIXERLINECONTROLSW {
DWORD cbStruct; /* size in bytes of MIXERLINECONTROLS */ DWORD cbStruct; /* size in bytes of MIXERLINECONTROLS */
DWORD dwLineID; /* line id (from MIXERLINE.dwLineID) */ DWORD dwLineID; /* line id (from MIXERLINE.dwLineID) */
union { union {
DWORD dwControlID; /* MIXER_GETLINECONTROLSF_ONEBYID */ DWORD dwControlID; /* MIXER_GETLINECONTROLSF_ONEBYID */
DWORD dwControlType; /* MIXER_GETLINECONTROLSF_ONEBYTYPE */ DWORD dwControlType; /* MIXER_GETLINECONTROLSF_ONEBYTYPE */
}; } DUMMYUNIONNAME;
DWORD cControls; /* count of controls pmxctrl points to */ DWORD cControls; /* count of controls pmxctrl points to */
DWORD cbmxctrl; /* size in bytes of _one_ MIXERCONTROL */ DWORD cbmxctrl; /* size in bytes of _one_ MIXERCONTROL */
LPMIXERCONTROLW pamxctrl; /* pointer to first MIXERCONTROL array */ LPMIXERCONTROLW pamxctrl; /* pointer to first MIXERCONTROL array */
} MIXERLINECONTROLSW, *PMIXERLINECONTROLSW, *LPMIXERLINECONTROLSW; } MIXERLINECONTROLSW, *PMIXERLINECONTROLSW, *LPMIXERLINECONTROLSW;
#ifdef UNICODE #ifdef UNICODE
typedef MIXERLINECONTROLSW MIXERLINECONTROLS; typedef MIXERLINECONTROLSW MIXERLINECONTROLS;
typedef PMIXERLINECONTROLSW PMIXERLINECONTROLS; typedef PMIXERLINECONTROLSW PMIXERLINECONTROLS;
typedef LPMIXERLINECONTROLSW LPMIXERLINECONTROLS; typedef LPMIXERLINECONTROLSW LPMIXERLINECONTROLS;
#else #else
typedef MIXERLINECONTROLSA MIXERLINECONTROLS; typedef MIXERLINECONTROLSA MIXERLINECONTROLS;
skipping to change at line 2049 skipping to change at line 2035
#define MIXER_GETLINECONTROLSF_QUERYMASK 0x0000000FL #define MIXER_GETLINECONTROLSF_QUERYMASK 0x0000000FL
typedef struct tMIXERCONTROLDETAILS { typedef struct tMIXERCONTROLDETAILS {
DWORD cbStruct; /* size in bytes of MIXERCONTROLDETAILS */ DWORD cbStruct; /* size in bytes of MIXERCONTROLDETAILS */
DWORD dwControlID; /* control id to get/set details on */ DWORD dwControlID; /* control id to get/set details on */
DWORD cChannels; /* number of channels in paDetails array */ DWORD cChannels; /* number of channels in paDetails array */
union { union {
HWND hwndOwner; /* for MIXER_SETCONTROLDETAILSF_CUSTOM */ HWND hwndOwner; /* for MIXER_SETCONTROLDETAILSF_CUSTOM */
DWORD cMultipleItems; /* if _MULTIPLE, the number of items per cha nnel */ DWORD cMultipleItems; /* if _MULTIPLE, the number of items per cha nnel */
}; } DUMMYUNIONNAME;
DWORD cbDetails; /* size of _one_ details_XX struct */ DWORD cbDetails; /* size of _one_ details_XX struct */
LPVOID paDetails; /* pointer to array of details_XX structs */ LPVOID paDetails; /* pointer to array of details_XX structs */
} MIXERCONTROLDETAILS, *PMIXERCONTROLDETAILS, FAR *LPMIXERCONTROLDETAILS; } MIXERCONTROLDETAILS, *PMIXERCONTROLDETAILS, FAR *LPMIXERCONTROLDETAILS;
/* */ /* */
/* MIXER_GETCONTROLDETAILSF_LISTTEXT */ /* MIXER_GETCONTROLDETAILSF_LISTTEXT */
/* */ /* */
/* */ /* */
#ifdef _WIN32 #ifdef _WIN32
 End of changes. 15 change blocks. 
36 lines changed or deleted 23 lines changed or added

This html diff was produced by rfcdiff 1.41.