Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
03c16aab
Commit
03c16aab
authored
Nov 14, 2009
by
Maarten Lankhorst
Committed by
Alexandre Julliard
Nov 16, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dsound: Move DirectSoundCaptureEnumerate to dsound_main.c.
parent
9ec5f957
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
130 additions
and
130 deletions
+130
-130
capture.c
dlls/dsound/capture.c
+0
-130
dsound_main.c
dlls/dsound/dsound_main.c
+130
-0
No files found.
dlls/dsound/capture.c
View file @
03c16aab
...
...
@@ -254,136 +254,6 @@ HRESULT WINAPI DirectSoundCaptureCreate8(
return
hr
;
}
/***************************************************************************
* DirectSoundCaptureEnumerateA [DSOUND.7]
*
* Enumerate all DirectSound drivers installed in the system.
*
* PARAMS
* lpDSEnumCallback [I] Address of callback function.
* lpContext [I] Address of user defined context passed to callback function.
*
* RETURNS
* Success: DS_OK
* Failure: DSERR_INVALIDPARAM
*/
HRESULT
WINAPI
DirectSoundCaptureEnumerateA
(
LPDSENUMCALLBACKA
lpDSEnumCallback
,
LPVOID
lpContext
)
{
unsigned
devs
,
wid
;
DSDRIVERDESC
desc
;
GUID
guid
;
int
err
;
TRACE
(
"(%p,%p)
\n
"
,
lpDSEnumCallback
,
lpContext
);
if
(
lpDSEnumCallback
==
NULL
)
{
WARN
(
"invalid parameter: lpDSEnumCallback == NULL
\n
"
);
return
DSERR_INVALIDPARAM
;
}
devs
=
waveInGetNumDevs
();
if
(
devs
>
0
)
{
if
(
GetDeviceID
(
&
DSDEVID_DefaultCapture
,
&
guid
)
==
DS_OK
)
{
for
(
wid
=
0
;
wid
<
devs
;
++
wid
)
{
if
(
IsEqualGUID
(
&
guid
,
&
DSOUND_capture_guids
[
wid
]
)
)
{
err
=
mmErr
(
waveInMessage
(
UlongToHandle
(
wid
),
DRV_QUERYDSOUNDDESC
,(
DWORD_PTR
)
&
desc
,
0
));
if
(
err
==
DS_OK
)
{
TRACE
(
"calling lpDSEnumCallback(NULL,
\"
%s
\"
,
\"
%s
\"
,%p)
\n
"
,
"Primary Sound Capture Driver"
,
desc
.
szDrvname
,
lpContext
);
if
(
lpDSEnumCallback
(
NULL
,
"Primary Sound Capture Driver"
,
desc
.
szDrvname
,
lpContext
)
==
FALSE
)
return
DS_OK
;
}
}
}
}
}
for
(
wid
=
0
;
wid
<
devs
;
++
wid
)
{
err
=
mmErr
(
waveInMessage
(
UlongToHandle
(
wid
),
DRV_QUERYDSOUNDDESC
,(
DWORD_PTR
)
&
desc
,
0
));
if
(
err
==
DS_OK
)
{
TRACE
(
"calling lpDSEnumCallback(%s,
\"
%s
\"
,
\"
%s
\"
,%p)
\n
"
,
debugstr_guid
(
&
DSOUND_capture_guids
[
wid
]),
desc
.
szDesc
,
desc
.
szDrvname
,
lpContext
);
if
(
lpDSEnumCallback
(
&
DSOUND_capture_guids
[
wid
],
desc
.
szDesc
,
desc
.
szDrvname
,
lpContext
)
==
FALSE
)
return
DS_OK
;
}
}
return
DS_OK
;
}
/***************************************************************************
* DirectSoundCaptureEnumerateW [DSOUND.8]
*
* Enumerate all DirectSound drivers installed in the system.
*
* PARAMS
* lpDSEnumCallback [I] Address of callback function.
* lpContext [I] Address of user defined context passed to callback function.
*
* RETURNS
* Success: DS_OK
* Failure: DSERR_INVALIDPARAM
*/
HRESULT
WINAPI
DirectSoundCaptureEnumerateW
(
LPDSENUMCALLBACKW
lpDSEnumCallback
,
LPVOID
lpContext
)
{
unsigned
devs
,
wid
;
DSDRIVERDESC
desc
;
GUID
guid
;
int
err
;
WCHAR
wDesc
[
MAXPNAMELEN
];
WCHAR
wName
[
MAXPNAMELEN
];
TRACE
(
"(%p,%p)
\n
"
,
lpDSEnumCallback
,
lpContext
);
if
(
lpDSEnumCallback
==
NULL
)
{
WARN
(
"invalid parameter: lpDSEnumCallback == NULL
\n
"
);
return
DSERR_INVALIDPARAM
;
}
devs
=
waveInGetNumDevs
();
if
(
devs
>
0
)
{
if
(
GetDeviceID
(
&
DSDEVID_DefaultCapture
,
&
guid
)
==
DS_OK
)
{
for
(
wid
=
0
;
wid
<
devs
;
++
wid
)
{
if
(
IsEqualGUID
(
&
guid
,
&
DSOUND_capture_guids
[
wid
]
)
)
{
err
=
mmErr
(
waveInMessage
(
UlongToHandle
(
wid
),
DRV_QUERYDSOUNDDESC
,(
DWORD_PTR
)
&
desc
,
0
));
if
(
err
==
DS_OK
)
{
TRACE
(
"calling lpDSEnumCallback(NULL,
\"
%s
\"
,
\"
%s
\"
,%p)
\n
"
,
"Primary Sound Capture Driver"
,
desc
.
szDrvname
,
lpContext
);
MultiByteToWideChar
(
CP_ACP
,
0
,
"Primary Sound Capture Driver"
,
-
1
,
wDesc
,
sizeof
(
wDesc
)
/
sizeof
(
WCHAR
)
);
MultiByteToWideChar
(
CP_ACP
,
0
,
desc
.
szDrvname
,
-
1
,
wName
,
sizeof
(
wName
)
/
sizeof
(
WCHAR
)
);
if
(
lpDSEnumCallback
(
NULL
,
wDesc
,
wName
,
lpContext
)
==
FALSE
)
return
DS_OK
;
}
}
}
}
}
for
(
wid
=
0
;
wid
<
devs
;
++
wid
)
{
err
=
mmErr
(
waveInMessage
(
UlongToHandle
(
wid
),
DRV_QUERYDSOUNDDESC
,(
DWORD_PTR
)
&
desc
,
0
));
if
(
err
==
DS_OK
)
{
TRACE
(
"calling lpDSEnumCallback(%s,
\"
%s
\"
,
\"
%s
\"
,%p)
\n
"
,
debugstr_guid
(
&
DSOUND_capture_guids
[
wid
]),
desc
.
szDesc
,
desc
.
szDrvname
,
lpContext
);
MultiByteToWideChar
(
CP_ACP
,
0
,
desc
.
szDesc
,
-
1
,
wDesc
,
sizeof
(
wDesc
)
/
sizeof
(
WCHAR
)
);
MultiByteToWideChar
(
CP_ACP
,
0
,
desc
.
szDrvname
,
-
1
,
wName
,
sizeof
(
wName
)
/
sizeof
(
WCHAR
)
);
if
(
lpDSEnumCallback
(
&
DSOUND_capture_guids
[
wid
],
wDesc
,
wName
,
lpContext
)
==
FALSE
)
return
DS_OK
;
}
}
return
DS_OK
;
}
static
void
capture_CheckNotify
(
IDirectSoundCaptureBufferImpl
*
This
,
DWORD
from
,
DWORD
len
)
{
int
i
;
...
...
dlls/dsound/dsound_main.c
View file @
03c16aab
...
...
@@ -387,6 +387,136 @@ HRESULT WINAPI DirectSoundEnumerateW(
return
DS_OK
;
}
/***************************************************************************
* DirectSoundCaptureEnumerateA [DSOUND.7]
*
* Enumerate all DirectSound drivers installed in the system.
*
* PARAMS
* lpDSEnumCallback [I] Address of callback function.
* lpContext [I] Address of user defined context passed to callback function.
*
* RETURNS
* Success: DS_OK
* Failure: DSERR_INVALIDPARAM
*/
HRESULT
WINAPI
DirectSoundCaptureEnumerateA
(
LPDSENUMCALLBACKA
lpDSEnumCallback
,
LPVOID
lpContext
)
{
unsigned
devs
,
wid
;
DSDRIVERDESC
desc
;
GUID
guid
;
int
err
;
TRACE
(
"(%p,%p)
\n
"
,
lpDSEnumCallback
,
lpContext
);
if
(
lpDSEnumCallback
==
NULL
)
{
WARN
(
"invalid parameter: lpDSEnumCallback == NULL
\n
"
);
return
DSERR_INVALIDPARAM
;
}
devs
=
waveInGetNumDevs
();
if
(
devs
>
0
)
{
if
(
GetDeviceID
(
&
DSDEVID_DefaultCapture
,
&
guid
)
==
DS_OK
)
{
for
(
wid
=
0
;
wid
<
devs
;
++
wid
)
{
if
(
IsEqualGUID
(
&
guid
,
&
DSOUND_capture_guids
[
wid
]
)
)
{
err
=
mmErr
(
waveInMessage
(
UlongToHandle
(
wid
),
DRV_QUERYDSOUNDDESC
,(
DWORD_PTR
)
&
desc
,
0
));
if
(
err
==
DS_OK
)
{
TRACE
(
"calling lpDSEnumCallback(NULL,
\"
%s
\"
,
\"
%s
\"
,%p)
\n
"
,
"Primary Sound Capture Driver"
,
desc
.
szDrvname
,
lpContext
);
if
(
lpDSEnumCallback
(
NULL
,
"Primary Sound Capture Driver"
,
desc
.
szDrvname
,
lpContext
)
==
FALSE
)
return
DS_OK
;
}
}
}
}
}
for
(
wid
=
0
;
wid
<
devs
;
++
wid
)
{
err
=
mmErr
(
waveInMessage
(
UlongToHandle
(
wid
),
DRV_QUERYDSOUNDDESC
,(
DWORD_PTR
)
&
desc
,
0
));
if
(
err
==
DS_OK
)
{
TRACE
(
"calling lpDSEnumCallback(%s,
\"
%s
\"
,
\"
%s
\"
,%p)
\n
"
,
debugstr_guid
(
&
DSOUND_capture_guids
[
wid
]),
desc
.
szDesc
,
desc
.
szDrvname
,
lpContext
);
if
(
lpDSEnumCallback
(
&
DSOUND_capture_guids
[
wid
],
desc
.
szDesc
,
desc
.
szDrvname
,
lpContext
)
==
FALSE
)
return
DS_OK
;
}
}
return
DS_OK
;
}
/***************************************************************************
* DirectSoundCaptureEnumerateW [DSOUND.8]
*
* Enumerate all DirectSound drivers installed in the system.
*
* PARAMS
* lpDSEnumCallback [I] Address of callback function.
* lpContext [I] Address of user defined context passed to callback function.
*
* RETURNS
* Success: DS_OK
* Failure: DSERR_INVALIDPARAM
*/
HRESULT
WINAPI
DirectSoundCaptureEnumerateW
(
LPDSENUMCALLBACKW
lpDSEnumCallback
,
LPVOID
lpContext
)
{
unsigned
devs
,
wid
;
DSDRIVERDESC
desc
;
GUID
guid
;
int
err
;
WCHAR
wDesc
[
MAXPNAMELEN
];
WCHAR
wName
[
MAXPNAMELEN
];
TRACE
(
"(%p,%p)
\n
"
,
lpDSEnumCallback
,
lpContext
);
if
(
lpDSEnumCallback
==
NULL
)
{
WARN
(
"invalid parameter: lpDSEnumCallback == NULL
\n
"
);
return
DSERR_INVALIDPARAM
;
}
devs
=
waveInGetNumDevs
();
if
(
devs
>
0
)
{
if
(
GetDeviceID
(
&
DSDEVID_DefaultCapture
,
&
guid
)
==
DS_OK
)
{
for
(
wid
=
0
;
wid
<
devs
;
++
wid
)
{
if
(
IsEqualGUID
(
&
guid
,
&
DSOUND_capture_guids
[
wid
]
)
)
{
err
=
mmErr
(
waveInMessage
(
UlongToHandle
(
wid
),
DRV_QUERYDSOUNDDESC
,(
DWORD_PTR
)
&
desc
,
0
));
if
(
err
==
DS_OK
)
{
TRACE
(
"calling lpDSEnumCallback(NULL,
\"
%s
\"
,
\"
%s
\"
,%p)
\n
"
,
"Primary Sound Capture Driver"
,
desc
.
szDrvname
,
lpContext
);
MultiByteToWideChar
(
CP_ACP
,
0
,
"Primary Sound Capture Driver"
,
-
1
,
wDesc
,
sizeof
(
wDesc
)
/
sizeof
(
WCHAR
)
);
MultiByteToWideChar
(
CP_ACP
,
0
,
desc
.
szDrvname
,
-
1
,
wName
,
sizeof
(
wName
)
/
sizeof
(
WCHAR
)
);
if
(
lpDSEnumCallback
(
NULL
,
wDesc
,
wName
,
lpContext
)
==
FALSE
)
return
DS_OK
;
}
}
}
}
}
for
(
wid
=
0
;
wid
<
devs
;
++
wid
)
{
err
=
mmErr
(
waveInMessage
(
UlongToHandle
(
wid
),
DRV_QUERYDSOUNDDESC
,(
DWORD_PTR
)
&
desc
,
0
));
if
(
err
==
DS_OK
)
{
TRACE
(
"calling lpDSEnumCallback(%s,
\"
%s
\"
,
\"
%s
\"
,%p)
\n
"
,
debugstr_guid
(
&
DSOUND_capture_guids
[
wid
]),
desc
.
szDesc
,
desc
.
szDrvname
,
lpContext
);
MultiByteToWideChar
(
CP_ACP
,
0
,
desc
.
szDesc
,
-
1
,
wDesc
,
sizeof
(
wDesc
)
/
sizeof
(
WCHAR
)
);
MultiByteToWideChar
(
CP_ACP
,
0
,
desc
.
szDrvname
,
-
1
,
wName
,
sizeof
(
wName
)
/
sizeof
(
WCHAR
)
);
if
(
lpDSEnumCallback
(
&
DSOUND_capture_guids
[
wid
],
wDesc
,
wName
,
lpContext
)
==
FALSE
)
return
DS_OK
;
}
}
return
DS_OK
;
}
/*******************************************************************************
* DirectSound ClassFactory
*/
...
...
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