mirror of
https://github.com/reactos/reactos.git
synced 2025-04-22 13:10:39 +00:00
- Sync ole32, oleaut32, olesvr32 with Wine head
svn path=/trunk/; revision=40000
This commit is contained in:
parent
1b0fc53030
commit
d45772c95a
16 changed files with 16 additions and 3786 deletions
|
@ -934,6 +934,7 @@ static HRESULT COMPOBJ_DllList_Add(LPCWSTR library_name, OpenDll **ret)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
HeapFree(GetProcessHeap(), 0, entry);
|
||||||
hr = E_OUTOFMEMORY;
|
hr = E_OUTOFMEMORY;
|
||||||
FreeLibrary(hLibrary);
|
FreeLibrary(hLibrary);
|
||||||
}
|
}
|
||||||
|
@ -998,7 +999,6 @@ static void COMPOBJ_DllList_Free(void)
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* CoBuildVersion [OLE32.@]
|
* CoBuildVersion [OLE32.@]
|
||||||
* CoBuildVersion [COMPOBJ.1]
|
|
||||||
*
|
*
|
||||||
* Gets the build version of the DLL.
|
* Gets the build version of the DLL.
|
||||||
*
|
*
|
||||||
|
@ -1317,7 +1317,6 @@ HRESULT WINAPI CoDisconnectObject( LPUNKNOWN lpUnk, DWORD reserved )
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* CoCreateGuid [OLE32.@]
|
* CoCreateGuid [OLE32.@]
|
||||||
* CoCreateGuid [COMPOBJ.73]
|
|
||||||
*
|
*
|
||||||
* Simply forwards to UuidCreate in RPCRT4.
|
* Simply forwards to UuidCreate in RPCRT4.
|
||||||
*
|
*
|
||||||
|
@ -1430,40 +1429,6 @@ HRESULT WINAPI CLSIDFromString(LPOLESTR idstr, CLSID *id )
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Converts a GUID into the respective string representation. */
|
|
||||||
HRESULT WINE_StringFromCLSID(
|
|
||||||
const CLSID *id, /* [in] GUID to be converted */
|
|
||||||
LPSTR idstr /* [out] pointer to buffer to contain converted guid */
|
|
||||||
) {
|
|
||||||
static const char hex[] = "0123456789ABCDEF";
|
|
||||||
char *s;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
if (!id)
|
|
||||||
{ ERR("called with id=Null\n");
|
|
||||||
*idstr = 0x00;
|
|
||||||
return E_FAIL;
|
|
||||||
}
|
|
||||||
|
|
||||||
sprintf(idstr, "{%08X-%04X-%04X-%02X%02X-",
|
|
||||||
id->Data1, id->Data2, id->Data3,
|
|
||||||
id->Data4[0], id->Data4[1]);
|
|
||||||
s = &idstr[25];
|
|
||||||
|
|
||||||
/* 6 hex bytes */
|
|
||||||
for (i = 2; i < 8; i++) {
|
|
||||||
*s++ = hex[id->Data4[i]>>4];
|
|
||||||
*s++ = hex[id->Data4[i] & 0xf];
|
|
||||||
}
|
|
||||||
|
|
||||||
*s++ = '}';
|
|
||||||
*s++ = '\0';
|
|
||||||
|
|
||||||
TRACE("%p->%s\n", id, idstr);
|
|
||||||
|
|
||||||
return S_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* StringFromCLSID [OLE32.@]
|
* StringFromCLSID [OLE32.@]
|
||||||
|
@ -1485,25 +1450,17 @@ HRESULT WINE_StringFromCLSID(
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI StringFromCLSID(REFCLSID id, LPOLESTR *idstr)
|
HRESULT WINAPI StringFromCLSID(REFCLSID id, LPOLESTR *idstr)
|
||||||
{
|
{
|
||||||
char buf[80];
|
HRESULT ret;
|
||||||
HRESULT ret;
|
LPMALLOC mllc;
|
||||||
LPMALLOC mllc;
|
|
||||||
|
|
||||||
if ((ret = CoGetMalloc(0,&mllc)))
|
if ((ret = CoGetMalloc(0,&mllc))) return ret;
|
||||||
return ret;
|
if (!(*idstr = IMalloc_Alloc( mllc, CHARS_IN_GUID * sizeof(WCHAR) ))) return E_OUTOFMEMORY;
|
||||||
|
StringFromGUID2( id, *idstr, CHARS_IN_GUID );
|
||||||
ret=WINE_StringFromCLSID(id,buf);
|
return S_OK;
|
||||||
if (ret == S_OK) {
|
|
||||||
DWORD len = MultiByteToWideChar( CP_ACP, 0, buf, -1, NULL, 0 );
|
|
||||||
*idstr = IMalloc_Alloc( mllc, len * sizeof(WCHAR) );
|
|
||||||
MultiByteToWideChar( CP_ACP, 0, buf, -1, *idstr, len );
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* StringFromGUID2 [OLE32.@]
|
* StringFromGUID2 [OLE32.@]
|
||||||
* StringFromGUID2 [COMPOBJ.76]
|
|
||||||
*
|
*
|
||||||
* Modified version of StringFromCLSID that allows you to specify max
|
* Modified version of StringFromCLSID that allows you to specify max
|
||||||
* buffer size.
|
* buffer size.
|
||||||
|
@ -1519,11 +1476,15 @@ HRESULT WINAPI StringFromCLSID(REFCLSID id, LPOLESTR *idstr)
|
||||||
*/
|
*/
|
||||||
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
|
INT WINAPI StringFromGUID2(REFGUID id, LPOLESTR str, INT cmax)
|
||||||
{
|
{
|
||||||
char xguid[80];
|
static const WCHAR formatW[] = { '{','%','0','8','X','-','%','0','4','X','-',
|
||||||
|
'%','0','4','X','-','%','0','2','X','%','0','2','X','-',
|
||||||
if (WINE_StringFromCLSID(id,xguid))
|
'%','0','2','X','%','0','2','X','%','0','2','X','%','0','2','X',
|
||||||
return 0;
|
'%','0','2','X','%','0','2','X','}',0 };
|
||||||
return MultiByteToWideChar( CP_ACP, 0, xguid, -1, str, cmax );
|
if (cmax < CHARS_IN_GUID) return 0;
|
||||||
|
sprintfW( str, formatW, id->Data1, id->Data2, id->Data3,
|
||||||
|
id->Data4[0], id->Data4[1], id->Data4[2], id->Data4[3],
|
||||||
|
id->Data4[4], id->Data4[5], id->Data4[6], id->Data4[7] );
|
||||||
|
return CHARS_IN_GUID;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* open HKCR\\CLSID\\{string form of clsid}\\{keyname} key */
|
/* open HKCR\\CLSID\\{string form of clsid}\\{keyname} key */
|
||||||
|
@ -2683,7 +2644,6 @@ void WINAPI CoFreeUnusedLibrariesEx(DWORD dwUnloadDelay, DWORD dwReserved)
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CoFreeUnusedLibraries [OLE32.@]
|
* CoFreeUnusedLibraries [OLE32.@]
|
||||||
* CoFreeUnusedLibraries [COMPOBJ.17]
|
|
||||||
*
|
*
|
||||||
* Frees any unused libraries. Unused are identified as those that return
|
* Frees any unused libraries. Unused are identified as those that return
|
||||||
* S_OK from their DllCanUnloadNow function.
|
* S_OK from their DllCanUnloadNow function.
|
||||||
|
@ -2701,7 +2661,6 @@ void WINAPI CoFreeUnusedLibraries(void)
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* CoFileTimeNow [OLE32.@]
|
* CoFileTimeNow [OLE32.@]
|
||||||
* CoFileTimeNow [COMPOBJ.82]
|
|
||||||
*
|
*
|
||||||
* Retrieves the current time in FILETIME format.
|
* Retrieves the current time in FILETIME format.
|
||||||
*
|
*
|
||||||
|
@ -2979,7 +2938,6 @@ done:
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* CoGetCurrentProcess [OLE32.@]
|
* CoGetCurrentProcess [OLE32.@]
|
||||||
* CoGetCurrentProcess [COMPOBJ.34]
|
|
||||||
*
|
*
|
||||||
* Gets the current process ID.
|
* Gets the current process ID.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,218 +0,0 @@
|
||||||
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) CoGetClassObject16
|
|
||||||
8 stub COMARSHALINTERFACE
|
|
||||||
9 stub COUNMARSHALINTERFACE
|
|
||||||
10 stub COLOADLIBRARY
|
|
||||||
11 stub COFREELIBRARY
|
|
||||||
12 stub COFREEALLLIBRARIES
|
|
||||||
13 pascal CoCreateInstance(ptr ptr long ptr ptr) CoCreateInstance16
|
|
||||||
14 stub STRINGFROMIID
|
|
||||||
15 pascal CoDisconnectObject(ptr long) CoDisconnectObject16
|
|
||||||
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 pascal CoCreateGuid(ptr) 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
|
|
|
@ -196,9 +196,6 @@ extern void* StdGlobalInterfaceTable_Construct(void);
|
||||||
extern HRESULT StdGlobalInterfaceTable_GetFactory(LPVOID *ppv);
|
extern HRESULT StdGlobalInterfaceTable_GetFactory(LPVOID *ppv);
|
||||||
extern void* StdGlobalInterfaceTableInstance;
|
extern void* StdGlobalInterfaceTableInstance;
|
||||||
|
|
||||||
/* FIXME: these shouldn't be needed, except for 16-bit functions */
|
|
||||||
extern HRESULT WINE_StringFromCLSID(const CLSID *id,LPSTR idstr);
|
|
||||||
|
|
||||||
HRESULT COM_OpenKeyForCLSID(REFCLSID clsid, LPCWSTR keyname, REGSAM access, HKEY *key);
|
HRESULT COM_OpenKeyForCLSID(REFCLSID clsid, LPCWSTR keyname, REGSAM access, HKEY *key);
|
||||||
HRESULT COM_OpenKeyForAppIdFromCLSID(REFCLSID clsid, REGSAM access, HKEY *subkey);
|
HRESULT COM_OpenKeyForAppIdFromCLSID(REFCLSID clsid, REGSAM access, HKEY *subkey);
|
||||||
HRESULT MARSHAL_GetStandardMarshalCF(LPVOID *ppv);
|
HRESULT MARSHAL_GetStandardMarshalCF(LPVOID *ppv);
|
||||||
|
|
|
@ -1,526 +0,0 @@
|
||||||
/*
|
|
||||||
* Global memory implementation of ILockBytes.
|
|
||||||
*
|
|
||||||
* Copyright 1999 Thuy Nguyen
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library 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. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#define NONAMELESSUNION
|
|
||||||
#define NONAMELESSSTRUCT
|
|
||||||
#include "windef.h"
|
|
||||||
#include "winbase.h"
|
|
||||||
#include "wine/winbase16.h"
|
|
||||||
#include "winuser.h"
|
|
||||||
#include "objbase.h"
|
|
||||||
#include "ole2.h"
|
|
||||||
#include "winerror.h"
|
|
||||||
|
|
||||||
#include "ifs.h"
|
|
||||||
|
|
||||||
#include "wine/debug.h"
|
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(ole);
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* HGLOBALLockBytesImpl16 definition.
|
|
||||||
*
|
|
||||||
* This class implements the ILockBytes interface and represents a byte array
|
|
||||||
* object supported by an HGLOBAL pointer.
|
|
||||||
*/
|
|
||||||
struct HGLOBALLockBytesImpl16
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* Needs to be the first item in the struct
|
|
||||||
* since we want to cast this in an ILockBytes pointer
|
|
||||||
*/
|
|
||||||
const ILockBytes16Vtbl *lpVtbl;
|
|
||||||
LONG ref;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Support for the LockBytes object
|
|
||||||
*/
|
|
||||||
HGLOBAL16 supportHandle;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This flag is TRUE if the HGLOBAL is destroyed when the object
|
|
||||||
* is finally released.
|
|
||||||
*/
|
|
||||||
BOOL deleteOnRelease;
|
|
||||||
/*
|
|
||||||
* Helper variable that contains the size of the byte array
|
|
||||||
*/
|
|
||||||
ULARGE_INTEGER byteArraySize;
|
|
||||||
};
|
|
||||||
|
|
||||||
typedef struct HGLOBALLockBytesImpl16 HGLOBALLockBytesImpl16;
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
*
|
|
||||||
* HGLOBALLockBytesImpl16 implementation
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* This is the constructor for the HGLOBALLockBytesImpl16 class.
|
|
||||||
*
|
|
||||||
* Params:
|
|
||||||
* hGlobal - Handle that will support the stream. can be NULL.
|
|
||||||
* fDeleteOnRelease - Flag set to TRUE if the HGLOBAL16 will be released
|
|
||||||
* when the IStream object is destroyed.
|
|
||||||
*/
|
|
||||||
static HGLOBALLockBytesImpl16*
|
|
||||||
HGLOBALLockBytesImpl16_Construct(HGLOBAL16 hGlobal,
|
|
||||||
BOOL16 fDeleteOnRelease)
|
|
||||||
{
|
|
||||||
HGLOBALLockBytesImpl16* newLockBytes;
|
|
||||||
|
|
||||||
static ILockBytes16Vtbl vt16;
|
|
||||||
static SEGPTR msegvt16;
|
|
||||||
HMODULE16 hcomp = GetModuleHandle16("OLE2");
|
|
||||||
|
|
||||||
|
|
||||||
TRACE("(%x,%d)\n",hGlobal,fDeleteOnRelease);
|
|
||||||
newLockBytes = HeapAlloc(GetProcessHeap(), 0, sizeof(HGLOBALLockBytesImpl16));
|
|
||||||
if (newLockBytes == NULL)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Set up the virtual function table and reference count.
|
|
||||||
*/
|
|
||||||
if (!msegvt16)
|
|
||||||
{
|
|
||||||
#define VTENT(x) vt16.x = (void*)GetProcAddress16(hcomp,"HGLOBALLockBytesImpl16_"#x);assert(vt16.x)
|
|
||||||
VTENT(QueryInterface);
|
|
||||||
VTENT(AddRef);
|
|
||||||
VTENT(Release);
|
|
||||||
VTENT(ReadAt);
|
|
||||||
VTENT(WriteAt);
|
|
||||||
VTENT(Flush);
|
|
||||||
VTENT(SetSize);
|
|
||||||
VTENT(LockRegion);
|
|
||||||
VTENT(UnlockRegion);
|
|
||||||
#undef VTENT
|
|
||||||
msegvt16 = MapLS( &vt16 );
|
|
||||||
}
|
|
||||||
newLockBytes->lpVtbl = (const ILockBytes16Vtbl*)msegvt16;
|
|
||||||
newLockBytes->ref = 0;
|
|
||||||
/*
|
|
||||||
* Initialize the support.
|
|
||||||
*/
|
|
||||||
newLockBytes->supportHandle = hGlobal;
|
|
||||||
newLockBytes->deleteOnRelease = fDeleteOnRelease;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This method will allocate a handle if one is not supplied.
|
|
||||||
*/
|
|
||||||
if (newLockBytes->supportHandle == 0)
|
|
||||||
newLockBytes->supportHandle = GlobalAlloc16(GMEM_MOVEABLE | GMEM_NODISCARD, 0);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Initialize the size of the array to the size of the handle.
|
|
||||||
*/
|
|
||||||
newLockBytes->byteArraySize.u.HighPart = 0;
|
|
||||||
newLockBytes->byteArraySize.u.LowPart = GlobalSize16(
|
|
||||||
newLockBytes->supportHandle);
|
|
||||||
|
|
||||||
return (HGLOBALLockBytesImpl16*)MapLS(newLockBytes);
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* This is the destructor of the HGLOBALStreamImpl class.
|
|
||||||
*
|
|
||||||
* This method will clean-up all the resources used-up by the given
|
|
||||||
* HGLOBALLockBytesImpl16 class. The pointer passed-in to this function will be
|
|
||||||
* freed and will not be valid anymore.
|
|
||||||
*/
|
|
||||||
static void HGLOBALLockBytesImpl16_Destroy(HGLOBALLockBytesImpl16* This)
|
|
||||||
{
|
|
||||||
TRACE("()\n");
|
|
||||||
/*
|
|
||||||
* Release the HGlobal if the constructor asked for that.
|
|
||||||
*/
|
|
||||||
if (This->deleteOnRelease)
|
|
||||||
{
|
|
||||||
GlobalFree16(This->supportHandle);
|
|
||||||
This->supportHandle = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Finally, free the memory used-up by the class.
|
|
||||||
*/
|
|
||||||
HeapFree(GetProcessHeap(), 0, This);
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* This implements the IUnknown method AddRef for this
|
|
||||||
* class
|
|
||||||
*/
|
|
||||||
ULONG CDECL HGLOBALLockBytesImpl16_AddRef(ILockBytes16* iface)
|
|
||||||
{
|
|
||||||
HGLOBALLockBytesImpl16* const This=(HGLOBALLockBytesImpl16*)iface;
|
|
||||||
|
|
||||||
TRACE("(%p)\n",This);
|
|
||||||
|
|
||||||
return InterlockedIncrement(&This->ref);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* This implements the IUnknown method QueryInterface for this
|
|
||||||
* class
|
|
||||||
*/
|
|
||||||
HRESULT CDECL HGLOBALLockBytesImpl16_QueryInterface(
|
|
||||||
ILockBytes16* iface, /* [in] SEGPTR */
|
|
||||||
REFIID riid, /* [in] */
|
|
||||||
void** ppvObject) /* [out][iid_is] (ptr to SEGPTR!) */
|
|
||||||
{
|
|
||||||
HGLOBALLockBytesImpl16* const This = MapSL((SEGPTR)iface);
|
|
||||||
|
|
||||||
TRACE("(%p,%s,%p)\n",iface,debugstr_guid(riid),ppvObject);
|
|
||||||
/*
|
|
||||||
* Perform a sanity check on the parameters.
|
|
||||||
*/
|
|
||||||
if (ppvObject==0)
|
|
||||||
return E_INVALIDARG;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Initialize the return parameter.
|
|
||||||
*/
|
|
||||||
*ppvObject = 0;
|
|
||||||
/*
|
|
||||||
* Compare the riid with the interface IDs implemented by this object.
|
|
||||||
*/
|
|
||||||
if ( !memcmp(&IID_IUnknown, riid, sizeof(IID_IUnknown)) ||
|
|
||||||
!memcmp(&IID_ILockBytes, riid, sizeof(IID_ILockBytes))
|
|
||||||
)
|
|
||||||
*ppvObject = (void*)iface;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Check that we obtained an interface.
|
|
||||||
*/
|
|
||||||
if ((*ppvObject)==0) {
|
|
||||||
FIXME("Unknown IID %s\n", debugstr_guid(riid));
|
|
||||||
return E_NOINTERFACE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Query Interface always increases the reference count by one when it is
|
|
||||||
* successful
|
|
||||||
*/
|
|
||||||
HGLOBALLockBytesImpl16_AddRef((ILockBytes16*)This);
|
|
||||||
|
|
||||||
return S_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* This implements the IUnknown method Release for this
|
|
||||||
* class
|
|
||||||
*/
|
|
||||||
ULONG CDECL HGLOBALLockBytesImpl16_Release(ILockBytes16* iface)
|
|
||||||
{
|
|
||||||
HGLOBALLockBytesImpl16* const This=(HGLOBALLockBytesImpl16*)iface;
|
|
||||||
ULONG ref;
|
|
||||||
|
|
||||||
TRACE("(%p)\n",This);
|
|
||||||
|
|
||||||
ref = InterlockedDecrement(&This->ref);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If the reference count goes down to 0, perform suicide.
|
|
||||||
*/
|
|
||||||
if (ref==0)
|
|
||||||
HGLOBALLockBytesImpl16_Destroy(This);
|
|
||||||
return ref;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* This method is part of the ILockBytes interface.
|
|
||||||
*
|
|
||||||
* It reads a block of information from the byte array at the specified
|
|
||||||
* offset.
|
|
||||||
*
|
|
||||||
* See the documentation of ILockBytes for more info.
|
|
||||||
*/
|
|
||||||
HRESULT CDECL HGLOBALLockBytesImpl16_ReadAt(
|
|
||||||
ILockBytes16* iface,
|
|
||||||
ULARGE_INTEGER ulOffset, /* [in] */
|
|
||||||
void* pv, /* [out][length_is][size_is] */
|
|
||||||
ULONG cb, /* [in] */
|
|
||||||
ULONG* pcbRead) /* [out] */
|
|
||||||
{
|
|
||||||
HGLOBALLockBytesImpl16* const This=(HGLOBALLockBytesImpl16*)iface;
|
|
||||||
|
|
||||||
void* supportBuffer;
|
|
||||||
ULONG bytesReadBuffer = 0;
|
|
||||||
ULONG bytesToReadFromBuffer;
|
|
||||||
|
|
||||||
TRACE("(%p,%d,%p,%d,%p)\n",This,ulOffset.u.LowPart,pv,cb,pcbRead);
|
|
||||||
/*
|
|
||||||
* If the caller is not interested in the number of bytes read,
|
|
||||||
* we use another buffer to avoid "if" statements in the code.
|
|
||||||
*/
|
|
||||||
if (pcbRead == 0)
|
|
||||||
pcbRead = &bytesReadBuffer;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Make sure the offset is valid.
|
|
||||||
*/
|
|
||||||
if (ulOffset.u.LowPart > This->byteArraySize.u.LowPart)
|
|
||||||
return E_FAIL;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Using the known size of the array, calculate the number of bytes
|
|
||||||
* to read.
|
|
||||||
*/
|
|
||||||
bytesToReadFromBuffer = min(This->byteArraySize.u.LowPart -
|
|
||||||
ulOffset.u.LowPart, cb);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Lock the buffer in position and copy the data.
|
|
||||||
*/
|
|
||||||
supportBuffer = GlobalLock16(This->supportHandle);
|
|
||||||
|
|
||||||
memcpy(pv,
|
|
||||||
(char *) supportBuffer + ulOffset.u.LowPart,
|
|
||||||
bytesToReadFromBuffer);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Return the number of bytes read.
|
|
||||||
*/
|
|
||||||
*pcbRead = bytesToReadFromBuffer;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Cleanup
|
|
||||||
*/
|
|
||||||
GlobalUnlock16(This->supportHandle);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The function returns S_OK if the specified number of bytes were read
|
|
||||||
* or the end of the array was reached.
|
|
||||||
* It returns STG_E_READFAULT if the number of bytes to read does not equal
|
|
||||||
* the number of bytes actually read.
|
|
||||||
*/
|
|
||||||
if(*pcbRead == cb)
|
|
||||||
return S_OK;
|
|
||||||
|
|
||||||
return STG_E_READFAULT;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* This method is part of the ILockBytes interface.
|
|
||||||
*
|
|
||||||
* It will change the size of the byte array.
|
|
||||||
*
|
|
||||||
* See the documentation of ILockBytes for more info.
|
|
||||||
*/
|
|
||||||
HRESULT CDECL HGLOBALLockBytesImpl16_SetSize(
|
|
||||||
ILockBytes16* iface,
|
|
||||||
ULARGE_INTEGER libNewSize) /* [in] */
|
|
||||||
{
|
|
||||||
HGLOBALLockBytesImpl16* const This=(HGLOBALLockBytesImpl16*)iface;
|
|
||||||
HGLOBAL16 supportHandle;
|
|
||||||
|
|
||||||
TRACE("(%p,%d)\n",This,libNewSize.u.LowPart);
|
|
||||||
/*
|
|
||||||
* As documented.
|
|
||||||
*/
|
|
||||||
if (libNewSize.u.HighPart != 0)
|
|
||||||
return STG_E_INVALIDFUNCTION;
|
|
||||||
|
|
||||||
if (This->byteArraySize.u.LowPart == libNewSize.u.LowPart)
|
|
||||||
return S_OK;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Re allocate the HGlobal to fit the new size of the stream.
|
|
||||||
*/
|
|
||||||
supportHandle = GlobalReAlloc16(This->supportHandle, libNewSize.u.LowPart, 0);
|
|
||||||
|
|
||||||
if (supportHandle == 0)
|
|
||||||
return STG_E_MEDIUMFULL;
|
|
||||||
|
|
||||||
This->supportHandle = supportHandle;
|
|
||||||
This->byteArraySize.u.LowPart = libNewSize.u.LowPart;
|
|
||||||
|
|
||||||
return S_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* This method is part of the ILockBytes interface.
|
|
||||||
*
|
|
||||||
* It writes the specified bytes at the specified offset.
|
|
||||||
* position. If the array is too small, it will be resized.
|
|
||||||
*
|
|
||||||
* See the documentation of ILockBytes for more info.
|
|
||||||
*/
|
|
||||||
HRESULT CDECL HGLOBALLockBytesImpl16_WriteAt(
|
|
||||||
ILockBytes16* iface,
|
|
||||||
ULARGE_INTEGER ulOffset, /* [in] */
|
|
||||||
const void* pv, /* [in][size_is] */
|
|
||||||
ULONG cb, /* [in] */
|
|
||||||
ULONG* pcbWritten) /* [out] */
|
|
||||||
{
|
|
||||||
HGLOBALLockBytesImpl16* const This=(HGLOBALLockBytesImpl16*)iface;
|
|
||||||
|
|
||||||
void* supportBuffer;
|
|
||||||
ULARGE_INTEGER newSize;
|
|
||||||
ULONG bytesWritten = 0;
|
|
||||||
|
|
||||||
TRACE("(%p,%d,%p,%d,%p)\n",This,ulOffset.u.LowPart,pv,cb,pcbWritten);
|
|
||||||
/*
|
|
||||||
* If the caller is not interested in the number of bytes written,
|
|
||||||
* we use another buffer to avoid "if" statements in the code.
|
|
||||||
*/
|
|
||||||
if (pcbWritten == 0)
|
|
||||||
pcbWritten = &bytesWritten;
|
|
||||||
|
|
||||||
if (cb == 0)
|
|
||||||
return S_OK;
|
|
||||||
|
|
||||||
newSize.u.HighPart = 0;
|
|
||||||
newSize.u.LowPart = ulOffset.u.LowPart + cb;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Verify if we need to grow the stream
|
|
||||||
*/
|
|
||||||
if (newSize.u.LowPart > This->byteArraySize.u.LowPart)
|
|
||||||
{
|
|
||||||
/* grow stream */
|
|
||||||
if (HGLOBALLockBytesImpl16_SetSize(iface, newSize) == STG_E_MEDIUMFULL)
|
|
||||||
return STG_E_MEDIUMFULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Lock the buffer in position and copy the data.
|
|
||||||
*/
|
|
||||||
supportBuffer = GlobalLock16(This->supportHandle);
|
|
||||||
|
|
||||||
memcpy((char *) supportBuffer + ulOffset.u.LowPart, pv, cb);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Return the number of bytes written.
|
|
||||||
*/
|
|
||||||
*pcbWritten = cb;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Cleanup
|
|
||||||
*/
|
|
||||||
GlobalUnlock16(This->supportHandle);
|
|
||||||
|
|
||||||
return S_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* This method is part of the ILockBytes interface.
|
|
||||||
*
|
|
||||||
* See the documentation of ILockBytes for more info.
|
|
||||||
*/
|
|
||||||
HRESULT CDECL HGLOBALLockBytesImpl16_Flush(ILockBytes16* iface)
|
|
||||||
{
|
|
||||||
TRACE("(%p)\n",iface);
|
|
||||||
return S_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* This method is part of the ILockBytes interface.
|
|
||||||
*
|
|
||||||
* The global memory implementation of ILockBytes does not support locking.
|
|
||||||
*
|
|
||||||
* See the documentation of ILockBytes for more info.
|
|
||||||
*/
|
|
||||||
HRESULT CDECL HGLOBALLockBytesImpl16_LockRegion(
|
|
||||||
ILockBytes16* iface,
|
|
||||||
ULARGE_INTEGER libOffset, /* [in] */
|
|
||||||
ULARGE_INTEGER cb, /* [in] */
|
|
||||||
DWORD dwLockType) /* [in] */
|
|
||||||
{
|
|
||||||
return STG_E_INVALIDFUNCTION;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* This method is part of the ILockBytes interface.
|
|
||||||
*
|
|
||||||
* The global memory implementation of ILockBytes does not support locking.
|
|
||||||
*
|
|
||||||
* See the documentation of ILockBytes for more info.
|
|
||||||
*/
|
|
||||||
HRESULT CDECL HGLOBALLockBytesImpl16_UnlockRegion(
|
|
||||||
ILockBytes16* iface,
|
|
||||||
ULARGE_INTEGER libOffset, /* [in] */
|
|
||||||
ULARGE_INTEGER cb, /* [in] */
|
|
||||||
DWORD dwLockType) /* [in] */
|
|
||||||
{
|
|
||||||
return STG_E_INVALIDFUNCTION;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* This method is part of the ILockBytes interface.
|
|
||||||
*
|
|
||||||
* This method returns information about the current
|
|
||||||
* byte array object.
|
|
||||||
*
|
|
||||||
* See the documentation of ILockBytes for more info.
|
|
||||||
*/
|
|
||||||
HRESULT CDECL HGLOBALLockBytesImpl16_Stat(
|
|
||||||
ILockBytes16*iface,
|
|
||||||
STATSTG16* pstatstg, /* [out] */
|
|
||||||
DWORD grfStatFlag) /* [in] */
|
|
||||||
{
|
|
||||||
HGLOBALLockBytesImpl16* const This=(HGLOBALLockBytesImpl16*)iface;
|
|
||||||
|
|
||||||
memset(pstatstg, 0, sizeof(STATSTG16));
|
|
||||||
|
|
||||||
pstatstg->pwcsName = NULL;
|
|
||||||
pstatstg->type = STGTY_LOCKBYTES;
|
|
||||||
pstatstg->cbSize = This->byteArraySize;
|
|
||||||
|
|
||||||
return S_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* CreateILockBytesOnHGlobal [OLE2.54]
|
|
||||||
*
|
|
||||||
* Creates an ILockBytes interface for a HGLOBAL handle.
|
|
||||||
*
|
|
||||||
* PARAMS
|
|
||||||
* hGlobal the global handle (16bit)
|
|
||||||
* fDeleteOnRelease delete handle on release.
|
|
||||||
* ppLkbyt pointer to ILockBytes interface.
|
|
||||||
*
|
|
||||||
* RETURNS
|
|
||||||
* Staddard OLE error return codes.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
HRESULT WINAPI CreateILockBytesOnHGlobal16(
|
|
||||||
HGLOBAL16 hGlobal, /* [in] */
|
|
||||||
BOOL16 fDeleteOnRelease, /* [in] */
|
|
||||||
LPLOCKBYTES16 *ppLkbyt) /* [out] (ptr to SEGPTR!) */
|
|
||||||
{
|
|
||||||
HGLOBALLockBytesImpl16* newLockBytes; /* SEGPTR */
|
|
||||||
|
|
||||||
newLockBytes = HGLOBALLockBytesImpl16_Construct(hGlobal, fDeleteOnRelease);
|
|
||||||
|
|
||||||
if (newLockBytes != NULL)
|
|
||||||
return HGLOBALLockBytesImpl16_QueryInterface((ILockBytes16*)newLockBytes,
|
|
||||||
&IID_ILockBytes,
|
|
||||||
(void**)ppLkbyt);
|
|
||||||
return E_OUTOFMEMORY;
|
|
||||||
}
|
|
|
@ -161,7 +161,6 @@ static DWORD OLEDD_GetButtonState(void);
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* OleBuildVersion [OLE2.1]
|
|
||||||
* OleBuildVersion [OLE32.@]
|
* OleBuildVersion [OLE32.@]
|
||||||
*/
|
*/
|
||||||
DWORD WINAPI OleBuildVersion(void)
|
DWORD WINAPI OleBuildVersion(void)
|
||||||
|
@ -171,7 +170,6 @@ DWORD WINAPI OleBuildVersion(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* OleInitialize (OLE2.2)
|
|
||||||
* OleInitialize (OLE32.@)
|
* OleInitialize (OLE32.@)
|
||||||
*/
|
*/
|
||||||
HRESULT WINAPI OleInitialize(LPVOID reserved)
|
HRESULT WINAPI OleInitialize(LPVOID reserved)
|
||||||
|
@ -228,7 +226,6 @@ HRESULT WINAPI OleInitialize(LPVOID reserved)
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* OleUninitialize [OLE2.3]
|
|
||||||
* OleUninitialize [OLE32.@]
|
* OleUninitialize [OLE32.@]
|
||||||
*/
|
*/
|
||||||
void WINAPI OleUninitialize(void)
|
void WINAPI OleUninitialize(void)
|
||||||
|
|
|
@ -1,158 +0,0 @@
|
||||||
1 pascal OleBuildVersion() OleBuildVersion
|
|
||||||
2 pascal OleInitialize(ptr) OleInitialize
|
|
||||||
3 pascal OleUninitialize() OleUninitialize
|
|
||||||
4 pascal DllGetClassObject(ptr ptr ptr) DllGetClassObject16
|
|
||||||
#5 WEP
|
|
||||||
6 stub OLEQUERYLINKFROMDATA
|
|
||||||
7 stub OLEQUERYCREATEFROMDATA
|
|
||||||
8 stub OLECREATEFROMDATA
|
|
||||||
9 stub OLECREATELINKFROMDATA
|
|
||||||
10 stub OLECREATE
|
|
||||||
11 stub OLECREATELINK
|
|
||||||
12 pascal OleLoad(segptr ptr segptr ptr) OleLoad16
|
|
||||||
13 stub OLESAVE
|
|
||||||
14 stub OLERUN
|
|
||||||
#15 ___EXPORTEDSTUB
|
|
||||||
16 stub OLEISRUNNING
|
|
||||||
17 stub OLELOCKRUNNING
|
|
||||||
18 pascal ReadClassStg(segptr ptr) ReadClassStg16
|
|
||||||
19 stub WRITECLASSSTG
|
|
||||||
20 stub READCLASSSTM
|
|
||||||
21 stub WRITECLASSSTM
|
|
||||||
22 stub BINDMONIKER
|
|
||||||
23 stub MKPARSEDISPLAYNAME
|
|
||||||
24 stub OLESAVETOSTREAM
|
|
||||||
25 stub OLELOADFROMSTREAM
|
|
||||||
26 stub CREATEBINDCTX
|
|
||||||
27 pascal CreateItemMoniker(str str ptr) CreateItemMoniker16
|
|
||||||
28 pascal CreateFileMoniker(str ptr) CreateFileMoniker16
|
|
||||||
29 stub CREATEGENERICCOMPOSITE
|
|
||||||
30 pascal GetRunningObjectTable(long ptr) GetRunningObjectTable16
|
|
||||||
31 stub OLEGETMALLOC
|
|
||||||
32 stub RELEASESTGMEDIUM
|
|
||||||
33 stub READSTRINGSTREAM
|
|
||||||
34 stub WRITESTRINGSTREAM
|
|
||||||
35 pascal RegisterDragDrop(word segptr) RegisterDragDrop16
|
|
||||||
36 pascal RevokeDragDrop(word) RevokeDragDrop16
|
|
||||||
37 stub DODRAGDROP
|
|
||||||
38 stub CREATEOLEADVISEHOLDER
|
|
||||||
39 stub CREATEDATAADVISEHOLDER
|
|
||||||
40 stub OLECREATEMENUDESCRIPTOR
|
|
||||||
41 pascal OleSetMenuDescriptor(word word word ptr ptr) OleSetMenuDescriptor16
|
|
||||||
42 stub OLEDESTROYMENUDESCRIPTOR
|
|
||||||
43 stub OPENORCREATESTREAM
|
|
||||||
44 stub CREATEANTIMONIKER
|
|
||||||
45 stub CREATEPOINTERMONIKER
|
|
||||||
46 stub MONIKERRELATIVEPATHTO
|
|
||||||
47 stub MONIKERCOMMONPREFIXWITH
|
|
||||||
48 stub ISACCELERATOR
|
|
||||||
49 pascal OleSetClipboard(ptr) OleSetClipboard16
|
|
||||||
50 pascal OleGetClipboard(ptr) OleGetClipboard16
|
|
||||||
51 stub OLEDUPLICATEDATA
|
|
||||||
52 stub OLEGETICONOFFILE
|
|
||||||
53 stub OLEGETICONOFCLASS
|
|
||||||
54 pascal CreateILockBytesOnHGlobal(word word ptr) CreateILockBytesOnHGlobal16
|
|
||||||
55 stub GETHGLOBALFROMILOCKBYTES
|
|
||||||
56 pascal -ret16 OleMetaFilePictFromIconAndLabel(word str str word) OleMetaFilePictFromIconAndLabel16
|
|
||||||
57 stub GETCLASSFILE
|
|
||||||
58 stub OLEDRAW
|
|
||||||
59 stub OLECREATEDEFAULTHANDLER
|
|
||||||
60 stub OLECREATEEMBEDDINGHELPER
|
|
||||||
61 stub OLECONVERTISTORAGETOOLESTREAMEX
|
|
||||||
62 stub OLECONVERTOLESTREAMTOISTORAGEEX
|
|
||||||
63 stub SETDOCUMENTBITSTG
|
|
||||||
64 stub GETDOCUMENTBITSTG
|
|
||||||
65 stub WRITEOLESTG
|
|
||||||
66 stub READOLESTG
|
|
||||||
67 stub OLECREATEFROMFILE
|
|
||||||
68 stub OLECREATELINKTOFILE
|
|
||||||
69 stub CREATEDATACACHE
|
|
||||||
70 stub OLECONVERTISTORAGETOOLESTREAM
|
|
||||||
71 stub OLECONVERTOLESTREAMTOISTORAGE
|
|
||||||
74 stub READFMTUSERTYPESTG
|
|
||||||
75 stub WRITEFMTUSERTYPESTG
|
|
||||||
76 pascal -ret16 OleFlushClipboard() OleFlushClipboard16
|
|
||||||
77 stub OLEISCURRENTCLIPBOARD
|
|
||||||
78 stub OLETRANSLATEACCELERATOR
|
|
||||||
79 pascal OleDoAutoConvert(ptr ptr) OleDoAutoConvert16
|
|
||||||
80 stub OLEGETAUTOCONVERT
|
|
||||||
81 stub OLESETAUTOCONVERT
|
|
||||||
82 pascal GetConvertStg(ptr) GetConvertStg16
|
|
||||||
83 stub SETCONVERTSTG
|
|
||||||
84 stub CREATESTREAMONHGLOBAL
|
|
||||||
85 stub GETHGLOBALFROMSTREAM
|
|
||||||
86 stub OLESETCONTAINEDOBJECT
|
|
||||||
87 stub OLENOTEOBJECTVISIBLE
|
|
||||||
88 stub OLECREATESTATICFROMDATA
|
|
||||||
89 stub OLEREGGETUSERTYPE
|
|
||||||
90 stub OLEREGGETMISCSTATUS
|
|
||||||
91 stub OLEREGENUMFORMATETC
|
|
||||||
92 stub OLEREGENUMVERBS
|
|
||||||
93 stub OLEGETENUMFORMATETC
|
|
||||||
100 stub MAKEDEBUGSTREAM
|
|
||||||
104 stub DBGLOGOPEN
|
|
||||||
105 stub DBGLOGCLOSE
|
|
||||||
106 stub DBGLOGOUTPUTDEBUGSTRING
|
|
||||||
107 stub DBGLOGWRITE
|
|
||||||
108 stub DBGLOGTIMESTAMP
|
|
||||||
109 stub DBGLOGWRITEBANNER
|
|
||||||
110 stub DBGDUMPOBJECT
|
|
||||||
111 stub DBGISOBJECTVALID
|
|
||||||
112 stub DUMPALLOBJECTS
|
|
||||||
113 stub VALIDATEALLOBJECTS
|
|
||||||
114 stub DBGDUMPCLASSNAME
|
|
||||||
115 stub DBGDUMPEXTERNALOBJECT
|
|
||||||
120 stub _IID_IENUMUNKNOWN
|
|
||||||
121 stub _IID_IENUMSTRING
|
|
||||||
122 stub _IID_IENUMMONIKER
|
|
||||||
123 stub _IID_IENUMFORMATETC
|
|
||||||
124 stub _IID_IENUMOLEVERB
|
|
||||||
125 stub _IID_IENUMSTATDATA
|
|
||||||
126 stub _IID_IENUMGENERIC
|
|
||||||
127 stub _IID_IENUMHOLDER
|
|
||||||
128 stub _IID_IENUMCALLBACK
|
|
||||||
129 stub _IID_IPERSISTSTREAM
|
|
||||||
130 stub _IID_IPERSISTSTORAGE
|
|
||||||
131 stub _IID_IPERSISTFILE
|
|
||||||
132 stub _IID_IPERSIST
|
|
||||||
133 stub _IID_IVIEWOBJECT
|
|
||||||
134 stub _IID_IDATAOBJECT
|
|
||||||
135 stub _IID_IADVISESINK
|
|
||||||
136 stub _IID_IDATAADVISEHOLDER
|
|
||||||
137 stub _IID_IOLEADVISEHOLDER
|
|
||||||
138 stub _IID_IOLEOBJECT
|
|
||||||
139 stub _IID_IOLEINPLACEOBJECT
|
|
||||||
140 stub _IID_IOLEWINDOW
|
|
||||||
141 stub _IID_IOLEINPLACEUIWINDOW
|
|
||||||
142 stub _IID_IOLEINPLACEFRAME
|
|
||||||
143 stub _IID_IOLEINPLACEACTIVEOBJECT
|
|
||||||
144 stub _IID_IOLECLIENTSITE
|
|
||||||
145 stub _IID_IOLEINPLACESITE
|
|
||||||
146 stub _IID_IPARSEDISPLAYNAME
|
|
||||||
147 stub _IID_IOLECONTAINER
|
|
||||||
148 stub _IID_IOLEITEMCONTAINER
|
|
||||||
149 stub _IID_IOLELINK
|
|
||||||
150 stub _IID_IOLECACHE
|
|
||||||
151 stub _IID_IOLEMANAGER
|
|
||||||
152 stub _IID_IOLEPRESOBJ
|
|
||||||
153 stub _IID_IDROPSOURCE
|
|
||||||
154 stub _IID_IDROPTARGET
|
|
||||||
155 stub _IID_IDEBUG
|
|
||||||
156 stub _IID_IDEBUGSTREAM
|
|
||||||
157 stub _IID_IADVISESINK2
|
|
||||||
158 stub _IID_IVIEWOBJECT2
|
|
||||||
159 stub _IID_IOLECACHE2
|
|
||||||
160 stub _IID_IOLECACHECONTROL
|
|
||||||
161 stub _IID_IRUNNABLEOBJECT
|
|
||||||
|
|
||||||
# WINE MemLockBytes implementation.
|
|
||||||
500 cdecl HGLOBALLockBytesImpl16_QueryInterface(segptr ptr ptr) HGLOBALLockBytesImpl16_QueryInterface
|
|
||||||
501 cdecl HGLOBALLockBytesImpl16_AddRef(ptr) HGLOBALLockBytesImpl16_AddRef
|
|
||||||
502 cdecl HGLOBALLockBytesImpl16_Release(ptr) HGLOBALLockBytesImpl16_Release
|
|
||||||
503 cdecl HGLOBALLockBytesImpl16_ReadAt(ptr double ptr long ptr) HGLOBALLockBytesImpl16_ReadAt
|
|
||||||
504 cdecl HGLOBALLockBytesImpl16_WriteAt(ptr double ptr long ptr) HGLOBALLockBytesImpl16_WriteAt
|
|
||||||
505 cdecl HGLOBALLockBytesImpl16_Flush(ptr) HGLOBALLockBytesImpl16_Flush
|
|
||||||
506 cdecl HGLOBALLockBytesImpl16_SetSize(ptr double) HGLOBALLockBytesImpl16_SetSize
|
|
||||||
507 cdecl HGLOBALLockBytesImpl16_LockRegion(ptr double double long) HGLOBALLockBytesImpl16_LockRegion
|
|
||||||
508 cdecl HGLOBALLockBytesImpl16_UnlockRegion(ptr double double long) HGLOBALLockBytesImpl16_UnlockRegion
|
|
||||||
509 cdecl HGLOBALLockBytesImpl16_Stat(ptr ptr long) HGLOBALLockBytesImpl16_Stat
|
|
|
@ -1,245 +0,0 @@
|
||||||
|
|
||||||
/*
|
|
||||||
* OLE2 library - 16 bit only interfaces
|
|
||||||
*
|
|
||||||
* Copyright 1995 Martin von Loewis
|
|
||||||
* Copyright 1999 Francis Beaudet
|
|
||||||
* Copyright 1999 Noel Borthwick
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library 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. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <assert.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#define NONAMELESSUNION
|
|
||||||
#define NONAMELESSSTRUCT
|
|
||||||
#include "windef.h"
|
|
||||||
#include "winbase.h"
|
|
||||||
#include "wingdi.h"
|
|
||||||
#include "winuser.h"
|
|
||||||
#include "ole2.h"
|
|
||||||
#include "winerror.h"
|
|
||||||
|
|
||||||
#include "wine/winbase16.h"
|
|
||||||
#include "wine/wingdi16.h"
|
|
||||||
#include "wine/winuser16.h"
|
|
||||||
#include "ifs.h"
|
|
||||||
|
|
||||||
#include "wine/debug.h"
|
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(ole);
|
|
||||||
|
|
||||||
#define HICON_16(h32) (LOWORD(h32))
|
|
||||||
#define HICON_32(h16) ((HICON)(ULONG_PTR)(h16))
|
|
||||||
#define HINSTANCE_32(h16) ((HINSTANCE)(ULONG_PTR)(h16))
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* RegisterDragDrop (OLE2.35)
|
|
||||||
*/
|
|
||||||
HRESULT WINAPI RegisterDragDrop16(
|
|
||||||
HWND16 hwnd,
|
|
||||||
LPDROPTARGET pDropTarget
|
|
||||||
) {
|
|
||||||
FIXME("(0x%04x,%p),stub!\n",hwnd,pDropTarget);
|
|
||||||
return S_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* RevokeDragDrop (OLE2.36)
|
|
||||||
*/
|
|
||||||
HRESULT WINAPI RevokeDragDrop16(
|
|
||||||
HWND16 hwnd
|
|
||||||
) {
|
|
||||||
FIXME("(0x%04x),stub!\n",hwnd);
|
|
||||||
return S_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* OleMetaFilePictFromIconAndLabel (OLE2.56)
|
|
||||||
*
|
|
||||||
* Returns a global memory handle to a metafile which contains the icon and
|
|
||||||
* label given.
|
|
||||||
* I guess the result of that should look somehow like desktop icons.
|
|
||||||
* If no hIcon is given, we load the icon via lpszSourceFile and iIconIndex.
|
|
||||||
* This code might be wrong at some places.
|
|
||||||
*/
|
|
||||||
HGLOBAL16 WINAPI OleMetaFilePictFromIconAndLabel16(
|
|
||||||
HICON16 hIcon,
|
|
||||||
LPCOLESTR16 lpszLabel,
|
|
||||||
LPCOLESTR16 lpszSourceFile,
|
|
||||||
UINT16 iIconIndex
|
|
||||||
) {
|
|
||||||
METAFILEPICT16 *mf16;
|
|
||||||
HGLOBAL16 hmf16;
|
|
||||||
HMETAFILE hmf;
|
|
||||||
INT mfSize;
|
|
||||||
HDC hdc;
|
|
||||||
|
|
||||||
if (!hIcon) {
|
|
||||||
if (lpszSourceFile) {
|
|
||||||
HINSTANCE16 hInstance = LoadLibrary16(lpszSourceFile);
|
|
||||||
|
|
||||||
/* load the icon at index from lpszSourceFile */
|
|
||||||
hIcon = HICON_16(LoadIconA(HINSTANCE_32(hInstance), (LPCSTR)(DWORD)iIconIndex));
|
|
||||||
FreeLibrary16(hInstance);
|
|
||||||
} else
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
FIXME("(%04x, '%s', '%s', %d): incorrect metrics, please try to correct them !\n",
|
|
||||||
hIcon, lpszLabel, lpszSourceFile, iIconIndex);
|
|
||||||
|
|
||||||
hdc = CreateMetaFileW(NULL);
|
|
||||||
DrawIcon(hdc, 0, 0, HICON_32(hIcon)); /* FIXME */
|
|
||||||
TextOutA(hdc, 0, 0, lpszLabel, 1); /* FIXME */
|
|
||||||
hmf = CloseMetaFile(hdc);
|
|
||||||
|
|
||||||
hmf16 = GlobalAlloc16(0, sizeof(METAFILEPICT16));
|
|
||||||
mf16 = GlobalLock16(hmf16);
|
|
||||||
mf16->mm = MM_ANISOTROPIC;
|
|
||||||
mf16->xExt = 20; /* FIXME: bogus */
|
|
||||||
mf16->yExt = 20; /* ditto */
|
|
||||||
mfSize = GetMetaFileBitsEx(hmf, 0, 0);
|
|
||||||
mf16->hMF = GlobalAlloc16(GMEM_MOVEABLE, mfSize);
|
|
||||||
if(mf16->hMF)
|
|
||||||
{
|
|
||||||
GetMetaFileBitsEx(hmf, mfSize, GlobalLock16(mf16->hMF));
|
|
||||||
GlobalUnlock16(mf16->hMF);
|
|
||||||
}
|
|
||||||
return hmf16;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* CreateItemMoniker (OLE2.27)
|
|
||||||
*/
|
|
||||||
HRESULT WINAPI CreateItemMoniker16(LPCOLESTR16 lpszDelim,LPCOLESTR16 lpszItem,LPMONIKER* ppmk)
|
|
||||||
{
|
|
||||||
FIXME("(%s,%p),stub!\n",lpszDelim,ppmk);
|
|
||||||
*ppmk = NULL;
|
|
||||||
return E_NOTIMPL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* CreateFileMoniker (OLE2.28)
|
|
||||||
*/
|
|
||||||
HRESULT WINAPI CreateFileMoniker16(LPCOLESTR16 lpszPathName,LPMONIKER* ppmk)
|
|
||||||
{
|
|
||||||
FIXME("(%s,%p),stub!\n",lpszPathName,ppmk);
|
|
||||||
return E_NOTIMPL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* OleSetMenuDescriptor (OLE2.41)
|
|
||||||
*
|
|
||||||
* PARAMS
|
|
||||||
* hOleMenu FIXME: Should probably be an HOLEMENU16.
|
|
||||||
*/
|
|
||||||
HRESULT WINAPI OleSetMenuDescriptor16(
|
|
||||||
HOLEMENU hOleMenu,
|
|
||||||
HWND16 hwndFrame,
|
|
||||||
HWND16 hwndActiveObject,
|
|
||||||
LPOLEINPLACEFRAME lpFrame,
|
|
||||||
LPOLEINPLACEACTIVEOBJECT lpActiveObject)
|
|
||||||
{
|
|
||||||
FIXME("(%p, %x, %x, %p, %p), stub!\n", hOleMenu, hwndFrame, hwndActiveObject, lpFrame, lpActiveObject);
|
|
||||||
return E_NOTIMPL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* IsValidInterface [COMPOBJ.23]
|
|
||||||
*
|
|
||||||
* Determines whether a pointer is a valid interface.
|
|
||||||
*
|
|
||||||
* PARAMS
|
|
||||||
* punk [I] Interface to be tested.
|
|
||||||
*
|
|
||||||
* RETURNS
|
|
||||||
* TRUE, if the passed pointer is a valid interface, or FALSE otherwise.
|
|
||||||
*/
|
|
||||||
BOOL WINAPI IsValidInterface16(SEGPTR punk)
|
|
||||||
{
|
|
||||||
DWORD **ptr;
|
|
||||||
|
|
||||||
if (IsBadReadPtr16(punk,4))
|
|
||||||
return FALSE;
|
|
||||||
ptr = MapSL(punk);
|
|
||||||
if (IsBadReadPtr16((SEGPTR)ptr[0],4)) /* check vtable ptr */
|
|
||||||
return FALSE;
|
|
||||||
ptr = MapSL((SEGPTR)ptr[0]); /* ptr to first method */
|
|
||||||
if (IsBadReadPtr16((SEGPTR)ptr[0],2))
|
|
||||||
return FALSE;
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* OleLoad [OLE2.12]
|
|
||||||
*
|
|
||||||
* PARAMS
|
|
||||||
* pStg Segmented LPSTORAGE pointer.
|
|
||||||
* pClientSite Segmented LPOLECLIENTSITE pointer.
|
|
||||||
*/
|
|
||||||
HRESULT WINAPI OleLoad16(
|
|
||||||
SEGPTR pStg,
|
|
||||||
REFIID riid,
|
|
||||||
SEGPTR pClientSite,
|
|
||||||
LPVOID* ppvObj)
|
|
||||||
{
|
|
||||||
FIXME("(%x,%s,%x,%p), stub!\n", pStg, debugstr_guid(riid), pClientSite, ppvObj);
|
|
||||||
return E_NOTIMPL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* OleDoAutoConvert [OLE2.79]
|
|
||||||
*/
|
|
||||||
HRESULT WINAPI OleDoAutoConvert16(LPSTORAGE pStg, LPCLSID pClsidNew)
|
|
||||||
{
|
|
||||||
FIXME("(%p,%p) : stub\n",pStg,pClsidNew);
|
|
||||||
return E_NOTIMPL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* OleSetClipboard [OLE2.49]
|
|
||||||
*/
|
|
||||||
HRESULT WINAPI OleSetClipboard16(IDataObject* pDataObj)
|
|
||||||
{
|
|
||||||
FIXME("(%p): stub\n", pDataObj);
|
|
||||||
return S_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* OleGetClipboard [OLE2.50]
|
|
||||||
*/
|
|
||||||
HRESULT WINAPI OleGetClipboard16(IDataObject** ppDataObj)
|
|
||||||
{
|
|
||||||
FIXME("(%p): stub\n", ppDataObj);
|
|
||||||
return E_NOTIMPL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* OleFlushClipboard [OLE2.76]
|
|
||||||
*/
|
|
||||||
|
|
||||||
HRESULT WINAPI OleFlushClipboard16(void)
|
|
||||||
{
|
|
||||||
return OleFlushClipboard();
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
1 stub GETFILTERINFO
|
|
||||||
2 stub IMPORTGR
|
|
||||||
3 stub GETFILTERPREF
|
|
||||||
4 stub IMPORTEMBEDDEDGR
|
|
||||||
5 stub QD2GDI
|
|
||||||
6 stub STATUSPROC
|
|
||||||
7 stub ENUMFONTFUNC
|
|
||||||
#8 WEP
|
|
||||||
#9 ___EXPORTEDSTUB
|
|
|
@ -1,132 +0,0 @@
|
||||||
/*
|
|
||||||
* OLE2NLS library
|
|
||||||
*
|
|
||||||
* Copyright 1995 Martin von Loewis
|
|
||||||
* Copyright 1998 David Lee Lambert
|
|
||||||
* Copyright 2000 Julio César Gázquez
|
|
||||||
*
|
|
||||||
* This library is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
|
||||||
* License as published by the Free Software Foundation; either
|
|
||||||
* version 2.1 of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This library 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. See the GNU
|
|
||||||
* Lesser General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
|
||||||
* License along with this library; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <ctype.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <locale.h>
|
|
||||||
|
|
||||||
#include "windef.h"
|
|
||||||
#include "winbase.h"
|
|
||||||
#include "winnls.h"
|
|
||||||
#include "winuser.h"
|
|
||||||
|
|
||||||
#include "wine/winbase16.h"
|
|
||||||
|
|
||||||
#include "wine/debug.h"
|
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(ole);
|
|
||||||
|
|
||||||
static LPVOID lpNLSInfo = NULL;
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* GetLocaleInfoA [OLE2NLS.5]
|
|
||||||
* Is the last parameter really WORD for Win16?
|
|
||||||
*/
|
|
||||||
INT16 WINAPI GetLocaleInfo16(LCID lcid,LCTYPE LCType,LPSTR buf,INT16 len)
|
|
||||||
{
|
|
||||||
return GetLocaleInfoA(lcid,LCType,buf,len);
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* GetStringTypeA [OLE2NLS.7]
|
|
||||||
*/
|
|
||||||
BOOL16 WINAPI GetStringType16(LCID locale,DWORD dwInfoType,LPCSTR src,
|
|
||||||
INT16 cchSrc,LPWORD chartype)
|
|
||||||
{
|
|
||||||
return GetStringTypeExA(locale,dwInfoType,src,cchSrc,chartype);
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* GetUserDefaultLCID [OLE2NLS.1]
|
|
||||||
*/
|
|
||||||
LCID WINAPI GetUserDefaultLCID16(void)
|
|
||||||
{
|
|
||||||
return GetUserDefaultLCID();
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* GetSystemDefaultLCID [OLE2NLS.2]
|
|
||||||
*/
|
|
||||||
LCID WINAPI GetSystemDefaultLCID16(void)
|
|
||||||
{
|
|
||||||
return GetSystemDefaultLCID();
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* GetUserDefaultLangID [OLE2NLS.3]
|
|
||||||
*/
|
|
||||||
LANGID WINAPI GetUserDefaultLangID16(void)
|
|
||||||
{
|
|
||||||
return GetUserDefaultLangID();
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* GetSystemDefaultLangID [OLE2NLS.4]
|
|
||||||
*/
|
|
||||||
LANGID WINAPI GetSystemDefaultLangID16(void)
|
|
||||||
{
|
|
||||||
return GetSystemDefaultLangID();
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* LCMapStringA [OLE2NLS.6]
|
|
||||||
*/
|
|
||||||
INT16 WINAPI LCMapString16(LCID lcid, DWORD mapflags, LPCSTR srcstr, INT16 srclen,
|
|
||||||
LPSTR dststr, INT16 dstlen)
|
|
||||||
{
|
|
||||||
return LCMapStringA(lcid, mapflags, srcstr, srclen, dststr, dstlen);
|
|
||||||
}
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* CompareStringA (OLE2NLS.8)
|
|
||||||
*/
|
|
||||||
UINT16 WINAPI CompareString16(DWORD lcid,DWORD fdwStyle,
|
|
||||||
LPCSTR s1,DWORD l1,LPCSTR s2,DWORD l2)
|
|
||||||
{
|
|
||||||
return (UINT16)CompareStringA(lcid,fdwStyle,s1,l1,s2,l2);
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* RegisterNLSInfoChanged [OLE2NLS.9]
|
|
||||||
*/
|
|
||||||
BOOL16 WINAPI RegisterNLSInfoChanged16(LPVOID lpNewNLSInfo) /* [???] FIXME */
|
|
||||||
{
|
|
||||||
FIXME("Fully implemented, but doesn't effect anything.\n");
|
|
||||||
|
|
||||||
if (!lpNewNLSInfo) {
|
|
||||||
lpNLSInfo = NULL;
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (!lpNLSInfo) {
|
|
||||||
lpNLSInfo = lpNewNLSInfo;
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return FALSE; /* ptr not set */
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
1 pascal GetUserDefaultLCID() GetUserDefaultLCID16
|
|
||||||
2 pascal GetSystemDefaultLCID() GetSystemDefaultLCID16
|
|
||||||
3 pascal -ret16 GetUserDefaultLangID() GetUserDefaultLangID16
|
|
||||||
4 pascal -ret16 GetSystemDefaultLangID() GetSystemDefaultLangID16
|
|
||||||
5 pascal GetLocaleInfoA(long long ptr word) GetLocaleInfo16
|
|
||||||
6 pascal -ret16 LCMapStringA(word long ptr word ptr word) LCMapString16
|
|
||||||
7 pascal -ret16 GetStringTypeA(long long str word ptr) GetStringType16
|
|
||||||
8 pascal -ret16 CompareStringA(long long str word str word) CompareString16
|
|
||||||
9 pascal -ret16 RegisterNLSInfoChanged(ptr) RegisterNLSInfoChanged16
|
|
||||||
#10 stub WEP
|
|
||||||
11 stub LIBMAIN
|
|
||||||
12 stub NOTIFYWINDOWPROC
|
|
|
@ -1,3 +0,0 @@
|
||||||
1 stub DLLGETCLASSOBJECT
|
|
||||||
#2 WEP
|
|
||||||
#3 ___EXPORTEDSTUB
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,56 +0,0 @@
|
||||||
# Compound Storage DLL.
|
|
||||||
# (FIXME: some methods are commented out. Commenting them in _WILL_
|
|
||||||
# result in dataloss. Do it at your own risk.)
|
|
||||||
|
|
||||||
1 pascal StgCreateDocFileA(str long long ptr) StgCreateDocFile16
|
|
||||||
2 stub StgCreateDocFileOnILockBytes
|
|
||||||
# 2 pascal StgCreateDocFileOnILockBytes(ptr long long ptr) StgCreateDocFileOnILockBytes16
|
|
||||||
3 pascal StgOpenStorage(str ptr long ptr long ptr) StgOpenStorage16
|
|
||||||
4 pascal StgOpenStorageOnILockBytes(segptr ptr long long long ptr) StgOpenStorageOnILockBytes16
|
|
||||||
5 pascal StgIsStorageFile(str) StgIsStorageFile16
|
|
||||||
6 pascal StgIsStorageILockBytes(segptr) StgIsStorageILockBytes16
|
|
||||||
7 stub StgSetTimes
|
|
||||||
#8 WEP
|
|
||||||
#9 ___EXPORTEDSTUB
|
|
||||||
103 stub DllGetClassObject
|
|
||||||
|
|
||||||
# Storage Interface functions. Starting at 500
|
|
||||||
# these are not exported in the real storage.dll, we use them
|
|
||||||
# as 16->32 relays. They use the cdecl calling convention.
|
|
||||||
|
|
||||||
# IStorage
|
|
||||||
500 cdecl IStorage16_QueryInterface(ptr ptr ptr) IStorage16_fnQueryInterface
|
|
||||||
501 cdecl IStorage16_AddRef(ptr) IStorage16_fnAddRef
|
|
||||||
502 cdecl IStorage16_Release(ptr) IStorage16_fnRelease
|
|
||||||
503 cdecl IStorage16_CreateStream(ptr str long long long ptr) IStorage16_fnCreateStream
|
|
||||||
|
|
||||||
504 cdecl IStorage16_OpenStream(ptr str ptr long long ptr) IStorage16_fnOpenStream
|
|
||||||
505 cdecl IStorage16_CreateStorage(ptr str long long long ptr) IStorage16_fnCreateStorage
|
|
||||||
506 cdecl IStorage16_OpenStorage(ptr str ptr long ptr long ptr) IStorage16_fnOpenStorage
|
|
||||||
507 cdecl IStorage16_CopyTo(ptr long ptr ptr ptr) IStorage16_fnCopyTo
|
|
||||||
508 stub IStorage16_MoveElementTo
|
|
||||||
509 cdecl IStorage16_Commit(ptr long) IStorage16_fnCommit
|
|
||||||
510 stub IStorage16_Revert
|
|
||||||
511 stub IStorage16_EnumElements
|
|
||||||
512 stub IStorage16_DestroyElement
|
|
||||||
513 stub IStorage16_RenameElement
|
|
||||||
514 stub IStorage16_SetElementTimes
|
|
||||||
515 stub IStorage16_SetClass
|
|
||||||
516 stub IStorage16_SetStateBits
|
|
||||||
517 cdecl IStorage16_Stat(ptr ptr long) IStorage16_fnStat
|
|
||||||
|
|
||||||
# IStream
|
|
||||||
518 cdecl IStream16_QueryInterface(ptr ptr ptr) IStream16_fnQueryInterface
|
|
||||||
519 cdecl IStream16_AddRef(ptr) IStream16_fnAddRef
|
|
||||||
520 cdecl IStream16_Release(ptr) IStream16_fnRelease
|
|
||||||
521 cdecl IStream16_Read(ptr ptr long ptr) IStream16_fnRead
|
|
||||||
522 cdecl IStream16_Write(ptr ptr long ptr) IStream16_fnWrite
|
|
||||||
523 cdecl IStream16_Seek(ptr double long ptr) IStream16_fnSeek
|
|
||||||
524 stub IStream16_SetSize
|
|
||||||
525 stub IStream16_CopyTo
|
|
||||||
526 stub IStream16_Commit
|
|
||||||
527 stub IStream16_Revert
|
|
||||||
528 stub IStream16_LockRegion
|
|
||||||
529 stub IStream16_UnlockRegion
|
|
||||||
530 stub IStream16_Stat
|
|
||||||
531 stub IStream16_Clone
|
|
|
@ -486,7 +486,6 @@ static const unsigned char Lookup_224[128 * 3] = {
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* LHashValOfNameSysA (OLEAUT32.166)
|
* LHashValOfNameSysA (OLEAUT32.166)
|
||||||
* LHashValOfNameSys (TYPELIB.4)
|
|
||||||
*
|
*
|
||||||
* Produce a string hash value.
|
* Produce a string hash value.
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
#1 WEP
|
|
||||||
2 pascal OleRegisterServer(str ptr ptr word word) OleRegisterServer16
|
|
||||||
3 pascal OleRevokeServer(long) OleRevokeServer16
|
|
||||||
4 pascal OleBlockServer(long) OleBlockServer16
|
|
||||||
5 pascal OleUnblockServer(long ptr) OleUnblockServer16
|
|
||||||
6 pascal OleRegisterServerDoc(long str ptr ptr) OleRegisterServerDoc16
|
|
||||||
7 pascal OleRevokeServerDoc(long) OleRevokeServerDoc16
|
|
||||||
8 pascal OleRenameServerDoc(long str) OleRenameServerDoc16
|
|
||||||
9 pascal OleRevertServerDoc(long) OleRevertServerDoc16
|
|
||||||
10 pascal OleSavedServerDoc(long) OleSavedServerDoc16
|
|
||||||
11 stub OLEREVOKEOBJECT
|
|
||||||
12 stub OLEQUERYSERVERVERSION
|
|
||||||
21 stub SRVRWNDPROC
|
|
||||||
22 stub DOCWNDPROC
|
|
||||||
23 stub ITEMWNDPROC
|
|
||||||
24 stub SENDDATAMSG
|
|
||||||
25 stub FINDITEMWND
|
|
||||||
26 stub ITEMCALLBACK
|
|
||||||
27 stub TERMINATECLIENTS
|
|
||||||
28 stub TERMINATEDOCCLIENTS
|
|
||||||
29 stub DELETECLIENTINFO
|
|
||||||
30 stub SENDRENAMEMSG
|
|
||||||
31 stub ENUMFORTERMINATE
|
|
|
@ -27,7 +27,6 @@
|
||||||
|
|
||||||
#include "windef.h"
|
#include "windef.h"
|
||||||
#include "winbase.h"
|
#include "winbase.h"
|
||||||
#include "wine/windef16.h"
|
|
||||||
#include "objbase.h"
|
#include "objbase.h"
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
||||||
|
@ -132,28 +131,6 @@ typedef struct _OLESERVER
|
||||||
|
|
||||||
static LONG OLE_current_handle;
|
static LONG OLE_current_handle;
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* OleRegisterServer [OLESVR.2]
|
|
||||||
*/
|
|
||||||
OLESTATUS WINAPI OleRegisterServer16( LPCSTR name, LPOLESERVER serverStruct,
|
|
||||||
LHSERVER *hRet, HINSTANCE16 hServer,
|
|
||||||
OLE_SERVER_USE use )
|
|
||||||
{
|
|
||||||
FIXME("(%s,...): stub\n",name);
|
|
||||||
*hRet=++OLE_current_handle;
|
|
||||||
/* return OLE_ERROR_MEMORY, OLE_ERROR_PROTECT_ONLY if you want it fail*/
|
|
||||||
return OLE_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* OleBlockServer [OLESVR.4]
|
|
||||||
*/
|
|
||||||
OLESTATUS WINAPI OleBlockServer16(LHSERVER hServer)
|
|
||||||
{
|
|
||||||
FIXME("(%d): stub\n",hServer);
|
|
||||||
return OLE_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* OleBlockServer [OLESVR32.4]
|
* OleBlockServer [OLESVR32.4]
|
||||||
*/
|
*/
|
||||||
|
@ -163,17 +140,6 @@ OLESTATUS WINAPI OleBlockServer(LHSERVER hServer)
|
||||||
return OLE_OK;
|
return OLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* OleUnblockServer [OLESVR.5]
|
|
||||||
*/
|
|
||||||
OLESTATUS WINAPI OleUnblockServer16(LHSERVER hServer, BOOL16 *block)
|
|
||||||
{
|
|
||||||
FIXME("(%d): stub\n",hServer);
|
|
||||||
/* no more blocked messages :) */
|
|
||||||
*block=FALSE;
|
|
||||||
return OLE_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* OleUnblockServer [OLESVR32.5]
|
* OleUnblockServer [OLESVR32.5]
|
||||||
*/
|
*/
|
||||||
|
@ -185,27 +151,6 @@ OLESTATUS WINAPI OleUnblockServer(LHSERVER hServer, BOOL *block)
|
||||||
return OLE_OK;
|
return OLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* OleRegisterServerDoc [OLESVR.6]
|
|
||||||
*/
|
|
||||||
OLESTATUS WINAPI OleRegisterServerDoc16( LHSERVER hServer, LPCSTR docname,
|
|
||||||
LPOLESERVERDOC document,
|
|
||||||
LHSERVERDOC *hRet)
|
|
||||||
{
|
|
||||||
FIXME("(%d,%s): stub\n",hServer, docname);
|
|
||||||
*hRet=++OLE_current_handle;
|
|
||||||
return OLE_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* OleRevokeServerDoc [OLESVR.7]
|
|
||||||
*/
|
|
||||||
OLESTATUS WINAPI OleRevokeServerDoc16(LHSERVERDOC hServerDoc)
|
|
||||||
{
|
|
||||||
FIXME("%d - stub\n",hServerDoc);
|
|
||||||
return OLE_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* OleRevokeServerDoc [OLESVR32.7]
|
* OleRevokeServerDoc [OLESVR32.7]
|
||||||
*/
|
*/
|
||||||
|
@ -215,15 +160,6 @@ OLESTATUS WINAPI OleRevokeServerDoc(LHSERVERDOC hServerDoc)
|
||||||
return OLE_OK;
|
return OLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* OleRevokeServer [OLESVR.3]
|
|
||||||
*/
|
|
||||||
OLESTATUS WINAPI OleRevokeServer16(LHSERVER hServer)
|
|
||||||
{
|
|
||||||
FIXME("%d - stub\n",hServer);
|
|
||||||
return OLE_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* OleRegisterServer [OLESVR32.2]
|
* OleRegisterServer [OLESVR32.2]
|
||||||
*/
|
*/
|
||||||
|
@ -245,16 +181,6 @@ OLESTATUS WINAPI OleRegisterServerDoc( LHSERVER hServer, LPCSTR docname,
|
||||||
return OLE_OK;
|
return OLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* OleRenameServerDoc [OLESVR.8]
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
OLESTATUS WINAPI OleRenameServerDoc16(LHSERVERDOC hDoc, LPCSTR newName)
|
|
||||||
{
|
|
||||||
FIXME("(%d,%s): stub.\n", hDoc, newName);
|
|
||||||
return OLE_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* OleRenameServerDoc [OLESVR32.8]
|
* OleRenameServerDoc [OLESVR32.8]
|
||||||
*
|
*
|
||||||
|
@ -265,16 +191,6 @@ OLESTATUS WINAPI OleRenameServerDoc(LHSERVERDOC hDoc, LPCSTR newName)
|
||||||
return OLE_OK;
|
return OLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* OleRevertServerDoc [OLESVR.9]
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
OLESTATUS WINAPI OleRevertServerDoc16(LHSERVERDOC hDoc)
|
|
||||||
{
|
|
||||||
FIXME("(%d): stub.\n", hDoc);
|
|
||||||
return OLE_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* OleRevertServerDoc [OLESVR32.9]
|
* OleRevertServerDoc [OLESVR32.9]
|
||||||
*
|
*
|
||||||
|
@ -285,16 +201,6 @@ OLESTATUS WINAPI OleRevertServerDoc(LHSERVERDOC hDoc)
|
||||||
return OLE_OK;
|
return OLE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************
|
|
||||||
* OleSavedServerDoc [OLESVR.10]
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
OLESTATUS WINAPI OleSavedServerDoc16(LHSERVERDOC hDoc)
|
|
||||||
{
|
|
||||||
FIXME("(%d): stub.\n", hDoc);
|
|
||||||
return OLE_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* OleSavedServerDoc [OLESVR32.10]
|
* OleSavedServerDoc [OLESVR32.10]
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue