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

Andrew Eikum aeikum at codeweavers.com
Mon Jan 11 13:52:02 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 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 5f30432..103641d 100644
--- a/dlls/xaudio2_7/xaudio_dll.c
+++ b/dlls/xaudio2_7/xaudio_dll.c
@@ -2024,58 +2024,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