Commit Graph

222 Commits

Author SHA1 Message Date
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