Rob Shearman : ole32: Add documentation about registered class objects only being visible in the apartment in which they were registered .

Alexandre Julliard julliard at wine.codeweavers.com
Tue May 8 06:59:41 CDT 2007


Module: wine
Branch: master
Commit: 314f9fe509f7f96fc2bd9cc38382a50602225409
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=314f9fe509f7f96fc2bd9cc38382a50602225409

Author: Rob Shearman <rob at codeweavers.com>
Date:   Tue May  8 00:01:19 2007 +0100

ole32: Add documentation about registered class objects only being visible in the apartment in which they were registered.

---

 dlls/ole32/compobj.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c
index 5ba74d7..7eef76e 100644
--- a/dlls/ole32/compobj.c
+++ b/dlls/ole32/compobj.c
@@ -1646,6 +1646,11 @@ static HRESULT COM_GetRegisteredClassObject(
  * SEE ALSO
  *   CoRevokeClassObject, CoGetClassObject
  *
+ * NOTES
+ *  In-process objects are only registered for the current apartment.
+ *  CoGetClassObject() and CoCreateInstance() will not return objects registered
+ *  in other apartments.
+ *
  * BUGS
  *  MSDN claims that multiple interface registrations are legal, but we
  *  can't do that with our current implementation.
@@ -1801,6 +1806,10 @@ static void COM_RevokeAllClasses(struct apartment *apt)
  *  Success: S_OK.
  *  Failure: HRESULT code.
  *
+ * NOTES
+ *  Must be called from the same apartment that called CoRegisterClassObject(),
+ *  otherwise it will fail with RPC_E_WRONG_THREAD.
+ *
  * SEE ALSO
  *  CoRegisterClassObject
  */




More information about the wine-cvs mailing list