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
16 #include "wine/windef16.h"
22 #include "dde/dde_private.h"
23 #include "debugtools.h"
25 DEFAULT_DEBUG_CHANNEL(ddeml);
28 typedef HDDEDATA CALLBACK (*PFNCALLBACK16)(UINT16,UINT16,HCONV,HSZ,HSZ,HDDEDATA,DWORD,DWORD);
38 } CONVCONTEXT16, *LPCONVCONTEXT16;
55 CONVCONTEXT16 ConvCtxt;
56 } CONVINFO16, *LPCONVINFO16;
58 /* ### start build ### */
59 extern LONG CALLBACK WDML_CallTo16_long_llllllll (FARPROC16,LONG,LONG,LONG,LONG,LONG,LONG,LONG,LONG);
60 /* ### stop build ### */
62 /******************************************************************
63 * WDML_InvokeCallback16
67 HDDEDATA WDML_InvokeCallback16(PFNCALLBACK pfn, UINT uType, UINT uFmt, HCONV hConv,
68 HSZ hsz1, HSZ hsz2, HDDEDATA hdata,
69 DWORD dwData1, DWORD dwData2)
71 return WDML_CallTo16_long_llllllll((FARPROC16)pfn, uType, uFmt, hConv,
72 hsz1, hsz2, hdata, dwData1, dwData2);
75 /******************************************************************************
76 * DdeInitialize (DDEML.2)
78 UINT16 WINAPI DdeInitialize16(LPDWORD pidInst, PFNCALLBACK16 pfnCallback,
79 DWORD afCmd, DWORD ulRes)
81 return WDML_Initialize(pidInst, (PFNCALLBACK)pfnCallback, afCmd, ulRes, FALSE, TRUE);
84 /*****************************************************************
85 * DdeUninitialize (DDEML.3)
87 BOOL16 WINAPI DdeUninitialize16(DWORD idInst)
89 FIXME(" stub calling DdeUninitialize\n");
90 return (BOOL16)DdeUninitialize(idInst);
93 /*****************************************************************
94 * DdeConnectList [DDEML.4]
97 HCONVLIST WINAPI DdeConnectList16(DWORD idInst, HSZ hszService, HSZ hszTopic,
98 HCONVLIST hConvList, LPCONVCONTEXT16 pCC)
100 return DdeConnectList(idInst, hszService, hszTopic, hConvList,
104 /*****************************************************************
105 * DdeQueryNextServer [DDEML.5]
107 HCONV WINAPI DdeQueryNextServer16(HCONVLIST hConvList, HCONV hConvPrev)
109 return DdeQueryNextServer(hConvList, hConvPrev);
112 /*****************************************************************
113 * DdeDisconnectList (DDEML.6)
115 BOOL16 WINAPI DdeDisconnectList16(HCONVLIST hConvList)
117 return (BOOL16)DdeDisconnectList(hConvList);
121 /*****************************************************************
122 * DdeQueryString (DDEML.23)
124 DWORD WINAPI DdeQueryString16(DWORD idInst, HSZ hsz, LPSTR lpsz, DWORD cchMax, INT16 codepage)
126 FIXME("(%ld, 0x%x, %p, %ld, %d): stub \n",
127 idInst, hsz, lpsz, cchMax, codepage);
131 /*****************************************************************
132 * DdeConnect (DDEML.7)
134 HCONV WINAPI DdeConnect16(DWORD idInst, HSZ hszService, HSZ hszTopic,
135 LPCONVCONTEXT16 pCC16)
138 CONVCONTEXT* pCC = NULL;
143 cc.wFlags = pCC16->wFlags;
144 cc.iCodePage = pCC16->iCodePage;
145 cc.dwLangID = pCC16->dwLangID;
146 cc.dwSecurity = pCC16->dwSecurity;
148 return DdeConnect(idInst, hszService, hszTopic, pCC);
151 /*****************************************************************
152 * DdeDisconnect (DDEML.8)
154 BOOL16 WINAPI DdeDisconnect16(HCONV hConv)
156 return (BOOL16)DdeDisconnect(hConv);
159 /*****************************************************************
160 * DdeSetUserHandle (DDEML.10)
162 BOOL16 WINAPI DdeSetUserHandle16(HCONV hConv, DWORD id, DWORD hUser)
164 return DdeSetUserHandle(hConv, id, hUser);
167 /*****************************************************************
168 * DdeCreateDataHandle (DDEML.14)
170 HDDEDATA WINAPI DdeCreateDataHandle16(DWORD idInst, LPBYTE pSrc, DWORD cb,
171 DWORD cbOff, HSZ hszItem, UINT16 wFmt,
174 return DdeCreateDataHandle(idInst, pSrc, cb, cbOff, hszItem, wFmt, afCmd);
177 /*****************************************************************
178 * DdeCreateStringHandle (DDEML.21)
180 HSZ WINAPI DdeCreateStringHandle16(DWORD idInst, LPCSTR str, INT16 codepage)
184 return DdeCreateStringHandleA(idInst, str, codepage);
188 TRACE("Default codepage supplied\n");
189 return DdeCreateStringHandleA(idInst, str, CP_WINANSI);
193 /*****************************************************************
194 * DdeFreeStringHandle (DDEML.22)
196 BOOL16 WINAPI DdeFreeStringHandle16(DWORD idInst, HSZ hsz)
198 TRACE("idInst %ld hsz 0x%x\n",idInst,hsz);
199 return (BOOL)DdeFreeStringHandle(idInst, hsz);
202 /*****************************************************************
203 * DdeFreeDataHandle (DDEML.19)
205 BOOL16 WINAPI DdeFreeDataHandle16(HDDEDATA hData)
207 return (BOOL)DdeFreeDataHandle(hData);
210 /*****************************************************************
211 * DdeKeepStringHandle (DDEML.24)
213 BOOL16 WINAPI DdeKeepStringHandle16(DWORD idInst, HSZ hsz)
215 return (BOOL)DdeKeepStringHandle(idInst, hsz);
218 /*****************************************************************
219 * DdeClientTransaction (DDEML.11)
221 HDDEDATA WINAPI DdeClientTransaction16(LPVOID pData, DWORD cbData,
222 HCONV hConv, HSZ hszItem, UINT16 wFmt,
223 UINT16 wType, DWORD dwTimeout,
226 return DdeClientTransaction((LPBYTE)pData, cbData, hConv, hszItem,
227 wFmt, wType, dwTimeout, pdwResult);
230 /*****************************************************************
232 * DdeAbandonTransaction (DDEML.12)
235 BOOL16 WINAPI DdeAbandonTransaction16(DWORD idInst, HCONV hConv,
238 return DdeAbandonTransaction(idInst, hConv, idTransaction);
241 /*****************************************************************
242 * DdePostAdvise [DDEML.13]
244 BOOL16 WINAPI DdePostAdvise16(DWORD idInst, HSZ hszTopic, HSZ hszItem)
246 return (BOOL16)DdePostAdvise(idInst, hszTopic, hszItem);
249 /*****************************************************************
250 * DdeAddData (DDEML.15)
252 HDDEDATA WINAPI DdeAddData16(HDDEDATA hData, LPBYTE pSrc, DWORD cb,
255 return DdeAddData(hData, pSrc, cb, cbOff);
258 /*****************************************************************
259 * DdeGetData [DDEML.16]
261 DWORD WINAPI DdeGetData16(
267 return DdeGetData(hData, pDst, cbMax, cbOff);
270 /*****************************************************************
271 * DdeAccessData (DDEML.17)
273 LPBYTE WINAPI DdeAccessData16(HDDEDATA hData, LPDWORD pcbDataSize)
275 /* FIXME: there's a memory leak here... */
276 return (LPBYTE)MapLS(DdeAccessData(hData, pcbDataSize));
279 /*****************************************************************
280 * DdeUnaccessData (DDEML.18)
282 BOOL16 WINAPI DdeUnaccessData16(HDDEDATA hData)
284 return DdeUnaccessData(hData);
287 /*****************************************************************
288 * DdeEnableCallback (DDEML.26)
290 BOOL16 WINAPI DdeEnableCallback16(DWORD idInst, HCONV hConv, UINT16 wCmd)
292 return DdeEnableCallback(idInst, hConv, wCmd);
295 /*****************************************************************
296 * DdeNameService (DDEML.27)
298 HDDEDATA WINAPI DdeNameService16(DWORD idInst, HSZ hsz1, HSZ hsz2,
301 return DdeNameService(idInst, hsz1, hsz2, afCmd);
304 /*****************************************************************
305 * DdeGetLastError (DDEML.20)
307 UINT16 WINAPI DdeGetLastError16(DWORD idInst)
309 return (UINT16)DdeGetLastError(idInst);
312 /*****************************************************************
313 * DdeCmpStringHandles (DDEML.36)
315 INT16 WINAPI DdeCmpStringHandles16(HSZ hsz1, HSZ hsz2)
317 return DdeCmpStringHandles(hsz1, hsz2);
320 /******************************************************************
321 * DdeQueryConvInfo (DDEML.9)
324 UINT16 WINAPI DdeQueryConvInfo16(HCONV hconv, DWORD idTransaction, LPCONVINFO16 lpConvInfo)