2000-08-26 04:33:00 +00:00
|
|
|
/* -*- tab-width: 8; c-basic-offset: 4 -*- */
|
|
|
|
|
1998-10-11 17:00:29 +00:00
|
|
|
/*
|
|
|
|
* MSACM32 library
|
|
|
|
*
|
|
|
|
* Copyright 1998 Patrik Stridvall
|
|
|
|
*/
|
|
|
|
|
1999-02-17 13:51:06 +00:00
|
|
|
#include "winbase.h"
|
1998-10-11 17:00:29 +00:00
|
|
|
#include "winerror.h"
|
|
|
|
#include "mmsystem.h"
|
|
|
|
#include "msacm.h"
|
|
|
|
#include "msacmdrv.h"
|
2000-08-26 04:33:00 +00:00
|
|
|
#include "wineacm.h"
|
1999-05-14 08:17:14 +00:00
|
|
|
#include "debugtools.h"
|
1998-10-11 17:00:29 +00:00
|
|
|
|
2000-08-26 04:33:00 +00:00
|
|
|
DEFAULT_DEBUG_CHANNEL(msacm);
|
1999-04-19 14:56:29 +00:00
|
|
|
|
1998-10-11 17:00:29 +00:00
|
|
|
/***********************************************************************
|
|
|
|
* acmFilterChooseA (MSACM32.13)
|
|
|
|
*/
|
2000-08-26 04:33:00 +00:00
|
|
|
MMRESULT WINAPI acmFilterChooseA(PACMFILTERCHOOSEA pafltrc)
|
1998-10-11 17:00:29 +00:00
|
|
|
{
|
2000-08-26 04:33:00 +00:00
|
|
|
FIXME("(%p): stub\n", pafltrc);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return MMSYSERR_ERROR;
|
1998-10-11 17:00:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* acmFilterChooseW (MSACM32.14)
|
|
|
|
*/
|
2000-08-26 04:33:00 +00:00
|
|
|
MMRESULT WINAPI acmFilterChooseW(PACMFILTERCHOOSEW pafltrc)
|
1998-10-11 17:00:29 +00:00
|
|
|
{
|
2000-08-26 04:33:00 +00:00
|
|
|
FIXME("(%p): stub\n", pafltrc);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return MMSYSERR_ERROR;
|
1998-10-11 17:00:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* acmFilterDetailsA (MSACM32.15)
|
|
|
|
*/
|
2000-08-26 04:33:00 +00:00
|
|
|
MMRESULT WINAPI acmFilterDetailsA(HACMDRIVER had, PACMFILTERDETAILSA pafd,
|
|
|
|
DWORD fdwDetails)
|
1998-10-11 17:00:29 +00:00
|
|
|
{
|
2000-08-26 04:33:00 +00:00
|
|
|
ACMFILTERDETAILSW afdw;
|
|
|
|
MMRESULT mmr;
|
|
|
|
|
|
|
|
memset(&afdw, 0, sizeof(afdw));
|
|
|
|
afdw.cbStruct = sizeof(afdw);
|
|
|
|
afdw.dwFilterIndex = pafd->dwFilterIndex;
|
|
|
|
afdw.dwFilterTag = pafd->dwFilterTag;
|
|
|
|
afdw.pwfltr = pafd->pwfltr;
|
|
|
|
afdw.cbwfltr = pafd->cbwfltr;
|
|
|
|
|
|
|
|
mmr = acmFilterDetailsW(had, &afdw, fdwDetails);
|
|
|
|
if (mmr == MMSYSERR_NOERROR) {
|
|
|
|
pafd->dwFilterTag = afdw.dwFilterTag;
|
|
|
|
pafd->fdwSupport = afdw.fdwSupport;
|
|
|
|
lstrcpyWtoA(pafd->szFilter, afdw.szFilter);
|
|
|
|
}
|
|
|
|
return mmr;
|
1998-10-11 17:00:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* acmFilterDetailsW (MSACM32.16)
|
|
|
|
*/
|
2000-08-26 04:33:00 +00:00
|
|
|
MMRESULT WINAPI acmFilterDetailsW(HACMDRIVER had, PACMFILTERDETAILSW pafd,
|
|
|
|
DWORD fdwDetails)
|
1998-10-11 17:00:29 +00:00
|
|
|
{
|
2000-08-26 04:33:00 +00:00
|
|
|
TRACE("(0x%08x, %p, %ld)\n", had, pafd, fdwDetails);
|
|
|
|
|
|
|
|
if (fdwDetails & ~(ACM_FILTERDETAILSF_FILTER))
|
|
|
|
return MMSYSERR_INVALFLAG;
|
|
|
|
|
|
|
|
return MSACM_Message(had, ACMDM_FILTER_DETAILS,
|
|
|
|
(LPARAM) pafd, (LPARAM) fdwDetails);
|
1998-10-11 17:00:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* acmFilterEnumA (MSACM32.17)
|
|
|
|
*/
|
2000-08-26 04:33:00 +00:00
|
|
|
MMRESULT WINAPI acmFilterEnumA(HACMDRIVER had, PACMFILTERDETAILSA pafd,
|
|
|
|
ACMFILTERENUMCBA fnCallback, DWORD dwInstance,
|
|
|
|
DWORD fdwEnum)
|
1998-10-11 17:00:29 +00:00
|
|
|
{
|
2000-08-26 04:33:00 +00:00
|
|
|
FIXME("(0x%08x, %p, %p, %ld, %ld): stub\n",
|
|
|
|
had, pafd, fnCallback, dwInstance, fdwEnum);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return MMSYSERR_ERROR;
|
1998-10-11 17:00:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* acmFilterEnumW (MSACM32.18)
|
|
|
|
*/
|
2000-08-26 04:33:00 +00:00
|
|
|
MMRESULT WINAPI acmFilterEnumW(HACMDRIVER had, PACMFILTERDETAILSW pafd,
|
|
|
|
ACMFILTERENUMCBW fnCallback, DWORD dwInstance,
|
|
|
|
DWORD fdwEnum)
|
1998-10-11 17:00:29 +00:00
|
|
|
{
|
2000-08-26 04:33:00 +00:00
|
|
|
FIXME("(0x%08x, %p, %p, %ld, %ld): stub\n",
|
|
|
|
had, pafd, fnCallback, dwInstance, fdwEnum);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return MMSYSERR_ERROR;
|
1998-10-11 17:00:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* acmFilterTagDetailsA (MSACM32.19)
|
|
|
|
*/
|
2000-08-26 04:33:00 +00:00
|
|
|
MMRESULT WINAPI acmFilterTagDetailsA(HACMDRIVER had, PACMFILTERTAGDETAILSA paftda,
|
|
|
|
DWORD fdwDetails)
|
1998-10-11 17:00:29 +00:00
|
|
|
{
|
2000-08-26 04:33:00 +00:00
|
|
|
ACMFILTERTAGDETAILSW aftdw;
|
|
|
|
MMRESULT mmr;
|
|
|
|
|
|
|
|
memset(&aftdw, 0, sizeof(aftdw));
|
|
|
|
aftdw.cbStruct = sizeof(aftdw);
|
|
|
|
aftdw.dwFilterTagIndex = paftda->dwFilterTagIndex;
|
|
|
|
aftdw.dwFilterTag = paftda->dwFilterTag;
|
|
|
|
|
|
|
|
mmr = acmFilterTagDetailsW(had, &aftdw, fdwDetails);
|
|
|
|
if (mmr == MMSYSERR_NOERROR) {
|
|
|
|
paftda->dwFilterTag = aftdw.dwFilterTag;
|
|
|
|
paftda->dwFilterTagIndex = aftdw.dwFilterTagIndex;
|
|
|
|
paftda->cbFilterSize = aftdw.cbFilterSize;
|
|
|
|
paftda->fdwSupport = aftdw.fdwSupport;
|
|
|
|
paftda->cStandardFilters = aftdw.cStandardFilters;
|
|
|
|
lstrcpyWtoA(paftda->szFilterTag, aftdw.szFilterTag);
|
|
|
|
}
|
|
|
|
return mmr;
|
1998-10-11 17:00:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* acmFilterTagDetailsW (MSACM32.20)
|
|
|
|
*/
|
2000-08-26 04:33:00 +00:00
|
|
|
MMRESULT WINAPI acmFilterTagDetailsW(HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
|
|
|
|
DWORD fdwDetails)
|
1998-10-11 17:00:29 +00:00
|
|
|
{
|
2000-08-26 04:33:00 +00:00
|
|
|
TRACE("(0x%08x, %p, %ld)\n", had, paftd, fdwDetails);
|
|
|
|
|
|
|
|
if (fdwDetails &
|
|
|
|
~(ACM_FILTERTAGDETAILSF_FILTERTAG|
|
|
|
|
ACM_FILTERTAGDETAILSF_LARGESTSIZE))
|
|
|
|
return MMSYSERR_INVALFLAG;
|
|
|
|
|
|
|
|
return MSACM_Message(had, ACMDM_FILTERTAG_DETAILS,
|
|
|
|
(LPARAM)paftd, (LPARAM)fdwDetails);
|
1998-10-11 17:00:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* acmFilterTagEnumA (MSACM32.21)
|
|
|
|
*/
|
2000-08-26 04:33:00 +00:00
|
|
|
MMRESULT WINAPI acmFilterTagEnumA(HACMDRIVER had, PACMFILTERTAGDETAILSA paftd,
|
|
|
|
ACMFILTERTAGENUMCBA fnCallback, DWORD dwInstance,
|
|
|
|
DWORD fdwEnum)
|
1998-10-11 17:00:29 +00:00
|
|
|
{
|
2000-08-26 04:33:00 +00:00
|
|
|
FIXME("(0x%08x, %p, %p, %ld, %ld): stub\n",
|
|
|
|
had, paftd, fnCallback, dwInstance, fdwEnum);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return MMSYSERR_ERROR;
|
1998-10-11 17:00:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* acmFilterTagEnumW (MSACM32.22)
|
|
|
|
*/
|
2000-08-26 04:33:00 +00:00
|
|
|
MMRESULT WINAPI acmFilterTagEnumW(HACMDRIVER had, PACMFILTERTAGDETAILSW paftd,
|
|
|
|
ACMFILTERTAGENUMCBW fnCallback, DWORD dwInstance,
|
|
|
|
DWORD fdwEnum)
|
1998-10-11 17:00:29 +00:00
|
|
|
{
|
2000-08-26 04:33:00 +00:00
|
|
|
FIXME("(0x%08x, %p, %p, %ld, %ld): stub\n",
|
|
|
|
had, paftd, fnCallback, dwInstance, fdwEnum);
|
|
|
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
|
|
return MMSYSERR_ERROR;
|
1998-10-11 17:00:29 +00:00
|
|
|
}
|