Added cache for drivers information.
Fixed a few bugs (memory handling, version info...)
Enhanced validity checks.
diff --git a/dlls/msacm/wineacm.h b/dlls/msacm/wineacm.h
index cb43ca7..61e043b 100644
--- a/dlls/msacm/wineacm.h
+++ b/dlls/msacm/wineacm.h
@@ -307,6 +307,14 @@
PWINE_ACMDRIVER pACMDriverList;
PWINE_ACMDRIVERID pNextACMDriverID;
PWINE_ACMDRIVERID pPrevACMDriverID;
+ /* information about the driver itself, either gotten from registry or driver itself */
+ DWORD cFilterTags;
+ DWORD cFormatTags;
+ DWORD fdwSupport;
+ struct {
+ DWORD dwFormatTag;
+ DWORD cbwfx;
+ }* aFormatTag;
} WINE_ACMDRIVERID;
/* From internal.c */
@@ -323,6 +331,7 @@
extern PWINE_ACMOBJ MSACM_GetObj(HACMOBJ hObj, DWORD type);
extern MMRESULT MSACM_Message(HACMDRIVER, UINT, LPARAM, LPARAM);
+extern BOOL MSACM_FindFormatTagInCache(WINE_ACMDRIVERID*, DWORD, LPDWORD);
/* From msacm32.c */
extern HINSTANCE MSACM_hInstance32;