mirror of
https://github.com/reactos/reactos.git
synced 2024-12-30 19:14:31 +00:00
61e422828e
Juan Lang <juan_lang@yahoo.com> - Implement PropSys{Alloc|Free}String, and support BSTRs in PropVariant{Clear|Copy} using them. - Begin implementing IPropertyStorage. - Add traces, add unit tests for IPropertyStorage, and fix the problems they caught. - Implement FmtIdToPropStgName & PropStgNameToFmtId, with tests. - add write support to IPropertyStorage, with tests - misc. cleanups the tests turned up - Add a comment about byte order, change types to reduce casting and not cast away constness. Vincent Beron <vberon@mecano.gme.usherb.ca> - Change prototypes so gcc with some warnings doesn't bark. - Correct and complete some api documentation. Mike McCormack <mike@codeweavers.com> - Eliminate forward declarations, make functions static. - Eliminate casts of the return value of HeapAlloc. - Remove function prototypes, make functions static. - StgOpenStorage shouldn't open zero length storage files. - Remove unnecessary function prototypes. Robert Shearman <rob@codeweavers.com> - Add critsec debugging info. - Move the modal loop called during RPCs into CoWaitForMultipleHandles. - Use a mutex for long remoting calls to IRemUnknown methods. - Remove locking in apartment_disconnectproxies as it is not needed. - Use PostMessage instead of SendMessage so we can run the message loop or not as appropriate. - Rename apartment functions to become more object-oriented. - Rename register_ifstub to marshal_object to more accurately describe what it does. - Add new function, apartment_getoxid, to prepare for a possible future patch where remoting is started on demand. Jon Griffiths <jon_p_griffiths@yahoo.com> - Use LMEM_ flags for LocalAlloc(), not GMEM_ (GlobalAlloc). Francois Gouget <fgouget@free.fr> - Assorted spelling fixes. Huw Davies <huw@codeweavers.com> - Don't close reg key if the open failed. - WriteFmtUserTypeStg doesn't pull a CLSID from the registry - it's unclear when (if at all) this gets written. Alexandre Julliard <julliard@winehq.org> - Fixed a buffer overflow. Joris Huizer <jorishuizer@planet.nl> - A few memory checks avoiding memory leaks. Dmitry Timoshkov <dmitry@codeweavers.com> - Zero out an invalidated runningObjectTableInstance pointer. Dimitrie O. Paun <dpaun@rogers.com> - Remove the need for the non-standard (Close|Delete)MetaFile16(). Troy Rollo <wine@troy.rollo.name> - ix test for STGM_SHARE_EXCLUSIVE on nameless DocFiles. svn path=/trunk/; revision=15010 |
||
---|---|---|
.. | ||
include | ||
README.w32api |
Free headers and libraries for the Win32 API Originally written by Anders Norlander Last known and not working email: <anorland@hem2.passagen.se> Now maintained by MinGW Developers Send bug reports and questions to MinGW-users@lists.sourceforge.net URL: http://www.mingw.org * License 2.0 You are free to use, modify and copy this package as long as this README.w32api file is included unmodified with any distribution, source or binary, of this package. No restrictions are imposed on any package or product using or incorporating this package. You are free to license your package as you see fit. You may not restrict others freedoms as set forth in the above paragraph. You may distribute this library as part of another package or as a modified package if and only if you do *not* restrict others freedoms as set forth in the above paragraph as it concerns this package. You do have the right to restrict uses of any package using this package. This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * What is it? This is a free set of headers and import libraries for the Win32 API. The library differs from the GNU Windows32 library in that I have tried to use a file structure that mirrors Microsoft's. I don't like having *all* definitions in one single header as in the GNU Windows32 library, I want a clean separation between different parts of the API. Daniel Guerrero Miralles contributed the DirectX 6.1 import libraries and DirectX GUID definitions. See the files NOTES and TODO for what needs to be done. * Size does matter Since the WIN32 API is severely bloated (as most MS products seem to be) the headers are designed to be as compact as possible, while still being readable, in order to minimize parsing time. The convention is to omit parameter names for function prototypes, no excessive white space. Struct/union members are indented with tab characters to make them readable. Comment only when necessary. If you are contributing a patch please follow the above mentioned convention. Make sure your editor does not convert tabs to spaces. * What do I need to use it? The library is intended for use with egcs 1.1 or later but it is possible to use with some other tools as well (although it is not very useful). LCC-Win32, MSVC and Borland C++ 5.01 or higher may work as well. The import libraries are for GNU tools only. The library requires egcs 1.1 or later, since the `#pragma pack' feature is used. Mumit Khan provides egcs patches and binaries for win32 at `http://www.xraylith.wisc.edu/~khan/software/gnu-win32/'. If you are going to use C++ COM objects, you will need a version of egcs that recognizes the `comobject' attribute and then define HAVE_COMOBJECT when compiling your program. Antonio Mendes de Oliveira Neto has a prebuilt version at `http://li.facens.br/EGCS-WIN32/english/index.html'. Note that this is very experimental. If you want to use COM objects in C++ but with C interfaces you must define CINTERFACE. Objective-C programs cannot use COM functionality because of conflicts between the interface define and the Objective-C @interface directive. There is also a conflict between the windows Obj-C BOOL types. To avoid this conflict you should use WINBOOL in all places where you would use BOOL in a C/C++ windows program. If you include any windows headers *after* `windows.h' you must use the method outlined below: /* non-windows includes */ #include <objc/objc.h> ... /* windows specific headers */ #include <windows.h> #define BOOL WINBOOL #include <commctrl.h> ... #undef BOOL ... /* include other headers */