Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
71ada5c6
Commit
71ada5c6
authored
May 08, 2007
by
Rob Shearman
Committed by
Alexandre Julliard
May 08, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ole32: Add a test for the retrieved local class object in another thread being a proxy.
parent
07229ed8
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
1 deletion
+26
-1
compobj.c
dlls/ole32/tests/compobj.c
+26
-1
No files found.
dlls/ole32/tests/compobj.c
View file @
71ada5c6
...
...
@@ -747,6 +747,31 @@ static DWORD CALLBACK get_class_object_thread(LPVOID pv)
return
hr
;
}
static
DWORD
CALLBACK
get_class_object_proxy_thread
(
LPVOID
pv
)
{
CLSCTX
clsctx
=
(
CLSCTX
)(
DWORD_PTR
)
pv
;
HRESULT
hr
;
IClassFactory
*
pcf
;
IMultiQI
*
pMQI
;
pCoInitializeEx
(
NULL
,
COINIT_APARTMENTTHREADED
);
hr
=
CoGetClassObject
(
&
CLSID_WineOOPTest
,
clsctx
,
NULL
,
&
IID_IClassFactory
,
(
void
**
)
&
pcf
);
if
(
SUCCEEDED
(
hr
))
{
hr
=
IClassFactory_QueryInterface
(
pcf
,
&
IID_IMultiQI
,
(
void
**
)
&
pMQI
);
if
(
SUCCEEDED
(
hr
))
IMultiQI_Release
(
pMQI
);
IClassFactory_Release
(
pcf
);
}
CoUninitialize
();
return
hr
;
}
static
DWORD
CALLBACK
register_class_object_thread
(
LPVOID
pv
)
{
HRESULT
hr
;
...
...
@@ -821,7 +846,7 @@ static void test_registered_object_thread_affinity(void)
CLSCTX_LOCAL_SERVER
,
REGCLS_MULTIPLEUSE
,
&
cookie
);
ok_ole_success
(
hr
,
"CoRegisterClassObject"
);
thread
=
CreateThread
(
NULL
,
0
,
get_class_object_thread
,
(
LPVOID
)
CLSCTX_LOCAL_SERVER
,
0
,
&
tid
);
thread
=
CreateThread
(
NULL
,
0
,
get_class_object_
proxy_
thread
,
(
LPVOID
)
CLSCTX_LOCAL_SERVER
,
0
,
&
tid
);
ok
(
thread
!=
NULL
,
"CreateThread failed with error %d
\n
"
,
GetLastError
());
while
(
MsgWaitForMultipleObjects
(
1
,
&
thread
,
FALSE
,
INFINITE
,
QS_ALLINPUT
)
==
WAIT_OBJECT_0
+
1
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment