Sync to Wine-20050725:
Robert Shearman <rob(a)codeweavers.com>
- Marshal return value from IRemUnknown_RemQueryInterface.
- We should be starting with 1 reference.
- IRpcStubBuffer_Disconnect can be called more than once.
- Silence now noisy error messages caused by changes in the way we call
ipid_to_stubmanager. Move the error message to the one place it is
needed.
- By-pass the RPC runtime if possible when calling an STA by posting a
message directly to the apartment window for it to process. Fixes a
deadlock in InstallShield caused by having to create a thread when
freeing an object that comes from an STA apartment. Added tests that
fail without this fix.
- Hack around broken state management so InstallShield works.
- Delete the stub manager outside of the apartment critical section
because the deletion may require the object to re-enter the
apartment.
- Always query for the correct stub interface, otherwise we will be
pointing to the completely wrong object when a proxy does a
queryinterface.
- Remove assumption that the stub buffer will handle the lifetime of
the object.
Alex Villacis Lasso <a_villacis(a)palosanto.com>
- Initialize RegisteredClass properly in CoRegisterClassObject to
prevent crash in CoRevokeClassObject when accessing (uninitialized)
pMarshalledData.
Mike McCormack <mike(a)codeweavers.com>
- Fix gcc 4.0 -Wpointer-sign warnings.
Vitaly Lipatov <lav(a)etersoft.ru>
- Added some documentation.
Stefan Huehner <stefan(a)huehner.org>
- Fix some missing-declarations warnings.
Marcus Meissner <meissner(a)suse.de>
- 16bit interfaces are cdecl, so drop the WINAPI.
- 16bit COM interfaces are cdecl, not WINAPI.
- OleInitializeWOW gets 2 arguments.
- Added OleSetMenuDescriptor16 stub.
Marcus Meissner <marcus(a)jet.franken.de>
- Implemented IsValidInterface16, CoMemAlloc.
Added debug to HGLOBALLockBytes16_QueryInterface.
Modified: trunk/reactos/lib/ole32/antimoniker.c
Modified: trunk/reactos/lib/ole32/bindctx.c
Modified: trunk/reactos/lib/ole32/clipboard.c
Modified: trunk/reactos/lib/ole32/compobj.c
Modified: trunk/reactos/lib/ole32/compobj.spec
Modified: trunk/reactos/lib/ole32/compobj_private.h
Modified: trunk/reactos/lib/ole32/compositemoniker.c
Modified: trunk/reactos/lib/ole32/datacache.c
Modified: trunk/reactos/lib/ole32/defaulthandler.c
Modified: trunk/reactos/lib/ole32/errorinfo.c
Modified: trunk/reactos/lib/ole32/filemoniker.c
Modified: trunk/reactos/lib/ole32/ftmarshal.c
Modified: trunk/reactos/lib/ole32/hglobalstream.c
Modified: trunk/reactos/lib/ole32/ifs.c
Modified: trunk/reactos/lib/ole32/ifs.h
Modified: trunk/reactos/lib/ole32/itemmoniker.c
Modified: trunk/reactos/lib/ole32/marshal.c
Modified: trunk/reactos/lib/ole32/memlockbytes.c
Modified: trunk/reactos/lib/ole32/memlockbytes16.c
Modified: trunk/reactos/lib/ole32/moniker.c
Modified: trunk/reactos/lib/ole32/ole16.c
Modified: trunk/reactos/lib/ole32/ole2.c
Modified: trunk/reactos/lib/ole32/ole2.spec
Modified: trunk/reactos/lib/ole32/ole2_16.c
Modified: trunk/reactos/lib/ole32/ole2conv.spec
Modified: trunk/reactos/lib/ole32/ole2nls.spec
Modified: trunk/reactos/lib/ole32/ole2prox.spec
Modified: trunk/reactos/lib/ole32/ole2thk.spec
Modified: trunk/reactos/lib/ole32/ole32.spec
Modified: trunk/reactos/lib/ole32/oleobj.c
Modified: trunk/reactos/lib/ole32/oleproxy.c
Modified: trunk/reactos/lib/ole32/rpc.c
Modified: trunk/reactos/lib/ole32/stg_prop.c
Modified: trunk/reactos/lib/ole32/storage.c
Modified: trunk/reactos/lib/ole32/storage.spec
Modified: trunk/reactos/lib/ole32/storage32.c
Modified: trunk/reactos/lib/ole32/storage32.h
Modified: trunk/reactos/lib/ole32/stubmanager.c
_____
Modified: trunk/reactos/lib/ole32/antimoniker.c
--- trunk/reactos/lib/ole32/antimoniker.c 2005-08-12 17:07:28 UTC
(rev 17331)
+++ trunk/reactos/lib/ole32/antimoniker.c 2005-08-12 17:19:46 UTC
(rev 17332)
@@ -49,7 +49,7 @@
*/
const IROTDataVtbl* lpvtbl2; /* VTable relative to the IROTData
interface.*/
- ULONG ref; /* reference counter for this object */
+ LONG ref; /* reference counter for this object */
} AntiMonikerImpl;
_____
Modified: trunk/reactos/lib/ole32/bindctx.c
--- trunk/reactos/lib/ole32/bindctx.c 2005-08-12 17:07:28 UTC (rev
17331)
+++ trunk/reactos/lib/ole32/bindctx.c 2005-08-12 17:19:46 UTC (rev
17332)
@@ -52,7 +52,7 @@
const IBindCtxVtbl *lpVtbl; /* VTable relative to the IBindCtx
interface.*/
- ULONG ref; /* reference counter for this object */
+ LONG ref; /* reference counter for this object */
BindCtxObject* bindCtxTable; /* this is a table in which all
bounded objects are stored*/
DWORD bindCtxTableLastIndex; /* first free index in the
table */
_____
Modified: trunk/reactos/lib/ole32/clipboard.c
--- trunk/reactos/lib/ole32/clipboard.c 2005-08-12 17:07:28 UTC (rev
17331)
+++ trunk/reactos/lib/ole32/clipboard.c 2005-08-12 17:19:46 UTC (rev
17332)
@@ -122,7 +122,7 @@
/*
* Reference count of this object
*/
- ULONG ref;
+ LONG ref;
};
typedef struct OLEClipbrd OLEClipbrd;
@@ -145,7 +145,7 @@
/*
* Reference count of this object
*/
- DWORD ref;
+ LONG ref;
/*
* IUnknown implementation of the parent data object.
_____
Modified: trunk/reactos/lib/ole32/compobj.c
--- trunk/reactos/lib/ole32/compobj.c 2005-08-12 17:07:28 UTC (rev
17331)
+++ trunk/reactos/lib/ole32/compobj.c 2005-08-12 17:19:46 UTC (rev
17332)
@@ -1403,6 +1403,8 @@
newClass->classIdentifier = *rclsid;
newClass->runContext = dwClsContext;
newClass->connectFlags = flags;
+ newClass->pMarshaledData = NULL;
+
/*
* Use the address of the chain node as the cookie since we are sure
it's
* unique. FIXME: not on 64-bit platforms.
_____
Modified: trunk/reactos/lib/ole32/compobj.spec
--- trunk/reactos/lib/ole32/compobj.spec 2005-08-12 17:07:28 UTC
(rev 17331)
+++ trunk/reactos/lib/ole32/compobj.spec 2005-08-12 17:19:46 UTC
(rev 17332)
@@ -1,218 +1,218 @@
-1 pascal CoBuildVersion() CoBuildVersion
-2 pascal CoInitialize(long) CoInitialize16
-3 pascal CoUninitialize() CoUninitialize16
-4 pascal CoGetMalloc(long ptr) CoGetMalloc16
-5 pascal CoRegisterClassObject(ptr ptr long long ptr)
CoRegisterClassObject16
-6 pascal CoRevokeClassObject(long) CoRevokeClassObject16
-7 pascal CoGetClassObject(ptr long ptr ptr ptr) CoGetClassObject
-8 stub COMARSHALINTERFACE
-9 stub COUNMARSHALINTERFACE
-10 stub COLOADLIBRARY
-11 stub COFREELIBRARY
-12 stub COFREEALLLIBRARIES
-13 pascal CoCreateInstance(ptr ptr long ptr ptr) CoCreateInstance
-14 stub STRINGFROMIID
-15 pascal CoDisconnectObject(ptr long) CoDisconnectObject
-16 stub CORELEASEMARSHALDATA
-17 pascal -ret16 CoFreeUnusedLibraries() CoFreeUnusedLibraries
-18 pascal -ret16 IsEqualGUID(ptr ptr) IsEqualGUID16
-19 pascal StringFromCLSID(ptr ptr) StringFromCLSID16
-20 pascal CLSIDFromString(str ptr) CLSIDFromString16
-21 stub ISVALIDPTRIN
-22 stub ISVALIDPTROUT
-23 stub ISVALIDINTERFACE
-24 stub ISVALIDIID
-25 stub RESULTFROMSCODE
-26 stub GETSCODE
-27 pascal CoRegisterMessageFilter(ptr ptr) CoRegisterMessageFilter16
-28 stub COISHANDLERCONNECTED
-29 stub SHRADDREF
-30 pascal -ret16 CoFileTimeToDosDateTime(ptr ptr ptr)
CoFileTimeToDosDateTime16
-31 pascal -ret16 CoDosDateTimeToFileTime(word word ptr)
CoDosDateTimeToFileTime16
-32 stub COMARSHALHRESULT
-33 stub COUNMARSHALHRESULT
-34 pascal CoGetCurrentProcess() CoGetCurrentProcess
-35 stub SHRCREATE
-36 stub COISOLE1CLASS
-37 stub _GUID_NULL
-38 stub _IID_IUNKNOWN
-39 stub _IID_ICLASSFACTORY
-40 stub _IID_IMALLOC
-41 stub _IID_IMARSHAL
-42 stub _IID_IRPCCHANNEL
-43 stub _IID_IRPCSTUB
-44 stub _IID_ISTUBMANAGER
-45 stub _IID_IRPCPROXY
-46 stub _IID_IPROXYMANAGER
-47 stub _IID_IPSFACTORY
-48 stub _IID_ILOCKBYTES
-49 stub _IID_ISTORAGE
-50 stub _IID_ISTREAM
-51 stub _IID_IENUMSTATSTG
-52 stub _IID_IBINDCTX
-53 stub _IID_IMONIKER
-54 stub _IID_IRUNNINGOBJECTTABLE
-55 stub _IID_IINTERNALMONIKER
-56 stub _IID_IROOTSTORAGE
-57 stub _IID_IDFRESERVED1
-58 stub _IID_IDFRESERVED2
-59 stub _IID_IDFRESERVED3
-60 stub _IID_IMESSAGEFILTER
-61 pascal CLSIDFromProgID(str ptr) CLSIDFromProgID16
-62 pascal ProgIDFromCLSID(ptr ptr) ProgIDFromCLSID16
-63 pascal CoLockObjectExternal(segptr word word) CoLockObjectExternal16
-64 stub _CLSID_STDMARSHAL
-65 stub COGETTREATASCLASS
-66 stub COTREATASCLASS
-67 stub COGETSTANDARDMARSHAL
-68 stub PROPAGATERESULT
-69 stub IIDFROMSTRING
-70 stub _IID_ISTDMARSHALINFO
-71 pascal CoCreateStandardMalloc(long ptr) CoCreateStandardMalloc16
-72 stub _IID_IEXTERNALCONNECTION
-73 stub COCREATEGUID
-75 stub FNASSERT
-76 pascal StringFromGUID2(ptr ptr word) StringFromGUID2
-77 stub COGETCLASSEXT
-78 stub OLE1CLASSFROMCLSID2
-79 stub CLSIDFROMOLE1CLASS
-80 stub COOPENCLASSKEY
-81 stub GUIDFROMSTRING
-82 pascal CoFileTimeNow(ptr) CoFileTimeNow
-83 stub REMALLOCOID
-84 stub REMFREEOID
-85 stub REMCREATEREMOTEHANDLER
-86 stub REMCONNECTTOOBJECT
-87 stub REMGETINFOFORCID
-88 stub LRPCCALL
-89 stub LRPCDISPATCH
-90 stub LRPCREGISTERMONITOR
-91 stub LRPCREVOKEMONITOR
-92 stub LRPCGETTHREADWINDOW
-93 stub TIMERCALLBACKPROC
-94 pascal LookupETask(ptr ptr) LookupETask16
-95 pascal -ret16 SetETask(word ptr) SetETask16
-96 stub LRPCFREEMONITORDATA
-97 stub REMLOOKUPSHUNK
-98 stub SHRGETSIZE
-99 stub CALLTHKMGRUNINITIALIZE
-100 stub ??0CARRAYFVALUE@@REC@KI@Z
-101 stub ??1CARRAYFVALUE@@REC@XZ
-102 stub ?ASSERTVALID@CARRAYFVALUE@@RFCXXZ
-103 stub ?FREEEXTRA@CARRAYFVALUE@@RECXXZ
-104 stub ?_GETAT@CARRAYFVALUE@@RFCPEXH@Z
-105 stub ?GETSIZE@CARRAYFVALUE@@RFCHXZ
-106 stub ?REMOVEALL@CARRAYFVALUE@@RECXXZ
-107 stub SHRDESTROY
-108 stub ?INDEXOF@CARRAYFVALUE@@RECHPEXII@Z
-109 stub ?INSERTAT@CARRAYFVALUE@@RECHHPEXH@Z
-110 stub COSETSTATE
-111 stub ?REMOVEAT@CARRAYFVALUE@@RECXHH@Z
-112 stub ?SETAT@CARRAYFVALUE@@RECXHPEX@Z
-113 stub ?SETATGROW@CARRAYFVALUE@@RECHHPEX@Z
-114 stub ?SETSIZE@CARRAYFVALUE@@RECHHH@Z
-115 pascal CoGetState(ptr) CoGetState16
-116 pascal DllEntryPoint(long word word word long word)
COMPOBJ_DllEntryPoint
-117 stub ?RELEASE@CSTDMALLOC@@VEAKXZ
-118 stub ?ALLOC@CSTDMALLOC@@VEAPEXK@Z
-119 stub SHRRELEASE
-120 stub ?GETASSOCAT@CMAPKEYTOVALUE@@BFCPEUCASSOC@1@PEXIAEI@Z
-121 stub ?SETASSOCKEY@CMAPKEYTOVALUE@@BFCHPEUCASSOC@1@PEXI@Z
-122 stub ??1CMAPKEYTOVALUE@@REC@XZ
-123 stub ?GETASSOCKEYPTR@CMAPKEYTOVALUE@@BFCXPEUCASSOC@1@PEPEXPEI@Z
-124 stub ?NEWASSOC@CMAPKEYTOVALUE@@BECPEUCASSOC@1@IPEXI0@Z
-125 stub ?SIZEASSOC@CMAPKEYTOVALUE@@BFCIXZ
-126 stub ?FREEASSOC@CMAPKEYTOVALUE@@BECXPEUCASSOC@1@@Z
-127 stub ?GETSTARTPOSITION@CMAPKEYTOVALUE@@RFCPEXXZ
-128 stub ?GETNEXTASSOC@CMAPKEYTOVALUE@@RFCXPEPEXPEXPEI1@Z
-129 stub ?COMPAREASSOCKEY@CMAPKEYTOVALUE@@BFCHPEUCASSOC@1@PEXI@Z
-130 stub ?REMOVEHKEY@CMAPKEYTOVALUE@@RECHK@Z
-131 stub ?GETHKEY@CMAPKEYTOVALUE@@RFCKPEXI@Z
-132 stub ?GETCOUNT@CMAPKEYTOVALUE@@RFCHXZ
-133 stub ?LOOKUP@CMAPKEYTOVALUE@@RFCHPEXI0@Z
-134 stub ?GETASSOCVALUE@CMAPKEYTOVALUE@@BFCXPEUCASSOC@1@PEX@Z
-135 stub ?REMOVEKEY@CMAPKEYTOVALUE@@RECHPEXI@Z
-136 stub ?REMOVEALL@CMAPKEYTOVALUE@@RECXXZ
-137 stub SHRALLOC
-138 stub ?FREEASSOCKEY@CMAPKEYTOVALUE@@BFCXPEUCASSOC@1@@Z
-139 stub ?SETAT@CMAPKEYTOVALUE@@RECHPEXI0@Z
-140 stub ?LOOKUPHKEY@CMAPKEYTOVALUE@@RFCHKPEX@Z
-141 stub ?ASSERTVALID@CMAPKEYTOVALUE@@RFCXXZ
-142 stub ?SETASSOCVALUE@CMAPKEYTOVALUE@@BFCXPEUCASSOC@1@PEX@Z
-143 stub ?SETATHKEY@CMAPKEYTOVALUE@@RECHKPEX@Z
-144 stub ??0CMAPKEYTOVALUE@@REC@KIIHP7CIPEXI@ZI@Z
-145 stub ?INITHASHTABLE@CMAPKEYTOVALUE@@BECHXZ
-146 stub ?GETASSOCVALUEPTR@CMAPKEYTOVALUE@@BFCXPEUCASSOC@1@PEPEX@Z
-147 stub ?LOOKUPADD@CMAPKEYTOVALUE@@RFCHPEXI0@Z
-148 stub MKVDEFAULTHASHKEY
-149 stub DELETE16
-150 stub COMEMCTXOF
-151 stub COMEMALLOC
-152 stub COMEMFREE
-153 stub SHRREALLOC
-154 stub ___EXPORTEDSTUB
-155 stub LRPCREGISTERWIN32SMONITOR
-156 stub MYREMGETINFOFORCID
-157 stub SHRFREE
-158 stub OPNEW16
-159 stub ADDCOINFO
-160 stub CORUNMODALLOOP
-161 stub COHANDLEINCOMINGCALL
-162 stub COSETACKSTATE
-163 stub SHRDIDALLOC
-164 stub ?GETAT@CARRAYFVALUE@@RFCPEXH@Z
-165 stub ?GETUPPERBOUND@CARRAYFVALUE@@RFCHXZ
-166 stub OPDELETE16
-167 stub ?GETSIZEVALUE@CARRAYFVALUE@@RFCHXZ
-168 stub ?PROXY1632ADDREF@@ZAKPEVCPROXY1632@@@Z
-# FIXME: 169 is a duplicate of 97
-169 stub REMLOOKUPSHUNK_dup
-170 stub ?ISEMPTY@CMAPKEYTOVALUE@@RFCHXZ
-171 stub ?FREE@CSTDMALLOC@@VEAXPEX@Z
-172 stub CALLTHKMGRINITIALIZE
-173 stub ?REALLOC@CSTDMALLOC@@VEAPEXPEXK@Z
-174 stub ?SM16RHQI@@ZAPEXPEVCSM16RELEASEHANDLER@@AFUGUID@@PEPEX@Z
-175 stub ?PROXY1632METHOD10@@ZAKPEVCPROXY1632@@@Z
-# FIXME: 176 is a duplicate of 154
-176 stub ___EXPORTEDSTUB_dup
-177 stub ?PROXY1632METHOD20@@ZAKPEVCPROXY1632@@@Z
-178 stub ?PROXY1632METHOD11@@ZAKPEVCPROXY1632@@@Z
-179 stub ?PROXY1632METHOD30@@ZAKPEVCPROXY1632@@@Z
-180 stub ?PROXY1632METHOD21@@ZAKPEVCPROXY1632@@@Z
-181 stub ?PROXY1632METHOD12@@ZAKPEVCPROXY1632@@@Z
-182 stub ?PROXY1632METHOD31@@ZAKPEVCPROXY1632@@@Z
-183 stub ?PROXY1632METHOD22@@ZAKPEVCPROXY1632@@@Z
-184 stub ?PROXY1632METHOD13@@ZAKPEVCPROXY1632@@@Z
-185 stub ?GETSIZE@CSTDMALLOC@@VEAKPEX@Z
-186 stub ?PROXY1632METHOD23@@ZAKPEVCPROXY1632@@@Z
-187 stub ?PROXY1632METHOD14@@ZAKPEVCPROXY1632@@@Z
-188 stub ?PROXY1632METHOD24@@ZAKPEVCPROXY1632@@@Z
-189 stub ?PROXY1632METHOD15@@ZAKPEVCPROXY1632@@@Z
-190 stub ?PROXY1632METHOD25@@ZAKPEVCPROXY1632@@@Z
-191 stub ?PROXY1632METHOD16@@ZAKPEVCPROXY1632@@@Z
-192 stub ?PROXY1632METHOD26@@ZAKPEVCPROXY1632@@@Z
-193 stub ?PROXY1632METHOD17@@ZAKPEVCPROXY1632@@@Z
-194 stub ?PROXY1632METHOD27@@ZAKPEVCPROXY1632@@@Z
-195 stub ?PROXY1632METHOD18@@ZAKPEVCPROXY1632@@@Z
-196 stub ?PROXY1632METHOD28@@ZAKPEVCPROXY1632@@@Z
-197 stub ?ADDREF@CSTDMALLOC@@VEAKXZ
-198 stub ?PROXY1632METHOD19@@ZAKPEVCPROXY1632@@@Z
-199 stub ?PROXY1632METHOD29@@ZAKPEVCPROXY1632@@@Z
-200 stub CALL32INITIALIZE
-201 pascal CALLOBJECTINWOW(ptr ptr) CallObjectInWOW
-203 stub CALLOBJECTINWOWCHECKINIT
-204 stub CALLOBJECTINWOWCHECKTHKMGR
-205 stub CONVERTHR1632
-206 stub CONVERTHR3216
-207 stub ADDAPPCOMPATFLAG
-
-# WINE internal relays (for Win16 interfaces)
-500 cdecl IMalloc16_QueryInterface(ptr ptr ptr)
IMalloc16_fnQueryInterface
-501 cdecl IMalloc16_AddRef(ptr) IMalloc16_fnAddRef
-502 cdecl IMalloc16_Release(ptr) IMalloc16_fnRelease
-503 cdecl IMalloc16_Alloc(ptr long) IMalloc16_fnAlloc
-504 cdecl IMalloc16_Realloc(ptr segptr long) IMalloc16_fnRealloc
-505 cdecl IMalloc16_Free(ptr segptr) IMalloc16_fnFree
-506 cdecl IMalloc16_GetSize(ptr segptr) IMalloc16_fnGetSize
-507 cdecl IMalloc16_DidAlloc(ptr segptr) IMalloc16_fnDidAlloc
-508 cdecl IMalloc16_HeapMinimize(ptr) IMalloc16_fnHeapMinimize
+1 pascal CoBuildVersion() CoBuildVersion
+2 pascal CoInitialize(long) CoInitialize16
+3 pascal CoUninitialize() CoUninitialize16
+4 pascal CoGetMalloc(long ptr) CoGetMalloc16
+5 pascal CoRegisterClassObject(ptr ptr long long ptr)
CoRegisterClassObject16
+6 pascal CoRevokeClassObject(long) CoRevokeClassObject16
+7 pascal CoGetClassObject(ptr long ptr ptr ptr) CoGetClassObject
+8 stub COMARSHALINTERFACE
+9 stub COUNMARSHALINTERFACE
+10 stub COLOADLIBRARY
+11 stub COFREELIBRARY
+12 stub COFREEALLLIBRARIES
+13 pascal CoCreateInstance(ptr ptr long ptr ptr) CoCreateInstance
+14 stub STRINGFROMIID
+15 pascal CoDisconnectObject(ptr long) CoDisconnectObject
+16 stub CORELEASEMARSHALDATA
+17 pascal -ret16 CoFreeUnusedLibraries() CoFreeUnusedLibraries
+18 pascal -ret16 IsEqualGUID(ptr ptr) IsEqualGUID16
+19 pascal StringFromCLSID(ptr ptr) StringFromCLSID16
+20 pascal CLSIDFromString(str ptr) CLSIDFromString16
+21 stub ISVALIDPTRIN
+22 stub ISVALIDPTROUT
+23 pascal IsValidInterface(segptr) IsValidInterface16
+24 stub ISVALIDIID
+25 stub RESULTFROMSCODE
+26 stub GETSCODE
+27 pascal CoRegisterMessageFilter(ptr ptr) CoRegisterMessageFilter16
+28 stub COISHANDLERCONNECTED
+29 stub SHRADDREF
+30 pascal -ret16 CoFileTimeToDosDateTime(ptr ptr ptr)
CoFileTimeToDosDateTime16
+31 pascal -ret16 CoDosDateTimeToFileTime(word word ptr)
CoDosDateTimeToFileTime16
+32 stub COMARSHALHRESULT
+33 stub COUNMARSHALHRESULT
+34 pascal CoGetCurrentProcess() CoGetCurrentProcess
+35 stub SHRCREATE
+36 stub COISOLE1CLASS
+37 stub _GUID_NULL
+38 stub _IID_IUNKNOWN
+39 stub _IID_ICLASSFACTORY
+40 stub _IID_IMALLOC
+41 stub _IID_IMARSHAL
+42 stub _IID_IRPCCHANNEL
+43 stub _IID_IRPCSTUB
+44 stub _IID_ISTUBMANAGER
+45 stub _IID_IRPCPROXY
+46 stub _IID_IPROXYMANAGER
+47 stub _IID_IPSFACTORY
+48 stub _IID_ILOCKBYTES
+49 stub _IID_ISTORAGE
+50 stub _IID_ISTREAM
+51 stub _IID_IENUMSTATSTG
+52 stub _IID_IBINDCTX
+53 stub _IID_IMONIKER
+54 stub _IID_IRUNNINGOBJECTTABLE
+55 stub _IID_IINTERNALMONIKER
+56 stub _IID_IROOTSTORAGE
+57 stub _IID_IDFRESERVED1
+58 stub _IID_IDFRESERVED2
+59 stub _IID_IDFRESERVED3
+60 stub _IID_IMESSAGEFILTER
+61 pascal CLSIDFromProgID(str ptr) CLSIDFromProgID16
+62 pascal ProgIDFromCLSID(ptr ptr) ProgIDFromCLSID16
+63 pascal CoLockObjectExternal(segptr word word) CoLockObjectExternal16
+64 stub _CLSID_STDMARSHAL
+65 stub COGETTREATASCLASS
+66 stub COTREATASCLASS
+67 stub COGETSTANDARDMARSHAL
+68 stub PROPAGATERESULT
+69 stub IIDFROMSTRING
+70 stub _IID_ISTDMARSHALINFO
+71 pascal CoCreateStandardMalloc(long ptr) CoCreateStandardMalloc16
+72 stub _IID_IEXTERNALCONNECTION
+73 stub COCREATEGUID
+75 stub FNASSERT
+76 pascal StringFromGUID2(ptr ptr word) StringFromGUID2
+77 stub COGETCLASSEXT
+78 stub OLE1CLASSFROMCLSID2
+79 stub CLSIDFROMOLE1CLASS
+80 stub COOPENCLASSKEY
+81 stub GUIDFROMSTRING
+82 pascal CoFileTimeNow(ptr) CoFileTimeNow
+83 stub REMALLOCOID
+84 stub REMFREEOID
+85 stub REMCREATEREMOTEHANDLER
+86 stub REMCONNECTTOOBJECT
+87 stub REMGETINFOFORCID
+88 stub LRPCCALL
+89 stub LRPCDISPATCH
+90 stub LRPCREGISTERMONITOR
+91 stub LRPCREVOKEMONITOR
+92 stub LRPCGETTHREADWINDOW
+93 stub TIMERCALLBACKPROC
+94 pascal LookupETask(ptr ptr) LookupETask16
+95 pascal -ret16 SetETask(word ptr) SetETask16
+96 stub LRPCFREEMONITORDATA
+97 stub REMLOOKUPSHUNK
+98 stub SHRGETSIZE
+99 stub CALLTHKMGRUNINITIALIZE
+100 stub ??0CARRAYFVALUE@@REC@KI@Z
+101 stub ??1CARRAYFVALUE@@REC@XZ
+102 stub ?ASSERTVALID@CARRAYFVALUE@@RFCXXZ
+103 stub ?FREEEXTRA@CARRAYFVALUE@@RECXXZ
+104 stub ?_GETAT@CARRAYFVALUE@@RFCPEXH@Z
+105 stub ?GETSIZE@CARRAYFVALUE@@RFCHXZ
+106 stub ?REMOVEALL@CARRAYFVALUE@@RECXXZ
+107 stub SHRDESTROY
+108 stub ?INDEXOF@CARRAYFVALUE@@RECHPEXII@Z
+109 stub ?INSERTAT@CARRAYFVALUE@@RECHHPEXH@Z
+110 stub COSETSTATE
+111 stub ?REMOVEAT@CARRAYFVALUE@@RECXHH@Z
+112 stub ?SETAT@CARRAYFVALUE@@RECXHPEX@Z
+113 stub ?SETATGROW@CARRAYFVALUE@@RECHHPEX@Z
+114 stub ?SETSIZE@CARRAYFVALUE@@RECHHH@Z
+115 pascal CoGetState(ptr) CoGetState16
+116 pascal DllEntryPoint(long word word word long word)
COMPOBJ_DllEntryPoint
+117 stub ?RELEASE@CSTDMALLOC@@VEAKXZ
+118 stub ?ALLOC@CSTDMALLOC@@VEAPEXK@Z
+119 stub SHRRELEASE
+120 stub ?GETASSOCAT@CMAPKEYTOVALUE@@BFCPEUCASSOC@1@PEXIAEI@Z
+121 stub ?SETASSOCKEY@CMAPKEYTOVALUE@@BFCHPEUCASSOC@1@PEXI@Z
+122 stub ??1CMAPKEYTOVALUE@@REC@XZ
+123 stub ?GETASSOCKEYPTR@CMAPKEYTOVALUE@@BFCXPEUCASSOC@1@PEPEXPEI@Z
+124 stub ?NEWASSOC@CMAPKEYTOVALUE@@BECPEUCASSOC@1@IPEXI0@Z
+125 stub ?SIZEASSOC@CMAPKEYTOVALUE@@BFCIXZ
+126 stub ?FREEASSOC@CMAPKEYTOVALUE@@BECXPEUCASSOC@1@@Z
+127 stub ?GETSTARTPOSITION@CMAPKEYTOVALUE@@RFCPEXXZ
+128 stub ?GETNEXTASSOC@CMAPKEYTOVALUE@@RFCXPEPEXPEXPEI1@Z
+129 stub ?COMPAREASSOCKEY@CMAPKEYTOVALUE@@BFCHPEUCASSOC@1@PEXI@Z
+130 stub ?REMOVEHKEY@CMAPKEYTOVALUE@@RECHK@Z
+131 stub ?GETHKEY@CMAPKEYTOVALUE@@RFCKPEXI@Z
+132 stub ?GETCOUNT@CMAPKEYTOVALUE@@RFCHXZ
+133 stub ?LOOKUP@CMAPKEYTOVALUE@@RFCHPEXI0@Z
+134 stub ?GETASSOCVALUE@CMAPKEYTOVALUE@@BFCXPEUCASSOC@1@PEX@Z
+135 stub ?REMOVEKEY@CMAPKEYTOVALUE@@RECHPEXI@Z
+136 stub ?REMOVEALL@CMAPKEYTOVALUE@@RECXXZ
+137 stub SHRALLOC
+138 stub ?FREEASSOCKEY@CMAPKEYTOVALUE@@BFCXPEUCASSOC@1@@Z
+139 stub ?SETAT@CMAPKEYTOVALUE@@RECHPEXI0@Z
+140 stub ?LOOKUPHKEY@CMAPKEYTOVALUE@@RFCHKPEX@Z
+141 stub ?ASSERTVALID@CMAPKEYTOVALUE@@RFCXXZ
+142 stub ?SETASSOCVALUE@CMAPKEYTOVALUE@@BFCXPEUCASSOC@1@PEX@Z
+143 stub ?SETATHKEY@CMAPKEYTOVALUE@@RECHKPEX@Z
+144 stub ??0CMAPKEYTOVALUE@@REC@KIIHP7CIPEXI@ZI@Z
+145 stub ?INITHASHTABLE@CMAPKEYTOVALUE@@BECHXZ
+146 stub ?GETASSOCVALUEPTR@CMAPKEYTOVALUE@@BFCXPEUCASSOC@1@PEPEX@Z
+147 stub ?LOOKUPADD@CMAPKEYTOVALUE@@RFCHPEXI0@Z
+148 stub MKVDEFAULTHASHKEY
+149 stub DELETE16
+150 stub COMEMCTXOF
+151 pascal CoMemAlloc(long long long)
+152 stub COMEMFREE
+153 stub SHRREALLOC
+154 stub ___EXPORTEDSTUB
+155 stub LRPCREGISTERWIN32SMONITOR
+156 stub MYREMGETINFOFORCID
+157 stub SHRFREE
+158 stub OPNEW16
+159 stub ADDCOINFO
+160 stub CORUNMODALLOOP
+161 stub COHANDLEINCOMINGCALL
+162 stub COSETACKSTATE
+163 stub SHRDIDALLOC
+164 stub ?GETAT@CARRAYFVALUE@@RFCPEXH@Z
+165 stub ?GETUPPERBOUND@CARRAYFVALUE@@RFCHXZ
+166 stub OPDELETE16
+167 stub ?GETSIZEVALUE@CARRAYFVALUE@@RFCHXZ
+168 stub ?PROXY1632ADDREF@@ZAKPEVCPROXY1632@@@Z
+# FIXME: 169 is a duplicate of 97
+169 stub REMLOOKUPSHUNK_dup
+170 stub ?ISEMPTY@CMAPKEYTOVALUE@@RFCHXZ
+171 stub ?FREE@CSTDMALLOC@@VEAXPEX@Z
+172 stub CALLTHKMGRINITIALIZE
+173 stub ?REALLOC@CSTDMALLOC@@VEAPEXPEXK@Z
+174 stub ?SM16RHQI@@ZAPEXPEVCSM16RELEASEHANDLER@@AFUGUID@@PEPEX@Z
+175 stub ?PROXY1632METHOD10@@ZAKPEVCPROXY1632@@@Z
+# FIXME: 176 is a duplicate of 154
+176 stub ___EXPORTEDSTUB_dup
+177 stub ?PROXY1632METHOD20@@ZAKPEVCPROXY1632@@@Z
+178 stub ?PROXY1632METHOD11@@ZAKPEVCPROXY1632@@@Z
+179 stub ?PROXY1632METHOD30@@ZAKPEVCPROXY1632@@@Z
+180 stub ?PROXY1632METHOD21@@ZAKPEVCPROXY1632@@@Z
+181 stub ?PROXY1632METHOD12@@ZAKPEVCPROXY1632@@@Z
+182 stub ?PROXY1632METHOD31@@ZAKPEVCPROXY1632@@@Z
+183 stub ?PROXY1632METHOD22@@ZAKPEVCPROXY1632@@@Z
+184 stub ?PROXY1632METHOD13@@ZAKPEVCPROXY1632@@@Z
+185 stub ?GETSIZE@CSTDMALLOC@@VEAKPEX@Z
+186 stub ?PROXY1632METHOD23@@ZAKPEVCPROXY1632@@@Z
+187 stub ?PROXY1632METHOD14@@ZAKPEVCPROXY1632@@@Z
+188 stub ?PROXY1632METHOD24@@ZAKPEVCPROXY1632@@@Z
+189 stub ?PROXY1632METHOD15@@ZAKPEVCPROXY1632@@@Z
+190 stub ?PROXY1632METHOD25@@ZAKPEVCPROXY1632@@@Z
+191 stub ?PROXY1632METHOD16@@ZAKPEVCPROXY1632@@@Z
+192 stub ?PROXY1632METHOD26@@ZAKPEVCPROXY1632@@@Z
+193 stub ?PROXY1632METHOD17@@ZAKPEVCPROXY1632@@@Z
+194 stub ?PROXY1632METHOD27@@ZAKPEVCPROXY1632@@@Z
+195 stub ?PROXY1632METHOD18@@ZAKPEVCPROXY1632@@@Z
+196 stub ?PROXY1632METHOD28@@ZAKPEVCPROXY1632@@@Z
+197 stub ?ADDREF@CSTDMALLOC@@VEAKXZ
+198 stub ?PROXY1632METHOD19@@ZAKPEVCPROXY1632@@@Z
+199 stub ?PROXY1632METHOD29@@ZAKPEVCPROXY1632@@@Z
+200 stub CALL32INITIALIZE
+201 pascal CALLOBJECTINWOW(ptr ptr) CallObjectInWOW
+203 stub CALLOBJECTINWOWCHECKINIT
+204 stub CALLOBJECTINWOWCHECKTHKMGR
+205 stub CONVERTHR1632
+206 stub CONVERTHR3216
+207 stub ADDAPPCOMPATFLAG
+
+# WINE internal relays (for Win16 interfaces)
+500 cdecl IMalloc16_QueryInterface(ptr ptr ptr)
IMalloc16_fnQueryInterface
+501 cdecl IMalloc16_AddRef(ptr) IMalloc16_fnAddRef
+502 cdecl IMalloc16_Release(ptr) IMalloc16_fnRelease
+503 cdecl IMalloc16_Alloc(ptr long) IMalloc16_fnAlloc
+504 cdecl IMalloc16_Realloc(ptr segptr long) IMalloc16_fnRealloc
+505 cdecl IMalloc16_Free(ptr segptr) IMalloc16_fnFree
+506 cdecl IMalloc16_GetSize(ptr segptr) IMalloc16_fnGetSize
+507 cdecl IMalloc16_DidAlloc(ptr segptr) IMalloc16_fnDidAlloc
+508 cdecl IMalloc16_HeapMinimize(ptr) IMalloc16_fnHeapMinimize
Property changes on: trunk/reactos/lib/ole32/compobj.spec
___________________________________________________________________
Name: svn:eol-style
+ native
_____
Modified: trunk/reactos/lib/ole32/compobj_private.h
--- trunk/reactos/lib/ole32/compobj_private.h 2005-08-12 17:07:28 UTC
(rev 17331)
+++ trunk/reactos/lib/ole32/compobj_private.h 2005-08-12 17:19:46 UTC
(rev 17332)
@@ -112,7 +112,7 @@
OXID oxid; /* object exported ID (RO) */
OID oid; /* object ID (RO) */
struct list interfaces; /* imported interfaces (CS cs) */
- DWORD refs; /* proxy reference count (LOCK) */
+ LONG refs; /* proxy reference count (LOCK) */
CRITICAL_SECTION cs; /* thread safety for this object and
children */
ULONG sorflags; /* STDOBJREF flags (RO) */
IRemUnknown *remunk; /* proxy to IRemUnknown used for lifecycle
management (CS cs) */
@@ -124,12 +124,12 @@
{
struct list entry;
- DWORD refs; /* refcount of the apartment (LOCK) */
+ LONG refs; /* refcount of the apartment (LOCK) */
DWORD model; /* threading model (RO) */
DWORD tid; /* thread id (RO) */
HANDLE thread; /* thread handle (RO) */
OXID oxid; /* object exporter ID (RO) */
- DWORD ipidc; /* interface pointer ID counter, starts at 1
(LOCK) */
+ LONG ipidc; /* interface pointer ID counter, starts at 1
(LOCK) */
HWND win; /* message window (RO) */
CRITICAL_SECTION cs; /* thread safety */
LPMESSAGEFILTER filter; /* message filter (CS cs) */
_____
Modified: trunk/reactos/lib/ole32/compositemoniker.c
--- trunk/reactos/lib/ole32/compositemoniker.c 2005-08-12 17:07:28 UTC
(rev 17331)
+++ trunk/reactos/lib/ole32/compositemoniker.c 2005-08-12 17:19:46 UTC
(rev 17332)
@@ -54,7 +54,7 @@
*/
const IROTDataVtbl* lpvtbl2; /* VTable relative to the IROTData
interface.*/
- ULONG ref; /* reference counter for this object */
+ LONG ref; /* reference counter for this object */
IMoniker** tabMoniker; /* dynamaic table containing all components
(monikers) of this composite moniker */
@@ -70,7 +70,7 @@
const IEnumMonikerVtbl *lpVtbl; /* VTable relative to the
IEnumMoniker interface.*/
- ULONG ref; /* reference counter for this object */
+ LONG ref; /* reference counter for this object */
IMoniker** tabMoniker; /* dynamic table containing the enumerated
monikers */
_____
Modified: trunk/reactos/lib/ole32/datacache.c
--- trunk/reactos/lib/ole32/datacache.c 2005-08-12 17:07:28 UTC (rev
17331)
+++ trunk/reactos/lib/ole32/datacache.c 2005-08-12 17:19:46 UTC (rev
17332)
@@ -103,7 +103,7 @@
/*
* Reference count of this object
*/
- ULONG ref;
+ LONG ref;
/*
* IUnknown implementation of the outer object.
_____
Modified: trunk/reactos/lib/ole32/defaulthandler.c
--- trunk/reactos/lib/ole32/defaulthandler.c 2005-08-12 17:07:28 UTC
(rev 17331)
+++ trunk/reactos/lib/ole32/defaulthandler.c 2005-08-12 17:19:46 UTC
(rev 17332)
@@ -78,7 +78,7 @@
/*
* Reference count of this object
*/
- ULONG ref;
+ LONG ref;
/*
* IUnknown implementation of the outer object.
_____
Modified: trunk/reactos/lib/ole32/errorinfo.c
--- trunk/reactos/lib/ole32/errorinfo.c 2005-08-12 17:07:28 UTC (rev
17331)
+++ trunk/reactos/lib/ole32/errorinfo.c 2005-08-12 17:19:46 UTC (rev
17332)
@@ -131,7 +131,7 @@
const IErrorInfoVtbl *lpvtei;
const ICreateErrorInfoVtbl *lpvtcei;
const ISupportErrorInfoVtbl *lpvtsei;
- DWORD ref;
+ LONG ref;
GUID m_Guid;
BSTR bstrSource;
_____
Modified: trunk/reactos/lib/ole32/filemoniker.c
--- trunk/reactos/lib/ole32/filemoniker.c 2005-08-12 17:07:28 UTC
(rev 17331)
+++ trunk/reactos/lib/ole32/filemoniker.c 2005-08-12 17:19:46 UTC
(rev 17332)
@@ -53,7 +53,7 @@
*/
const IROTDataVtbl* lpvtbl2; /* VTable relative to the IROTData
interface.*/
- ULONG ref; /* reference counter for this object */
+ LONG ref; /* reference counter for this object */
LPOLESTR filePathName; /* path string identified by this
filemoniker */
_____
Modified: trunk/reactos/lib/ole32/ftmarshal.c
--- trunk/reactos/lib/ole32/ftmarshal.c 2005-08-12 17:07:28 UTC (rev
17331)
+++ trunk/reactos/lib/ole32/ftmarshal.c 2005-08-12 17:19:46 UTC (rev
17332)
@@ -38,7 +38,7 @@
typedef struct _FTMarshalImpl {
const IUnknownVtbl *lpVtbl;
- DWORD ref;
+ LONG ref;
const IMarshalVtbl *lpvtblFTM;
IUnknown *pUnkOuter;
_____
Modified: trunk/reactos/lib/ole32/hglobalstream.c
--- trunk/reactos/lib/ole32/hglobalstream.c 2005-08-12 17:07:28 UTC
(rev 17331)
+++ trunk/reactos/lib/ole32/hglobalstream.c 2005-08-12 17:19:46 UTC
(rev 17332)
@@ -60,7 +60,7 @@
/*
* Reference count
*/
- ULONG ref;
+ LONG ref;
/*
* Support for the stream
_____
Modified: trunk/reactos/lib/ole32/ifs.c
--- trunk/reactos/lib/ole32/ifs.c 2005-08-12 17:07:28 UTC (rev
17331)
+++ trunk/reactos/lib/ole32/ifs.c 2005-08-12 17:19:46 UTC (rev
17332)
@@ -366,7 +366,7 @@
typedef struct {
const IMallocSpyVtbl *lpVtbl;
- DWORD ref;
+ LONG ref;
} _MallocSpy;
/* this is the static object instance */
_____
Modified: trunk/reactos/lib/ole32/ifs.h
--- trunk/reactos/lib/ole32/ifs.h 2005-08-12 17:07:28 UTC (rev
17331)
+++ trunk/reactos/lib/ole32/ifs.h 2005-08-12 17:19:46 UTC (rev
17332)
@@ -29,6 +29,11 @@
typedef LPSTR LPOLESTR16;
typedef LPCSTR LPCOLESTR16;
+#define STDMETHOD16CALLTYPE __cdecl
+#define STDMETHOD16(m) HRESULT (STDMETHOD16CALLTYPE *m)
+#define STDMETHOD16_(t,m) t (STDMETHOD16CALLTYPE *m)
+
+
/***********************************************************************
* IMalloc16 interface
*/
@@ -38,16 +43,16 @@
DECLARE_INTERFACE_(IMalloc16,IUnknown)
{
/*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void**
ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD16_(HRESULT,QueryInterface)(THIS_ REFIID riid, void**
ppvObject) PURE;
+ STDMETHOD16_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD16_(ULONG,Release)(THIS) PURE;
/*** IMalloc16 methods ***/
- STDMETHOD_(LPVOID,Alloc)(THIS_ DWORD cb) PURE;
- STDMETHOD_(LPVOID,Realloc)(THIS_ LPVOID pv, DWORD cb) PURE;
- STDMETHOD_(void,Free)(THIS_ LPVOID pv) PURE;
- STDMETHOD_(DWORD,GetSize)(THIS_ LPVOID pv) PURE;
- STDMETHOD_(INT16,DidAlloc)(THIS_ LPVOID pv) PURE;
- STDMETHOD_(LPVOID,HeapMinimize)(THIS) PURE;
+ STDMETHOD16_(LPVOID,Alloc)(THIS_ DWORD cb) PURE;
+ STDMETHOD16_(LPVOID,Realloc)(THIS_ LPVOID pv, DWORD cb) PURE;
+ STDMETHOD16_(void,Free)(THIS_ LPVOID pv) PURE;
+ STDMETHOD16_(DWORD,GetSize)(THIS_ LPVOID pv) PURE;
+ STDMETHOD16_(INT16,DidAlloc)(THIS_ LPVOID pv) PURE;
+ STDMETHOD16_(LPVOID,HeapMinimize)(THIS) PURE;
};
#undef INTERFACE
@@ -63,17 +68,17 @@
DECLARE_INTERFACE_(ILockBytes16,IUnknown)
{
/*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void**
ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD16_(HRESULT,QueryInterface)(THIS_ REFIID riid, void**
ppvObject) PURE;
+ STDMETHOD16_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD16_(ULONG,Release)(THIS) PURE;
/*** ILockBytes16 methods ***/
- STDMETHOD(ReadAt)(THIS_ ULARGE_INTEGER ulOffset, void *pv, ULONG
cb, ULONG *pcbRead) PURE;
- STDMETHOD(WriteAt)(THIS_ ULARGE_INTEGER ulOffset, const void *pv,
ULONG cb, ULONG *pcbWritten) PURE;
- STDMETHOD(Flush)(THIS) PURE;
- STDMETHOD(SetSize)(THIS_ ULARGE_INTEGER cb) PURE;
- STDMETHOD(LockRegion)(THIS_ ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb, DWORD dwLockType) PURE;
- STDMETHOD(UnlockRegion)(THIS_ ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb, DWORD dwLockType) PURE;
- STDMETHOD(Stat)(THIS_ STATSTG *pstatstg, DWORD grfStatFlag) PURE;
+ STDMETHOD16(ReadAt)(THIS_ ULARGE_INTEGER ulOffset, void *pv, ULONG
cb, ULONG *pcbRead) PURE;
+ STDMETHOD16(WriteAt)(THIS_ ULARGE_INTEGER ulOffset, const void *pv,
ULONG cb, ULONG *pcbWritten) PURE;
+ STDMETHOD16(Flush)(THIS) PURE;
+ STDMETHOD16(SetSize)(THIS_ ULARGE_INTEGER cb) PURE;
+ STDMETHOD16(LockRegion)(THIS_ ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb, DWORD dwLockType) PURE;
+ STDMETHOD16(UnlockRegion)(THIS_ ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb, DWORD dwLockType) PURE;
+ STDMETHOD16(Stat)(THIS_ STATSTG *pstatstg, DWORD grfStatFlag) PURE;
};
#undef INTERFACE
@@ -98,22 +103,22 @@
DECLARE_INTERFACE_(IStream16,ISequentialStream)
{
/*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void**
ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD16_(HRESULT,QueryInterface)(THIS_ REFIID riid, void**
ppvObject) PURE;
+ STDMETHOD16_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD16_(ULONG,Release)(THIS) PURE;
/*** ISequentialStream methods ***/
- STDMETHOD_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG* pcbRead)
PURE;
- STDMETHOD_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG*
pcbWritten) PURE;
+ STDMETHOD16_(HRESULT,Read)(THIS_ void* pv, ULONG cb, ULONG*
pcbRead) PURE;
+ STDMETHOD16_(HRESULT,Write)(THIS_ const void* pv, ULONG cb, ULONG*
pcbWritten) PURE;
/*** IStream16 methods ***/
- STDMETHOD(Seek)(THIS_ LARGE_INTEGER dlibMove, DWORD dwOrigin,
ULARGE_INTEGER* plibNewPosition) PURE;
- STDMETHOD(SetSize)(THIS_ ULARGE_INTEGER libNewSize) PURE;
- STDMETHOD(CopyTo)(THIS_ IStream16* pstm, ULARGE_INTEGER cb,
ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten) PURE;
- STDMETHOD(Commit)(THIS_ DWORD grfCommitFlags) PURE;
- STDMETHOD(Revert)(THIS) PURE;
- STDMETHOD(LockRegion)(THIS_ ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb, DWORD dwLockType) PURE;
- STDMETHOD(UnlockRegion)(THIS_ ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb, DWORD dwLockType) PURE;
- STDMETHOD(Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE;
- STDMETHOD(Clone)(THIS_ IStream16** ppstm) PURE;
+ STDMETHOD16(Seek)(THIS_ LARGE_INTEGER dlibMove, DWORD dwOrigin,
ULARGE_INTEGER* plibNewPosition) PURE;
+ STDMETHOD16(SetSize)(THIS_ ULARGE_INTEGER libNewSize) PURE;
+ STDMETHOD16(CopyTo)(THIS_ IStream16* pstm, ULARGE_INTEGER cb,
ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten) PURE;
+ STDMETHOD16(Commit)(THIS_ DWORD grfCommitFlags) PURE;
+ STDMETHOD16(Revert)(THIS) PURE;
+ STDMETHOD16(LockRegion)(THIS_ ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb, DWORD dwLockType) PURE;
+ STDMETHOD16(UnlockRegion)(THIS_ ULARGE_INTEGER libOffset,
ULARGE_INTEGER cb, DWORD dwLockType) PURE;
+ STDMETHOD16(Stat)(THIS_ STATSTG* pstatstg, DWORD grfStatFlag) PURE;
+ STDMETHOD16(Clone)(THIS_ IStream16** ppstm) PURE;
};
#undef INTERFACE
@@ -125,25 +130,25 @@
DECLARE_INTERFACE_(IStorage16,IUnknown)
{
/*** IUnknown methods ***/
- STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void**
ppvObject) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD16_(HRESULT,QueryInterface)(THIS_ REFIID riid, void**
ppvObject) PURE;
+ STDMETHOD16_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD16_(ULONG,Release)(THIS) PURE;
/*** IStorage16 methods ***/
- STDMETHOD_(HRESULT,CreateStream)(THIS_ LPCOLESTR16 pwcsName, DWORD
grfMode, DWORD reserved1, DWORD reserved2, IStream16** ppstm) PURE;
- STDMETHOD_(HRESULT,OpenStream)(THIS_ LPCOLESTR16 pwcsName, void*
reserved1, DWORD grfMode, DWORD reserved2, IStream16** ppstm) PURE;
- STDMETHOD_(HRESULT,CreateStorage)(THIS_ LPCOLESTR16 pwcsName, DWORD
grfMode, DWORD dwStgFmt, DWORD reserved2, IStorage16** ppstg) PURE;
- STDMETHOD_(HRESULT,OpenStorage)(THIS_ LPCOLESTR16 pwcsName,
IStorage16* pstgPriority, DWORD grfMode, SNB16 snbExclude, DWORD
reserved, IStorage16** ppstg) PURE;
- STDMETHOD_(HRESULT,CopyTo)(THIS_ DWORD ciidExclude, const IID*
rgiidExclude, SNB16 snbExclude, IStorage16* pstgDest) PURE;
- STDMETHOD_(HRESULT,MoveElementTo)(THIS_ LPCOLESTR16 pwcsName,
IStorage16* pstgDest, LPCOLESTR16 pwcsNewName, DWORD grfFlags) PURE;
- STDMETHOD_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE;
- STDMETHOD_(HRESULT,Revert)(THIS) PURE;
- STDMETHOD_(HRESULT,EnumElements)(THIS_ DWORD reserved1, void*
reserved2, DWORD reserved3, IEnumSTATSTG** ppenum) PURE;
- STDMETHOD_(HRESULT,DestroyElement)(THIS_ LPCOLESTR16 pwcsName)
PURE;
- STDMETHOD_(HRESULT,RenameElement)(THIS_ LPCOLESTR16 pwcsOldName,
LPCOLESTR16 pwcsNewName) PURE;
- STDMETHOD_(HRESULT,SetElementTimes)(THIS_ LPCOLESTR16 pwcsName,
const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime)
PURE;
- STDMETHOD_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE;
- STDMETHOD_(HRESULT,SetStateBits)(THIS_ DWORD grfStateBits, DWORD
grfMask) PURE;
- STDMETHOD_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD
grfStatFlag) PURE;
+ STDMETHOD16_(HRESULT,CreateStream)(THIS_ LPCOLESTR16 pwcsName,
DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream16** ppstm)
PURE;
+ STDMETHOD16_(HRESULT,OpenStream)(THIS_ LPCOLESTR16 pwcsName, void*
reserved1, DWORD grfMode, DWORD reserved2, IStream16** ppstm) PURE;
+ STDMETHOD16_(HRESULT,CreateStorage)(THIS_ LPCOLESTR16 pwcsName,
DWORD grfMode, DWORD dwStgFmt, DWORD reserved2, IStorage16** ppstg)
PURE;
+ STDMETHOD16_(HRESULT,OpenStorage)(THIS_ LPCOLESTR16 pwcsName,
IStorage16* pstgPriority, DWORD grfMode, SNB16 snbExclude, DWORD
reserved, IStorage16** ppstg) PURE;
+ STDMETHOD16_(HRESULT,CopyTo)(THIS_ DWORD ciidExclude, const IID*
rgiidExclude, SNB16 snbExclude, IStorage16* pstgDest) PURE;
+ STDMETHOD16_(HRESULT,MoveElementTo)(THIS_ LPCOLESTR16 pwcsName,
IStorage16* pstgDest, LPCOLESTR16 pwcsNewName, DWORD grfFlags) PURE;
+ STDMETHOD16_(HRESULT,Commit)(THIS_ DWORD grfCommitFlags) PURE;
+ STDMETHOD16_(HRESULT,Revert)(THIS) PURE;
+ STDMETHOD16_(HRESULT,EnumElements)(THIS_ DWORD reserved1, void*
reserved2, DWORD reserved3, IEnumSTATSTG** ppenum) PURE;
+ STDMETHOD16_(HRESULT,DestroyElement)(THIS_ LPCOLESTR16 pwcsName)
PURE;
+ STDMETHOD16_(HRESULT,RenameElement)(THIS_ LPCOLESTR16 pwcsOldName,
LPCOLESTR16 pwcsNewName) PURE;
+ STDMETHOD16_(HRESULT,SetElementTimes)(THIS_ LPCOLESTR16 pwcsName,
const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime)
PURE;
+ STDMETHOD16_(HRESULT,SetClass)(THIS_ REFCLSID clsid) PURE;
+ STDMETHOD16_(HRESULT,SetStateBits)(THIS_ DWORD grfStateBits, DWORD
grfMask) PURE;
+ STDMETHOD16_(HRESULT,Stat)(THIS_ STATSTG* pstatstg, DWORD
grfStatFlag) PURE;
};
#undef INTERFACE
_____
Modified: trunk/reactos/lib/ole32/itemmoniker.c
--- trunk/reactos/lib/ole32/itemmoniker.c 2005-08-12 17:07:28 UTC
(rev 17331)
+++ trunk/reactos/lib/ole32/itemmoniker.c 2005-08-12 17:19:46 UTC
(rev 17332)
@@ -52,7 +52,7 @@
*/
const IROTDataVtbl* lpvtbl2; /* VTable relative to the IROTData
interface.*/
- ULONG ref; /* reference counter for this object */
+ LONG ref; /* reference counter for this object */
LPOLESTR itemName; /* item name identified by this ItemMoniker */
_____
Modified: trunk/reactos/lib/ole32/marshal.c
--- trunk/reactos/lib/ole32/marshal.c 2005-08-12 17:07:28 UTC (rev
17331)
+++ trunk/reactos/lib/ole32/marshal.c 2005-08-12 17:19:46 UTC (rev
17332)
@@ -85,18 +85,27 @@
}
/* creates a new stub manager */
-HRESULT marshal_object(APARTMENT *apt, STDOBJREF *stdobjref, REFIID
riid, IUnknown *obj, MSHLFLAGS mshlflags)
+HRESULT marshal_object(APARTMENT *apt, STDOBJREF *stdobjref, REFIID
riid, IUnknown *object, MSHLFLAGS mshlflags)
{
struct stub_manager *manager;
struct ifstub *ifstub;
BOOL tablemarshal;
IRpcStubBuffer *stub = NULL;
HRESULT hr;
+ IUnknown *iobject = NULL; /* object of type riid */
hr = apartment_getoxid(apt, &stdobjref->oxid);
if (hr != S_OK)
return hr;
+ hr = IUnknown_QueryInterface(object, riid, (void **)&iobject);
+ if (hr != S_OK)
+ {
+ ERR("object doesn't expose interface %s, failing with error
0x%08lx\n",
+ debugstr_guid(riid), hr);
+ return E_NOINTERFACE;
+ }
+
/* IUnknown doesn't require a stub buffer, because it never goes
out on
* the wire */
if (!IsEqualIID(riid, &IID_IUnknown))
@@ -107,19 +116,19 @@
if (hr != S_OK)
{
ERR("couldn't get IPSFactory buffer for interface %s\n",
debugstr_guid(riid));
+ IUnknown_Release(iobject);
return hr;
}
- hr = IPSFactoryBuffer_CreateStub(psfb, riid, obj, &stub);
+ hr = IPSFactoryBuffer_CreateStub(psfb, riid, iobject, &stub);
IPSFactoryBuffer_Release(psfb);
if (hr != S_OK)
{
ERR("Failed to create an IRpcStubBuffer from IPSFactory for
%s\n", debugstr_guid(riid));
+ IUnknown_Release(iobject);
return hr;
}
}
- else /* need to addref object anyway */
- IUnknown_AddRef(obj);
if (mshlflags & MSHLFLAGS_NOPING)
stdobjref->flags = SORF_NOPING;
@@ -128,16 +137,17 @@
/* FIXME: what happens if we register an interface twice with
different
* marshaling flags? */
- if ((manager = get_stub_manager_from_object(apt, obj)))
+ if ((manager = get_stub_manager_from_object(apt, object)))
TRACE("registering new ifstub on pre-existing manager\n");
else
{
TRACE("constructing new stub manager\n");
- manager = new_stub_manager(apt, obj, mshlflags);
+ manager = new_stub_manager(apt, object, mshlflags);
if (!manager)
{
if (stub) IRpcStubBuffer_Release(stub);
+ IUnknown_Release(iobject);
return E_OUTOFMEMORY;
}
}
@@ -145,10 +155,11 @@
tablemarshal = ((mshlflags & MSHLFLAGS_TABLESTRONG) || (mshlflags &
MSHLFLAGS_TABLEWEAK));
- ifstub = stub_manager_new_ifstub(manager, stub, obj, riid);
+ ifstub = stub_manager_new_ifstub(manager, stub, iobject, riid);
+ IUnknown_Release(iobject);
+ if (stub) IRpcStubBuffer_Release(stub);
if (!ifstub)
{
- IRpcStubBuffer_Release(stub);
stub_manager_int_release(manager);
/* FIXME: should we do another release to completely destroy
the
* stub manager? */
@@ -763,7 +774,7 @@
typedef struct _StdMarshalImpl
{
const IMarshalVtbl *lpvtbl;
- DWORD ref;
+ LONG ref;
IID iid;
DWORD dwDestContext;
@@ -826,7 +837,6 @@
void* pvDestContext, DWORD mshlflags)
{
STDOBJREF stdobjref;
- IUnknown *pUnk;
ULONG res;
HRESULT hres;
APARTMENT *apt = COM_CurrentApt();
@@ -842,18 +852,7 @@
/* make sure this apartment can be reached from other threads /
processes */
RPC_StartRemoting(apt);
- hres = IUnknown_QueryInterface((LPUNKNOWN)pv, riid,
(LPVOID*)&pUnk);
- if (hres != S_OK)
- {
- ERR("object doesn't expose interface %s, failing with error
0x%08lx\n",
- debugstr_guid(riid), hres);
- return E_NOINTERFACE;
- }
-
- hres = marshal_object(apt, &stdobjref, riid, pUnk, mshlflags);
-
- IUnknown_Release(pUnk);
-
+ hres = marshal_object(apt, &stdobjref, riid, (IUnknown *)pv,
mshlflags);
if (hres)
{
ERR("Failed to create ifstub, hres=0x%lx\n", hres);
_____
Modified: trunk/reactos/lib/ole32/memlockbytes.c
--- trunk/reactos/lib/ole32/memlockbytes.c 2005-08-12 17:07:28 UTC
(rev 17331)
+++ trunk/reactos/lib/ole32/memlockbytes.c 2005-08-12 17:19:46 UTC
(rev 17332)
@@ -57,7 +57,7 @@
/*
* Reference count
*/
- ULONG ref;
+ LONG ref;
/*
* Support for the LockBytes object
@@ -155,6 +155,24 @@
/***********************************************************************
*******
* CreateILockBytesOnHGlobal [OLE32.@]
+ *
+ * Create a byte array object which is intended to be the compound file
foundation.
+ * This object supports a COM implementation of the ILockBytes
interface.
+ *
+ * PARAMS
+ * hGlobal [ I] Global memory handle
+ * fDeleteOnRelease [ I] Whether the handle should be freed when the
object is released.
+ * ppLkbyt [ O] Address of ILockBytes pointer that receives
+ * the interface pointer to the new byte array
object.
+ *
+ * RETURNS
+ * Success: S_OK
+ *
+ * NOTES
+ * The supplied ILockBytes pointer can be used by the
StgCreateDocfileOnILockBytes
+ * function to build a compound file on top of this byte array object.
+ * The ILockBytes interface instance calls the GlobalReAlloc function
to grow
+ * the memory block as required.
*/
HRESULT WINAPI CreateILockBytesOnHGlobal(HGLOBAL hGlobal,
BOOL fDeleteOnRelease,
@@ -176,6 +194,17 @@
/***********************************************************************
*******
* GetHGlobalFromILockBytes [OLE32.@]
+ *
+ * Retrieve a global memory handle to a byte array object created
+ * using the CreateILockBytesOnHGlobal function.
+ *
+ * PARAMS
+ * plkbyt [ I] Pointer to the ILockBytes interface on byte array
object
+ * phglobal [ O] Address to store a global memory handle
+ * RETURNS
+ * S_OK if *phglobal has a correct value
+ * E_INVALIDARG if any parameters are invalid
+ *
*/
HRESULT WINAPI GetHGlobalFromILockBytes(ILockBytes* plkbyt, HGLOBAL*
phglobal)
{
@@ -224,10 +253,10 @@
/***********************************************************************
*******
* This is the constructor for the HGLOBALLockBytesImpl class.
*
- * Params:
- * hGlobal - Handle that will support the stream. can be
NULL.
[truncated at 1000 lines; 2292 more skipped]