- Converted HACMOBJ to void*
- acmMetrics16 calls acmMetrics only if hao is NULL
diff --git a/dlls/msacm/filter.c b/dlls/msacm/filter.c
index 012bc99..1c3cfce 100644
--- a/dlls/msacm/filter.c
+++ b/dlls/msacm/filter.c
@@ -235,7 +235,7 @@
if (had) {
HACMDRIVERID hadid;
- if (acmDriverID(had, &hadid, 0) != MMSYSERR_NOERROR)
+ if (acmDriverID((HACMOBJ)had, &hadid, 0) != MMSYSERR_NOERROR)
return MMSYSERR_INVALHANDLE;
MSACM_FilterEnumHelper(MSACM_GetDriverID(hadid), had, pafd,
fnCallback, dwInstance, fdwEnum);
diff --git a/dlls/msacm/format.c b/dlls/msacm/format.c
index 3635d57..2bc0ce2 100644
--- a/dlls/msacm/format.c
+++ b/dlls/msacm/format.c
@@ -509,7 +509,7 @@
if (had) {
HACMDRIVERID hadid;
- if (acmDriverID(had, &hadid, 0) != MMSYSERR_NOERROR)
+ if (acmDriverID((HACMOBJ)had, &hadid, 0) != MMSYSERR_NOERROR)
return MMSYSERR_INVALHANDLE;
MSACM_FormatEnumHelper(MSACM_GetDriverID(hadid), had, pafd, &wfxRef,
fnCallback, dwInstance, fdwEnum);
diff --git a/dlls/msacm/msacm_main.c b/dlls/msacm/msacm_main.c
index 9303b20..be5947c 100644
--- a/dlls/msacm/msacm_main.c
+++ b/dlls/msacm/msacm_main.c
@@ -76,7 +76,9 @@
{
FIXME("(0x%04x, %d, %p): semi-stub\n", hao, uMetric, pMetric);
- return acmMetrics(hao, uMetric, pMetric);
+ if(!hao) return acmMetrics(0, uMetric, pMetric);
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return MMSYSERR_ERROR;
}
/***********************************************************************