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

Last change on this file since 1036 was 4, checked in by ktk, 26 years ago

Import

File size: 10.4 KB
Line 
1/* $Id: ddeml.h,v 1.1 1999-05-24 20:19:10 ktk 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_ADVDATA (0x0010 | XCLASS_FLAGS)
122#define XTYP_XACT_COMPLETE (0x0080 | XCLASS_NOTIFICATION )
123#define XTYP_REGISTER (0x00A0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK )
124#define XTYP_REQUEST (0x00B0 | XCLASS_DATA )
125#define XTYP_DISCONNECT (0x00C0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK )
126#define XTYP_UNREGISTER (0x00D0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK )
127
128/**************************************************
129
130 End of Message Types Section
131
132****************************************************/
133
134/*****************************************************
135
136 DDE Codes for wStatus field
137
138*****************************************************/
139
140#define DDE_FACK 0x8000
141#define DDE_FBUSY 0x4000
142#define DDE_FDEFERUPD 0x4000
143#define DDE_FACKREQ 0x8000
144#define DDE_FRELEASE 0x2000
145#define DDE_FREQUESTED 0x1000
146#define DDE_FAPPSTATUS 0x00FF
147#define DDE_FNOTPROCESSED 0x0000
148
149
150/*****************************************************
151
152 End of wStatus codes
153
154*****************************************************/
155
156/****************************************************
157
158 Return Codes section again copied from SDK as must be same
159
160*****************************************************/
161
162#define DMLERR_NO_ERROR 0 /* must be 0 */
163
164#define DMLERR_FIRST 0x4000
165
166#define DMLERR_ADVACKTIMEOUT 0x4000
167#define DMLERR_BUSY 0x4001
168#define DMLERR_DATAACKTIMEOUT 0x4002
169#define DMLERR_DLL_NOT_INITIALIZED 0x4003
170#define DMLERR_DLL_USAGE 0x4004
171#define DMLERR_EXECACKTIMEOUT 0x4005
172#define DMLERR_INVALIDPARAMETER 0x4006
173#define DMLERR_LOW_MEMORY 0x4007
174#define DMLERR_MEMORY_ERROR 0x4008
175#define DMLERR_NOTPROCESSED 0x4009
176#define DMLERR_NO_CONV_ESTABLISHED 0x400a
177#define DMLERR_POKEACKTIMEOUT 0x400b
178#define DMLERR_POSTMSG_FAILED 0x400c
179#define DMLERR_REENTRANCY 0x400d
180#define DMLERR_SERVER_DIED 0x400e
181#define DMLERR_SYS_ERROR 0x400f
182#define DMLERR_UNADVACKTIMEOUT 0x4010
183#define DMLERR_UNFOUND_QUEUE_ID 0x4011
184
185#define DMLERR_LAST 0x4011
186
187/*****************************************************
188
189 End of Return Codes and Microsoft section
190
191******************************************************/
192
193
194
195typedef DWORD HCONVLIST;
196typedef DWORD HCONV;
197typedef DWORD HSZ;
198typedef DWORD HDDEDATA;
199#ifndef __WIN32OS2__
200typedef CHAR *LPTSTR;
201#endif
202
203
204/*******************************************************
205
206 API Entry Points
207
208*******************************************************/
209
210typedef HDDEDATA (* CALLBACK PFNCALLBACK16)(UINT16,UINT16,HCONV,HSZ,HSZ,
211 HDDEDATA,DWORD,DWORD);
212typedef HDDEDATA (* CALLBACK PFNCALLBACK)(UINT,UINT,HCONV,HSZ,HSZ,
213 HDDEDATA,DWORD,DWORD);
214
215/***************************************************
216
217 Externally visible data structures
218
219***************************************************/
220
221typedef struct
222{
223 UINT16 cb;
224 UINT16 wFlags;
225 UINT16 wCountryID;
226 INT16 iCodePage;
227 DWORD dwLangID;
228 DWORD dwSecurity;
229} CONVCONTEXT16, *LPCONVCONTEXT16;
230
231typedef struct
232{
233 UINT cb;
234 UINT wFlags;
235 UINT wCountryID;
236 INT iCodePage;
237 DWORD dwLangID;
238 DWORD dwSecurity;
239} CONVCONTEXT, *LPCONVCONTEXT;
240
241typedef struct
242{
243 DWORD cb;
244 DWORD hUser;
245 HCONV hConvPartner;
246 HSZ hszSvcPartner;
247 HSZ hszServiceReq;
248 HSZ hszTopic;
249 HSZ hszItem;
250 UINT16 wFmt;
251 UINT16 wType;
252 UINT16 wStatus;
253 UINT16 wConvst;
254 UINT16 wLastError;
255 HCONVLIST hConvList;
256 CONVCONTEXT16 ConvCtxt;
257} CONVINFO16, *LPCONVINFO16;
258
259typedef struct
260{
261 DWORD cb;
262 DWORD hUser;
263 HCONV hConvPartner;
264 HSZ hszSvcPartner;
265 HSZ hszServiceReq;
266 HSZ hszTopic;
267 HSZ hszItem;
268 UINT wFmt;
269 UINT wType;
270 UINT wStatus;
271 UINT wConvst;
272 UINT wLastError;
273 HCONVLIST hConvList;
274 CONVCONTEXT ConvCtxt;
275 HWND hwnd;
276 HWND hwndPartner;
277} CONVINFO, *LPCONVINFO;
278
279/* Interface Definitions */
280
281
282UINT16 WINAPI DdeInitialize16(LPDWORD,PFNCALLBACK16,DWORD,DWORD);
283UINT WINAPI DdeInitializeA(LPDWORD,PFNCALLBACK,DWORD,DWORD);
284UINT WINAPI DdeInitializeW(LPDWORD,PFNCALLBACK,DWORD,DWORD);
285#define DdeInitialize WINELIB_NAME_AW(DdeInitialize)
286BOOL16 WINAPI DdeUninitialize16(DWORD);
287BOOL WINAPI DdeUninitialize(DWORD);
288HCONVLIST WINAPI DdeConnectList16(DWORD,HSZ,HSZ,HCONVLIST,LPCONVCONTEXT16);
289HCONVLIST WINAPI DdeConnectList(DWORD,HSZ,HSZ,HCONVLIST,LPCONVCONTEXT);
290HCONV WINAPI DdeQueryNextServer16(HCONVLIST, HCONV);
291HCONV WINAPI DdeQueryNextServer(HCONVLIST, HCONV);
292DWORD WINAPI DdeQueryStringA(DWORD, HSZ, LPSTR, DWORD, INT);
293DWORD WINAPI DdeQueryStringW(DWORD, HSZ, LPWSTR, DWORD, INT);
294#define DdeQueryString WINELIB_NAME_AW(DdeQueryString)
295BOOL16 WINAPI DdeDisconnectList16(HCONVLIST);
296BOOL WINAPI DdeDisconnectList(HCONVLIST);
297HCONV WINAPI DdeConnect16(DWORD,HSZ,HSZ,LPCONVCONTEXT16);
298HCONV WINAPI DdeConnect(DWORD,HSZ,HSZ,LPCONVCONTEXT);
299BOOL16 WINAPI DdeDisconnect16(HCONV);
300BOOL WINAPI DdeDisconnect(HCONV);
301BOOL16 WINAPI DdeSetUserHandle16(HCONV,DWORD,DWORD);
302HDDEDATA WINAPI DdeCreateDataHandle16(DWORD,LPVOID,DWORD,DWORD,HSZ,UINT16,UINT16);
303HDDEDATA WINAPI DdeCreateDataHandle(DWORD,LPVOID,DWORD,DWORD,HSZ,UINT,UINT);
304HCONV WINAPI DdeReconnect(HCONV);
305HSZ WINAPI DdeCreateStringHandle16(DWORD,LPCSTR,INT16);
306HSZ WINAPI DdeCreateStringHandleA(DWORD,LPCSTR,INT);
307HSZ WINAPI DdeCreateStringHandleW(DWORD,LPCWSTR,INT);
308#define DdeCreateStringHandle WINELIB_NAME_AW(DdeCreateStringHandle)
309BOOL16 WINAPI DdeFreeStringHandle16(DWORD,HSZ);
310BOOL WINAPI DdeFreeStringHandle(DWORD,HSZ);
311BOOL16 WINAPI DdeFreeDataHandle16(HDDEDATA);
312BOOL WINAPI DdeFreeDataHandle(HDDEDATA);
313BOOL16 WINAPI DdeKeepStringHandle16(DWORD,HSZ);
314BOOL WINAPI DdeKeepStringHandle(DWORD,HSZ);
315HDDEDATA WINAPI DdeClientTransaction16(LPVOID,DWORD,HCONV,HSZ,UINT16,
316 UINT16,DWORD,LPDWORD);
317HDDEDATA WINAPI DdeClientTransaction(PVOID,DWORD,HCONV,HSZ,UINT,
318 UINT,DWORD,LPDWORD);
319BOOL16 WINAPI DdeAbandonTransaction16(DWORD,HCONV,DWORD);
320BOOL16 WINAPI DdePostAdvise16(DWORD,HSZ,HSZ);
321BOOL WINAPI DdePostAdvise(DWORD,HSZ,HSZ);
322HDDEDATA WINAPI DdeAddData16(HDDEDATA,LPBYTE,DWORD,DWORD);
323DWORD WINAPI DdeGetData(HDDEDATA,PVOID,DWORD,DWORD);
324LPBYTE WINAPI DdeAccessData16(HDDEDATA,LPDWORD);
325LPBYTE WINAPI DdeAccessData(HDDEDATA,LPDWORD);
326BOOL16 WINAPI DdeUnaccessData16(HDDEDATA);
327BOOL WINAPI DdeUnaccessData(HDDEDATA);
328BOOL16 WINAPI DdeEnableCallback16(DWORD,HCONV,UINT16);
329BOOL WINAPI DdeEnableCallback(DWORD,HCONV,UINT);
330int WINAPI DdeCmpStringHandles16(HSZ,HSZ);
331int WINAPI DdeCmpStringHandles(HSZ,HSZ);
332
333HDDEDATA WINAPI DdeNameService16(DWORD,HSZ,HSZ,UINT16);
334HDDEDATA WINAPI DdeNameService(DWORD,HSZ,HSZ,UINT);
335UINT16 WINAPI DdeGetLastError16(DWORD);
336UINT WINAPI DdeGetLastError(DWORD);
337UINT16 WINAPI DdeQueryConvInfo16(HCONV,DWORD,LPCONVINFO16);
338UINT WINAPI DdeQueryConvInfo(HCONV,DWORD,LPCONVINFO);
339
340#endif /* __WINE__DDEML_H */
Note: See TracBrowser for help on using the repository browser.