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
b1a2d883
Commit
b1a2d883
authored
Nov 09, 2003
by
Eric Pouech
Committed by
Alexandre Julliard
Nov 09, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Removed some more dependencies on wine 16-bit specific entities.
parent
a1cb9312
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
101 additions
and
76 deletions
+101
-76
driver.c
dlls/winmm/driver.c
+3
-3
lolvldrv.c
dlls/winmm/lolvldrv.c
+8
-8
message16.c
dlls/winmm/message16.c
+4
-4
mmio.c
dlls/winmm/mmio.c
+5
-5
mmsystem.c
dlls/winmm/mmsystem.c
+4
-4
time.c
dlls/winmm/time.c
+4
-4
winemm.h
dlls/winmm/winemm.h
+12
-47
winemm16.h
dlls/winmm/winemm16.h
+59
-0
winmm.c
dlls/winmm/winmm.c
+2
-1
No files found.
dlls/winmm/driver.c
View file @
b1a2d883
...
...
@@ -37,10 +37,10 @@ WINE_DEFAULT_DEBUG_CHANNEL(driver);
static
LPWINE_DRIVER
lpDrvItemList
/* = NULL */
;
WINE_MMTHREAD
*
(
*
pFnGetMMThread16
)(
HANDLE
16
h
)
/* = NULL */
;
WINE_MMTHREAD
*
(
*
pFnGetMMThread16
)(
UINT
16
h
)
/* = NULL */
;
LPWINE_DRIVER
(
*
pFnOpenDriver16
)(
LPCSTR
,
LPCSTR
,
LPARAM
)
/* = NULL */
;
LRESULT
(
*
pFnCloseDriver16
)(
HDRVR
16
,
LPARAM
,
LPARAM
)
/* = NULL */
;
LRESULT
(
*
pFnSendMessage16
)(
HDRVR
16
,
UINT
,
LPARAM
,
LPARAM
)
/* = NULL */
;
LRESULT
(
*
pFnCloseDriver16
)(
UINT
16
,
LPARAM
,
LPARAM
)
/* = NULL */
;
LRESULT
(
*
pFnSendMessage16
)(
UINT
16
,
UINT
,
LPARAM
,
LPARAM
)
/* = NULL */
;
/**************************************************************************
* DRIVER_GetNumberOfModuleRefs [internal]
...
...
dlls/winmm/lolvldrv.c
View file @
b1a2d883
...
...
@@ -33,7 +33,7 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
winmm
);
LRESULT
(
*
pFnCallMMDrvFunc16
)(
FARPROC16
,
WORD
,
WORD
,
LONG
,
LONG
,
LONG
)
/* = NULL */
;
LRESULT
(
*
pFnCallMMDrvFunc16
)(
DWORD
,
WORD
,
WORD
,
LONG
,
LONG
,
LONG
)
/* = NULL */
;
unsigned
(
*
pFnLoadMMDrvFunc16
)(
LPCSTR
,
LPWINE_DRIVER
,
LPWINE_MM_DRIVER
)
/* = NULL */
;
/* each known type of driver has an instance of this structure */
...
...
@@ -262,7 +262,7 @@ DWORD MMDRV_Message(LPWINE_MLD mld, WORD wMsg, DWORD dwParam1,
case
WINMM_MAP_OKMEM
:
TRACE
(
"Calling message(dev=%u msg=%u usr=0x%08lx p1=0x%08lx p2=0x%08lx)
\n
"
,
mld
->
uDeviceID
,
wMsg
,
mld
->
dwDriverInstance
,
dwParam1
,
dwParam2
);
ret
=
pFnCallMMDrvFunc16
((
FARPROC16
)
part
->
u
.
fnMessage16
,
ret
=
pFnCallMMDrvFunc16
((
DWORD
)
part
->
u
.
fnMessage16
,
mld
->
uDeviceID
,
wMsg
,
mld
->
dwDriverInstance
,
dwParam1
,
dwParam2
);
TRACE
(
"=> %lu
\n
"
,
ret
);
...
...
@@ -277,7 +277,7 @@ DWORD MMDRV_Message(LPWINE_MLD mld, WORD wMsg, DWORD dwParam1,
}
else
{
TRACE
(
"Calling message(dev=%u msg=%u usr=0x%08lx p1=0x%08lx p2=0x%08lx)
\n
"
,
mld
->
uDeviceID
,
wMsg
,
mld
->
dwDriverInstance
,
dwParam1
,
dwParam2
);
ret
=
pFnCallMMDrvFunc16
((
FARPROC16
)
part
->
u
.
fnMessage16
,
ret
=
pFnCallMMDrvFunc16
((
DWORD
)
part
->
u
.
fnMessage16
,
mld
->
uDeviceID
,
wMsg
,
mld
->
dwDriverInstance
,
dwParam1
,
dwParam2
);
TRACE
(
"=> %lu
\n
"
,
ret
);
...
...
@@ -545,15 +545,15 @@ static BOOL MMDRV_InitPerType(LPWINE_MM_DRIVER lpDrv, UINT type, UINT wMsg)
#endif
count
=
part
->
u
.
fnMessage32
(
0
,
wMsg
,
0L
,
0L
,
0L
);
}
else
if
(
!
lpDrv
->
bIs32
&&
part
->
u
.
fnMessage16
&&
pFnCallMMDrvFunc16
)
{
ret
=
pFnCallMMDrvFunc16
((
FARPROC16
)
part
->
u
.
fnMessage16
,
ret
=
pFnCallMMDrvFunc16
((
DWORD
)
part
->
u
.
fnMessage16
,
0
,
DRVM_INIT
,
0L
,
0L
,
0L
);
TRACE
(
"DRVM_INIT => %08lx
\n
"
,
ret
);
#if 0
ret = pFnCallMMDrvFunc16((
FARPROC16
)part->u.fnMessage16,
ret = pFnCallMMDrvFunc16((
DWORD
)part->u.fnMessage16,
0, DRVM_ENABLE, 0L, 0L, 0L);
TRACE("DRVM_ENABLE => %08lx\n", ret);
#endif
count
=
pFnCallMMDrvFunc16
((
FARPROC16
)
part
->
u
.
fnMessage16
,
count
=
pFnCallMMDrvFunc16
((
DWORD
)
part
->
u
.
fnMessage16
,
0
,
wMsg
,
0L
,
0L
,
0L
);
}
else
{
return
FALSE
;
...
...
@@ -790,11 +790,11 @@ static BOOL MMDRV_ExitPerType(LPWINE_MM_DRIVER lpDrv, UINT type)
TRACE
(
"DRVM_EXIT => %08lx
\n
"
,
ret
);
}
else
if
(
!
lpDrv
->
bIs32
&&
part
->
u
.
fnMessage16
&&
pFnCallMMDrvFunc16
)
{
#if 0
ret = pFnCallMMDrvFunc16((
FARPROC16
)part->u.fnMessage16,
ret = pFnCallMMDrvFunc16((
DWORD
)part->u.fnMessage16,
0, DRVM_DISABLE, 0L, 0L, 0L);
TRACE("DRVM_DISABLE => %08lx\n", ret);
#endif
ret
=
pFnCallMMDrvFunc16
((
FARPROC16
)
part
->
u
.
fnMessage16
,
ret
=
pFnCallMMDrvFunc16
((
DWORD
)
part
->
u
.
fnMessage16
,
0
,
DRVM_EXIT
,
0L
,
0L
,
0L
);
TRACE
(
"DRVM_EXIT => %08lx
\n
"
,
ret
);
}
else
{
...
...
dlls/winmm/message16.c
View file @
b1a2d883
...
...
@@ -30,7 +30,7 @@
#include "winreg.h"
#include "winver.h"
#include "wownt32.h"
#include "winemm.h"
#include "winemm
16
.h"
#include "digitalv.h"
#include "wine/debug.h"
...
...
@@ -1736,8 +1736,8 @@ static void CALLBACK MMDRV_WaveOut_Callback(HDRVR hDev, UINT uMsg, DWORD dwInst
* M A P P E R S H A N D L I N G
* ================================= */
static
LRESULT
MMDRV_CallMMDrvFunc16
(
FARPROC16
fp16
,
WORD
dev
,
WORD
msg
,
LONG
instance
,
LONG
lp1
,
LONG
lp2
)
static
LRESULT
MMDRV_CallMMDrvFunc16
(
DWORD
fp16
,
WORD
dev
,
WORD
msg
,
LONG
instance
,
LONG
lp1
,
LONG
lp2
)
{
WORD
args
[
8
];
DWORD
ret
;
...
...
@@ -1750,7 +1750,7 @@ static LRESULT MMDRV_CallMMDrvFunc16(FARPROC16 fp16, WORD dev, WORD msg, LON
args
[
2
]
=
LOWORD
(
lp1
);
args
[
1
]
=
HIWORD
(
lp2
);
args
[
0
]
=
LOWORD
(
lp2
);
WOWCallback16Ex
(
(
DWORD
)
fp16
,
WCB16_PASCAL
,
sizeof
(
args
),
args
,
&
ret
);
WOWCallback16Ex
(
fp16
,
WCB16_PASCAL
,
sizeof
(
args
),
args
,
&
ret
);
return
LOWORD
(
ret
);
}
...
...
dlls/winmm/mmio.c
View file @
b1a2d883
...
...
@@ -46,7 +46,7 @@
WINE_DEFAULT_DEBUG_CHANNEL
(
mmio
);
LRESULT
(
*
pFnMmioCallback16
)(
SEGPTR
,
LPMMIOINFO
,
UINT
,
LPARAM
,
LPARAM
)
/* = NULL */
;
LRESULT
(
*
pFnMmioCallback16
)(
DWORD
,
LPMMIOINFO
,
UINT
,
LPARAM
,
LPARAM
)
/* = NULL */
;
/**************************************************************************
* mmioDosIOProc [internal]
...
...
@@ -355,7 +355,7 @@ static LRESULT send_message(struct IOProcList* ioProc, LPMMIOINFO mmioinfo,
switch
(
ioProc
->
type
)
{
case
MMIO_PROC_16
:
if
(
pFnMmioCallback16
)
result
=
pFnMmioCallback16
((
SEGPTR
)
ioProc
->
pIOProc
,
result
=
pFnMmioCallback16
((
DWORD
)
ioProc
->
pIOProc
,
mmioinfo
,
wMsg
,
lp1
,
lp2
);
break
;
case
MMIO_PROC_32A
:
...
...
@@ -460,8 +460,8 @@ static LPWINE_MMIO MMIO_Create(void)
if
(
wm
)
{
EnterCriticalSection
(
&
WINMM_IData
->
cs
);
/* lookup next unallocated WORD handle, with a non NULL value */
while
(
++
MMIO_counter
==
0
||
MMIO_Get
(
HMMIO_32
(
MMIO_counter
)
));
wm
->
info
.
hmmio
=
HMMIO_32
(
MMIO_counter
)
;
while
(
++
MMIO_counter
==
0
||
MMIO_Get
(
(
HMMIO
)(
ULONG_PTR
)
MMIO_counter
));
wm
->
info
.
hmmio
=
(
HMMIO
)(
ULONG_PTR
)
MMIO_counter
;
wm
->
lpNext
=
WINMM_IData
->
lpMMIO
;
WINMM_IData
->
lpMMIO
=
wm
;
LeaveCriticalSection
(
&
WINMM_IData
->
cs
);
...
...
@@ -611,7 +611,7 @@ HMMIO MMIO_Open(LPSTR szFileName, MMIOINFO* refmminfo, DWORD dwOpenFlags,
char
buffer
[
MAX_PATH
];
if
(
GetFullPathNameA
(
szFileName
,
sizeof
(
buffer
),
buffer
,
NULL
)
>=
sizeof
(
buffer
))
return
(
HMMIO
16
)
FALSE
;
return
(
HMMIO
)
FALSE
;
if
((
dwOpenFlags
&
MMIO_EXIST
)
&&
(
GetFileAttributesA
(
buffer
)
==
INVALID_FILE_ATTRIBUTES
))
return
(
HMMIO
)
FALSE
;
strcpy
(
szFileName
,
buffer
);
...
...
dlls/winmm/mmsystem.c
View file @
b1a2d883
...
...
@@ -41,7 +41,7 @@
#include "winnls.h"
#include "wine/winuser16.h"
#include "winemm.h"
#include "winemm
16
.h"
#include "wine/debug.h"
...
...
@@ -1923,7 +1923,7 @@ LRESULT WINAPI mmThreadCreate16(FARPROC16 fpThreadAddr, LPHANDLE16 lpHndl, DWORD
lpMMThd
->
dwCounter
=
0
;
lpMMThd
->
hThread
=
0
;
lpMMThd
->
dwThreadID
=
0
;
lpMMThd
->
fpThread
=
fpThreadAddr
;
lpMMThd
->
fpThread
=
(
DWORD
)
fpThreadAddr
;
lpMMThd
->
dwThreadPmt
=
dwPmt
;
lpMMThd
->
dwSignalCount
=
0
;
lpMMThd
->
hEvent
=
0
;
...
...
@@ -2150,7 +2150,7 @@ void WINAPI WINE_mmThreadEntryPoint(DWORD _pmt)
TRACE
(
"[20-%p]
\n
"
,
lpMMThd
->
hThread
);
lpMMThd
->
dwStatus
=
0x20
;
if
(
lpMMThd
->
fpThread
)
{
WOWCallback16
(
(
DWORD
)
lpMMThd
->
fpThread
,
lpMMThd
->
dwThreadPmt
);
WOWCallback16
(
lpMMThd
->
fpThread
,
lpMMThd
->
dwThreadPmt
);
}
lpMMThd
->
dwStatus
=
0x30
;
TRACE
(
"[30-%p]
\n
"
,
lpMMThd
->
hThread
);
...
...
@@ -2539,7 +2539,7 @@ MMRESULT16 WINAPI timeSetEvent16(UINT16 wDelay, UINT16 wResol, LPTIMECALLBACK16
if
(
wFlags
&
WINE_TIMER_IS32
)
WARN
(
"Unknown windows flag... wine internally used.. ooch
\n
"
);
return
TIME_SetEventInternal
(
wDelay
,
wResol
,
(
FARPROC16
)
lpFunc
,
return
TIME_SetEventInternal
(
wDelay
,
wResol
,
(
LPTIMECALLBACK
)
lpFunc
,
dwUser
,
wFlags
&
~
WINE_TIMER_IS32
);
}
...
...
dlls/winmm/time.c
View file @
b1a2d883
...
...
@@ -66,9 +66,9 @@ static void TIME_TriggerCallBack(LPWINE_TIMERENTRY lpTimer)
switch
(
lpTimer
->
wFlags
&
0x30
)
{
case
TIME_CALLBACK_FUNCTION
:
if
(
lpTimer
->
wFlags
&
WINE_TIMER_IS32
)
(
(
LPTIMECALLBACK
)
lpTimer
->
lpFunc
)(
lpTimer
->
wTimerID
,
0
,
lpTimer
->
dwUser
,
0
,
0
);
(
lpTimer
->
lpFunc
)(
lpTimer
->
wTimerID
,
0
,
lpTimer
->
dwUser
,
0
,
0
);
else
if
(
pFnCallMMDrvFunc16
)
pFnCallMMDrvFunc16
(
lpTimer
->
lpFunc
,
lpTimer
->
wTimerID
,
0
,
pFnCallMMDrvFunc16
(
(
DWORD
)
lpTimer
->
lpFunc
,
lpTimer
->
wTimerID
,
0
,
lpTimer
->
dwUser
,
0
,
0
);
break
;
case
TIME_CALLBACK_EVENT_SET
:
...
...
@@ -226,7 +226,7 @@ MMRESULT WINAPI timeGetSystemTime(LPMMTIME lpTime, UINT wSize)
* TIME_SetEventInternal [internal]
*/
WORD
TIME_SetEventInternal
(
UINT
wDelay
,
UINT
wResol
,
FARPROC16
lpFunc
,
DWORD
dwUser
,
UINT
wFlags
)
LPTIMECALLBACK
lpFunc
,
DWORD
dwUser
,
UINT
wFlags
)
{
WORD
wNewID
=
0
;
LPWINE_TIMERENTRY
lpNewTimer
;
...
...
@@ -276,7 +276,7 @@ MMRESULT WINAPI timeSetEvent(UINT wDelay, UINT wResol, LPTIMECALLBACK lpFunc,
if
(
wFlags
&
WINE_TIMER_IS32
)
WARN
(
"Unknown windows flag... wine internally used.. ooch
\n
"
);
return
TIME_SetEventInternal
(
wDelay
,
wResol
,
(
FARPROC16
)
lpFunc
,
return
TIME_SetEventInternal
(
wDelay
,
wResol
,
lpFunc
,
dwUser
,
wFlags
|
WINE_TIMER_IS32
);
}
...
...
dlls/winmm/winemm.h
View file @
b1a2d883
...
...
@@ -27,8 +27,6 @@
#include "windef.h"
#include "winbase.h"
#include "mmddk.h"
#include "wine/mmsystem16.h"
#include "wownt32.h"
typedef
DWORD
(
WINAPI
*
MessageProc16
)(
UINT16
wDevID
,
UINT16
wMsg
,
DWORD
dwUser
,
DWORD
dwParam1
,
DWORD
dwParam2
);
typedef
DWORD
(
WINAPI
*
MessageProc32
)(
UINT
wDevID
,
UINT
wMsg
,
DWORD
dwUser
,
DWORD
dwParam1
,
DWORD
dwParam2
);
...
...
@@ -55,7 +53,7 @@ typedef struct tagWINE_DRIVER
DWORD
dwDriverID
;
}
d32
;
struct
{
HDRVR
16
hDriver16
;
UINT
16
hDriver16
;
}
d16
;
}
d
;
struct
tagWINE_DRIVER
*
lpPrevItem
;
...
...
@@ -128,14 +126,14 @@ typedef struct {
DWORD
dwCounter
;
/* 04 > 1 when in mmThread functions */
HANDLE
hThread
;
/* 08 hThread */
DWORD
dwThreadID
;
/* 0C */
FARPROC16
fpThread
;
/* 10 address of thread proc (segptr or lin depending on dwFlags) */
DWORD
fpThread
;
/* 10 address of thread proc (segptr or lin depending on dwFlags) */
DWORD
dwThreadPmt
;
/* 14 parameter to be passed upon thread creation to fpThread */
DWORD
dwSignalCount
;
/* 18 counter used for signaling */
HANDLE
hEvent
;
/* 1C event */
HANDLE
hVxD
;
/* 20 return from OpenVxDHandle */
DWORD
dwStatus
;
/* 24 0x00, 0x10, 0x20, 0x30 */
DWORD
dwFlags
;
/* 28 dwFlags upon creation */
HANDLE
16
hTask
;
/* 2C handle to created task */
UINT
16
hTask
;
/* 2C handle to created task */
}
WINE_MMTHREAD
;
typedef
struct
tagWINE_MCIDRIVER
{
...
...
@@ -145,7 +143,6 @@ typedef struct tagWINE_MCIDRIVER {
LPSTR
lpstrDeviceType
;
LPSTR
lpstrAlias
;
HDRVR
hDriver
;
DRIVERPROC16
driverProc
;
DWORD
dwPrivate
;
YIELDPROC
lpfnYieldProc
;
DWORD
dwYieldData
;
...
...
@@ -161,7 +158,7 @@ typedef struct tagWINE_MCIDRIVER {
typedef
struct
tagWINE_TIMERENTRY
{
UINT
wDelay
;
UINT
wResol
;
FARPROC16
lpFunc
;
LPTIMECALLBACK
lpFunc
;
/* can be lots of things */
DWORD
dwUser
;
UINT16
wFlags
;
UINT16
wTimerID
;
...
...
@@ -186,7 +183,7 @@ typedef struct tagWINE_MMIO {
struct
IOProcList
*
ioProc
;
BOOL
bTmpIOProc
:
1
,
bBufferLoaded
:
1
;
SEGPTR
segBuffer16
;
DWORD
segBuffer16
;
DWORD
dwFileSize
;
}
WINE_MMIO
,
*
LPWINE_MMIO
;
...
...
@@ -226,7 +223,6 @@ typedef struct tagWINE_MM_IDATA {
/* function prototypes */
typedef
LONG
(
*
MCIPROC16
)(
DWORD
,
HDRVR16
,
WORD
,
DWORD
,
DWORD
);
typedef
LONG
(
*
MCIPROC
)(
DWORD
,
HDRVR
,
DWORD
,
DWORD
,
DWORD
);
typedef
WINMM_MapType
(
*
MMDRV_MAPFUNC
)(
UINT
wMsg
,
LPDWORD
lpdwUser
,
LPDWORD
lpParam1
,
LPDWORD
lpParam2
);
typedef
WINMM_MapType
(
*
MMDRV_UNMAPFUNC
)(
UINT
wMsg
,
LPDWORD
lpdwUser
,
LPDWORD
lpParam1
,
LPDWORD
lpParam2
,
MMRESULT
ret
);
...
...
@@ -287,8 +283,8 @@ LRESULT MMIO_SendMessage(HMMIO hmmio, UINT uMessage, LPARAM lParam1,
LPARAM
lParam2
,
enum
mmioProcType
type
);
LPWINE_MMIO
MMIO_Get
(
HMMIO
h
);
WORD
TIME_SetEventInternal
(
UINT
wDelay
,
UINT
wResol
,
FARPROC16
lpFunc
,
DWORD
dwUser
,
UINT
wFlags
);
WORD
TIME_SetEventInternal
(
UINT
wDelay
,
UINT
wResol
,
LPTIMECALLBACK
lpFunc
,
DWORD
dwUser
,
UINT
wFlags
);
void
TIME_MMTimeStart
(
void
);
void
TIME_MMTimeStop
(
void
);
...
...
@@ -298,48 +294,17 @@ extern LPWINE_MM_IDATA WINMM_IData;
/* pointers to 16 bit functions (if sibling MMSYSTEM.DLL is loaded
* NULL otherwise
*/
extern
WINE_MMTHREAD
*
(
*
pFnGetMMThread16
)(
HANDLE
16
);
extern
WINE_MMTHREAD
*
(
*
pFnGetMMThread16
)(
UINT
16
);
extern
LPWINE_DRIVER
(
*
pFnOpenDriver16
)(
LPCSTR
,
LPCSTR
,
LPARAM
);
extern
LRESULT
(
*
pFnCloseDriver16
)(
HDRVR
16
,
LPARAM
,
LPARAM
);
extern
LRESULT
(
*
pFnSendMessage16
)(
HDRVR
16
,
UINT
,
LPARAM
,
LPARAM
);
extern
LRESULT
(
*
pFnCloseDriver16
)(
UINT
16
,
LPARAM
,
LPARAM
);
extern
LRESULT
(
*
pFnSendMessage16
)(
UINT
16
,
UINT
,
LPARAM
,
LPARAM
);
extern
WINMM_MapType
(
*
pFnMciMapMsg16To32A
)(
WORD
,
WORD
,
DWORD
*
);
extern
WINMM_MapType
(
*
pFnMciUnMapMsg16To32A
)(
WORD
,
WORD
,
DWORD
);
extern
WINMM_MapType
(
*
pFnMciMapMsg32ATo16
)(
WORD
,
WORD
,
DWORD
,
DWORD
*
);
extern
WINMM_MapType
(
*
pFnMciUnMapMsg32ATo16
)(
WORD
,
WORD
,
DWORD
,
DWORD
);
extern
LRESULT
(
*
pFnCallMMDrvFunc16
)(
FARPROC16
,
WORD
,
WORD
,
LONG
,
LONG
,
LONG
);
extern
LRESULT
(
*
pFnCallMMDrvFunc16
)(
DWORD
/* in fact FARPROC16 */
,
WORD
,
WORD
,
LONG
,
LONG
,
LONG
);
extern
unsigned
(
*
pFnLoadMMDrvFunc16
)(
LPCSTR
,
LPWINE_DRIVER
,
LPWINE_MM_DRIVER
);
extern
LRESULT
(
*
pFnMmioCallback16
)(
SEGPTR
,
LPMMIOINFO
,
UINT
,
LPARAM
,
LPARAM
);
/* mmsystem (16 bit files) only functions */
void
MMDRV_Init16
(
void
);
void
MMSYSTEM_MMTIME16to32
(
LPMMTIME
mmt32
,
const
MMTIME16
*
mmt16
);
void
MMSYSTEM_MMTIME32to16
(
LPMMTIME16
mmt16
,
const
MMTIME
*
mmt32
);
/* HANDLE16 -> HANDLE conversions */
#define HDRVR_32(h16) ((HDRVR)(ULONG_PTR)(h16))
#define HMIDI_32(h16) ((HMIDI)(ULONG_PTR)(h16))
#define HMIDIIN_32(h16) ((HMIDIIN)(ULONG_PTR)(h16))
#define HMIDIOUT_32(h16) ((HMIDIOUT)(ULONG_PTR)(h16))
#define HMIDISTRM_32(h16) ((HMIDISTRM)(ULONG_PTR)(h16))
#define HMIXER_32(h16) ((HMIXER)(ULONG_PTR)(h16))
#define HMIXEROBJ_32(h16) ((HMIXEROBJ)(ULONG_PTR)(h16))
#define HMMIO_32(h16) ((HMMIO)(ULONG_PTR)(h16))
#define HWAVE_32(h16) ((HWAVE)(ULONG_PTR)(h16))
#define HWAVEIN_32(h16) ((HWAVEIN)(ULONG_PTR)(h16))
#define HWAVEOUT_32(h16) ((HWAVEOUT)(ULONG_PTR)(h16))
/* HANDLE -> HANDLE16 conversions */
#define HDRVR_16(h32) (LOWORD(h32))
#define HMIDI_16(h32) (LOWORD(h32))
#define HMIDIIN_16(h32) (LOWORD(h32))
#define HMIDIOUT_16(h32) (LOWORD(h32))
#define HMIDISTRM_16(h32) (LOWORD(h32))
#define HMIXER_16(h32) (LOWORD(h32))
#define HMIXEROBJ_16(h32) (LOWORD(h32))
#define HMMIO_16(h32) (LOWORD(h32))
#define HWAVE_16(h32) (LOWORD(h32))
#define HWAVEIN_16(h32) (LOWORD(h32))
#define HWAVEOUT_16(h32) (LOWORD(h32))
extern
LRESULT
(
*
pFnMmioCallback16
)(
DWORD
,
LPMMIOINFO
,
UINT
,
LPARAM
,
LPARAM
);
/* GetDriverFlags() returned bits is not documented (nor the call itself)
* Here are Wine only definitions of the bits
...
...
dlls/winmm/winemm16.h
0 → 100644
View file @
b1a2d883
/* -*- tab-width: 8; c-basic-offset: 4 -*- */
/*****************************************************************************
* Copyright 1998, Luiz Otavio L. Zorzella
* 1999, Eric Pouech
*
* Purpose: multimedia declarations (internal to WINMM & MMSYSTEM DLLs)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*****************************************************************************
*/
#include "winemm.h"
#include "wine/mmsystem16.h"
#include "wownt32.h"
/* mmsystem (16 bit files) only functions */
void
MMDRV_Init16
(
void
);
void
MMSYSTEM_MMTIME16to32
(
LPMMTIME
mmt32
,
const
MMTIME16
*
mmt16
);
void
MMSYSTEM_MMTIME32to16
(
LPMMTIME16
mmt16
,
const
MMTIME
*
mmt32
);
typedef
LONG
(
*
MCIPROC16
)(
DWORD
,
HDRVR16
,
WORD
,
DWORD
,
DWORD
);
/* HANDLE16 -> HANDLE conversions */
#define HDRVR_32(h16) ((HDRVR)(ULONG_PTR)(h16))
#define HMIDI_32(h16) ((HMIDI)(ULONG_PTR)(h16))
#define HMIDIIN_32(h16) ((HMIDIIN)(ULONG_PTR)(h16))
#define HMIDIOUT_32(h16) ((HMIDIOUT)(ULONG_PTR)(h16))
#define HMIDISTRM_32(h16) ((HMIDISTRM)(ULONG_PTR)(h16))
#define HMIXER_32(h16) ((HMIXER)(ULONG_PTR)(h16))
#define HMIXEROBJ_32(h16) ((HMIXEROBJ)(ULONG_PTR)(h16))
#define HMMIO_32(h16) ((HMMIO)(ULONG_PTR)(h16))
#define HWAVE_32(h16) ((HWAVE)(ULONG_PTR)(h16))
#define HWAVEIN_32(h16) ((HWAVEIN)(ULONG_PTR)(h16))
#define HWAVEOUT_32(h16) ((HWAVEOUT)(ULONG_PTR)(h16))
/* HANDLE -> HANDLE16 conversions */
#define HDRVR_16(h32) (LOWORD(h32))
#define HMIDI_16(h32) (LOWORD(h32))
#define HMIDIIN_16(h32) (LOWORD(h32))
#define HMIDIOUT_16(h32) (LOWORD(h32))
#define HMIDISTRM_16(h32) (LOWORD(h32))
#define HMIXER_16(h32) (LOWORD(h32))
#define HMIXEROBJ_16(h32) (LOWORD(h32))
#define HMMIO_16(h32) (LOWORD(h32))
#define HWAVE_16(h32) (LOWORD(h32))
#define HWAVEIN_16(h32) (LOWORD(h32))
#define HWAVEOUT_16(h32) (LOWORD(h32))
dlls/winmm/winmm.c
View file @
b1a2d883
...
...
@@ -41,6 +41,7 @@
#include "winreg.h"
#include "winternl.h"
#include "winemm.h"
#include "wownt32.h"
#include "wine/debug.h"
...
...
@@ -718,7 +719,7 @@ BOOL WINAPI mciGetErrorStringW(DWORD wError, LPWSTR lpstrBuffer, UINT uLength)
*/
BOOL
WINAPI
mciGetErrorStringA
(
DWORD
dwError
,
LPSTR
lpstrBuffer
,
UINT
uLength
)
{
BOOL
16
ret
=
FALSE
;
BOOL
ret
=
FALSE
;
if
(
lpstrBuffer
!=
NULL
&&
uLength
>
0
&&
dwError
>=
MCIERR_BASE
&&
dwError
<=
MCIERR_CUSTOM_DRIVER_BASE
)
{
...
...
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