4 * Copyright 1997 Alexandre Julliard
5 * Copyright 1997 Len White
8 /* Only empty stubs for now */
14 /* FIXME: What are these values? */
15 #define DMLERR_NO_ERROR 0
17 static LONG DDE_current_handle;
20 /******************************************************************************
21 * DdeInitialize16 (DDEML.2)
23 UINT16 WINAPI DdeInitialize16( LPDWORD pidInst, PFNCALLBACK16 pfnCallback,
24 DWORD afCmd, DWORD ulRes)
26 return (UINT16)DdeInitialize32A(pidInst,(PFNCALLBACK32)pfnCallback,
31 /******************************************************************************
32 * DdeInitialize32A (USER32.106)
34 UINT32 WINAPI DdeInitialize32A( LPDWORD pidInst, PFNCALLBACK32 pfnCallback,
35 DWORD afCmd, DWORD ulRes )
37 return DdeInitialize32W(pidInst,pfnCallback,afCmd,ulRes);
41 /******************************************************************************
42 * DdeInitialize32W [USER32.107]
43 * Registers an application with the DDEML
46 * pidInst [I] Pointer to instance identifier
47 * pfnCallback [I] Pointer to callback function
48 * afCmd [I] Set of command and filter flags
52 * Success: DMLERR_NO_ERROR
53 * Failure: DMLERR_DLL_USAGE, DMLERR_INVALIDPARAMETER, DMLERR_SYS_ERROR
55 UINT32 WINAPI DdeInitialize32W( LPDWORD pidInst, PFNCALLBACK32 pfnCallback,
56 DWORD afCmd, DWORD ulRes )
58 FIXME(ddeml, "(%p,%p,%ld,%ld): stub\n",pidInst,pfnCallback,afCmd,ulRes);
59 return DMLERR_NO_ERROR;
63 /*****************************************************************
64 * DdeUninitialize16 (DDEML.3)
66 BOOL16 WINAPI DdeUninitialize16( DWORD idInst )
68 return (BOOL16)DdeUninitialize32( idInst );
72 /*****************************************************************
73 * DdeUninitialize32 [USER32.119] Frees DDEML resources
76 * idInst [I] Instance identifier
82 BOOL32 WINAPI DdeUninitialize32( DWORD idInst )
84 FIXME(ddeml, "(%ld): stub\n", idInst);
89 /*****************************************************************
90 * DdeConnectList16 [DDEML.4]
92 HCONVLIST WINAPI DdeConnectList16( DWORD idInst, HSZ hszService, HSZ hszTopic,
93 HCONVLIST hConvList, LPCONVCONTEXT16 pCC )
95 return DdeConnectList32(idInst, hszService, hszTopic, hConvList,
96 (LPCONVCONTEXT32)pCC);
100 /******************************************************************************
101 * DdeConnectList32 [USER32.93] Establishes conversation with DDE servers
104 * idInst [I] Instance identifier
105 * hszService [I] Handle to service name string
106 * hszTopic [I] Handle to topic name string
107 * hConvList [I] Handle to conversation list
108 * pCC [I] Pointer to structure with context data
111 * Success: Handle to new conversation list
114 HCONVLIST WINAPI DdeConnectList32( DWORD idInst, HSZ hszService, HSZ hszTopic,
115 HCONVLIST hConvList, LPCONVCONTEXT32 pCC )
117 FIXME(ddeml, "(%ld,%ld,%ld,%ld,%p): stub\n", idInst, hszService, hszTopic,
123 /*****************************************************************
124 * DdeQueryNextServer (DDEML.5)
126 HCONV WINAPI DdeQueryNextServer( HCONVLIST hConvList, HCONV hConvPrev )
128 FIXME( ddeml, "empty stub\n" );
132 /*****************************************************************
133 * DdeDisconnectList (DDEML.6)
135 BOOL16 WINAPI DdeDisconnectList16( HCONVLIST hConvList )
137 return (BOOL16)DdeDisconnectList32(hConvList);
141 /******************************************************************************
142 * DdeDisconnectList32 [USER32.98] Destroys list and terminates conversations
148 BOOL32 WINAPI DdeDisconnectList32(
149 HCONVLIST hConvList) /* [in] Handle to conversation list */
151 FIXME(ddeml, "(%ld): stub\n", hConvList);
156 /*****************************************************************
157 * DdeConnect16 (DDEML.7)
159 HCONV WINAPI DdeConnect16( DWORD idInst, HSZ hszService, HSZ hszTopic,
160 LPCONVCONTEXT16 pCC )
162 FIXME( ddeml, "empty stub\n" );
167 /*****************************************************************
168 * DdeConnect32 (USER32.92)
170 HCONV WINAPI DdeConnect32( DWORD idInst, HSZ hszService, HSZ hszTopic,
171 LPCONVCONTEXT32 pCC )
173 FIXME( ddeml, "(...): stub\n");
178 /*****************************************************************
179 * DdeDisconnect16 (DDEML.8)
181 BOOL16 WINAPI DdeDisconnect16( HCONV hConv )
183 return (BOOL16)DdeDisconnect32( hConv );
186 /*****************************************************************
187 * DdeSetUserHandle (DDEML.10)
189 BOOL16 WINAPI DdeSetUserHandle( HCONV hConv, DWORD id, DWORD hUser )
191 FIXME( ddeml, "empty stub\n" );
195 /*****************************************************************
196 * DdeCreateDataHandle (DDEML.14)
198 HDDEDATA WINAPI DdeCreateDataHandle( DWORD idInst, LPBYTE pSrc, DWORD cb, DWORD cbOff, HSZ hszItem, UINT16 wFmt, UINT16 afCmd )
200 FIXME( ddeml, "empty stub\n" );
204 /*****************************************************************
205 * DdeDisconnect32 (USER32.97)
207 BOOL32 WINAPI DdeDisconnect32( HCONV hConv )
209 FIXME( ddeml, "empty stub\n" );
214 /*****************************************************************
215 * DdeReconnect (DDEML.37) (USER32.115)
217 HCONV WINAPI DdeReconnect( HCONV hConv )
219 FIXME( ddeml, "empty stub\n" );
224 /*****************************************************************
225 * DdeCreateStringHandle16 (DDEML.21)
227 HSZ WINAPI DdeCreateStringHandle16( DWORD idInst, LPCSTR str, INT16 codepage )
229 return DdeCreateStringHandle32A( idInst, str, codepage );
233 /*****************************************************************
234 * DdeCreateStringHandle32A [USER32.95]
236 HSZ WINAPI DdeCreateStringHandle32A( DWORD idInst, LPCSTR psz, INT32 codepage )
238 FIXME(ddeml, "(...): stub\n" );
239 DDE_current_handle++;
240 return DDE_current_handle;
244 /******************************************************************************
245 * DdeCreateStringHandle32W [USER32.96] Creates handle to identify string
248 * Success: String handle
251 HSZ WINAPI DdeCreateStringHandle32W(
252 DWORD idInst, /* [in] Instance identifier */
253 LPCWSTR psz, /* [in] Pointer to string */
254 INT32 codepage) /* [in] Code page identifier */
256 FIXME(ddeml, "(%ld,%s,%d): stub\n",idInst,debugstr_w(psz),codepage);
257 DDE_current_handle++;
258 return DDE_current_handle;
262 /*****************************************************************
263 * DdeFreeStringHandle16 (DDEML.22)
265 BOOL16 WINAPI DdeFreeStringHandle16( DWORD idInst, HSZ hsz )
267 return (BOOL32)DdeFreeStringHandle32( idInst, hsz );
271 /*****************************************************************
272 * DdeFreeStringHandle32 (USER32.101)
274 BOOL32 WINAPI DdeFreeStringHandle32( DWORD idInst, HSZ hsz )
276 FIXME( ddeml, "empty stub\n" );
281 /*****************************************************************
282 * DdeFreeDataHandle16 (DDEML.19)
284 BOOL16 WINAPI DdeFreeDataHandle16( HDDEDATA hData )
286 return (BOOL32)DdeFreeDataHandle32( hData );
290 /*****************************************************************
291 * DdeFreeDataHandle32 (USER32.100)
293 BOOL32 WINAPI DdeFreeDataHandle32( HDDEDATA hData )
295 FIXME( ddeml, "empty stub\n" );
300 /*****************************************************************
301 * DdeKeepStringHandle16 (DDEML.24)
303 BOOL16 WINAPI DdeKeepStringHandle16( DWORD idInst, HSZ hsz )
305 return (BOOL32)DdeKeepStringHandle32( idInst, hsz );
309 /*****************************************************************
310 * DdeKeepStringHandle32 (USER32.108)
312 BOOL32 WINAPI DdeKeepStringHandle32( DWORD idInst, HSZ hsz )
314 FIXME( ddeml, "empty stub\n" );
319 /*****************************************************************
320 * DdeClientTransaction16 (DDEML.11)
322 HDDEDATA WINAPI DdeClientTransaction16( LPVOID pData, DWORD cbData,
323 HCONV hConv, HSZ hszItem, UINT16 wFmt,
324 UINT16 wType, DWORD dwTimeout,
327 return DdeClientTransaction32( (LPBYTE)pData, cbData, hConv, hszItem,
328 wFmt, wType, dwTimeout, pdwResult );
332 /*****************************************************************
333 * DdeClientTransaction32 (USER32.90)
335 HDDEDATA WINAPI DdeClientTransaction32( LPBYTE pData, DWORD cbData,
336 HCONV hConv, HSZ hszItem, UINT32 wFmt,
337 UINT32 wType, DWORD dwTimeout,
340 FIXME( ddeml, "empty stub\n" );
344 /*****************************************************************
345 * DdeAbandonTransaction (DDEML.12)
347 BOOL16 WINAPI DdeAbandonTransaction( DWORD idInst, HCONV hConv,
348 DWORD idTransaction )
350 FIXME( ddeml, "empty stub\n" );
355 /*****************************************************************
356 * DdePostAdvise16 [DDEML.13]
358 BOOL16 WINAPI DdePostAdvise16( DWORD idInst, HSZ hszTopic, HSZ hszItem )
360 return (BOOL16)DdePostAdvise32(idInst, hszTopic, hszItem);
364 /******************************************************************************
365 * DdePostAdvise32 [USER32.110] Send transaction to DDE callback function.
371 BOOL32 WINAPI DdePostAdvise32(
372 DWORD idInst, /* [in] Instance identifier */
373 HSZ hszTopic, /* [in] Handle to topic name string */
374 HSZ hszItem) /* [in] Handle to item name string */
376 FIXME(ddeml, "(%ld,%ld,%ld): stub\n",idInst,hszTopic,hszItem);
381 /*****************************************************************
382 * DdeAddData (DDEML.15)
384 HDDEDATA WINAPI DdeAddData( HDDEDATA hData, LPBYTE pSrc, DWORD cb,
387 FIXME( ddeml, "empty stub\n" );
392 /******************************************************************************
393 * DdeGetData32 [USER32.102] Copies data from DDE object ot local buffer
396 * Size of memory object associated with handle
398 DWORD WINAPI DdeGetData32(
399 HDDEDATA hData, /* [in] Handle to DDE object */
400 LPBYTE pDst, /* [in] Pointer to destination buffer */
401 DWORD cbMax, /* [in] Amount of data to copy */
402 DWORD cbOff) /* [in] Offset to beginning of data */
404 FIXME(ddeml, "(%ld,%p,%ld,%ld): stub\n",hData,pDst,cbMax,cbOff);
409 /*****************************************************************
410 * DdeGetData16 [DDEML.16]
412 DWORD WINAPI DdeGetData16(
418 return DdeGetData32(hData, pDst, cbMax, cbOff);
422 /*****************************************************************
423 * DdeAccessData (DDEML.17)
425 LPBYTE WINAPI DdeAccessData( HDDEDATA hData, LPDWORD pcbDataSize )
427 FIXME( ddeml, "empty stub\n" );
431 /*****************************************************************
432 * DdeUnaccessData (DDEML.18)
434 BOOL16 WINAPI DdeUnaccessData( HDDEDATA hData )
436 FIXME( ddeml, "empty stub\n" );
440 /*****************************************************************
441 * DdeEnableCallback (DDEML.26)
443 BOOL16 WINAPI DdeEnableCallback( DWORD idInst, HCONV hConv, UINT16 wCmd )
445 FIXME( ddeml, "empty stub\n" );
449 /*****************************************************************
450 * DdeNameService16 (DDEML.27)
452 HDDEDATA WINAPI DdeNameService16( DWORD idInst, HSZ hsz1, HSZ hsz2,
455 return DdeNameService32( idInst, hsz1, hsz2, afCmd );
459 /******************************************************************************
460 * DdeNameService32 [USER32.109] {Un}registers service name of DDE server
463 * idInst [I] Instance identifier
464 * hsz1 [I] Handle to service name string
466 * afCmd [I] Service name flags
472 HDDEDATA WINAPI DdeNameService32( DWORD idInst, HSZ hsz1, HSZ hsz2,
475 FIXME(ddeml, "(%ld,%ld,%ld,%d): stub\n",idInst,hsz1,hsz2,afCmd);
480 /*****************************************************************
481 * DdeGetLastError16 (DDEML.20)
483 UINT16 WINAPI DdeGetLastError16( DWORD idInst )
485 return (UINT16)DdeGetLastError32( idInst );
489 /******************************************************************************
490 * DdeGetLastError32 [USER32.103] Gets most recent error code
493 * idInst [I] Instance identifier
498 UINT32 WINAPI DdeGetLastError32( DWORD idInst )
500 FIXME(ddeml, "(%ld): stub\n",idInst);
505 /*****************************************************************
506 * DdeCmpStringHandles (DDEML.36)
508 int WINAPI DdeCmpStringHandles( HSZ hsz1, HSZ hsz2 )
510 FIXME( ddeml, "empty stub\n" );