1 /* -*- tab-width: 8; c-basic-offset: 8 -*- */
6 * Copyright 1997 Alexandre Julliard
7 * Copyright 1997 Len White
8 * Copyright 1999 Keith Matthews
10 * Copyright 2001 Eric Pouech
12 * This library is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Lesser General Public
14 * License as published by the Free Software Foundation; either
15 * version 2.1 of the License, or (at your option) any later version.
17 * This library is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * Lesser General Public License for more details.
22 * You should have received a copy of the GNU Lesser General Public
23 * License along with this library; if not, write to the Free Software
24 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
30 #include "wine/windef16.h"
36 #include "dde/dde_private.h"
37 #include "wine/debug.h"
39 WINE_DEFAULT_DEBUG_CHANNEL(ddeml);
42 typedef HDDEDATA (CALLBACK *PFNCALLBACK16)(UINT16,UINT16,HCONV,HSZ,HSZ,HDDEDATA,DWORD,DWORD);
52 } CONVCONTEXT16, *LPCONVCONTEXT16;
69 CONVCONTEXT16 ConvCtxt;
70 } CONVINFO16, *LPCONVINFO16;
72 /* ### start build ### */
73 extern LONG CALLBACK WDML_CallTo16_long_llllllll (FARPROC16,LONG,LONG,LONG,LONG,LONG,LONG,LONG,LONG);
74 /* ### stop build ### */
76 /******************************************************************
77 * WDML_InvokeCallback16
81 HDDEDATA WDML_InvokeCallback16(PFNCALLBACK pfn, UINT uType, UINT uFmt, HCONV hConv,
82 HSZ hsz1, HSZ hsz2, HDDEDATA hdata,
83 DWORD dwData1, DWORD dwData2)
85 return WDML_CallTo16_long_llllllll((FARPROC16)pfn, uType, uFmt, hConv,
86 hsz1, hsz2, hdata, dwData1, dwData2);
89 /******************************************************************************
90 * DdeInitialize (DDEML.2)
92 UINT16 WINAPI DdeInitialize16(LPDWORD pidInst, PFNCALLBACK16 pfnCallback,
93 DWORD afCmd, DWORD ulRes)
95 return WDML_Initialize(pidInst, (PFNCALLBACK)pfnCallback, afCmd, ulRes, FALSE, TRUE);
98 /*****************************************************************
99 * DdeUninitialize (DDEML.3)
101 BOOL16 WINAPI DdeUninitialize16(DWORD idInst)
103 FIXME(" stub calling DdeUninitialize\n");
104 return (BOOL16)DdeUninitialize(idInst);
107 /*****************************************************************
108 * DdeConnectList [DDEML.4]
111 HCONVLIST WINAPI DdeConnectList16(DWORD idInst, HSZ hszService, HSZ hszTopic,
112 HCONVLIST hConvList, LPCONVCONTEXT16 pCC)
114 return DdeConnectList(idInst, hszService, hszTopic, hConvList,
118 /*****************************************************************
119 * DdeQueryNextServer [DDEML.5]
121 HCONV WINAPI DdeQueryNextServer16(HCONVLIST hConvList, HCONV hConvPrev)
123 return DdeQueryNextServer(hConvList, hConvPrev);
126 /*****************************************************************
127 * DdeDisconnectList (DDEML.6)
129 BOOL16 WINAPI DdeDisconnectList16(HCONVLIST hConvList)
131 return (BOOL16)DdeDisconnectList(hConvList);
135 /*****************************************************************
136 * DdeQueryString (DDEML.23)
138 DWORD WINAPI DdeQueryString16(DWORD idInst, HSZ hsz, LPSTR lpsz, DWORD cchMax, INT16 codepage)
140 FIXME("(%ld, 0x%x, %p, %ld, %d): stub \n",
141 idInst, hsz, lpsz, cchMax, codepage);
145 /*****************************************************************
146 * DdeConnect (DDEML.7)
148 HCONV WINAPI DdeConnect16(DWORD idInst, HSZ hszService, HSZ hszTopic,
149 LPCONVCONTEXT16 pCC16)
152 CONVCONTEXT* pCC = NULL;
157 cc.wFlags = pCC16->wFlags;
158 cc.iCodePage = pCC16->iCodePage;
159 cc.dwLangID = pCC16->dwLangID;
160 cc.dwSecurity = pCC16->dwSecurity;
162 return DdeConnect(idInst, hszService, hszTopic, pCC);
165 /*****************************************************************
166 * DdeDisconnect (DDEML.8)
168 BOOL16 WINAPI DdeDisconnect16(HCONV hConv)
170 return (BOOL16)DdeDisconnect(hConv);
173 /*****************************************************************
174 * DdeSetUserHandle (DDEML.10)
176 BOOL16 WINAPI DdeSetUserHandle16(HCONV hConv, DWORD id, DWORD hUser)
178 return DdeSetUserHandle(hConv, id, hUser);
181 /*****************************************************************
182 * DdeCreateDataHandle (DDEML.14)
184 HDDEDATA WINAPI DdeCreateDataHandle16(DWORD idInst, LPBYTE pSrc, DWORD cb,
185 DWORD cbOff, HSZ hszItem, UINT16 wFmt,
188 return DdeCreateDataHandle(idInst, pSrc, cb, cbOff, hszItem, wFmt, afCmd);
191 /*****************************************************************
192 * DdeCreateStringHandle (DDEML.21)
194 HSZ WINAPI DdeCreateStringHandle16(DWORD idInst, LPCSTR str, INT16 codepage)
198 return DdeCreateStringHandleA(idInst, str, codepage);
202 TRACE("Default codepage supplied\n");
203 return DdeCreateStringHandleA(idInst, str, CP_WINANSI);
207 /*****************************************************************
208 * DdeFreeStringHandle (DDEML.22)
210 BOOL16 WINAPI DdeFreeStringHandle16(DWORD idInst, HSZ hsz)
212 TRACE("idInst %ld hsz 0x%x\n",idInst,hsz);
213 return (BOOL)DdeFreeStringHandle(idInst, hsz);
216 /*****************************************************************
217 * DdeFreeDataHandle (DDEML.19)
219 BOOL16 WINAPI DdeFreeDataHandle16(HDDEDATA hData)
221 return (BOOL)DdeFreeDataHandle(hData);
224 /*****************************************************************
225 * DdeKeepStringHandle (DDEML.24)
227 BOOL16 WINAPI DdeKeepStringHandle16(DWORD idInst, HSZ hsz)
229 return (BOOL)DdeKeepStringHandle(idInst, hsz);
232 /*****************************************************************
233 * DdeClientTransaction (DDEML.11)
235 HDDEDATA WINAPI DdeClientTransaction16(LPVOID pData, DWORD cbData,
236 HCONV hConv, HSZ hszItem, UINT16 wFmt,
237 UINT16 wType, DWORD dwTimeout,
240 return DdeClientTransaction((LPBYTE)pData, cbData, hConv, hszItem,
241 wFmt, wType, dwTimeout, pdwResult);
244 /*****************************************************************
246 * DdeAbandonTransaction (DDEML.12)
249 BOOL16 WINAPI DdeAbandonTransaction16(DWORD idInst, HCONV hConv,
252 return DdeAbandonTransaction(idInst, hConv, idTransaction);
255 /*****************************************************************
256 * DdePostAdvise [DDEML.13]
258 BOOL16 WINAPI DdePostAdvise16(DWORD idInst, HSZ hszTopic, HSZ hszItem)
260 return (BOOL16)DdePostAdvise(idInst, hszTopic, hszItem);
263 /*****************************************************************
264 * DdeAddData (DDEML.15)
266 HDDEDATA WINAPI DdeAddData16(HDDEDATA hData, LPBYTE pSrc, DWORD cb,
269 return DdeAddData(hData, pSrc, cb, cbOff);
272 /*****************************************************************
273 * DdeGetData [DDEML.16]
275 DWORD WINAPI DdeGetData16(
281 return DdeGetData(hData, pDst, cbMax, cbOff);
284 /*****************************************************************
285 * DdeAccessData (DDEML.17)
287 LPBYTE WINAPI DdeAccessData16(HDDEDATA hData, LPDWORD pcbDataSize)
289 /* FIXME: there's a memory leak here... */
290 return (LPBYTE)MapLS(DdeAccessData(hData, pcbDataSize));
293 /*****************************************************************
294 * DdeUnaccessData (DDEML.18)
296 BOOL16 WINAPI DdeUnaccessData16(HDDEDATA hData)
298 return DdeUnaccessData(hData);
301 /*****************************************************************
302 * DdeEnableCallback (DDEML.26)
304 BOOL16 WINAPI DdeEnableCallback16(DWORD idInst, HCONV hConv, UINT16 wCmd)
306 return DdeEnableCallback(idInst, hConv, wCmd);
309 /*****************************************************************
310 * DdeNameService (DDEML.27)
312 HDDEDATA WINAPI DdeNameService16(DWORD idInst, HSZ hsz1, HSZ hsz2,
315 return DdeNameService(idInst, hsz1, hsz2, afCmd);
318 /*****************************************************************
319 * DdeGetLastError (DDEML.20)
321 UINT16 WINAPI DdeGetLastError16(DWORD idInst)
323 return (UINT16)DdeGetLastError(idInst);
326 /*****************************************************************
327 * DdeCmpStringHandles (DDEML.36)
329 INT16 WINAPI DdeCmpStringHandles16(HSZ hsz1, HSZ hsz2)
331 return DdeCmpStringHandles(hsz1, hsz2);
334 /******************************************************************
335 * DdeQueryConvInfo (DDEML.9)
338 UINT16 WINAPI DdeQueryConvInfo16(HCONV hconv, DWORD idTransaction, LPCONVINFO16 lpConvInfo)