|
|
1.1 root 1: #ifndef _DDEHEADER_INCLUDED_
2: #define _DDEHEADER_INCLUDED_
3:
4: #ifndef _WINDEF_
5: #include <windef.h>
6: #endif
7:
8: /* DDE window messages */
9:
10: #define WM_DDE_FIRST 0x03E0
11: #define WM_DDE_INITIATE (WM_DDE_FIRST)
12: #define WM_DDE_TERMINATE (WM_DDE_FIRST+1)
13: #define WM_DDE_ADVISE (WM_DDE_FIRST+2)
14: #define WM_DDE_UNADVISE (WM_DDE_FIRST+3)
15: #define WM_DDE_ACK (WM_DDE_FIRST+4)
16: #define WM_DDE_DATA (WM_DDE_FIRST+5)
17: #define WM_DDE_REQUEST (WM_DDE_FIRST+6)
18: #define WM_DDE_POKE (WM_DDE_FIRST+7)
19: #define WM_DDE_EXECUTE (WM_DDE_FIRST+8)
20: #define WM_DDE_LAST (WM_DDE_FIRST+8)
21:
22: /*----------------------------------------------------------------------------
23: | DDEACK structure
24: |
25: | Structure of wStatus (LOWORD(lParam)) in WM_DDE_ACK message
26: | sent in response to a WM_DDE_DATA, WM_DDE_REQUEST, WM_DDE_POKE,
27: | WM_DDE_ADVISE, or WM_DDE_UNADVISE message.
28: |
29: ----------------------------------------------------------------------------*/
30:
31: typedef struct {
32: unsigned short bAppReturnCode:8,
33: reserved:6,
34: fBusy:1,
35: fAck:1;
36: } DDEACK;
37:
38:
39: /*----------------------------------------------------------------------------
40: | DDEADVISE structure
41: |
42: | WM_DDE_ADVISE parameter structure for hOptions (LOWORD(lParam))
43: |
44: ----------------------------------------------------------------------------*/
45:
46: typedef struct {
47: unsigned short reserved:14,
48: fDeferUpd:1,
49: fAckReq:1;
50: short cfFormat;
51: } DDEADVISE;
52:
53:
54: /*----------------------------------------------------------------------------
55: | DDEDATA structure
56: |
57: | WM_DDE_DATA parameter structure for hData (LOWORD(lParam)).
58: | The actual size of this structure depends on the size of
59: | the Value array.
60: |
61: ----------------------------------------------------------------------------*/
62:
63: typedef struct {
64: unsigned short unused:12,
65: fResponse:1,
66: fRelease:1,
67: reserved:1,
68: fAckReq:1;
69: short cfFormat;
70: BYTE Value[1];
71: } DDEDATA;
72:
73:
74: /*----------------------------------------------------------------------------
75: | DDEPOKE structure
76: |
77: | WM_DDE_POKE parameter structure for hData (LOWORD(lParam)).
78: | The actual size of this structure depends on the size of
79: | the Value array.
80: |
81: ----------------------------------------------------------------------------*/
82:
83: typedef struct {
84: unsigned short unused:13, /* Earlier versions of DDE.H incorrectly */
85: /* 12 unused bits. */
86: fRelease:1,
87: fReserved:2;
88: short cfFormat;
89: BYTE Value[1]; /* This member was named rgb[1] in previous */
90: /* versions of DDE.H */
91:
92: } DDEPOKE;
93:
94: /*----------------------------------------------------------------------------
95: The following typedef's were used in previous versions of the Windows SDK.
96: They are still valid. The above typedef's define exactly the same structures
97: as those below. The above typedef names are recommended, however, as they
98: are more meaningful.
99:
100: Note that the DDEPOKE structure typedef'ed in earlier versions of DDE.H did
101: not correctly define the bit positions.
102: ----------------------------------------------------------------------------*/
103:
104: typedef struct {
105: unsigned short unused:13,
106: fRelease:1,
107: fDeferUpd:1,
108: fAckReq:1;
109: short cfFormat;
110: } DDELN;
111:
112: typedef struct {
113: unsigned short unused:12,
114: fAck:1,
115: fRelease:1,
116: fReserved:1,
117: fAckReq:1;
118: short cfFormat;
119: BYTE rgb[1];
120: } DDEUP;
121:
122: /*
123: * dde-specific access flags
124: */
125: #define DDE_ADVISE 0x0001L
126: #define DDE_EXECUTE 0x0002L
127: #define DDE_POKE 0x0004L
128: #define DDE_REQUEST 0x0008L
129:
130:
131: //
132: // DDE message packing APIs
133: //
134: LONG APIENTRY PackDDElParam(UINT msg, UINT uiLo, UINT uiHi);
135: BOOL APIENTRY UnpackDDElParam(UINT msg, LONG lParam, PUINT puiLo, PUINT puiHi);
136: BOOL APIENTRY FreeDDElParam(UINT msg, LONG lParam);
137: LONG APIENTRY ReuseDDElParam(LONG lParam, UINT msgIn, UINT msgOut, UINT uiLo, UINT uiHi);
138:
139: #endif // _DDEHEADER_INCLUDED_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.