Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
32c17034
Commit
32c17034
authored
Oct 22, 2009
by
Eric Pouech
Committed by
Alexandre Julliard
Oct 23, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winmm: Move the 16bit management of wave out driver type to the new 16=>32 thunking scheme.
parent
739f3304
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
90 additions
and
68 deletions
+90
-68
message16.c
dlls/winmm/message16.c
+48
-19
mmsystem.c
dlls/winmm/mmsystem.c
+32
-35
winemm.h
dlls/winmm/winemm.h
+0
-4
winmm.c
dlls/winmm/winmm.c
+10
-10
No files found.
dlls/winmm/message16.c
View file @
32c17034
...
...
@@ -1293,11 +1293,11 @@ static void MMSYSTDRV_WaveIn_MapCB(UINT uMsg, DWORD_PTR* dwUser, DWORD_PTR*
* ================================= */
/**************************************************************************
* MMDRV_WaveOut_Map16To32W [internal]
* MM
SYST
DRV_WaveOut_Map16To32W [internal]
*/
static
WINMM_MapType
MMDRV_WaveOut_Map16To32W
(
UINT
wMsg
,
DWORD_PTR
*
lpdwUser
,
DWORD_PTR
*
lpParam1
,
DWORD_PTR
*
lpParam2
)
static
MMSYSTEM_MapType
MMSYSTDRV_WaveOut_Map16To32W
(
UINT
wMsg
,
DWORD_PTR
*
lpParam1
,
DWORD_PTR
*
lpParam2
)
{
WINMM_MapType
ret
=
WINM
M_MAP_MSGERROR
;
MMSYSTEM_MapType
ret
=
MMSYSTE
M_MAP_MSGERROR
;
switch
(
wMsg
)
{
/* nothing to do */
...
...
@@ -1310,7 +1310,7 @@ static WINMM_MapType MMDRV_WaveOut_Map16To32W (UINT wMsg, DWORD_PTR *lpdwUser,
case
WODM_SETPITCH
:
case
WODM_SETPLAYBACKRATE
:
case
WODM_SETVOLUME
:
ret
=
WINM
M_MAP_OK
;
ret
=
MMSYSTE
M_MAP_OK
;
break
;
case
WODM_GETPITCH
:
...
...
@@ -1331,9 +1331,9 @@ static WINMM_MapType MMDRV_WaveOut_Map16To32W (UINT wMsg, DWORD_PTR *lpdwUser,
*
lpParam1
=
(
DWORD
)
woc32
;
*
lpParam2
=
sizeof
(
WAVEOUTCAPSW
);
ret
=
WINM
M_MAP_OKMEM
;
ret
=
MMSYSTE
M_MAP_OKMEM
;
}
else
{
ret
=
WINM
M_MAP_NOMEM
;
ret
=
MMSYSTE
M_MAP_NOMEM
;
}
}
break
;
...
...
@@ -1350,9 +1350,9 @@ static WINMM_MapType MMDRV_WaveOut_Map16To32W (UINT wMsg, DWORD_PTR *lpdwUser,
*
lpParam1
=
(
DWORD
)
mmt32
;
*
lpParam2
=
sizeof
(
MMTIME
);
ret
=
WINM
M_MAP_OKMEM
;
ret
=
MMSYSTE
M_MAP_OKMEM
;
}
else
{
ret
=
WINM
M_MAP_NOMEM
;
ret
=
MMSYSTE
M_MAP_NOMEM
;
}
}
break
;
...
...
@@ -1376,9 +1376,9 @@ static WINMM_MapType MMDRV_WaveOut_Map16To32W (UINT wMsg, DWORD_PTR *lpdwUser,
*
lpParam1
=
(
DWORD
)
wh32
;
*
lpParam2
=
sizeof
(
WAVEHDR
);
ret
=
WINM
M_MAP_OKMEM
;
ret
=
MMSYSTE
M_MAP_OKMEM
;
}
else
{
ret
=
WINM
M_MAP_NOMEM
;
ret
=
MMSYSTE
M_MAP_NOMEM
;
}
}
break
;
...
...
@@ -1396,12 +1396,12 @@ static WINMM_MapType MMDRV_WaveOut_Map16To32W (UINT wMsg, DWORD_PTR *lpdwUser,
wh32
->
dwBufferLength
,
wh16
->
dwBufferLength
);
}
else
wh32
->
dwBufferLength
=
wh16
->
dwBufferLength
;
ret
=
WINM
M_MAP_OKMEM
;
ret
=
MMSYSTE
M_MAP_OKMEM
;
}
break
;
case
WODM_MAPPER_STATUS
:
*
lpParam2
=
(
DWORD
)
MapSL
(
*
lpParam2
);
ret
=
WINM
M_MAP_OK
;
ret
=
MMSYSTE
M_MAP_OK
;
break
;
default:
FIXME
(
"NIY: no conversion yet for %u [%lx,%lx]
\n
"
,
wMsg
,
*
lpParam1
,
*
lpParam2
);
...
...
@@ -1411,11 +1411,11 @@ static WINMM_MapType MMDRV_WaveOut_Map16To32W (UINT wMsg, DWORD_PTR *lpdwUser,
}
/**************************************************************************
* MMDRV_WaveOut_UnMap16To32W [internal]
* MM
SYST
DRV_WaveOut_UnMap16To32W [internal]
*/
static
WINMM_MapType
MMDRV_WaveOut_UnMap16To32W
(
UINT
wMsg
,
DWORD_PTR
*
lpdwUser
,
DWORD_PTR
*
lpParam1
,
DWORD_PTR
*
lpParam2
,
MMRESULT
fn_ret
)
static
MMSYSTEM_MapType
MMSYSTDRV_WaveOut_UnMap16To32W
(
UINT
wMsg
,
DWORD_PTR
*
lpParam1
,
DWORD_PTR
*
lpParam2
,
MMRESULT
fn_ret
)
{
WINMM_MapType
ret
=
WINM
M_MAP_MSGERROR
;
MMSYSTEM_MapType
ret
=
MMSYSTE
M_MAP_MSGERROR
;
switch
(
wMsg
)
{
/* nothing to do */
...
...
@@ -1429,7 +1429,7 @@ static WINMM_MapType MMDRV_WaveOut_UnMap16To32W(UINT wMsg, DWORD_PTR *lpdwUser,
case
WODM_SETPLAYBACKRATE
:
case
WODM_SETVOLUME
:
case
WODM_MAPPER_STATUS
:
ret
=
WINM
M_MAP_OK
;
ret
=
MMSYSTE
M_MAP_OK
;
break
;
case
WODM_GETPITCH
:
...
...
@@ -1453,7 +1453,7 @@ static WINMM_MapType MMDRV_WaveOut_UnMap16To32W(UINT wMsg, DWORD_PTR *lpdwUser,
woc16
->
wChannels
=
woc32
->
wChannels
;
woc16
->
dwSupport
=
woc32
->
dwSupport
;
HeapFree
(
GetProcessHeap
(),
0
,
(
LPSTR
)
woc32
-
sizeof
(
LPWAVEOUTCAPS16
));
ret
=
WINM
M_MAP_OK
;
ret
=
MMSYSTE
M_MAP_OK
;
}
break
;
case
WODM_GETPOS
:
...
...
@@ -1463,7 +1463,7 @@ static WINMM_MapType MMDRV_WaveOut_UnMap16To32W(UINT wMsg, DWORD_PTR *lpdwUser,
MMSYSTEM_MMTIME32to16
(
mmt16
,
mmt32
);
HeapFree
(
GetProcessHeap
(),
0
,
(
LPSTR
)
mmt32
-
sizeof
(
LPMMTIME16
));
ret
=
WINM
M_MAP_OK
;
ret
=
MMSYSTE
M_MAP_OK
;
}
break
;
case
WODM_PREPARE
:
...
...
@@ -1484,7 +1484,7 @@ static WINMM_MapType MMDRV_WaveOut_UnMap16To32W(UINT wMsg, DWORD_PTR *lpdwUser,
HeapFree
(
GetProcessHeap
(),
0
,
(
LPSTR
)
wh32
-
sizeof
(
LPWAVEHDR
));
wh16
->
lpNext
=
0
;
}
ret
=
WINM
M_MAP_OK
;
ret
=
MMSYSTE
M_MAP_OK
;
}
break
;
default:
...
...
@@ -1832,6 +1832,32 @@ static void CALLBACK MMDRV_WaveOut_Callback(HDRVR hDev, UINT uMsg, DWORD_PTR dw
MMDRV_Callback
(
mld
,
hDev
,
uMsg
,
dwParam1
,
dwParam2
);
}
/**************************************************************************
* MMDRV_WaveOut_Callback [internal]
*/
static
void
MMSYSTDRV_WaveOut_MapCB
(
UINT
uMsg
,
DWORD_PTR
*
dwUser
,
DWORD_PTR
*
dwParam1
,
DWORD_PTR
*
dwParam2
)
{
switch
(
uMsg
)
{
case
WOM_OPEN
:
case
WOM_CLOSE
:
/* dwParam1 & dwParam2 are supposed to be 0, nothing to do */
break
;
case
WOM_DONE
:
{
/* initial map is: 16 => 32 */
LPWAVEHDR
wh32
=
(
LPWAVEHDR
)(
*
dwParam1
);
SEGPTR
segwh16
=
*
(
SEGPTR
*
)((
LPSTR
)
wh32
-
sizeof
(
LPWAVEHDR
));
LPWAVEHDR
wh16
=
MapSL
(
segwh16
);
*
dwParam1
=
(
DWORD
)
segwh16
;
wh16
->
dwFlags
=
wh32
->
dwFlags
;
}
break
;
default:
ERR
(
"Unknown msg %u
\n
"
,
uMsg
);
}
}
/* =================================
* M A P P E R S H A N D L I N G
* ================================= */
...
...
@@ -2644,6 +2670,8 @@ static WINMM_MapType MMDRV_UnMap16To32W(UINT wMsg, DWORD_PTR *lpdwUser, DWORD_P
#define MMDRV_MidiOut_UnMap16To32W MMDRV_UnMap16To32W
#define MMDRV_WaveIn_Map16To32W MMDRV_Map16To32W
#define MMDRV_WaveIn_UnMap16To32W MMDRV_UnMap16To32W
#define MMDRV_WaveOut_Map16To32W MMDRV_Map16To32W
#define MMDRV_WaveOut_UnMap16To32W MMDRV_UnMap16To32W
void
MMDRV_Init16
(
void
)
{
...
...
@@ -2703,6 +2731,7 @@ static struct MMSYSTDRV_Type
{
MMSYSTDRV_MidiIn_Map16To32W
,
MMSYSTDRV_MidiIn_UnMap16To32W
,
MMSYSTDRV_MidiIn_MapCB
},
{
MMSYSTDRV_MidiOut_Map16To32W
,
MMSYSTDRV_MidiOut_UnMap16To32W
,
MMSYSTDRV_MidiOut_MapCB
},
{
MMSYSTDRV_WaveIn_Map16To32W
,
MMSYSTDRV_WaveIn_UnMap16To32W
,
MMSYSTDRV_WaveIn_MapCB
},
{
MMSYSTDRV_WaveOut_Map16To32W
,
MMSYSTDRV_WaveOut_UnMap16To32W
,
MMSYSTDRV_WaveOut_MapCB
},
};
/******************************************************************
...
...
dlls/winmm/mmsystem.c
View file @
32c17034
...
...
@@ -1100,18 +1100,32 @@ UINT16 WINAPI waveOutOpen16(HWAVEOUT16* lphWaveOut, UINT16 uDeviceID,
LPCWAVEFORMATEX
lpFormat
,
DWORD
dwCallback
,
DWORD
dwInstance
,
DWORD
dwFlags
)
{
HANDLE
hWaveOut
;
UINT
ret
;
HWAVEOUT
hWaveOut
;
UINT
ret
;
struct
mmsystdrv_thunk
*
thunk
;
if
(
!
(
thunk
=
MMSYSTDRV_AddThunk
(
dwCallback
,
MMSYSTDRV_WAVEOUT
)))
{
return
MMSYSERR_NOMEM
;
}
if
((
dwFlags
&
CALLBACK_TYPEMASK
)
==
CALLBACK_FUNCTION
)
{
dwCallback
=
(
DWORD
)
thunk
;
}
/* since layout of WAVEFORMATEX is the same for 16/32 bits, we directly
* call the 32 bit version
* however, we need to promote correctly the wave mapper id
* (0xFFFFFFFF and not 0x0000FFFF)
*/
ret
=
WAVE_
Open
(
&
hWaveOut
,
(
uDeviceID
==
(
UINT16
)
-
1
)
?
(
UINT
)
-
1
:
uDeviceID
,
MMDRV_WAVEOUT
,
lpFormat
,
dwCallback
,
dwInstance
,
dwFlags
,
FALSE
);
ret
=
waveOut
Open
(
&
hWaveOut
,
(
uDeviceID
==
(
UINT16
)
-
1
)
?
(
UINT
)
-
1
:
uDeviceID
,
lpFormat
,
dwCallback
,
dwInstance
,
dwFlags
);
if
(
lphWaveOut
!=
NULL
)
*
lphWaveOut
=
HWAVEOUT_16
(
hWaveOut
);
if
(
ret
==
MMSYSERR_NOERROR
)
{
if
(
lphWaveOut
!=
NULL
)
*
lphWaveOut
=
HWAVEOUT_16
(
hWaveOut
);
MMSYSTDRV_SetHandle
(
thunk
,
(
void
*
)
hWaveOut
);
}
else
MMSYSTDRV_DeleteThunk
(
thunk
);
return
ret
;
}
...
...
@@ -1126,6 +1140,8 @@ UINT16 WINAPI waveOutClose16(HWAVEOUT16 hWaveOut)
ReleaseThunkLock
(
&
level
);
ret
=
waveOutClose
(
HWAVEOUT_32
(
hWaveOut
));
RestoreThunkLock
(
level
);
if
(
ret
==
MMSYSERR_NOERROR
)
MMSYSTDRV_CloseHandle
((
void
*
)
HWAVEOUT_32
(
hWaveOut
));
return
ret
;
}
...
...
@@ -1136,7 +1152,6 @@ UINT16 WINAPI waveOutPrepareHeader16(HWAVEOUT16 hWaveOut, /* [in] */
SEGPTR
lpsegWaveOutHdr
,
/* [???] */
UINT16
uSize
)
/* [in] */
{
LPWINE_MLD
wmld
;
LPWAVEHDR
lpWaveOutHdr
=
MapSL
(
lpsegWaveOutHdr
);
UINT16
result
;
...
...
@@ -1144,11 +1159,8 @@ UINT16 WINAPI waveOutPrepareHeader16(HWAVEOUT16 hWaveOut, /* [in] */
if
(
lpWaveOutHdr
==
NULL
)
return
MMSYSERR_INVALPARAM
;
if
((
wmld
=
MMDRV_Get
(
HWAVEOUT_32
(
hWaveOut
),
MMDRV_WAVEOUT
,
FALSE
))
==
NULL
)
return
MMSYSERR_INVALHANDLE
;
if
((
result
=
MMDRV_Message
(
wmld
,
WODM_PREPARE
,
lpsegWaveOutHdr
,
uSize
,
FALSE
))
!=
MMSYSERR_NOTSUPPORTED
)
if
((
result
=
MMSYSTDRV_Message
(
HWAVEOUT_32
(
hWaveOut
),
WODM_PREPARE
,
lpsegWaveOutHdr
,
uSize
))
!=
MMSYSERR_NOTSUPPORTED
)
return
result
;
if
(
lpWaveOutHdr
->
dwFlags
&
WHDR_INQUEUE
)
...
...
@@ -1167,7 +1179,6 @@ UINT16 WINAPI waveOutUnprepareHeader16(HWAVEOUT16 hWaveOut, /* [in] */
SEGPTR
lpsegWaveOutHdr
,
/* [???] */
UINT16
uSize
)
/* [in] */
{
LPWINE_MLD
wmld
;
LPWAVEHDR
lpWaveOutHdr
=
MapSL
(
lpsegWaveOutHdr
);
TRACE
(
"(%04X, %08x, %u);
\n
"
,
hWaveOut
,
lpsegWaveOutHdr
,
uSize
);
...
...
@@ -1176,10 +1187,7 @@ UINT16 WINAPI waveOutUnprepareHeader16(HWAVEOUT16 hWaveOut, /* [in] */
return
MMSYSERR_NOERROR
;
}
if
((
wmld
=
MMDRV_Get
(
HWAVEOUT_32
(
hWaveOut
),
MMDRV_WAVEOUT
,
FALSE
))
==
NULL
)
return
MMSYSERR_INVALHANDLE
;
return
MMDRV_Message
(
wmld
,
WODM_UNPREPARE
,
lpsegWaveOutHdr
,
uSize
,
FALSE
);
return
MMSYSTDRV_Message
(
HWAVEOUT_32
(
hWaveOut
),
WODM_UNPREPARE
,
lpsegWaveOutHdr
,
uSize
);
}
/**************************************************************************
...
...
@@ -1189,14 +1197,9 @@ UINT16 WINAPI waveOutWrite16(HWAVEOUT16 hWaveOut, /* [in] */
LPWAVEHDR
lpsegWaveOutHdr
,
/* [???] NOTE: SEGPTR */
UINT16
uSize
)
/* [in] */
{
LPWINE_MLD
wmld
;
TRACE
(
"(%04X, %p, %u);
\n
"
,
hWaveOut
,
lpsegWaveOutHdr
,
uSize
);
if
((
wmld
=
MMDRV_Get
(
HWAVEOUT_32
(
hWaveOut
),
MMDRV_WAVEOUT
,
FALSE
))
==
NULL
)
return
MMSYSERR_INVALHANDLE
;
return
MMDRV_Message
(
wmld
,
WODM_WRITE
,
(
DWORD_PTR
)
lpsegWaveOutHdr
,
uSize
,
FALSE
);
return
MMSYSTDRV_Message
(
HWAVEOUT_32
(
hWaveOut
),
WODM_WRITE
,
(
DWORD_PTR
)
lpsegWaveOutHdr
,
uSize
);
}
/**************************************************************************
...
...
@@ -1338,24 +1341,18 @@ UINT16 WINAPI waveOutGetID16(HWAVEOUT16 hWaveOut, UINT16* lpuDeviceID)
DWORD
WINAPI
waveOutMessage16
(
HWAVEOUT16
hWaveOut
,
UINT16
uMessage
,
DWORD
dwParam1
,
DWORD
dwParam2
)
{
LPWINE_MLD
wmld
;
TRACE
(
"(%04x, %u, %d, %d)
\n
"
,
hWaveOut
,
uMessage
,
dwParam1
,
dwParam2
);
if
((
wmld
=
MMDRV_Get
(
HWAVEOUT_32
(
hWaveOut
),
MMDRV_WAVEOUT
,
FALSE
))
==
NULL
)
{
if
((
wmld
=
MMDRV_Get
(
HWAVEOUT_32
(
hWaveOut
),
MMDRV_WAVEOUT
,
TRUE
))
!=
NULL
)
{
if
(
uMessage
==
DRV_QUERYDRVENTRY
||
uMessage
==
DRV_QUERYDEVNODE
)
dwParam1
=
(
DWORD
)
MapSL
(
dwParam1
);
return
MMDRV_PhysicalFeatures
(
wmld
,
uMessage
,
dwParam1
,
dwParam2
);
}
return
MMSYSERR_INVALHANDLE
;
if
((
DWORD_PTR
)
hWaveOut
<
waveOutGetNumDevs
())
{
if
(
uMessage
==
DRV_QUERYDRVENTRY
||
uMessage
==
DRV_QUERYDEVNODE
)
dwParam1
=
(
DWORD
)
MapSL
(
dwParam1
);
}
/* from M$ KB */
if
(
uMessage
<
DRVM_IOCTL
||
(
uMessage
>=
DRVM_IOCTL_LAST
&&
uMessage
<
DRVM_MAPPER
))
else
if
(
uMessage
<
DRVM_IOCTL
||
(
uMessage
>=
DRVM_IOCTL_LAST
&&
uMessage
<
DRVM_MAPPER
))
/* from M$ KB */
return
MMSYSERR_INVALPARAM
;
return
MM
DRV_Message
(
wmld
,
uMessage
,
dwParam1
,
dwParam2
,
FALSE
);
return
MM
SYSTDRV_Message
(
HWAVEOUT_32
(
hWaveOut
),
uMessage
,
dwParam1
,
dwParam2
);
}
/**************************************************************************
...
...
dlls/winmm/winemm.h
View file @
32c17034
...
...
@@ -203,10 +203,6 @@ LPSTR MCI_strdupWtoA(LPCWSTR str);
BOOL
WINMM_CheckForMMSystem
(
void
);
const
char
*
WINMM_ErrorToString
(
MMRESULT
error
);
UINT
WAVE_Open
(
HANDLE
*
lphndl
,
UINT
uDeviceID
,
UINT
uType
,
LPCWAVEFORMATEX
lpFormat
,
DWORD_PTR
dwCallback
,
DWORD_PTR
dwInstance
,
DWORD
dwFlags
,
BOOL
bFrom32
);
void
TIME_MMTimeStop
(
void
);
/* Global variables */
...
...
dlls/winmm/winmm.c
View file @
32c17034
...
...
@@ -2024,18 +2024,18 @@ MMRESULT WINAPI midiStreamStop(HMIDISTRM hMidiStrm)
return
ret
;
}
UINT
WAVE_Open
(
HANDLE
*
lphndl
,
UINT
uDeviceID
,
UINT
uType
,
LPCWAVEFORMATEX
lpFormat
,
DWORD_PTR
dwCallback
,
DWORD_PTR
dwInstance
,
DWORD
dwFlags
,
BOOL
bFrom32
)
static
UINT
WAVE_Open
(
HANDLE
*
lphndl
,
UINT
uDeviceID
,
UINT
uType
,
LPCWAVEFORMATEX
lpFormat
,
DWORD_PTR
dwCallback
,
DWORD_PTR
dwInstance
,
DWORD
dwFlags
)
{
HANDLE
handle
;
LPWINE_MLD
wmld
;
DWORD
dwRet
=
MMSYSERR_NOERROR
;
WAVEOPENDESC
wod
;
TRACE
(
"(%p, %d, %s, %p, %08lX, %08lX, %08X
, %d
);
\n
"
,
TRACE
(
"(%p, %d, %s, %p, %08lX, %08lX, %08X);
\n
"
,
lphndl
,
(
int
)
uDeviceID
,
(
uType
==
MMDRV_WAVEOUT
)
?
"Out"
:
"In"
,
lpFormat
,
dwCallback
,
dwInstance
,
dwFlags
,
bFrom32
?
32
:
16
);
dwInstance
,
dwFlags
);
if
(
dwFlags
&
WAVE_FORMAT_QUERY
)
TRACE
(
"WAVE_FORMAT_QUERY requested !
\n
"
);
...
...
@@ -2056,7 +2056,7 @@ UINT WAVE_Open(HANDLE* lphndl, UINT uDeviceID, UINT uType,
lpFormat
->
nAvgBytesPerSec
,
lpFormat
->
nBlockAlign
,
lpFormat
->
wBitsPerSample
);
if
((
wmld
=
MMDRV_Alloc
(
sizeof
(
WINE_WAVE
),
uType
,
&
handle
,
&
dwFlags
,
&
dwCallback
,
&
dwInstance
,
bFrom32
))
==
NULL
)
{
&
dwFlags
,
&
dwCallback
,
&
dwInstance
,
TRUE
))
==
NULL
)
{
WARN
(
"no memory
\n
"
);
return
MMSYSERR_NOMEM
;
}
...
...
@@ -2215,7 +2215,7 @@ MMRESULT WINAPI waveOutOpen(LPHWAVEOUT lphWaveOut, UINT uDeviceID,
DWORD_PTR
dwInstance
,
DWORD
dwFlags
)
{
return
WAVE_Open
((
HANDLE
*
)
lphWaveOut
,
uDeviceID
,
MMDRV_WAVEOUT
,
lpFormat
,
dwCallback
,
dwInstance
,
dwFlags
,
TRUE
);
dwCallback
,
dwInstance
,
dwFlags
);
}
/**************************************************************************
...
...
@@ -2581,11 +2581,11 @@ UINT WINAPI waveInGetDevCapsA(UINT_PTR uDeviceID, LPWAVEINCAPSA lpCaps, UINT uSi
* waveInOpen [WINMM.@]
*/
MMRESULT
WINAPI
waveInOpen
(
HWAVEIN
*
lphWaveIn
,
UINT
uDeviceID
,
LPCWAVEFORMATEX
lpFormat
,
DWORD_PTR
dwCallback
,
DWORD_PTR
dwInstance
,
DWORD
dwFlags
)
LPCWAVEFORMATEX
lpFormat
,
DWORD_PTR
dwCallback
,
DWORD_PTR
dwInstance
,
DWORD
dwFlags
)
{
return
WAVE_Open
((
HANDLE
*
)
lphWaveIn
,
uDeviceID
,
MMDRV_WAVEIN
,
lpFormat
,
dwCallback
,
dwInstance
,
dwFlags
,
TRUE
);
dwCallback
,
dwInstance
,
dwFlags
);
}
/**************************************************************************
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment