Commit Graph

234 Commits

Author SHA1 Message Date
Robert Shearman 9dba3479c8 Release the client security objects when no longer needed (reported by
Mike McCormack).
2005-01-28 17:19:51 +00:00
Robert Shearman 9b634b97ae - More tests.
- Change return code of CoGetPSClsid to match test result.
- Do a slight hack to make IRemUnknown proxies be added after the
  proxy that uses them to stop them being used after they are
  destroyed.
- Fix multiple local server connections.
2005-01-28 12:39:13 +00:00
Robert Shearman 41d9aef7ef - Implement CoSetProxyBlanket, CoQueryProxyBlanket and CoCopyProxy.
- Update todo list.
2005-01-28 11:27:46 +00:00
Robert Shearman cbbf08a7e2 - Use InterlockedIncrement for the ipid counter instead of a critical
section (suggested by Mike Hearn).
- Remove a line added by a bad merge.
- Implement RemUnkStub_Disconnect.
- Remove all of the RPC disconnect code.
2005-01-26 20:53:06 +00:00
Robert Shearman ad34f3dc5e - Generate machine-local IPIDs.
- Make pipes be uniquely identified only by their IPID.
2005-01-25 10:57:24 +00:00
Robert Shearman 717eb8fff4 - Consolidate more stub creation details into register_ifstub.
- Replace the current wine_marshal_id structure with STDOBJREF for the
  on-the-wire format.
2005-01-20 10:35:46 +00:00
Robert Shearman 4c8d59dd91 Implement table marshaling. 2005-01-17 13:39:40 +00:00
Robert Shearman 0e18914481 - Add documentation for most Co* functions.
- Move several functions into different files to group them with
  similar functions.
2005-01-14 17:05:36 +00:00
Robert Shearman a84e7d7b75 Destroy stubs on apartment shutdown. 2005-01-14 15:11:55 +00:00
Christian Costa a010e3b3fa CoInitialize(Ex) should return S_FALSE when COM is already initialized
for the current thread.
2005-01-12 19:58:09 +00:00
Robert Shearman 452491bd03 - Document CoSetState & CoGetState.
- Rewrite them to only retrieve TLS info once.
- Remove trailing whitespace in COM_CurrentInfo.
2005-01-12 19:48:39 +00:00
Robert Shearman 36f482cb7d - Make MTA dynamically allocated so that proxies and other resources
are freed at the proper time.
- Changed/removed some incorrect comments regarding apartments.
2005-01-12 19:27:04 +00:00
Bill Medland 9c6de52bb2 Corrected testing for multithreaded (based upon observations by Paul
Vriens, Christian Costa and Robert Shearman).
Added TRACE for investigating OXID errors.
2005-01-11 15:45:03 +00:00
Robert Shearman 23e390a223 - Make struct oletls ref counted so that it is only detached from the
apartment on the final CoUninitialize.
- Decrease the size of the crit sec on destroying an apartment - it is
  only needed for touching the apartment list.
- Small cleanups.
2005-01-06 19:39:07 +00:00
Mike Hearn a6a416cb4e - Make apartment access thread-safe by introducing refcounting and
wider usage of the apartment lock.
- Rework OLE TLS management to eliminate uninitialised apartments and
  parent chaining.
2005-01-05 17:14:33 +00:00
Mike Hearn 73318dab8f Add a DCOM todo list. 2005-01-04 20:32:47 +00:00
Robert Shearman 2835633789 Implement proxy manager. 2005-01-04 11:58:23 +00:00
Robert Shearman 2b747d4e50 Implement COM local servers using table marshaling to avoid doing the
marshaling in a child thread where COM has not been initialized.
2004-12-27 19:24:55 +00:00
Mike Hearn 5475a2e617 - Implement the COM stub manager, refactor the current stub code.
- Begin implementing interface stubs.
2004-12-27 19:21:47 +00:00
Mike Hearn 737e67b17b Propagate apartments through the intermediate threads, make listener
thread apartment scoped.
2004-12-27 16:59:28 +00:00
Eric Pouech bcfa5b0900 ReadFile and WriteFile must be passed a parameter for the number of
handled bytes when no overlapped operation is done.
2004-12-22 18:38:31 +00:00
Robert Shearman 2fa9a0a6fd Remove unneeded includes and the unused COMPOBJ_hInstance32 variable. 2004-12-14 15:28:58 +00:00
Eric Pouech 4056d7ef8c Fixed some errors in function prototypes. 2004-12-13 21:19:01 +00:00
Mike Hearn 36aee71988 Rename the STUBMGR thread to more accurately reflect its purpose. 2004-12-07 17:01:40 +00:00
Robert Shearman 3b0a5d0a06 - Add some function declarations to objbase.h.
- Add stubs for server ref counting.
- Implement HRESULT marshaling.
2004-12-01 15:33:34 +00:00
Eric Pouech 0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Mike Hearn a153efc5bb - Improve OLE function documentation.
- Bail out with CO_E_NOTINITIALIZED when apt is null.
2004-11-29 17:00:15 +00:00
Dmitry Timoshkov c41d0c9a4b - Remove bogus use of nStatCounter and hOleAut32 in CoSetState.
- Remove a comment about protecting per thread data by a critical section.
2004-10-25 21:48:44 +00:00
Francois Gouget 3bb5b093e8 Assorted spelling fixes. 2004-10-22 22:27:51 +00:00
Robert Shearman 0fb8f4a15e Improve proxy destruction comment. 2004-10-18 19:34:51 +00:00
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Mike McCormack 37dcaf6be6 CoSuspendClassObjects stub implementation. 2004-09-20 21:44:34 +00:00
Mike McCormack d324ccfce7 Fix some warnings found with -Wsign-compare. 2004-09-07 20:25:52 +00:00
Mike Hearn 819942339f Disconnect proxies at COM shutdown to release the corresponding
stubs.
2004-08-02 18:28:29 +00:00
Mike Hearn ce335adddd Don't marshal IClassFactory into the local server pipe until we have
connected, otherwise we might end up with stubs that are never used.
2004-07-30 18:44:09 +00:00
Robert Shearman 0cac6c83a7 Fix some inaccuracies in a comment and reformat. 2004-07-29 02:43:48 +00:00
Mike Hearn 1cc05ff148 Pass -Embedding switch to EXE servers, more tracing. 2004-07-23 19:10:13 +00:00
Mike Hearn c019b89d5f Fix misleading warning ole CoGetClassObject. 2004-07-21 19:37:07 +00:00
Mike McCormack e42d8aef24 Fix a few serious race conditions in the OLE object pipe server. 2004-07-15 22:07:44 +00:00
Francois Gouget ca942f1625 Assorted spelling fixes. 2004-07-08 20:16:23 +00:00
Mike Hearn 17ad9fdd43 Add some explanations to compobj.c, implement flushing message queue
on shutdown.
2004-07-06 21:27:48 +00:00
Marcus Meissner e3a37c8a26 Revert broken strict aliasing fix. 2004-05-21 20:52:57 +00:00
Marcus Meissner ff39b877a4 Fixed strict aliasing issues in dlls/ole32. 2004-05-04 03:10:50 +00:00
Warren Turkal e910efbcbe Fixed the implementation of CoTreatAsClass. 2004-03-29 21:41:33 +00:00
Francois Gouget b948778660 Assorted spelling fixes. 2004-03-23 23:20:16 +00:00
Robert Shearman 2eee76703d - CoSetState info should be thread local.
- SetErrorInfo should allocate an apartment when no apartment present.
2004-02-10 01:36:20 +00:00
Alexandre Julliard d07c1004e3 Moved a few remaining 16-bit definitions out of the standard headers. 2004-01-23 22:51:41 +00:00
Ge van Geldorp 100e11309b Fix various function prototypes to conform to PSDK. 2004-01-23 20:57:26 +00:00
Ge van Geldorp 399901e054 Rename LARGE_INTEGER and ULARGE_INTEGER members "s" to "u" to conform
with PSDK.
2004-01-23 01:51:33 +00:00
Francois Gouget 17112eaa4d Assorted spelling fixes. 2004-01-16 21:26:08 +00:00
Daniel Marmier 0348649853 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-06 21:03:32 +00:00
Dave Miller 47fb938d54 Removed ordinals from comments. 2003-09-11 03:06:25 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard 02f2813968 Renamed a few TEB fields to use the "official" names. 2003-08-27 23:14:29 +00:00
Alexandre Julliard 19b6a49845 Allocate DebugInfo field for all critical sections (based on a patch
by Alex Pasadyn).
Get rid of the Wine-specific CRITICAL_SECTION_INIT macro.
2003-08-12 23:50:54 +00:00
Steven Edwards 32d27dc77b - Create new file ole2_16.c for ole2 16bit only functions.
- Move CLSIDFromProgID16 so it can be used internally.
- Compile out more Win16 sources.
2003-07-09 19:49:12 +00:00
Francois Gouget c5f775a9c7 Typos/spelling fixes. 2003-06-18 03:30:39 +00:00
Mike Hearn 739ccae798 Implement a class factory for the Global Interface Table. 2003-06-17 03:57:18 +00:00
Ove Kaaven ef57c4d905 Preliminary support for COM apartments. 2003-06-04 20:11:34 +00:00
Mike McCormack cf983e9a7f Added stub for OleDoAutoConvert. 2003-05-13 22:14:30 +00:00
Francois Gouget f803e2a92d Fix miscellaneous spelling errors and typos. 2003-05-13 00:41:57 +00:00
Mike Hearn cb816d2c3f Implemented the global interface table object using a simple linked
list.
2003-03-11 01:45:38 +00:00
Marcus Meissner 27627d977e Implemented CoGetTreatAsClass. 2003-01-11 20:58:10 +00:00
Dimitrie O. Paun 297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Ove Kaaven 1f5315c80f Make sure that no files except unknwn.h include wine/obj_base.h
directly.
2002-12-05 20:33:07 +00:00
Alexandre Julliard 8710a79d54 Compile ole32 with -DSTRICT. 2002-11-22 04:43:02 +00:00
Patrik Stridvall d97f7cdecb Fixed some issues found by winapi_check. 2002-08-17 00:21:53 +00:00
Dmitry Timoshkov 472a5e52eb Fixed GetClassFile implementation. 2002-08-16 01:39:12 +00:00
Patrik Stridvall 4325554aef Fixed some issues found by winapi_check. 2002-08-09 01:07:29 +00:00
Gregg Mattinson 8c9bdcc9e1 Fixes for Sparc build. 2002-08-07 01:18:41 +00:00
Juergen Schmied d1c144148c - Moved 16 bit functions to a seperate file.
- First implementation for free threaded marshaller.
- Fixed handling of REG_EXPAND_STRING registry values in CoCreateObject.
- Fixed CoLoad/FreeLibrary functions.
- Fixed use internal dll-list (used only for functions loading a dll
  internally without returning HMODULE).
2002-08-03 00:17:10 +00:00
Juergen Schmied c1f9d386eb - Implemented IMallocSpy hooks in IMalloc.
- Moved memory related functions into ifs.c.
- Implemented stubs for the MallocSpy.
2002-07-29 23:30:20 +00:00
Marcus Meissner 99f4890788 Factored out the OLE 16 bit allocator from StringFromCLSID.
Implemented ProgIDFromCLSID16.
2002-07-25 23:55:55 +00:00
Patrik Stridvall a50698b903 Fixed some issues found by winapi_check. 2002-07-23 01:59:46 +00:00
Jon Griffiths 900f57052c Stub implementation for CoInitializeSecurity. 2002-07-19 00:23:27 +00:00
Alexandre Julliard bf50153479 Fixed CLSIDFromString endianness assumptions (reported by Gregg Mattinson). 2002-06-21 21:55:37 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Bill Medland d36c8e9d0c Ensure that an out-of-process COM object is started only once.
Allow out-of-process COM objects if request is for
in-or-out-of-process.
2002-05-29 19:20:32 +00:00
Marcus Meissner e656fc1cd6 Dropped superflous Remote_CoGetClassObject() (entirely contained in
create_marshalled_proxy()).
2002-05-29 19:05:14 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Marcus Meissner 0749fc2034 Implemented Local Server COM.
Implemented the Typelib based Marshaler.
2002-02-05 18:11:17 +00:00
Patrik Stridvall 57e5784c21 Move __stdcall/__cdecl to the right place. 2002-02-02 18:42:11 +00:00
Bill Medland 43471ddf0b CoGetClassObject: for CLSCTX_LOCAL_SERVER at least look up the server
in the registry, even though we don't yet execute it.
2002-01-18 18:09:37 +00:00
Marcus Meissner 4a29e1f11a Removed some useless wingdi.h includes. 2002-01-14 18:36:37 +00:00
Marcus Meissner 6ea7932c80 Implemented CoTreatAsClass, simplified OleSetAutoConvert. 2002-01-03 02:34:09 +00:00
Alexandre Julliard 193cf50a09 Removed some of the calls to HEAP_strdup* functions. 2002-01-01 00:24:30 +00:00
Andreas Mohr 9cef2d0b1d - fix wrong hexadecimal GetLastError() output
- misc fixes
- changed my email address
2001-11-19 02:30:01 +00:00
Huw D M Davies f3d962226f Better failure messages for CoCreateInstance. 2001-10-23 19:52:08 +00:00
Hidenori Takeshima aad36bcd59 Synchronize access to the s_COMLockCount, firstRegisteredClass,
openDllList in compobj.
2001-09-11 00:26:12 +00:00
Patrik Stridvall 4b1574577d - Made sure that the files that contains the declarations
of the implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-23 23:50:18 +00:00
Patrik Stridvall 044855c6ec Documentation fixes. 2001-07-11 18:56:41 +00:00
Patrik Stridvall 01d5e5b071 Documentation fixes. 2001-07-02 19:59:40 +00:00
Dmitry Timoshkov 93e936f97b Finish ole32 separation. 2001-06-28 17:59:22 +00:00
Patrik Stridvall 3ca9823941 Documentation ordinal fixes. 2001-06-20 23:03:14 +00:00
Patrik Stridvall 8b216b3d02 Documentation ordinal fixes. 2001-06-19 18:20:47 +00:00
Patrik Stridvall 172cd1b967 Fixed some issues found by winapi_check. 2001-06-11 20:16:11 +00:00
Marcus Meissner 40af1a87a5 Arg 3 of CoGetClassObject is COSERVERINFO*, added some more debug. 2001-04-09 18:33:49 +00:00
Francois Gouget b87a83866f Change the callback declarations to a safer format. 2001-02-12 03:51:04 +00:00
Andreas Mohr ae4f72f5be Take a stab at implementing OleSetAutoConvert. 2001-02-12 01:26:16 +00:00
Alexandre Julliard 0618746265 Cleaned up dll startup routines now that we have separate address
spaces.
2001-01-17 22:03:18 +00:00
Francois Gouget a1d23f5da6 Removed the 'fn' prefix (i.e. ICOM_FN). 2001-01-04 22:59:48 +00:00
Alexandre Julliard 982a223f36 Replaced PTR_SEG_TO_LIN macro by exported MapSL function.
Fixed a few ptr/segptr mismatches.
Moved CONV_RECT/POINT macros to wingdi16.h.
2000-12-13 20:20:09 +00:00
Patrik Stridvall 2b3aa616e8 Added/modified documentation for function arguments. 2000-12-01 23:58:28 +00:00
Alexandre Julliard 24a62ab9b0 Got rid of the Wine internal lstrcpy* functions and of winestring.h. 2000-11-28 22:40:56 +00:00
Alexandre Julliard 5ce902b0b9 Implemented DosFileHandleToWin32Handle, Win32HandleToDosFileHandle and
DisposeLZ32Handle and use them to replace file.c internal functions.
Renamed WOW* functions into K32WOW*.
2000-11-27 21:59:08 +00:00
Francois Gouget 3116bd9f45 compobj.h is a synonym for objbase.h
Moved all the other contents to dlls/ole32/compobj_private.h
2000-11-25 03:08:23 +00:00
Marcus Meissner 93734bcdc3 Simplified reg handling in CoGetClassObject, do not use RegQueryValueW. 2000-11-15 22:13:26 +00:00
Huw D M Davies a79587df23 Fix a couple of TRACE messages. 2000-09-29 00:23:45 +00:00
Alexandre Julliard 83f52d11c1 Moved all Win16 definitions out of the standard Windows headers. 2000-09-26 22:20:14 +00:00
Alexandre Julliard 072dfb57e3 Removed inclusion of wine/winestring.h from winbase.h and added it to
the C files that need it.
2000-09-25 23:30:56 +00:00
James Hatheway e0849c8a52 Implemented CoGetPSClsid(). 2000-09-01 01:21:08 +00:00
Alexandre Julliard e101f6db3b Cleaned up a few inter-dll dependencies. Added a few imports. 2000-08-14 14:42:41 +00:00
Alexandre Julliard 5ab9d860f2 Removed some unnecessary #includes and dll dependencies. 2000-08-09 22:35:05 +00:00
Alexandre Julliard 17904173a0 Fixed IsEqualGUID definition. 2000-08-03 04:16:34 +00:00
Marcus Meissner 9cb1870fe9 Implemented OleGetAutoConvert. 2000-07-29 11:29:26 +00:00
Huw D M Davies 10b1b23d40 Create rpcrt4.dll.
Implement UuidCreate (using existing code from CoCreateGuid).
CoCreateGuid calls UuidCreate.
2000-07-15 19:53:50 +00:00
Huw D M Davies 5b9a7cbf3a Implement IDataAdviseHolder. 2000-07-08 11:46:54 +00:00
Alexandre Julliard 917910324f Cleaned up a few inter-dll dependencies. 2000-06-23 16:13:33 +00:00
Huw D M Davies 2cfb02a575 CLSIDFromString apparently also accepts ProgIDs as an input string. 2000-06-23 15:33:31 +00:00
Noomen Hamza 3b3779b260 OleConvertOLESTREAMToIStorage fails (returns REGDB_E_CLASSNOTREG) when
the CLSID of the OLE object is not found in the registry. Fixed.
2000-06-20 20:49:53 +00:00
James Hatheway 13b1864e97 Added a stub for CoCreateFreeThreadedMarshaler(). 2000-06-18 17:18:53 +00:00
Andrew Lewycky eb996b9da8 Fix StringFromGUI2 return value as per documentation. 2000-04-06 19:33:36 +00:00
Marcus Meissner c0250a504a Fixed memory corruption with CoTaskMemRealloc. 2000-03-19 12:46:20 +00:00
Marcus Meissner 09ee5d0a56 CoLoadLibrary gets UNICODE, not ASCII strings. (spotted by Lawson
Whitney), removed the dllName component of the openDlls.  Added some
debugstr_guid().
2000-03-04 19:24:25 +00:00
Juergen Schmied 32fe6bdc13 Added stub for CoResumeClassObjects. 2000-02-14 19:56:21 +00:00
Alexandre Julliard 383da68cf9 Optimized debugging API to reduce code size. 2000-02-10 22:15:21 +00:00
Alexandre Julliard fc296da4e2 Removed extra includes from ole.h and wingdi.h. 2000-02-10 19:39:48 +00:00
Owen Wang 923685ac95 Make CLSIDFromString return a CLSID of zeros instead of crashing when
passed a null pointer.
2000-02-07 22:20:44 +00:00
Andreas Mohr ffdd1717d4 - the OLE version returned was too low
- renamed OABuildVersion16 to OaBuildVersion16
- spelling fixes
1999-12-05 23:52:56 +00:00
Rein Klazes d93c7bca23 CoGetClassObject should complain about not being able to do
out-of-process servers *only* if the application doesn't include the
in-process options.
1999-11-10 19:57:45 +00:00
Abey George 3a2b1b6e42 Implemented ProgIDFromCLSID. 1999-10-31 02:24:51 +00:00
Francois Gouget 819e7946e9 Added two macros, ICOM_VFIELD and ICOM_VTBL, so that when implementing
a COM interface one never has to name the lpVtbl field explicitly.
1999-10-25 15:43:36 +00:00
Patrik Stridvall 96336324cf - Added missing configuration #if:s and #includes:s.
- Minor configuration related changes.
1999-10-24 22:13:47 +00:00
Ulrich Weigand 2a722f498a Moved bulk of OLE implementation to dlls/ subdirectories. 1999-09-19 18:36:53 +00:00