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
);
148 /*****************************************************************
149 * DdeQueryString32A [USER32.113]
151 DWORD WINAPI
DdeQueryString32A(DWORD idInst
, HSZ hsz
, LPSTR psz
, DWORD cchMax
, INT32 iCodePage
)
154 "(%ld, 0x%lx, %p, %ld, %d): stub\n",
164 /*****************************************************************
165 * DdeQueryString32W [USER32.114]
167 DWORD WINAPI
DdeQueryString32W(DWORD idInst
, HSZ hsz
, LPWSTR psz
, DWORD cchMax
, INT32 iCodePage
)
170 "(%ld, 0x%lx, %p, %ld, %d): stub\n",
181 /*****************************************************************
182 * DdeDisconnectList (DDEML.6)
184 BOOL16 WINAPI
DdeDisconnectList16( HCONVLIST hConvList
)
186 return (BOOL16
)DdeDisconnectList32(hConvList
);
190 /******************************************************************************
191 * DdeDisconnectList32 [USER32.98] Destroys list and terminates conversations
197 BOOL32 WINAPI
DdeDisconnectList32(
198 HCONVLIST hConvList
) /* [in] Handle to conversation list */
200 FIXME(ddeml
, "(%ld): stub\n", hConvList
);
205 /*****************************************************************
206 * DdeConnect16 (DDEML.7)
208 HCONV WINAPI
DdeConnect16( DWORD idInst
, HSZ hszService
, HSZ hszTopic
,
209 LPCONVCONTEXT16 pCC
)
211 FIXME( ddeml
, "empty stub\n" );
216 /*****************************************************************
217 * DdeConnect32 (USER32.92)
219 HCONV WINAPI
DdeConnect32( DWORD idInst
, HSZ hszService
, HSZ hszTopic
,
220 LPCONVCONTEXT32 pCC
)
222 FIXME(ddeml
, "(0x%lx,%ld,%ld,%p): stub\n",idInst
,hszService
,hszTopic
,
228 /*****************************************************************
229 * DdeDisconnect16 (DDEML.8)
231 BOOL16 WINAPI
DdeDisconnect16( HCONV hConv
)
233 return (BOOL16
)DdeDisconnect32( hConv
);
236 /*****************************************************************
237 * DdeSetUserHandle (DDEML.10)
239 BOOL16 WINAPI
DdeSetUserHandle( HCONV hConv
, DWORD id
, DWORD hUser
)
241 FIXME( ddeml
, "(%ld,%ld,%ld): stub\n",hConv
,id
, hUser
);
245 /*****************************************************************
246 * DdeCreateDataHandle16 (DDEML.14)
248 HDDEDATA WINAPI
DdeCreateDataHandle16( DWORD idInst
, LPBYTE pSrc
, DWORD cb
,
249 DWORD cbOff
, HSZ hszItem
, UINT16 wFmt
,
252 return DdeCreateDataHandle32(idInst
,
261 /*****************************************************************
262 * DdeCreateDataHandle32 (USER32.94)
264 HDDEDATA WINAPI
DdeCreateDataHandle32( DWORD idInst
, LPBYTE pSrc
, DWORD cb
,
265 DWORD cbOff
, HSZ hszItem
, UINT32 wFmt
,
269 "(%ld,%p,%ld,%ld,0x%lx,%d,%d): stub\n",
281 /*****************************************************************
282 * DdeDisconnect32 (USER32.97)
284 BOOL32 WINAPI
DdeDisconnect32( HCONV hConv
)
286 FIXME( ddeml
, "empty stub\n" );
291 /*****************************************************************
292 * DdeReconnect (DDEML.37) (USER32.115)
294 HCONV WINAPI
DdeReconnect( HCONV hConv
)
296 FIXME( ddeml
, "empty stub\n" );
301 /*****************************************************************
302 * DdeCreateStringHandle16 (DDEML.21)
304 HSZ WINAPI
DdeCreateStringHandle16( DWORD idInst
, LPCSTR str
, INT16 codepage
)
306 return DdeCreateStringHandle32A( idInst
, str
, codepage
);
310 /*****************************************************************
311 * DdeCreateStringHandle32A [USER32.95]
314 * Success: String handle
317 HSZ WINAPI
DdeCreateStringHandle32A( DWORD idInst
, LPCSTR psz
, INT32 codepage
)
318 { TRACE(ddeml
, "(%ld,%s,%d): stub\n",idInst
,debugstr_a(psz
),codepage
);
320 if (codepage
==1004) /*fixme: should be CP_WINANSI*/
321 return GlobalAddAtom32A (psz
);
327 /******************************************************************************
328 * DdeCreateStringHandle32W [USER32.96] Creates handle to identify string
331 * Success: String handle
334 HSZ WINAPI
DdeCreateStringHandle32W(
335 DWORD idInst
, /* [in] Instance identifier */
336 LPCWSTR psz
, /* [in] Pointer to string */
337 INT32 codepage
) /* [in] Code page identifier */
339 FIXME(ddeml
, "(%ld,%s,%d): stub\n",idInst
,debugstr_w(psz
),codepage
);
340 DDE_current_handle
++;
341 return DDE_current_handle
;
345 /*****************************************************************
346 * DdeFreeStringHandle16 (DDEML.22)
348 BOOL16 WINAPI
DdeFreeStringHandle16( DWORD idInst
, HSZ hsz
)
350 return (BOOL32
)DdeFreeStringHandle32( idInst
, hsz
);
354 /*****************************************************************
355 * DdeFreeStringHandle32 (USER32.101)
356 * RETURNS: success: nonzero
359 BOOL32 WINAPI
DdeFreeStringHandle32( DWORD idInst
, HSZ hsz
)
360 { TRACE( ddeml
, "(%ld,%ld): stub\n",idInst
, hsz
);
361 return GlobalDeleteAtom (hsz
) ? hsz
: 0;
365 /*****************************************************************
366 * DdeFreeDataHandle16 (DDEML.19)
368 BOOL16 WINAPI
DdeFreeDataHandle16( HDDEDATA hData
)
370 return (BOOL32
)DdeFreeDataHandle32( hData
);
374 /*****************************************************************
375 * DdeFreeDataHandle32 (USER32.100)
377 BOOL32 WINAPI
DdeFreeDataHandle32( HDDEDATA hData
)
379 FIXME( ddeml
, "empty stub\n" );
384 /*****************************************************************
385 * DdeKeepStringHandle16 (DDEML.24)
387 BOOL16 WINAPI
DdeKeepStringHandle16( DWORD idInst
, HSZ hsz
)
389 return (BOOL32
)DdeKeepStringHandle32( idInst
, hsz
);
393 /*****************************************************************
394 * DdeKeepStringHandle32 (USER32.108)
396 BOOL32 WINAPI
DdeKeepStringHandle32( DWORD idInst
, HSZ hsz
)
398 FIXME( ddeml
, "empty stub\n" );
403 /*****************************************************************
404 * DdeClientTransaction16 (DDEML.11)
406 HDDEDATA WINAPI
DdeClientTransaction16( LPVOID pData
, DWORD cbData
,
407 HCONV hConv
, HSZ hszItem
, UINT16 wFmt
,
408 UINT16 wType
, DWORD dwTimeout
,
411 return DdeClientTransaction32( (LPBYTE
)pData
, cbData
, hConv
, hszItem
,
412 wFmt
, wType
, dwTimeout
, pdwResult
);
416 /*****************************************************************
417 * DdeClientTransaction32 (USER32.90)
419 HDDEDATA WINAPI
DdeClientTransaction32( LPBYTE pData
, DWORD cbData
,
420 HCONV hConv
, HSZ hszItem
, UINT32 wFmt
,
421 UINT32 wType
, DWORD dwTimeout
,
424 FIXME( ddeml
, "empty stub\n" );
428 /*****************************************************************
429 * DdeAbandonTransaction (DDEML.12)
431 BOOL16 WINAPI
DdeAbandonTransaction( DWORD idInst
, HCONV hConv
,
432 DWORD idTransaction
)
434 FIXME( ddeml
, "empty stub\n" );
439 /*****************************************************************
440 * DdePostAdvise16 [DDEML.13]
442 BOOL16 WINAPI
DdePostAdvise16( DWORD idInst
, HSZ hszTopic
, HSZ hszItem
)
444 return (BOOL16
)DdePostAdvise32(idInst
, hszTopic
, hszItem
);
448 /******************************************************************************
449 * DdePostAdvise32 [USER32.110] Send transaction to DDE callback function.
455 BOOL32 WINAPI
DdePostAdvise32(
456 DWORD idInst
, /* [in] Instance identifier */
457 HSZ hszTopic
, /* [in] Handle to topic name string */
458 HSZ hszItem
) /* [in] Handle to item name string */
460 FIXME(ddeml
, "(%ld,%ld,%ld): stub\n",idInst
,hszTopic
,hszItem
);
465 /*****************************************************************
466 * DdeAddData (DDEML.15)
468 HDDEDATA WINAPI
DdeAddData( HDDEDATA hData
, LPBYTE pSrc
, DWORD cb
,
471 FIXME( ddeml
, "empty stub\n" );
476 /******************************************************************************
477 * DdeGetData32 [USER32.102] Copies data from DDE object ot local buffer
480 * Size of memory object associated with handle
482 DWORD WINAPI
DdeGetData32(
483 HDDEDATA hData
, /* [in] Handle to DDE object */
484 LPBYTE pDst
, /* [in] Pointer to destination buffer */
485 DWORD cbMax
, /* [in] Amount of data to copy */
486 DWORD cbOff
) /* [in] Offset to beginning of data */
488 FIXME(ddeml
, "(%ld,%p,%ld,%ld): stub\n",hData
,pDst
,cbMax
,cbOff
);
493 /*****************************************************************
494 * DdeGetData16 [DDEML.16]
496 DWORD WINAPI
DdeGetData16(
502 return DdeGetData32(hData
, pDst
, cbMax
, cbOff
);
506 /*****************************************************************
507 * DdeAccessData16 (DDEML.17)
509 LPBYTE WINAPI
DdeAccessData16( HDDEDATA hData
, LPDWORD pcbDataSize
)
511 return DdeAccessData32(hData
, pcbDataSize
);
514 /*****************************************************************
515 * DdeAccessData32 (USER32.88)
517 LPBYTE WINAPI
DdeAccessData32( HDDEDATA hData
, LPDWORD pcbDataSize
)
519 FIXME( ddeml
, "(%ld,%p): stub\n", hData
, pcbDataSize
);
523 /*****************************************************************
524 * DdeUnaccessData16 (DDEML.18)
526 BOOL16 WINAPI
DdeUnaccessData16( HDDEDATA hData
)
528 return DdeUnaccessData32(hData
);
531 /*****************************************************************
532 * DdeUnaccessData32 (USER32.118)
534 BOOL32 WINAPI
DdeUnaccessData32( HDDEDATA hData
)
536 FIXME( ddeml
, "(0x%lx): stub\n", hData
);
541 /*****************************************************************
542 * DdeEnableCallback16 (DDEML.26)
544 BOOL16 WINAPI
DdeEnableCallback16( DWORD idInst
, HCONV hConv
, UINT16 wCmd
)
546 return DdeEnableCallback32(idInst
, hConv
, wCmd
);
549 /*****************************************************************
550 * DdeEnableCallback32 (USER32.99)
552 BOOL32 WINAPI
DdeEnableCallback32( DWORD idInst
, HCONV hConv
, UINT32 wCmd
)
554 FIXME( ddeml
, "(%ld, 0x%lx, %d) stub\n", idInst
, hConv
, wCmd
);
559 /*****************************************************************
560 * DdeNameService16 (DDEML.27)
562 HDDEDATA WINAPI
DdeNameService16( DWORD idInst
, HSZ hsz1
, HSZ hsz2
,
565 return DdeNameService32( idInst
, hsz1
, hsz2
, afCmd
);
569 /******************************************************************************
570 * DdeNameService32 [USER32.109] {Un}registers service name of DDE server
573 * idInst [I] Instance identifier
574 * hsz1 [I] Handle to service name string
576 * afCmd [I] Service name flags
582 HDDEDATA WINAPI
DdeNameService32( DWORD idInst
, HSZ hsz1
, HSZ hsz2
,
585 FIXME(ddeml
, "(%ld,%ld,%ld,%d): stub\n",idInst
,hsz1
,hsz2
,afCmd
);
590 /*****************************************************************
591 * DdeGetLastError16 (DDEML.20)
593 UINT16 WINAPI
DdeGetLastError16( DWORD idInst
)
595 return (UINT16
)DdeGetLastError32( idInst
);
599 /******************************************************************************
600 * DdeGetLastError32 [USER32.103] Gets most recent error code
603 * idInst [I] Instance identifier
608 UINT32 WINAPI
DdeGetLastError32( DWORD idInst
)
610 FIXME(ddeml
, "(%ld): stub\n",idInst
);
615 /*****************************************************************
616 * DdeCmpStringHandles16 (DDEML.36)
618 int WINAPI
DdeCmpStringHandles16( HSZ hsz1
, HSZ hsz2
)
620 return DdeCmpStringHandles32(hsz1
, hsz2
);
623 /*****************************************************************
624 * DdeCmpStringHandles32 (USER32.91)
626 int WINAPI
DdeCmpStringHandles32( HSZ hsz1
, HSZ hsz2
)
628 FIXME( ddeml
, "(0x%lx, 0x%lx): stub\n", hsz1
, hsz2
);
633 /*****************************************************************
634 * PackDDElParam (USER32.414)
640 UINT32 WINAPI
PackDDElParam32(UINT32 msg
, UINT32 uiLo
, UINT32 uiHi
)
642 FIXME(ddeml
, "stub.\n");
647 /*****************************************************************
648 * UnpackDDElParam (USER32.562)
654 UINT32 WINAPI
UnpackDDElParam32(UINT32 msg
, UINT32 lParam
,
655 UINT32
*uiLo
, UINT32
*uiHi
)
657 FIXME(ddeml
, "stub.\n");
662 /*****************************************************************
663 * FreeDDElParam (USER32.204)
669 UINT32 WINAPI
FreeDDElParam32(UINT32 msg
, UINT32 lParam
)
671 FIXME(ddeml
, "stub.\n");