[PATCH 1/3] xaudio2: Explicitly version the 2.7 coclasses

Andrew Eikum aeikum at codeweavers.com
Fri Jan 8 10:57:44 CST 2016


In versions 2.8 and later, no coclasses are provided by the API, so we
should version the old ones to make it clear that they're out of date.

Signed-off-by: Andrew Eikum <aeikum at codeweavers.com>
---
 dlls/xaudio2_7/tests/xaudio2.c    | 10 +++++-----
 dlls/xaudio2_7/xapofx.c           |  4 ++--
 dlls/xaudio2_7/xaudio_classes.idl |  2 +-
 dlls/xaudio2_7/xaudio_dll.c       | 40 +++++++++++++++++++--------------------
 dlls/xaudio2_8/xaudio_dll.c       |  6 +++---
 include/xapofx.h                  |  8 ++++----
 include/xaudio2.idl               | 14 +++++++-------
 include/xaudio2fx.idl             | 18 +++++++++---------
 8 files changed, 51 insertions(+), 51 deletions(-)

diff --git a/dlls/xaudio2_7/tests/xaudio2.c b/dlls/xaudio2_7/tests/xaudio2.c
index c7ae982..9a7b011 100644
--- a/dlls/xaudio2_7/tests/xaudio2.c
+++ b/dlls/xaudio2_7/tests/xaudio2.c
@@ -249,7 +249,7 @@ static void test_simple_streaming(IXAudio2 *xa)
     if(xaudio27){
         IXAPO *xapo;
 
-        hr = CoCreateInstance(&CLSID_AudioVolumeMeter, NULL,
+        hr = CoCreateInstance(&CLSID_AudioVolumeMeter27, NULL,
                 CLSCTX_INPROC_SERVER, &IID_IUnknown, (void**)&vumeter);
         ok(hr == S_OK, "CoCreateInstance(AudioVolumeMeter) failed: %08x\n", hr);
 
@@ -834,7 +834,7 @@ static void test_xapo_creation_legacy(const char *module, unsigned int version)
         &CLSID_AudioVolumeMeter24,
         &CLSID_AudioVolumeMeter25,
         &CLSID_AudioVolumeMeter26,
-        &CLSID_AudioVolumeMeter
+        &CLSID_AudioVolumeMeter27
     };
 
     static const GUID *ar_clsids[] = {
@@ -845,7 +845,7 @@ static void test_xapo_creation_legacy(const char *module, unsigned int version)
         &CLSID_AudioReverb24,
         &CLSID_AudioReverb25,
         &CLSID_AudioReverb26,
-        &CLSID_AudioReverb
+        &CLSID_AudioReverb27
     };
 
     xapofxdll = LoadLibraryA(module);
@@ -973,7 +973,7 @@ static void test_xapo_creation_modern(const char *module)
         }
 
         /* test legacy CLSID */
