1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef _DDEHEADER_INCLUDED_
7 #define _DDEHEADER_INCLUDED_
8 
9 #include <windef.h>
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 #define WM_DDE_FIRST 0x03E0
16 #define WM_DDE_INITIATE (WM_DDE_FIRST)
17 #define WM_DDE_TERMINATE (WM_DDE_FIRST+1)
18 #define WM_DDE_ADVISE (WM_DDE_FIRST+2)
19 #define WM_DDE_UNADVISE (WM_DDE_FIRST+3)
20 #define WM_DDE_ACK (WM_DDE_FIRST+4)
21 #define WM_DDE_DATA (WM_DDE_FIRST+5)
22 #define WM_DDE_REQUEST (WM_DDE_FIRST+6)
23 #define WM_DDE_POKE (WM_DDE_FIRST+7)
24 #define WM_DDE_EXECUTE (WM_DDE_FIRST+8)
25 #define WM_DDE_LAST (WM_DDE_FIRST+8)
26 
27   typedef struct {
28     unsigned short bAppReturnCode:8,reserved:6,fBusy:1,fAck:1;
29   } DDEACK;
30 
31   typedef struct {
32     unsigned short reserved:14,fDeferUpd:1,fAckReq:1;
33     short cfFormat;
34   } DDEADVISE;
35 
36   typedef struct {
37     unsigned short unused:12,fResponse:1,fRelease:1,reserved:1,fAckReq:1;
38     short cfFormat;
39     BYTE Value[1];
40   } DDEDATA;
41 
42   typedef struct {
43     unsigned short unused:13,fRelease:1,fReserved:2;
44     short cfFormat;
45     BYTE Value[1];
46 
47   } DDEPOKE;
48 
49   typedef struct {
50     unsigned short unused:13,fRelease:1,fDeferUpd:1,fAckReq:1;
51     short cfFormat;
52   } DDELN;
53 
54   typedef struct {
55     unsigned short unused:12,fAck:1,fRelease:1,fReserved:1,fAckReq:1;
56     short cfFormat;
57     BYTE rgb[1];
58   } DDEUP;
59 
60   WINBOOL WINAPI DdeSetQualityOfService(HWND hwndClient,CONST SECURITY_QUALITY_OF_SERVICE *pqosNew,PSECURITY_QUALITY_OF_SERVICE pqosPrev);
61   WINBOOL WINAPI ImpersonateDdeClientWindow(HWND hWndClient,HWND hWndServer);
62   LPARAM WINAPI PackDDElParam(UINT msg,UINT_PTR uiLo,UINT_PTR uiHi);
63   WINBOOL WINAPI UnpackDDElParam(UINT msg,LPARAM lParam,PUINT_PTR puiLo,PUINT_PTR puiHi);
64   WINBOOL WINAPI FreeDDElParam(UINT msg,LPARAM lParam);
65   LPARAM WINAPI ReuseDDElParam(LPARAM lParam,UINT msgIn,UINT msgOut,UINT_PTR uiLo,UINT_PTR uiHi);
66 
67 #ifdef __cplusplus
68 }
69 #endif
70 #endif
71