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
8bdba1ba
Commit
8bdba1ba
authored
Jan 03, 2001
by
Eric Pouech
Committed by
Alexandre Julliard
Jan 03, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added support for the DRVM_MAPPER_STATUS message.
parent
95064364
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
112 additions
and
1 deletion
+112
-1
lolvldrv.c
dlls/winmm/lolvldrv.c
+112
-1
No files found.
dlls/winmm/lolvldrv.c
View file @
8bdba1ba
...
...
@@ -929,9 +929,13 @@ static MMDRV_MapType MMDRV_WaveIn_Map16To32A (UINT wMsg, LPDWORD lpdwUser, LPDW
ret
=
MMDRV_MAP_OKMEM
;
}
break
;
case
WIDM_MAPPER_STATUS
:
/* just a single DWORD */
*
lpParam2
=
(
DWORD
)
MapSL
(
*
lpParam2
);
ret
=
MMDRV_MAP_OK
;
break
;
default:
FIXME
(
"NIY: no conversion yet for %u [%lx,%lx]
\n
"
,
wMsg
,
*
lpParam1
,
*
lpParam2
);
FIXME
(
"NIY: no conversion yet for %u [%lx,%lx]
\n
"
,
wMsg
,
*
lpParam1
,
*
lpParam2
);
break
;
}
return
ret
;
...
...
@@ -949,6 +953,7 @@ static MMDRV_MapType MMDRV_WaveIn_UnMap16To32A(UINT wMsg, LPDWORD lpdwUser, LPDW
case
WIDM_RESET
:
case
WIDM_START
:
case
WIDM_STOP
:
case
WIDM_MAPPER_STATUS
:
ret
=
MMDRV_MAP_OK
;
break
;
case
WIDM_OPEN
:
...
...
@@ -1160,6 +1165,33 @@ static MMDRV_MapType MMDRV_WaveIn_Map32ATo16 (UINT wMsg, LPDWORD lpdwUser, LPDW
*
lpParam2
=
sizeof
(
MMTIME16
);
}
break
;
case
DRVM_MAPPER_STATUS
:
{
LPDWORD
p32
=
(
LPDWORD
)
*
lpParam2
;
int
sz
;
LPSTR
ptr
;
LPDWORD
p16
;
switch
(
*
lpParam1
)
{
case
WAVEIN_MAPPER_STATUS_DEVICE
:
sz
=
sizeof
(
DWORD
);
break
;
case
WAVEIN_MAPPER_STATUS_MAPPED
:
sz
=
sizeof
(
DWORD
);
break
;
case
WAVEIN_MAPPER_STATUS_FORMAT
:
sz
=
sizeof
(
WAVEFORMATEX
);
break
;
default:
ERR
(
"Unknown value: %lu
\n
"
,
*
lpParam1
);
return
MMDRV_MAP_MSGERROR
;
}
ptr
=
SEGPTR_ALLOC
(
sizeof
(
LPDWORD
)
+
sz
);
p16
=
(
LPDWORD
)(
ptr
+
sizeof
(
LPDWORD
));
if
(
ptr
)
{
*
(
LPDWORD
*
)
ptr
=
p32
;
ret
=
MMDRV_MAP_OKMEM
;
}
else
{
ret
=
MMDRV_MAP_NOMEM
;
}
*
lpParam2
=
(
DWORD
)
SEGPTR_GET
(
ptr
)
+
sizeof
(
LPDWORD
);
}
break
;
default:
FIXME
(
"NIY: no conversion yet for %u [%lx,%lx]
\n
"
,
wMsg
,
*
lpParam1
,
*
lpParam2
);
break
;
...
...
@@ -1252,6 +1284,29 @@ static MMDRV_MapType MMDRV_WaveIn_UnMap32ATo16(UINT wMsg, LPDWORD lpdwUser, LPDW
ret
=
MMDRV_MAP_OK
;
}
break
;
case
DRVM_MAPPER_STATUS
:
{
LPDWORD
p16
=
MapSL
(
*
lpParam2
);
LPSTR
ptr
=
(
LPSTR
)
p16
-
sizeof
(
LPDWORD
);
LPDWORD
p32
=
*
(
LPDWORD
*
)
ptr
;
int
sz
;
switch
(
*
lpParam1
)
{
case
WAVEIN_MAPPER_STATUS_DEVICE
:
sz
=
sizeof
(
DWORD
);
break
;
case
WAVEIN_MAPPER_STATUS_MAPPED
:
sz
=
sizeof
(
DWORD
);
break
;
case
WAVEIN_MAPPER_STATUS_FORMAT
:
sz
=
sizeof
(
WAVEFORMATEX
);
break
;
default:
ERR
(
"Unknown value: %lu
\n
"
,
*
lpParam1
);
return
MMDRV_MAP_MSGERROR
;
}
memcpy
(
p32
,
p16
,
sz
);
if
(
!
SEGPTR_FREE
(
ptr
))
FIXME
(
"bad free line=%d
\n
"
,
__LINE__
);
ret
=
MMDRV_MAP_OK
;
}
break
;
default:
FIXME
(
"NIY: no conversion yet for %u [%lx,%lx]
\n
"
,
wMsg
,
*
lpParam1
,
*
lpParam2
);
break
;
...
...
@@ -1411,6 +1466,10 @@ static MMDRV_MapType MMDRV_WaveOut_Map16To32A (UINT wMsg, LPDWORD lpdwUser, LPD
ret
=
MMDRV_MAP_OKMEM
;
}
break
;
case
WODM_MAPPER_STATUS
:
*
lpParam2
=
(
DWORD
)
MapSL
(
*
lpParam2
);
ret
=
MMDRV_MAP_OK
;
break
;
default:
FIXME
(
"NIY: no conversion yet for %u [%lx,%lx]
\n
"
,
wMsg
,
*
lpParam1
,
*
lpParam2
);
break
;
...
...
@@ -1436,6 +1495,7 @@ static MMDRV_MapType MMDRV_WaveOut_UnMap16To32A(UINT wMsg, LPDWORD lpdwUser, LPD
case
WODM_SETPITCH
:
case
WODM_SETPLAYBACKRATE
:
case
WODM_SETVOLUME
:
case
WODM_MAPPER_STATUS
:
ret
=
MMDRV_MAP_OK
;
break
;
...
...
@@ -1669,6 +1729,34 @@ static MMDRV_MapType MMDRV_WaveOut_Map32ATo16 (UINT wMsg, LPDWORD lpdwUser, LPD
ret
=
MMDRV_MAP_OKMEM
;
}
break
;
case
DRVM_MAPPER_STATUS
:
{
LPDWORD
p32
=
(
LPDWORD
)
*
lpParam2
;
int
sz
;
LPSTR
ptr
;
LPDWORD
p16
;
switch
(
*
lpParam1
)
{
case
WAVEOUT_MAPPER_STATUS_DEVICE
:
sz
=
sizeof
(
DWORD
);
break
;
case
WAVEOUT_MAPPER_STATUS_MAPPED
:
sz
=
sizeof
(
DWORD
);
break
;
case
WAVEOUT_MAPPER_STATUS_FORMAT
:
sz
=
sizeof
(
WAVEFORMATEX
);
break
;
default:
ERR
(
"Unknown value: %lu
\n
"
,
*
lpParam1
);
return
MMDRV_MAP_MSGERROR
;
}
ptr
=
SEGPTR_ALLOC
(
sizeof
(
LPDWORD
)
+
sz
);
p16
=
(
LPDWORD
)(
ptr
+
sizeof
(
LPDWORD
));
if
(
ptr
)
{
*
(
LPDWORD
*
)
ptr
=
p32
;
memcpy
(
p16
,
p32
,
sz
);
ret
=
MMDRV_MAP_OKMEM
;
}
else
{
ret
=
MMDRV_MAP_NOMEM
;
}
*
lpParam2
=
(
DWORD
)
SEGPTR_GET
(
ptr
)
+
sizeof
(
LPDWORD
);
}
break
;
default:
FIXME
(
"NIY: no conversion yet
\n
"
);
ret
=
MMDRV_MAP_MSGERROR
;
...
...
@@ -1779,6 +1867,29 @@ static MMDRV_MapType MMDRV_WaveOut_UnMap32ATo16(UINT wMsg, LPDWORD lpdwUser, LPD
FIXME
(
"NIY: no conversion yet
\n
"
);
ret
=
MMDRV_MAP_MSGERROR
;
break
;
case
DRVM_MAPPER_STATUS
:
{
LPDWORD
p16
=
MapSL
(
*
lpParam2
);
LPSTR
ptr
=
(
LPSTR
)
p16
-
sizeof
(
LPDWORD
);
LPDWORD
p32
=
*
(
LPDWORD
*
)
ptr
;
int
sz
;
switch
(
*
lpParam1
)
{
case
WAVEOUT_MAPPER_STATUS_DEVICE
:
sz
=
sizeof
(
DWORD
);
break
;
case
WAVEOUT_MAPPER_STATUS_MAPPED
:
sz
=
sizeof
(
DWORD
);
break
;
case
WAVEOUT_MAPPER_STATUS_FORMAT
:
sz
=
sizeof
(
WAVEFORMATEX
);
break
;
default:
ERR
(
"Unknown value: %lu
\n
"
,
*
lpParam1
);
return
MMDRV_MAP_MSGERROR
;
}
memcpy
(
p32
,
p16
,
sz
);
if
(
!
SEGPTR_FREE
(
ptr
))
FIXME
(
"bad free line=%d
\n
"
,
__LINE__
);
ret
=
MMDRV_MAP_OK
;
}
break
;
default:
FIXME
(
"NIY: no conversion yet
\n
"
);
ret
=
MMDRV_MAP_MSGERROR
;
...
...
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