4 * Copyright 1998 Patrik Stridvall
14 #include "winversion.h"
16 /**********************************************************************/
18 static DWORD MSACM_dwProcessesAttached32
= 0;
20 /***********************************************************************
21 * MSACM_LibMain32 (MSACM32.init)
23 BOOL32 WINAPI
MSACM32_LibMain(
24 HINSTANCE32 hinstDLL
, DWORD fdwReason
, LPVOID lpvReserved
)
28 case DLL_PROCESS_ATTACH
:
29 if(MSACM_dwProcessesAttached32
== 0)
31 MSACM_hHeap32
= HeapCreate(0, 0x10000, 0);
32 MSACM_RegisterAllDrivers32();
34 MSACM_dwProcessesAttached32
++;
36 case DLL_PROCESS_DETACH
:
37 MSACM_dwProcessesAttached32
--;
38 if(MSACM_dwProcessesAttached32
== 0)
40 MSACM_UnregisterAllDrivers32();
41 HeapDestroy(MSACM_hHeap32
);
42 MSACM_hHeap32
= (HANDLE32
) NULL
;
45 case DLL_THREAD_ATTACH
:
47 case DLL_THREAD_DETACH
:
55 /***********************************************************************
56 * XRegThunkEntry (MSACM32.1)
58 * No documentation found.
61 /***********************************************************************
62 * acmGetVersion32 (MSACM32.34)
64 DWORD WINAPI
acmGetVersion32()
66 switch(VERSION_GetVersion())
69 FIXME(msacm
, "%s not supported\n", VERSION_GetVersionName());
71 return 0x04000000; /* 4.0.0 */
73 return 0x04000565; /* 4.0.1381 */
77 /***********************************************************************
78 * acmMessage32 (MSACM32.35)
80 * No documentation found.
83 /***********************************************************************
84 * acmMetrics (MSACM32.36)
86 MMRESULT32 WINAPI
acmMetrics32(
87 HACMOBJ32 hao
, UINT32 uMetric
, LPVOID pMetric
)
89 PWINE_ACMOBJ32 pao
= MSACM_GetObj32(hao
);
92 FIXME(msacm
, "(0x%08x, %d, %p): stub\n", hao
, uMetric
, pMetric
);
96 case ACM_METRIC_COUNT_DRIVERS
:
98 case ACM_METRIC_COUNT_LOCAL_DRIVERS
:
100 return MMSYSERR_INVALHANDLE
;
101 return MMSYSERR_NOTSUPPORTED
;
102 case ACM_METRIC_COUNT_CODECS
:
104 case ACM_METRIC_COUNT_LOCAL_CODECS
:
105 return MMSYSERR_NOTSUPPORTED
;
106 case ACM_METRIC_COUNT_CONVERTERS
:
108 case ACM_METRIC_COUNT_LOCAL_CONVERTERS
:
109 return MMSYSERR_NOTSUPPORTED
;
110 case ACM_METRIC_COUNT_FILTERS
:
112 case ACM_METRIC_COUNT_LOCAL_FILTERS
:
113 return MMSYSERR_NOTSUPPORTED
;
114 case ACM_METRIC_COUNT_DISABLED
:
116 case ACM_METRIC_COUNT_LOCAL_DISABLED
:
118 return MMSYSERR_INVALHANDLE
;
119 return MMSYSERR_NOTSUPPORTED
;
120 case ACM_METRIC_COUNT_HARDWARE
:
121 case ACM_METRIC_HARDWARE_WAVE_INPUT
:
122 case ACM_METRIC_HARDWARE_WAVE_OUTPUT
:
123 case ACM_METRIC_MAX_SIZE_FORMAT
:
124 case ACM_METRIC_MAX_SIZE_FILTER
:
125 case ACM_METRIC_DRIVER_SUPPORT
:
126 case ACM_METRIC_DRIVER_PRIORITY
:
128 return MMSYSERR_NOTSUPPORTED
;
130 return MMSYSERR_NOERROR
;