-        hr = pCreateFX(&CLSID_AudioVolumeMeter, &fx_unk, NULL, 0);
+        hr = pCreateFX(&CLSID_AudioVolumeMeter27, &fx_unk, NULL, 0);
         ok(hr == S_OK, "%s: CreateFX(CLSID_AudioVolumeMeter) failed: %08x\n", module, hr);
         if(SUCCEEDED(hr)){
             IXAPO *xapo;
@@ -1060,7 +1060,7 @@ START_TEST(xaudio2)
     test_xapo_creation();
 
     /* XAudio 2.7 (Jun 2010 DirectX) */
-    hr = CoCreateInstance(&CLSID_XAudio2, NULL, CLSCTX_INPROC_SERVER,
+    hr = CoCreateInstance(&CLSID_XAudio27, NULL, CLSCTX_INPROC_SERVER,
             &IID_IXAudio27, (void**)&xa27);
     if(hr == S_OK){
         xaudio27 = TRUE;
diff --git a/dlls/xaudio2_7/xapofx.c b/dlls/xaudio2_7/xapofx.c
index e4e4bf8..f71d2f0 100644
--- a/dlls/xaudio2_7/xapofx.c
+++ b/dlls/xaudio2_7/xapofx.c
@@ -699,7 +699,7 @@ static HRESULT WINAPI xapocf_CreateInstance(IClassFactory *iface, IUnknown *pOut
     if(pOuter)
         return CLASS_E_NOAGGREGATION;
 
-    if(IsEqualGUID(This->class, &CLSID_AudioVolumeMeter)){
+    if(IsEqualGUID(This->class, &CLSID_AudioVolumeMeter27)){
         VUMeterImpl *object;
 
         object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));
@@ -715,7 +715,7 @@ static HRESULT WINAPI xapocf_CreateInstance(IClassFactory *iface, IUnknown *pOut
             HeapFree(GetProcessHeap(), 0, object);
             return hr;
         }
-    }else if(IsEqualGUID(This->class, &CLSID_AudioReverb)){
+    }else if(IsEqualGUID(This->class, &CLSID_AudioReverb27)){
         ReverbImpl *object;
 
         object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*object));
diff --git a/dlls/xaudio2_7/xaudio_classes.idl b/dlls/xaudio2_7/xaudio_classes.idl
index a8ee9bf..2055a26 100644
--- a/dlls/xaudio2_7/xaudio_classes.idl
+++ b/dlls/xaudio2_7/xaudio_classes.idl
@@ -25,7 +25,7 @@
     threading(both),
     uuid(5a508685-a254-4fba-9b82-9a24b00306af)
 ]
-coclass XAudio2 { interface IXAudio2; }
+coclass XAudio27 { interface IXAudio27; }
 
 [
     helpstring("XAudio2 Volume Meter Class"),
diff --git a/dlls/xaudio2_7/xaudio_dll.c b/dlls/xaudio2_7/xaudio_dll.c
index 1f5a91f..680eebd 100644
--- a/dlls/xaudio2_7/xaudio_dll.c
+++ b/dlls/xaudio2_7/xaudio_dll.c
@@ -2023,58 +2023,58 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, void **ppv)
         factory = make_xaudio2_factory(25);
     }else if(IsEqualGUID(rclsid, &CLSID_XAudio26)){
         factory = make_xaudio2_factory(26);
-    }else if(IsEqualGUID(rclsid, &CLSID_XAudio2)){
+    }else if(IsEqualGUID(rclsid, &CLSID_XAudio27)){
         factory = make_xaudio2_factory(27);
 
     }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter20)){
-        factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 20);
+        factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 20);
     }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter21)){
-        factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 21);
+        factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 21);
     }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter22)){
-        factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 22);
+        factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 22);
     }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter23)){
-        factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 23);
+        factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 23);
     }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter24)){
-        factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 24);
+        factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 24);
     }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter25)){
-        factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 25);
+        factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 25);
     }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter26)){
-        factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 26);
-    }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter)){
-        factory = make_xapo_factory(&CLSID_AudioVolumeMeter, 27);
+        factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 26);
+    }else if(IsEqualGUID(rclsid, &CLSID_AudioVolumeMeter27)){
+        factory = make_xapo_factory(&CLSID_AudioVolumeMeter27, 27);
 
     }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb20)){
-        factory = make_xapo_factory(&CLSID_AudioReverb, 20);
+        factory = make_xapo_factory(&CLSID_AudioReverb27, 20);
 
     }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb21) ||
             IsEqualGUID(rclsid, &CLSID_WINE_FXReverb10)){
-        factory = make_xapo_factory(&CLSID_AudioReverb, 21);
+        factory = make_xapo_factory(&CLSID_AudioReverb27, 21);
 
     }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb22) ||
             IsEqualGUID(rclsid, &CLSID_WINE_FXReverb11)){
-        factory = make_xapo_factory(&CLSID_AudioReverb, 22);
+        factory = make_xapo_factory(&CLSID_AudioReverb27, 22);
 
     }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb23) ||
             IsEqualGUID(rclsid, &CLSID_WINE_FXReverb12)){
-        factory = make_xapo_factory(&CLSID_AudioReverb, 23);
+        factory = make_xapo_factory(&CLSID_AudioReverb27, 23);
 
     }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb24) ||
             IsEqualGUID(rclsid, &CLSID_WINE_FXReverb13)){
-        factory = make_xapo_factory(&CLSID_AudioReverb, 24);
+        factory = make_xapo_factory(&CLSID_AudioReverb27, 24);
 
     }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb25)){
-        factory = make_xapo_factory(&CLSID_AudioReverb, 25);
+        factory = make_xapo_factory(&CLSID_AudioReverb27, 25);
 
     }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb26) ||
             IsEqualGUID(rclsid, &CLSID_WINE_FXReverb14)){
-        factory = make_xapo_factory(&CLSID_AudioReverb, 26);
+        factory = make_xapo_factory(&CLSID_AudioReverb27, 26);
 
-    }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb) ||
+    }else if(IsEqualGUID(rclsid, &CLSID_AudioReverb27) ||
             IsEqualGUID(rclsid, &CLSID_WINE_FXReverb15)){
-        factory = make_xapo_factory(&CLSID_AudioReverb, 27);
+        factory = make_xapo_factory(&CLSID_AudioReverb27, 27);
 
     }else if(IsEqualGUID(rclsid, &CLSID_WINE_FXReverb28)){
-        factory = make_xapo_factory(&CLSID_AudioReverb, 28);
+        factory = make_xapo_factory(&CLSID_AudioReverb27, 28);
 
 
     }else if(IsEqualGUID(rclsid, &CLSID_WINE_FXEQ10)){
diff --git a/dlls/xaudio2_8/xaudio_dll.c b/dlls/xaudio2_8/xaudio_dll.c
index b381324..8d7b06f 100644
--- a/dlls/xaudio2_8/xaudio_dll.c
+++ b/dlls/xaudio2_8/xaudio_dll.c
@@ -54,7 +54,7 @@ HRESULT WINAPI XAudio2Create(IXAudio2 **ppxa2, UINT32 flags, XAUDIO2_PROCESSOR p
     IXAudio27 *xa27;
 
     /* create XAudio2 2.8 instance */
-    hr = CoCreateInstance(&CLSID_XAudio2, NULL, CLSCTX_INPROC_SERVER,
+    hr = CoCreateInstance(&CLSID_XAudio27, NULL, CLSCTX_INPROC_SERVER,
             &IID_IXAudio2, (void**)&xa2);
     if(FAILED(hr))
         return hr;
@@ -81,13 +81,13 @@ HRESULT WINAPI XAudio2Create(IXAudio2 **ppxa2, UINT32 flags, XAUDIO2_PROCESSOR p
 
 HRESULT WINAPI CreateAudioVolumeMeter(IUnknown **out)
 {
-    return CoCreateInstance(&CLSID_AudioVolumeMeter, NULL, CLSCTX_INPROC_SERVER,
+    return CoCreateInstance(&CLSID_AudioVolumeMeter27, NULL, CLSCTX_INPROC_SERVER,
             &IID_IUnknown, (void**)out);
 }
 
 HRESULT WINAPI CreateAudioReverb(IUnknown **out)
 {
-    return CoCreateInstance(&CLSID_AudioReverb, NULL, CLSCTX_INPROC_SERVER,
+    return CoCreateInstance(&CLSID_AudioReverb27, NULL, CLSCTX_INPROC_SERVER,
             &IID_IUnknown, (void**)out);
 }
 
diff --git a/include/xapofx.h b/include/xapofx.h
index 9a51689..86d909d 100644
--- a/include/xapofx.h
+++ b/include/xapofx.h
@@ -23,7 +23,7 @@
 
 /* xapofx 1.0 through 1.5 */
 DEFINE_GUID(CLSID_FXEQ27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x00);
-/* xaudio 2.8 */
+/* xaudio >= 2.8 */
 DEFINE_GUID(CLSID_FXEQ, 0xf5e01117, 0xd6c4, 0x485a, 0xa3, 0xf5, 0x69, 0x51, 0x96, 0xf3, 0xdb, 0xfa);
 /* wine internal */
 DEFINE_GUID(CLSID_WINE_FXEQ10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x00, 0x00, 0x01, 0x00);
@@ -36,7 +36,7 @@ DEFINE_GUID(CLSID_WINE_FXEQ28, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xF
 
 /* xapofx 1.0 through 1.5 */
 DEFINE_GUID(CLSID_FXMasteringLimiter27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x01);
-/* xaudio 2.8 */
+/* xaudio >= 2.8 */
 DEFINE_GUID(CLSID_FXMasteringLimiter, 0xc4137916, 0x2be1, 0x46fd, 0x85, 0x99, 0x44, 0x15, 0x36, 0xf4, 0x98, 0x56);
 /* wine internal */
 DEFINE_GUID(CLSID_WINE_FXMasteringLimiter10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x01, 0x00, 0x01, 0x00);
@@ -49,7 +49,7 @@ DEFINE_GUID(CLSID_WINE_FXMasteringLimiter28, 0xa90bc001, 0xe897, 0xe897, 0x74, 0
 
 /* xapofx 1.0 through 1.5 */
 DEFINE_GUID(CLSID_FXReverb27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x02);
-/* xaudio 2.8 */
+/* xaudio >= 2.8 */
 DEFINE_GUID(CLSID_FXReverb, 0x7d9aca56, 0xcb68, 0x4807, 0xb6, 0x32, 0xb1, 0x37, 0x35, 0x2e, 0x85, 0x96);
 /* wine internal */
 DEFINE_GUID(CLSID_WINE_FXReverb10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x02, 0x00, 0x01, 0x00);
@@ -62,7 +62,7 @@ DEFINE_GUID(CLSID_WINE_FXReverb28, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43,
 
 /* xapofx 1.0 through 1.5 */
 DEFINE_GUID(CLSID_FXEcho27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x03);
-/* xaudio 2.8 */
+/* xaudio >= 2.8 */
 DEFINE_GUID(CLSID_FXEcho, 0x5039d740, 0xf736, 0x449a, 0x84, 0xd3, 0xa5, 0x62, 0x02, 0x55, 0x7b, 0x87);
 /* wine internal */
 DEFINE_GUID(CLSID_WINE_FXEcho10, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0xFF, 0x03, 0x00, 0x01, 0x00);
diff --git a/include/xaudio2.idl b/include/xaudio2.idl
index 84bd456..58cbe0a 100644
--- a/include/xaudio2.idl
+++ b/include/xaudio2.idl
@@ -24,13 +24,6 @@ import "audiosessiontypes.h";
 cpp_quote("#include <pshpack1.h>")
 
 [
-    uuid(5a508685-a254-4fba-9b82-9a24b00306af)
-]
-coclass XAudio2 {
-    interface IUnknown;
-}
-
-[
     uuid(fac23f48-31f5-45a8-b49b-5225d61401aa)
 ]
 coclass XAudio20 {
@@ -80,6 +73,13 @@ coclass XAudio26 {
 }
 
 [
+    uuid(5a508685-a254-4fba-9b82-9a24b00306af)
+]
+coclass XAudio27 {
+    interface IUnknown;
+}
+
+[
     uuid(db05ea35-0329-4d4b-a53a-6dead03d3852)
 ]
 coclass XAudio2Debug {
diff --git a/include/xaudio2fx.idl b/include/xaudio2fx.idl
index ad58232..224c660 100644
--- a/include/xaudio2fx.idl
+++ b/include/xaudio2fx.idl
@@ -19,13 +19,6 @@
 import "unknwn.idl";
 
 [
-    uuid(cac1105f-619b-4d04-831a-44e1cbf12d57)
-]
-coclass AudioVolumeMeter {
-    interface IUnknown;
-}
-
-[
     uuid(c0c56f46-29b1-44e9-9939-a32ce86867e2)
 ]
 coclass AudioVolumeMeter20 {
@@ -75,9 +68,9 @@ coclass AudioVolumeMeter26 {
 }
 
 [
-    uuid(6a93130e-1d53-41d1-a9cf-e758800bb179)
+    uuid(cac1105f-619b-4d04-831a-44e1cbf12d57)
 ]
-coclass AudioReverb {
+coclass AudioVolumeMeter27 {
     interface IUnknown;
 }
 
@@ -129,3 +122,10 @@ coclass AudioReverb25 {
 coclass AudioReverb26 {
     interface IUnknown;
 }
+
+[
+    uuid(6a93130e-1d53-41d1-a9cf-e758800bb179)
+]
+coclass AudioReverb27 {
+    interface IUnknown;
+}
-- 
2.7.0





More information about the wine-patches mailing list