source: trunk/include/win/ddeml.h@ 5200

Last change on this file since 5200 was 1118, checked in by sandervl, 26 years ago

Lots of changes by several people (see changelog for 4 October

File size: 11.2 KB
Line 
1/* $Id: ddeml.h,v 1.2 1999-10-04 09:55:49 sandervl Exp $ */
2
3/*
4 * DDEML library definitions
5 *
6 * Copyright 1997 Alexandre Julliard
7 * Copyright 1997 Len White
8 */
9
10#ifndef __WINE__DDEML_H
11#define __WINE__DDEML_H
12
13#include "windef.h"
14
15/* Codepage Constants
16 */
17
18#define CP_WINANSI 1004
19#define CP_WINUNICODE 1200
20
21/* DDE synchronisation constants
22 */
23
24#define MSGF_DDEMGR 0x8001
25
26#define QID_SYNC16 -1L
27#define QID_SYNC 0xFFFFFFFF
28
29/* Type variation for MS deliberate departures from ANSI standards
30 */
31
32#define EXPENTRY CALLBACK
33
34/***************************************************
35
36 FLAGS Section - copied from Microsoft SDK as must be standard, probably Copyright Microsoft Corporation
37
38***************************************************/
39
40/*
41 * Callback filter flags for use with standard apps.
42 */
43
44#define CBF_FAIL_SELFCONNECTIONS 0x00001000
45#define CBF_FAIL_CONNECTIONS 0x00002000
46#define CBF_FAIL_ADVISES 0x00004000
47#define CBF_FAIL_EXECUTES 0x00008000
48#define CBF_FAIL_POKES 0x00010000
49#define CBF_FAIL_REQUESTS 0x00020000
50#define CBF_FAIL_ALLSVRXACTIONS 0x0003f000
51
52#define CBF_SKIP_CONNECT_CONFIRMS 0x00040000
53#define CBF_SKIP_REGISTRATIONS 0x00080000
54#define CBF_SKIP_UNREGISTRATIONS 0x00100000
55#define CBF_SKIP_DISCONNECTS 0x00200000
56#define CBF_SKIP_ALLNOTIFICATIONS 0x003c0000
57
58#define CBR_BLOCK 0xFFFFFFFFL
59
60/*
61 * Application command flags
62 */
63#define APPCMD_CLIENTONLY 0x00000010L
64#define APPCMD_FILTERINITS 0x00000020L
65#define APPCMD_MASK 0x00000FF0L
66
67/*
68 * Application classification flags
69 */
70
71#define APPCLASS_STANDARD 0x00000000L
72#define APPCLASS_MONITOR 0x00000001L
73#define APPCLASS_MASK 0x0000000FL
74
75/*
76 * Callback filter flags for use with MONITOR apps - 0 implies no monitor
77 * callbacks.
78 */
79#define MF_HSZ_INFO 0x01000000
80#define MF_SENDMSGS 0x02000000
81#define MF_POSTMSGS 0x04000000
82#define MF_CALLBACKS 0x08000000
83#define MF_ERRORS 0x10000000
84#define MF_LINKS 0x20000000
85#define MF_CONV 0x40000000
86
87#define MF_MASK 0xFF000000
88
89/*
90 * DdeNameService service name flags
91 */
92
93#define DNS_REGISTER 0x0001
94#define DNS_UNREGISTER 0x0002
95#define DNS_FILTERON 0x0004
96#define DNS_FILTEROFF 0x0008
97
98
99/****************************************************
100
101 End of Flags section
102
103****************************************************/
104
105/****************************************************
106
107 Message Types Section
108
109****************************************************/
110
111#define XTYPF_NOBLOCK 0x0002 /* CBR_NOBLOCK will not work */
112#define XTYPF_NODATA 0x0004 /* DDE_FDEFERUPD */
113#define XTYPF_ACKREQ 0x0008 /* DDE_FACKREQ */
114
115#define XCLASS_MASK 0xFC00
116#define XCLASS_BOOL 0x1000
117#define XCLASS_DATA 0x2000
118#define XCLASS_FLAGS 0x4000
119#define XCLASS_NOTIFICATION 0x8000
120
121#define XTYP_XACT_COMPLETE (0x0080 | XCLASS_NOTIFICATION )
122#define XTYP_REQUEST (0x00B0 | XCLASS_DATA )
123
124//Odin addition
125#define XTYP_ERROR (0x0000 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK )
126#define XTYP_ADVDATA (0x0010 | XCLASS_FLAGS )
127#define XTYP_ADVREQ (0x0020 | XCLASS_DATA | XTYPF_NOBLOCK )
128#define XTYP_ADVSTART (0x0030 | XCLASS_BOOL )
129#define XTYP_ADVSTOP (0x0040 | XCLASS_NOTIFICATION)
130#define XTYP_EXECUTE (0x0050 | XCLASS_FLAGS )
131#define XTYP_CONNECT (0x0060 | XCLASS_BOOL | XTYPF_NOBLOCK)
132#define XTYP_CONNECT_CONFIRM (0x0070 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK)
133#define XTYP_XACT_COMPLETE (0x0080 | XCLASS_NOTIFICATION )
134#define XTYP_POKE (0x0090 | XCLASS_FLAGS )
135#define XTYP_REGISTER (0x00A0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK)
136#define XTYP_REQUEST (0x00B0 | XCLASS_DATA )
137#define XTYP_DISCONNECT (0x00C0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK)
138#define XTYP_UNREGISTER (0x00D0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK)
139#define XTYP_WILDCONNECT (0x00E0 | XCLASS_DATA | XTYPF_NOBLOCK)
140
141/**************************************************
142
143 End of Message Types Section
144
145****************************************************/
146
147/*****************************************************
148
149 DDE Codes for wStatus field
150
151*****************************************************/
152
153#define DDE_FACK 0x8000
154#define DDE_FBUSY 0x4000
155#define DDE_FDEFERUPD 0x4000
156#define DDE_FACKREQ 0x8000
157#define DDE_FRELEASE 0x2000
158#define DDE_FREQUESTED 0x1000
159#define DDE_FAPPSTATUS 0x00FF
160#define DDE_FNOTPROCESSED 0x0000
161
162
163/*****************************************************
164
165 End of wStatus codes
166
167*****************************************************/
168
169/****************************************************
170
171 Return Codes section again copied from SDK as must be same
172
173*****************************************************/
174
175#define DMLERR_NO_ERROR 0 /* must be 0 */
176
177#define DMLERR_FIRST 0x4000
178
179#define DMLERR_ADVACKTIMEOUT 0x4000
180#define DMLERR_BUSY 0x4001
181#define DMLERR_DATAACKTIMEOUT 0x4002
182#define DMLERR_DLL_NOT_INITIALIZED 0x4003
183#define DMLERR_DLL_USAGE 0x4004
184#define DMLERR_EXECACKTIMEOUT 0x4005
185#define DMLERR_INVALIDPARAMETER 0x4006
186#define DMLERR_LOW_MEMORY 0x4007
187#define DMLERR_MEMORY_ERROR 0x4008
188#define DMLERR_NOTPROCESSED 0x4009
189#define DMLERR_NO_CONV_ESTABLISHED 0x400a
190#define DMLERR_POKEACKTIMEOUT 0x400b
191#define DMLERR_POSTMSG_FAILED 0x400c
192#define DMLERR_REENTRANCY 0x400d
193#define DMLERR_SERVER_DIED 0x400e
194#define DMLERR_SYS_ERROR 0x400f
195#define DMLERR_UNADVACKTIMEOUT 0x4010
196#define DMLERR_UNFOUND_QUEUE_ID 0x4011
197
198#define DMLERR_LAST 0x4011
199
200/*****************************************************
201
202 End of Return Codes and Microsoft section
203
204******************************************************/
205
206
207
208typedef DWORD HCONVLIST;
209typedef DWORD HCONV;
210typedef DWORD HSZ;
211typedef DWORD HDDEDATA;
212#ifndef __WIN32OS2__
213typedef CHAR *LPTSTR;
214#endif
215
216
217/*******************************************************
218
219 API Entry Points
220
221*******************************************************/
222
223typedef HDDEDATA (* CALLBACK PFNCALLBACK16)(UINT16,UINT16,HCONV,HSZ,HSZ,
224 HDDEDATA,DWORD,DWORD);
225typedef HDDEDATA (* CALLBACK PFNCALLBACK)(UINT,UINT,HCONV,HSZ,HSZ,
226 HDDEDATA,DWORD,DWORD);
227
228/***************************************************
229
230 Externally visible data structures
231
232***************************************************/
233
234typedef struct
235{
236 UINT16 cb;
237 UINT16 wFlags;
238 UINT16 wCountryID;
239 INT16 iCodePage;
240 DWORD dwLangID;
241 DWORD dwSecurity;
242} CONVCONTEXT16, *LPCONVCONTEXT16;
243
244typedef struct
245{
246 UINT cb;
247 UINT wFlags;
248 UINT wCountryID;
249 INT iCodePage;
250 DWORD dwLangID;
251 DWORD dwSecurity;
252} CONVCONTEXT, *LPCONVCONTEXT;
253
254typedef struct
255{
256 DWORD cb;
257 DWORD hUser;
258 HCONV hConvPartner;
259 HSZ hszSvcPartner;
260 HSZ hszServiceReq;
261 HSZ hszTopic;
262 HSZ hszItem;
263 UINT16 wFmt;
264 UINT16 wType;
265 UINT16 wStatus;
266 UINT16 wConvst;
267 UINT16 wLastError;
268 HCONVLIST hConvList;
269 CONVCONTEXT16 ConvCtxt;
270} CONVINFO16, *LPCONVINFO16;
271
272typedef struct
273{
274 DWORD cb;
275 DWORD hUser;
276 HCONV hConvPartner;
277 HSZ hszSvcPartner;
278 HSZ hszServiceReq;
279 HSZ hszTopic;
280 HSZ hszItem;
281 UINT wFmt;
282 UINT wType;
283 UINT wStatus;
284 UINT wConvst;
285 UINT wLastError;
286 HCONVLIST hConvList;
287 CONVCONTEXT ConvCtxt;
288 HWND hwnd;
289 HWND hwndPartner;
290} CONVINFO, *LPCONVINFO;
291
292/* Interface Definitions */
293
294
295UINT16 WINAPI DdeInitialize16(LPDWORD,PFNCALLBACK16,DWORD,DWORD);
296UINT WINAPI DdeInitializeA(LPDWORD,PFNCALLBACK,DWORD,DWORD);
297UINT WINAPI DdeInitializeW(LPDWORD,PFNCALLBACK,DWORD,DWORD);
298#define DdeInitialize WINELIB_NAME_AW(DdeInitialize)
299BOOL16 WINAPI DdeUninitialize16(DWORD);
300BOOL WINAPI DdeUninitialize(DWORD);
301HCONVLIST WINAPI DdeConnectList16(DWORD,HSZ,HSZ,HCONVLIST,LPCONVCONTEXT16);
302HCONVLIST WINAPI DdeConnectList(DWORD,HSZ,HSZ,HCONVLIST,LPCONVCONTEXT);
303HCONV WINAPI DdeQueryNextServer16(HCONVLIST, HCONV);
304HCONV WINAPI DdeQueryNextServer(HCONVLIST, HCONV);
305DWORD WINAPI DdeQueryStringA(DWORD, HSZ, LPSTR, DWORD, INT);
306DWORD WINAPI DdeQueryStringW(DWORD, HSZ, LPWSTR, DWORD, INT);
307#define DdeQueryString WINELIB_NAME_AW(DdeQueryString)
308BOOL16 WINAPI DdeDisconnectList16(HCONVLIST);
309BOOL WINAPI DdeDisconnectList(HCONVLIST);
310HCONV WINAPI DdeConnect16(DWORD,HSZ,HSZ,LPCONVCONTEXT16);
311HCONV WINAPI DdeConnect(DWORD,HSZ,HSZ,LPCONVCONTEXT);
312BOOL16 WINAPI DdeDisconnect16(HCONV);
313BOOL WINAPI DdeDisconnect(HCONV);
314BOOL16 WINAPI DdeSetUserHandle16(HCONV,DWORD,DWORD);
315HDDEDATA WINAPI DdeCreateDataHandle16(DWORD,LPVOID,DWORD,DWORD,HSZ,UINT16,UINT16);
316HDDEDATA WINAPI DdeCreateDataHandle(DWORD,LPVOID,DWORD,DWORD,HSZ,UINT,UINT);
317HCONV WINAPI DdeReconnect(HCONV);
318HSZ WINAPI DdeCreateStringHandle16(DWORD,LPCSTR,INT16);
319HSZ WINAPI DdeCreateStringHandleA(DWORD,LPCSTR,INT);
320HSZ WINAPI DdeCreateStringHandleW(DWORD,LPCWSTR,INT);
321#define DdeCreateStringHandle WINELIB_NAME_AW(DdeCreateStringHandle)
322BOOL16 WINAPI DdeFreeStringHandle16(DWORD,HSZ);
323BOOL WINAPI DdeFreeStringHandle(DWORD,HSZ);
324BOOL16 WINAPI DdeFreeDataHandle16(HDDEDATA);
325BOOL WINAPI DdeFreeDataHandle(HDDEDATA);
326BOOL16 WINAPI DdeKeepStringHandle16(DWORD,HSZ);
327BOOL WINAPI DdeKeepStringHandle(DWORD,HSZ);
328HDDEDATA WINAPI DdeClientTransaction16(LPVOID,DWORD,HCONV,HSZ,UINT16,
329 UINT16,DWORD,LPDWORD);
330HDDEDATA WINAPI DdeClientTransaction(PVOID,DWORD,HCONV,HSZ,UINT,
331 UINT,DWORD,LPDWORD);
332BOOL16 WINAPI DdeAbandonTransaction16(DWORD,HCONV,DWORD);
333BOOL16 WINAPI DdePostAdvise16(DWORD,HSZ,HSZ);
334BOOL WINAPI DdePostAdvise(DWORD,HSZ,HSZ);
335HDDEDATA WINAPI DdeAddData16(HDDEDATA,LPBYTE,DWORD,DWORD);
336DWORD WINAPI DdeGetData(HDDEDATA,PVOID,DWORD,DWORD);
337LPBYTE WINAPI DdeAccessData16(HDDEDATA,LPDWORD);
338LPBYTE WINAPI DdeAccessData(HDDEDATA,LPDWORD);
339BOOL16 WINAPI DdeUnaccessData16(HDDEDATA);
340BOOL WINAPI DdeUnaccessData(HDDEDATA);
341BOOL16 WINAPI DdeEnableCallback16(DWORD,HCONV,UINT16);
342BOOL WINAPI DdeEnableCallback(DWORD,HCONV,UINT);
343int WINAPI DdeCmpStringHandles16(HSZ,HSZ);
344int WINAPI DdeCmpStringHandles(HSZ,HSZ);
345
346HDDEDATA WINAPI DdeNameService16(DWORD,HSZ,HSZ,UINT16);
347HDDEDATA WINAPI DdeNameService(DWORD,HSZ,HSZ,UINT);
348UINT16 WINAPI DdeGetLastError16(DWORD);
349UINT WINAPI DdeGetLastError(DWORD);
350UINT16 WINAPI DdeQueryConvInfo16(HCONV,DWORD,LPCONVINFO16);
351UINT WINAPI DdeQueryConvInfo(HCONV,DWORD,LPCONVINFO);
352
353#endif /* __WINE__DDEML_H */
Note: See TracBrowser for help on using the repository browser.