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,0x%lx,%ld): stub\n",pidInst
,pfnCallback
,afCmd
,ulRes
);
64 ERR(dde
, "Reserved value not zero? What does this mean?\n");
66 return DMLERR_NO_ERROR
;
70 /*****************************************************************
71 * DdeUninitialize16 (DDEML.3)
73 BOOL16 WINAPI
DdeUninitialize16( DWORD idInst
)
75 return (BOOL16
)DdeUninitialize32( idInst
);
79 /*****************************************************************
80 * DdeUninitialize32 [USER32.119] Frees DDEML resources
83 * idInst [I] Instance identifier
89 BOOL32 WINAPI
DdeUninitialize32( DWORD idInst
)
91 FIXME(ddeml
, "(%ld): stub\n", idInst
);
96 /*****************************************************************
97 * DdeConnectList16 [DDEML.4]
99 HCONVLIST WINAPI
DdeConnectList16( DWORD idInst
, HSZ hszService
, HSZ hszTopic
,
100 HCONVLIST hConvList
, LPCONVCONTEXT16 pCC
)
102 return DdeConnectList32(idInst
, hszService
, hszTopic
, hConvList
,
103 (LPCONVCONTEXT32
)pCC
);
107 /******************************************************************************
108 * DdeConnectList32 [USER32.93] Establishes conversation with DDE servers
111 * idInst [I] Instance identifier
112 * hszService [I] Handle to service name string
113 * hszTopic [I] Handle to topic name string
114 * hConvList [I] Handle to conversation list
115 * pCC [I] Pointer to structure with context data
118 * Success: Handle to new conversation list
121 HCONVLIST WINAPI
DdeConnectList32( DWORD idInst
, HSZ hszService
, HSZ hszTopic
,
122 HCONVLIST hConvList
, LPCONVCONTEXT32 pCC
)
124 FIXME(ddeml
, "(%ld,%ld,%ld,%ld,%p): stub\n", idInst
, hszService
, hszTopic
,
130 /*****************************************************************
131 * DdeQueryNextServer16 [DDEML.5]
133 HCONV WINAPI
DdeQueryNextServer16( HCONVLIST hConvList
, HCONV hConvPrev
)
135 return DdeQueryNextServer32(hConvList
, hConvPrev
);
139 /*****************************************************************
140 * DdeQueryNextServer32 [USER32.112]
142 HCONV WINAPI
DdeQueryNextServer32( HCONVLIST hConvList
, HCONV hConvPrev
)
144 FIXME(ddeml
, "(%ld,%ld): stub\n",hConvList
,hConvPrev
);
149 /*****************************************************************
150 * DdeDisconnectList (DDEML.6)
152 BOOL16 WINAPI
DdeDisconnectList16( HCONVLIST hConvList
)
154 return (BOOL16
)DdeDisconnectList32(hConvList
);
158 /******************************************************************************
159 * DdeDisconnectList32 [USER32.98] Destroys list and terminates conversations
165 BOOL32 WINAPI
DdeDisconnectList32(
166 HCONVLIST hConvList
) /* [in] Handle to conversation list */
168 FIXME(ddeml
, "(%ld): stub\n", hConvList
);
173 /*****************************************************************
174 * DdeConnect16 (DDEML.7)
176 HCONV WINAPI
DdeConnect16( DWORD idInst
, HSZ hszService
, HSZ hszTopic
,
177 LPCONVCONTEXT16 pCC
)
179 FIXME( ddeml
, "empty stub\n" );
184 /*****************************************************************
185 * DdeConnect32 (USER32.92)
187 HCONV WINAPI
DdeConnect32( DWORD idInst
, HSZ hszService
, HSZ hszTopic
,
188 LPCONVCONTEXT32 pCC
)
190 FIXME(ddeml
, "(0x%lx,%ld,%ld,%p): stub\n",idInst
,hszService
,hszTopic
,
196 /*****************************************************************
197 * DdeDisconnect16 (DDEML.8)
199 BOOL16 WINAPI
DdeDisconnect16( HCONV hConv
)
201 return (BOOL16
)DdeDisconnect32( hConv
);
204 /*****************************************************************
205 * DdeSetUserHandle (DDEML.10)
207 BOOL16 WINAPI
DdeSetUserHandle( HCONV hConv
, DWORD id
, DWORD hUser
)
209 FIXME( ddeml
, "(%ld,%ld,%ld): stub\n",hConv
,id
, hUser
);
213 /*****************************************************************
214 * DdeCreateDataHandle (DDEML.14)
216 HDDEDATA WINAPI
DdeCreateDataHandle( DWORD idInst
, LPBYTE pSrc
, DWORD cb
,
217 DWORD cbOff
, HSZ hszItem
, UINT16 wFmt
,
220 FIXME( ddeml
, "(%ld,%p,%ld,%ld,%ld,%d,%d): stub\n",idInst
,pSrc
,cb
,cbOff
,
221 hszItem
, wFmt
, afCmd
);
225 /*****************************************************************
226 * DdeDisconnect32 (USER32.97)
228 BOOL32 WINAPI
DdeDisconnect32( HCONV hConv
)
230 FIXME( ddeml
, "empty stub\n" );
235 /*****************************************************************
236 * DdeReconnect (DDEML.37) (USER32.115)
238 HCONV WINAPI
DdeReconnect( HCONV hConv
)
240 FIXME( ddeml
, "empty stub\n" );
245 /*****************************************************************
246 * DdeCreateStringHandle16 (DDEML.21)
248 HSZ WINAPI
DdeCreateStringHandle16( DWORD idInst
, LPCSTR str
, INT16 codepage
)
250 return DdeCreateStringHandle32A( idInst
, str
, codepage
);
254 /*****************************************************************
255 * DdeCreateStringHandle32A [USER32.95]
258 * Success: String handle
261 HSZ WINAPI
DdeCreateStringHandle32A( DWORD idInst
, LPCSTR psz
, INT32 codepage
)
262 { TRACE(ddeml
, "(%ld,%s,%d): stub\n",idInst
,debugstr_a(psz
),codepage
);
264 if (codepage
==1004) /*fixme: should be CP_WINANSI*/
265 return GlobalAddAtom32A (psz
);
271 /******************************************************************************
272 * DdeCreateStringHandle32W [USER32.96] Creates handle to identify string
275 * Success: String handle
278 HSZ WINAPI
DdeCreateStringHandle32W(
279 DWORD idInst
, /* [in] Instance identifier */
280 LPCWSTR psz
, /* [in] Pointer to string */
281 INT32 codepage
) /* [in] Code page identifier */
283 FIXME(ddeml
, "(%ld,%s,%d): stub\n",idInst
,debugstr_w(psz
),codepage
);
284 DDE_current_handle
++;
285 return DDE_current_handle
;
289 /*****************************************************************
290 * DdeFreeStringHandle16 (DDEML.22)
292 BOOL16 WINAPI
DdeFreeStringHandle16( DWORD idInst
, HSZ hsz
)
294 return (BOOL32
)DdeFreeStringHandle32( idInst
, hsz
);
298 /*****************************************************************
299 * DdeFreeStringHandle32 (USER32.101)
300 * RETURNS: success: nonzero
303 BOOL32 WINAPI
DdeFreeStringHandle32( DWORD idInst
, HSZ hsz
)
304 { TRACE( ddeml
, "(%ld,%ld): stub\n",idInst
, hsz
);
305 return GlobalDeleteAtom (hsz
) ? hsz
: 0;
309 /*****************************************************************
310 * DdeFreeDataHandle16 (DDEML.19)
312 BOOL16 WINAPI
DdeFreeDataHandle16( HDDEDATA hData
)
314 return (BOOL32
)DdeFreeDataHandle32( hData
);
318 /*****************************************************************
319 * DdeFreeDataHandle32 (USER32.100)
321 BOOL32 WINAPI
DdeFreeDataHandle32( HDDEDATA hData
)
323 FIXME( ddeml
, "empty stub\n" );
328 /*****************************************************************
329 * DdeKeepStringHandle16 (DDEML.24)
331 BOOL16 WINAPI
DdeKeepStringHandle16( DWORD idInst
, HSZ hsz
)
333 return (BOOL32
)DdeKeepStringHandle32( idInst
, hsz
);
337 /*****************************************************************
338 * DdeKeepStringHandle32 (USER32.108)
340 BOOL32 WINAPI
DdeKeepStringHandle32( DWORD idInst
, HSZ hsz
)
342 FIXME( ddeml
, "empty stub\n" );
347 /*****************************************************************
348 * DdeClientTransaction16 (DDEML.11)
350 HDDEDATA WINAPI
DdeClientTransaction16( LPVOID pData
, DWORD cbData
,
351 HCONV hConv
, HSZ hszItem
, UINT16 wFmt
,
352 UINT16 wType
, DWORD dwTimeout
,
355 return DdeClientTransaction32( (LPBYTE
)pData
, cbData
, hConv
, hszItem
,
356 wFmt
, wType
, dwTimeout
, pdwResult
);
360 /*****************************************************************
361 * DdeClientTransaction32 (USER32.90)
363 HDDEDATA WINAPI
DdeClientTransaction32( LPBYTE pData
, DWORD cbData
,
364 HCONV hConv
, HSZ hszItem
, UINT32 wFmt
,
365 UINT32 wType
, DWORD dwTimeout
,
368 FIXME( ddeml
, "empty stub\n" );
372 /*****************************************************************
373 * DdeAbandonTransaction (DDEML.12)
375 BOOL16 WINAPI
DdeAbandonTransaction( DWORD idInst
, HCONV hConv
,
376 DWORD idTransaction
)
378 FIXME( ddeml
, "empty stub\n" );
383 /*****************************************************************
384 * DdePostAdvise16 [DDEML.13]
386 BOOL16 WINAPI
DdePostAdvise16( DWORD idInst
, HSZ hszTopic
, HSZ hszItem
)
388 return (BOOL16
)DdePostAdvise32(idInst
, hszTopic
, hszItem
);
392 /******************************************************************************
393 * DdePostAdvise32 [USER32.110] Send transaction to DDE callback function.
399 BOOL32 WINAPI
DdePostAdvise32(
400 DWORD idInst
, /* [in] Instance identifier */
401 HSZ hszTopic
, /* [in] Handle to topic name string */
402 HSZ hszItem
) /* [in] Handle to item name string */
404 FIXME(ddeml
, "(%ld,%ld,%ld): stub\n",idInst
,hszTopic
,hszItem
);
409 /*****************************************************************
410 * DdeAddData (DDEML.15)
412 HDDEDATA WINAPI
DdeAddData( HDDEDATA hData
, LPBYTE pSrc
, DWORD cb
,
415 FIXME( ddeml
, "empty stub\n" );
420 /******************************************************************************
421 * DdeGetData32 [USER32.102] Copies data from DDE object ot local buffer
424 * Size of memory object associated with handle
426 DWORD WINAPI
DdeGetData32(
427 HDDEDATA hData
, /* [in] Handle to DDE object */
428 LPBYTE pDst
, /* [in] Pointer to destination buffer */
429 DWORD cbMax
, /* [in] Amount of data to copy */
430 DWORD cbOff
) /* [in] Offset to beginning of data */
432 FIXME(ddeml
, "(%ld,%p,%ld,%ld): stub\n",hData
,pDst
,cbMax
,cbOff
);
437 /*****************************************************************
438 * DdeGetData16 [DDEML.16]
440 DWORD WINAPI
DdeGetData16(
446 return DdeGetData32(hData
, pDst
, cbMax
, cbOff
);
450 /*****************************************************************
451 * DdeAccessData (DDEML.17)
453 LPBYTE WINAPI
DdeAccessData( HDDEDATA hData
, LPDWORD pcbDataSize
)
455 FIXME( ddeml
, "empty stub\n" );
459 /*****************************************************************
460 * DdeUnaccessData (DDEML.18)
462 BOOL16 WINAPI
DdeUnaccessData( HDDEDATA hData
)
464 FIXME( ddeml
, "empty stub\n" );
468 /*****************************************************************
469 * DdeEnableCallback (DDEML.26)
471 BOOL16 WINAPI
DdeEnableCallback( DWORD idInst
, HCONV hConv
, UINT16 wCmd
)
473 FIXME( ddeml
, "empty stub\n" );
477 /*****************************************************************
478 * DdeNameService16 (DDEML.27)
480 HDDEDATA WINAPI
DdeNameService16( DWORD idInst
, HSZ hsz1
, HSZ hsz2
,
483 return DdeNameService32( idInst
, hsz1
, hsz2
, afCmd
);
487 /******************************************************************************
488 * DdeNameService32 [USER32.109] {Un}registers service name of DDE server
491 * idInst [I] Instance identifier
492 * hsz1 [I] Handle to service name string
494 * afCmd [I] Service name flags
500 HDDEDATA WINAPI
DdeNameService32( DWORD idInst
, HSZ hsz1
, HSZ hsz2
,
503 FIXME(ddeml
, "(%ld,%ld,%ld,%d): stub\n",idInst
,hsz1
,hsz2
,afCmd
);
508 /*****************************************************************
509 * DdeGetLastError16 (DDEML.20)
511 UINT16 WINAPI
DdeGetLastError16( DWORD idInst
)
513 return (UINT16
)DdeGetLastError32( idInst
);
517 /******************************************************************************
518 * DdeGetLastError32 [USER32.103] Gets most recent error code
521 * idInst [I] Instance identifier
526 UINT32 WINAPI
DdeGetLastError32( DWORD idInst
)
528 FIXME(ddeml
, "(%ld): stub\n",idInst
);
533 /*****************************************************************
534 * DdeCmpStringHandles (DDEML.36)
536 int WINAPI
DdeCmpStringHandles( HSZ hsz1
, HSZ hsz2
)
538 FIXME( ddeml
, "empty stub\n" );
543 /*****************************************************************
544 * PackDDElParam (USER32.414)
550 UINT32 WINAPI
PackDDElParam32(UINT32 msg
, UINT32 uiLo
, UINT32 uiHi
)
552 FIXME(ddeml
, "stub.\n");
557 /*****************************************************************
558 * UnpackDDElParam (USER32.562)
564 UINT32 WINAPI
UnpackDDElParam32(UINT32 msg
, UINT32 lParam
,
565 UINT32
*uiLo
, UINT32
*uiHi
)
567 FIXME(ddeml
, "stub.\n");
572 /*****************************************************************
573 * FreeDDElParam (USER32.204)
579 UINT32 WINAPI
FreeDDElParam32(UINT32 msg
, UINT32 lParam
)
581 FIXME(ddeml
, "stub.\n");