52 TRACE(
"(%p, %p, %08lx, %08x, %08x)\n",
53 phadid, hinstModule,
lParam, dwPriority, fdwAdd);
56 WARN(
"invalid parameter\n");
64 WARN(
"invalid flag\n");
71 WARN(
"invalid flag\n");
87 resultW =
acmDriverAddW(phadid, hinstModule, lParamW, dwPriority, fdwAdd);
101 TRACE(
"(%p, %p, %08lx, %08x, %08x)\n",
102 phadid, hinstModule,
lParam, dwPriority, fdwAdd);
105 WARN(
"invalid parameter\n");
113 WARN(
"invalid flag\n");
120 WARN(
"invalid flag\n");
133 ERR(
"Unable to register driver via ACM_DRIVERADDF_NAME\n");
151 ERR(
"Unable to register driver via ACM_DRIVERADDF_FUNCTION\n");
163 ERR(
"Unable to register driver via ACM_DRIVERADDF_NOTIFYHWND\n");
168 ERR(
"invalid flag value 0x%08x for fdwAdd\n", fdwAdd);
185 TRACE(
"(%p, %08x)\n", had, fdwClose);
188 WARN(
"invalid flag\n");
194 WARN(
"invalid handle\n");
201 for (tpad = &(padid->
pACMDriverList); *tpad; tpad = &((*tpad)->pNextACMDriver)) {
228 TRACE(
"(%p, %p, %08x)\n", hadid, padd, fdwDetails);
231 WARN(
"invalid parameter\n");
236 WARN(
"invalid parameter\n");
279 TRACE(
"(%p, %p, %08x)\n", hadid, padd, fdwDetails);
282 WARN(
"invalid parameter\n");
287 WARN(
"invalid parameter\n");
292 WARN(
"invalid flag\n");
303 paddw.cbStruct =
min(padd->
cbStruct,
sizeof(*padd));
321 TRACE(
"(%p, %08lx, %08x)\n", fnCallback, dwInstance, fdwEnum);
324 WARN(
"invalid parameter\n");
329 WARN(
"invalid flag\n");
342 if (!(*fnCallback)((HACMDRIVERID)padid, dwInstance, fdwSupport))
356 TRACE(
"(%p, %p, %08x)\n", hao, phadid, fdwDriverID);
359 WARN(
"invalid flag\n");
365 WARN(
"invalid handle\n");
370 WARN(
"invalid parameter\n");
394 TRACE(
"(%p, %04x, %08lx, %08lx\n", had, uMsg, lParam1, lParam2);
419 if (pAlias ==
NULL) {
420 WARN(
"DRV_CONFIGURE: no alias for this driver, cannot self-supply alias\n");
423 FIXME(
"DRV_CONFIGURE: reverse lookup HACMDRIVER -> HACMDRIVERID not implemented\n");
427 if (pAlias !=
NULL) {
432 const unsigned int iStructSize = 16;
435 ERR(
"OOM while supplying DRVCONFIGINFO for DRV_CONFIGURE, using NULL\n");
437 static const WCHAR drivers32[] = {
'D',
'r',
'i',
'v',
'e',
'r',
's',
'3',
'2',
'\0'};
442 if (section_name)
lstrcpyW(section_name, drivers32);
445 if (alias_name)
lstrcpyW(alias_name, pAlias);
453 ERR(
"OOM while supplying DRVCONFIGINFO for DRV_CONFIGURE, using NULL\n");
458 lParam2 = (
LPARAM)pConfigInfo;
484 WARN(
"invalid parameter\n");
497 TRACE(
"(%p, %p, %08u)\n", phad, hadid, fdwOpen);
500 WARN(
"invalid parameter\n");
505 WARN(
"invalid flag\n");
511 WARN(
"invalid handle\n");
594 *phad = (HACMDRIVER)pad;
599 WARN(
"failed: ret = %08x\n",
ret);
610 TRACE(
"(%p, %08x, %08x)\n", hadid, dwPriority, fdwPriority);
616 WARN(
"invalid flag\n");
623 WARN(
"invalid flag\n");
630 WARN(
"invalid flag\n");
640 WARN(
"ACM_DRIVERPRIORITYF_[BEGIN|END] cannot be used with any other flags\n");
644 WARN(
"priority invalid with ACM_DRIVERPRIORITYF_[BEGIN|END]\n");
648 WARN(
"non-null hadid invalid with ACM_DRIVERPRIORITYF_[BEGIN|END]\n");
672 if (!padid && !panwnd) {
673 WARN(
"invalid handle\n");
683 if (dwPriority != 1 && dwPriority != (
DWORD)-1) {
684 FIXME(
"unexpected priority %d, using sign only\n", dwPriority);
685 if ((
signed)dwPriority < 0) dwPriority = (
DWORD)-1;
686 if (dwPriority > 0) dwPriority = 1;
697 bPerformBroadcast =
TRUE;
705 bPerformBroadcast =
TRUE;
710 bPerformBroadcast =
TRUE;
724 bPerformBroadcast =
TRUE;
729 bPerformBroadcast =
TRUE;
735 if (bPerformBroadcast) {
751 TRACE(
"(%p, %08x)\n", hadid, fdwRemove);
755 if (!padid && !panwnd) {
756 WARN(
"invalid handle\n");
761 WARN(
"invalid flag\n");
LRESULT(CALLBACK * DRIVERPROC)(DWORD_PTR, HDRVR, UINT, LPARAM, LPARAM)
WCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS]
#define WideCharToMultiByte
PWINE_ACMLOCALDRIVER MSACM_RegisterLocalDriver(HMODULE hModule, DRIVERPROC lpDriverProc)
CHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS]
ACPI_SIZE strlen(const char *String)
#define ACM_DRIVERPRIORITYF_ENABLE
void MSACM_EnableNotifications(void)
WINE_DEFAULT_DEBUG_CHANNEL(msacm)
LRESULT WINAPI acmDriverMessage(HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
CHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS]
PWINE_ACMDRIVERID pACMDriverID
LRESULT WINAPI CloseDriver(HDRVR hDrvr, LPARAM lParam1, LPARAM lParam2)
#define ACM_DRIVERADDF_GLOBAL
PWINE_ACMDRIVERID MSACM_UnregisterDriver(PWINE_ACMDRIVERID p)
#define MMSYSERR_INVALHANDLE
HDRVR WINAPI OpenDriver(LPCWSTR lpDriverName, LPCWSTR lpSectionName, LPARAM lParam)
CHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS]
#define DRV_QUERYCONFIGURE
PWINE_ACMDRIVERID pPrevACMDriverID
MMRESULT WINAPI acmDriverClose(HACMDRIVER had, DWORD fdwClose)
#define ACMDM_RESERVED_LOW
void MSACM_WriteCurrentPriorities(void)
#define MMSYSERR_NODRIVER
WCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS]
static const WCHAR driverW[]
#define ACMDM_DRIVER_DETAILS
PWINE_ACMLOCALDRIVERINST MSACM_OpenLocalDriver(PWINE_ACMLOCALDRIVER paldrv, LPARAM lParam2)
#define ACMDRIVERDETAILS_FCCCOMP_UNDEFINED
PWINE_ACMOBJ MSACM_GetObj(HACMOBJ hObj, DWORD type)
HACMDRIVERID * PHACMDRIVERID
#define ACM_DRIVERADDF_NOTIFYHWND
PWINE_ACMDRIVERID pNextACMDriverID
void MSACM_BroadcastNotification(void)
MMRESULT WINAPI acmDriverID(HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
void MSACM_DisableNotifications(void)
MMRESULT WINAPI acmDriverRemove(HACMDRIVERID hadid, DWORD fdwRemove)
LPCWSTR lpszDCISectionName
DWORD WINAPI acmGetVersion(void)
PWINE_ACMDRIVER pACMDriverList
WCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS]
#define MMSYSERR_INVALFLAG
#define WINE_ACMOBJ_DONTCARE
MMRESULT WINAPI acmDriverOpen(PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen)
MMRESULT MSACM_Message(HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARAM lParam2)
#define ACM_DRIVERPRIORITYF_END
#define MMSYSERR_NOTSUPPORTED
MMRESULT WINAPI acmDriverDetailsW(HACMDRIVERID hadid, PACMDRIVERDETAILSW padd, DWORD fdwDetails)
PWINE_ACMDRIVER MSACM_GetDriver(HACMDRIVER hDriver)
MMRESULT WINAPI acmDriverDetailsA(HACMDRIVERID hadid, PACMDRIVERDETAILSA padd, DWORD fdwDetails)
PWINE_ACMLOCALDRIVER pLocalDriver
PWINE_ACMDRIVERID MSACM_RegisterDriver(LPCWSTR pszDriverAlias, LPCWSTR pszFileName, PWINE_ACMLOCALDRIVER pLocalDriver)
PWINE_ACMDRIVERID MSACM_pFirstACMDriverID
#define memcpy(s1, s2, n)
CHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS]
#define ACM_DRIVERADDF_TYPEMASK
PWINE_ACMNOTIFYWND MSACM_UnRegisterNotificationWindow(const WINE_ACMNOTIFYWND *panwnd)
MMRESULT WINAPI acmDriverAddA(PHACMDRIVERID phadid, HINSTANCE hinstModule, LPARAM lParam, DWORD dwPriority, DWORD fdwAdd)
#define ACMDRIVERDETAILS_SUPPORTF_LOCAL
#define ACM_DRIVERADDF_FUNCTION
#define MMSYSERR_INVALPARAM
void MSACM_RePositionDriver(PWINE_ACMDRIVERID padid, DWORD dwPriority)
PWINE_ACMNOTIFYWND MSACM_RegisterNotificationWindow(HWND hNotifyWnd, DWORD dwNotifyMsg)
#define MultiByteToWideChar
#define ACM_DRIVERPRIORITYF_DISABLE
#define ACM_DRIVERADDF_NAME
LRESULT MSACM_CloseLocalDriver(PWINE_ACMLOCALDRIVERINST paldrv)
#define ACMDRIVERDETAILS_SUPPORTF_DISABLED
#define WINE_ACMOBJ_DRIVER
#define ACM_DRIVERPRIORITYF_BEGIN
WCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS]
WCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS]
MMRESULT WINAPI acmDriverEnum(ACMDRIVERENUMCB fnCallback, DWORD_PTR dwInstance, DWORD fdwEnum)
BOOL(CALLBACK * ACMDRIVERENUMCB)(HACMDRIVERID hadid, DWORD_PTR dwInstance, DWORD fdwSupport)
MMRESULT WINAPI acmDriverAddW(PHACMDRIVERID phadid, HINSTANCE hinstModule, LPARAM lParam, DWORD dwPriority, DWORD fdwAdd)
MMRESULT WINAPI acmDriverPriority(HACMDRIVERID hadid, DWORD dwPriority, DWORD fdwPriority)
CHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS]
PWINE_ACMDRIVERID MSACM_GetDriverID(HACMDRIVERID hDriverID)
#define ACM_DRIVERENUMF_DISABLED
PWINE_ACMDRIVER pNextACMDriver
#define HeapFree(x, y, z)
#define ACMDM_DRIVER_ABOUT
PWINE_ACMDRIVERID MSACM_RegisterDriverFromRegistry(LPCWSTR pszRegEntry)
#define ACM_DRIVERENUMF_NOLOCAL
PWINE_ACMNOTIFYWND MSACM_GetNotifyWnd(HACMDRIVERID hDriver)
#define ACMDRIVERDETAILS_FCCTYPE_AUDIOCODEC
PWINE_ACMLOCALDRIVERINST pLocalDrvrInst