[PATCH 8/10] ole32: Add documentation about registered class objects only being visible in the apartment in which they were registered.

Robert Shearman rob at codeweavers.com
Mon May 7 18:01:19 CDT 2007


---
  dlls/ole32/compobj.c |    9 +++++++++
  1 files changed, 9 insertions(+), 0 deletions(-)
-------------- next part --------------
diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c
index 3fb3324..6c95356 100644
--- a/dlls/ole32/compobj.c
+++ b/dlls/ole32/compobj.c
@@ -1646,6 +1646,11 @@ static HRESULT COM_GetRegisteredClassObj
  * 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 
  *  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-patches mailing list