Signed-off-by: Thomas Faber thomas.faber@reactos.org --- dlls/ole32/tests/marshal.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/dlls/ole32/tests/marshal.c b/dlls/ole32/tests/marshal.c index 42049032196..b989c746c16 100644 --- a/dlls/ole32/tests/marshal.c +++ b/dlls/ole32/tests/marshal.c @@ -60,6 +60,8 @@ expect_ ## func = called_ ## func = FALSE; \ }while(0)
+#define GUID_MEMBERS(g) {(g).Data1, (g).Data2, (g).Data3, {(g).Data4[0], (g).Data4[1], (g).Data4[2], (g).Data4[3], (g).Data4[4], (g).Data4[5], (g).Data4[6], (g).Data4[7]}} + DEFINE_GUID(CLSID_StdGlobalInterfaceTable,0x00000323,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); DEFINE_GUID(CLSID_ManualResetEvent, 0x0000032c,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
@@ -1254,9 +1256,9 @@ static void test_marshal_channel_buffer(void) HANDLE thread; HRESULT hr;
- struct host_object_data object_data = { NULL, IID_IOleClientSite, (IUnknown*)&Test_OleClientSite, + struct host_object_data object_data = { NULL, GUID_MEMBERS(IID_IOleClientSite), (IUnknown*)&Test_OleClientSite, MSHLFLAGS_NORMAL, NULL, (IUnknown*)&PSFactoryBuffer, - CLSID_WineTestPSFactoryBuffer }; + GUID_MEMBERS(CLSID_WineTestPSFactoryBuffer) };
cLocks = 0; external_connections = 0; @@ -2321,7 +2323,7 @@ static void test_message_filter(void) IMessageFilter *prev_filter = NULL; HANDLE thread;
- struct host_object_data object_data = { NULL, IID_IClassFactory, (IUnknown*)&Test_ClassFactory, + struct host_object_data object_data = { NULL, GUID_MEMBERS(IID_IClassFactory), (IUnknown*)&Test_ClassFactory, MSHLFLAGS_NORMAL, &MessageFilter };
cLocks = 0; @@ -4213,7 +4215,7 @@ static void test_channel_hook(void) HANDLE thread; HRESULT hr;
- struct host_object_data object_data = { NULL, IID_IClassFactory, (IUnknown*)&Test_ClassFactory, + struct host_object_data object_data = { NULL, GUID_MEMBERS(IID_IClassFactory), (IUnknown*)&Test_ClassFactory, MSHLFLAGS_NORMAL, &MessageFilter };
hr = CoRegisterChannelHook(&EXTENTID_WineTest, &TestChannelHook);
Thomas Faber thomas.faber@reactos.org wrote:
- struct host_object_data object_data = { NULL, IID_IOleClientSite, (IUnknown*)&Test_OleClientSite,
- struct host_object_data object_data = { NULL, GUID_MEMBERS(IID_IOleClientSite), (IUnknown*)&Test_OleClientSite, MSHLFLAGS_NORMAL, NULL, (IUnknown*)&PSFactoryBuffer,
CLSID_WineTestPSFactoryBuffer };
GUID_MEMBERS(CLSID_WineTestPSFactoryBuffer) };
Did you consider pass GUID by reference instead?
On 2018-06-05 13:28, Dmitry Timoshkov wrote:
Thomas Faber thomas.faber@reactos.org wrote:
- struct host_object_data object_data = { NULL, IID_IOleClientSite, (IUnknown*)&Test_OleClientSite,
- struct host_object_data object_data = { NULL, GUID_MEMBERS(IID_IOleClientSite), (IUnknown*)&Test_OleClientSite, MSHLFLAGS_NORMAL, NULL, (IUnknown*)&PSFactoryBuffer,
CLSID_WineTestPSFactoryBuffer };
GUID_MEMBERS(CLSID_WineTestPSFactoryBuffer) };
Did you consider pass GUID by reference instead?
I had not. But looking at the code, that indeed makes sense. I'll send the other version too, so Huw/Alexandre can pick whichever they prefer.
Thanks! -Thomas
Signed-off-by: Thomas Faber thomas.faber@reactos.org --- v2: Add change in start_host_object that I missed the first time.
dlls/ole32/tests/marshal.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/dlls/ole32/tests/marshal.c b/dlls/ole32/tests/marshal.c index 42049032196..ba4b68a9970 100644 --- a/dlls/ole32/tests/marshal.c +++ b/dlls/ole32/tests/marshal.c @@ -60,6 +60,8 @@ expect_ ## func = called_ ## func = FALSE; \ }while(0)
+#define GUID_MEMBERS(g) {(g).Data1, (g).Data2, (g).Data3, {(g).Data4[0], (g).Data4[1], (g).Data4[2], (g).Data4[3], (g).Data4[4], (g).Data4[5], (g).Data4[6], (g).Data4[7]}} + DEFINE_GUID(CLSID_StdGlobalInterfaceTable,0x00000323,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); DEFINE_GUID(CLSID_ManualResetEvent, 0x0000032c,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46);
@@ -639,7 +641,7 @@ static DWORD start_host_object2(struct host_object_data *object_data, HANDLE *th
static DWORD start_host_object(IStream *stream, REFIID riid, IUnknown *object, MSHLFLAGS marshal_flags, HANDLE *thread) { - struct host_object_data object_data = { stream, *riid, object, marshal_flags }; + struct host_object_data object_data = { stream, GUID_MEMBERS(*riid), object, marshal_flags }; return start_host_object2(&object_data, thread); }
@@ -1254,9 +1256,9 @@ static void test_marshal_channel_buffer(void) HANDLE thread; HRESULT hr;
- struct host_object_data object_data = { NULL, IID_IOleClientSite, (IUnknown*)&Test_OleClientSite, + struct host_object_data object_data = { NULL, GUID_MEMBERS(IID_IOleClientSite), (IUnknown*)&Test_OleClientSite, MSHLFLAGS_NORMAL, NULL, (IUnknown*)&PSFactoryBuffer, - CLSID_WineTestPSFactoryBuffer }; + GUID_MEMBERS(CLSID_WineTestPSFactoryBuffer) };
cLocks = 0; external_connections = 0; @@ -2321,7 +2323,7 @@ static void test_message_filter(void) IMessageFilter *prev_filter = NULL; HANDLE thread;
- struct host_object_data object_data = { NULL, IID_IClassFactory, (IUnknown*)&Test_ClassFactory, + struct host_object_data object_data = { NULL, GUID_MEMBERS(IID_IClassFactory), (IUnknown*)&Test_ClassFactory, MSHLFLAGS_NORMAL, &MessageFilter };
cLocks = 0; @@ -4213,7 +4215,7 @@ static void test_channel_hook(void) HANDLE thread; HRESULT hr;
- struct host_object_data object_data = { NULL, IID_IClassFactory, (IUnknown*)&Test_ClassFactory, + struct host_object_data object_data = { NULL, GUID_MEMBERS(IID_IClassFactory), (IUnknown*)&Test_ClassFactory, MSHLFLAGS_NORMAL, &MessageFilter };
hr = CoRegisterChannelHook(&EXTENTID_WineTest, &TestChannelHook);