ReactOS 0.4.17-dev-1321-g5c122a9
dde.h File Reference
#include <windef.h>
Include dependency graph for dde.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  DDEACK
 
struct  DDEDATA
 
struct  DDEADVISE
 
struct  DDEPOKE
 

Macros

#define WM_DDE_INITIATE   0x3E0
 
#define WM_DDE_TERMINATE   0x3E1
 
#define WM_DDE_ADVISE   0x3E2
 
#define WM_DDE_UNADVISE   0x3E3
 
#define WM_DDE_ACK   0x3E4
 
#define WM_DDE_DATA   0x3E5
 
#define WM_DDE_REQUEST   0x3E6
 
#define WM_DDE_POKE   0x3E7
 
#define WM_DDE_EXECUTE   0x3E8
 
#define WM_DDE_LAST   WM_DDE_EXECUTE
 
#define WM_DDE_FIRST   WM_DDE_INITIATE
 

Functions

BOOL WINAPI DdeSetQualityOfService (HWND hwndClient, CONST SECURITY_QUALITY_OF_SERVICE *pqosNew, PSECURITY_QUALITY_OF_SERVICE pqosPrev)
 
BOOL WINAPI ImpersonateDdeClientWindow (HWND hWndClient, HWND hWndServer)
 
LPARAM WINAPI PackDDElParam (UINT, UINT_PTR, UINT_PTR)
 
BOOL WINAPI UnpackDDElParam (UINT, LPARAM, PUINT_PTR, PUINT_PTR)
 
BOOL WINAPI FreeDDElParam (UINT, LPARAM)
 
LPARAM WINAPI ReuseDDElParam (LPARAM, UINT, UINT, UINT_PTR, UINT_PTR)
 

Macro Definition Documentation

◆ WM_DDE_ACK

#define WM_DDE_ACK   0x3E4

Definition at line 41 of file dde.h.

◆ WM_DDE_ADVISE

#define WM_DDE_ADVISE   0x3E2

Definition at line 39 of file dde.h.

◆ WM_DDE_DATA

#define WM_DDE_DATA   0x3E5

Definition at line 42 of file dde.h.

◆ WM_DDE_EXECUTE

#define WM_DDE_EXECUTE   0x3E8

Definition at line 45 of file dde.h.

◆ WM_DDE_FIRST

#define WM_DDE_FIRST   WM_DDE_INITIATE

Definition at line 47 of file dde.h.

◆ WM_DDE_INITIATE

#define WM_DDE_INITIATE   0x3E0

Definition at line 37 of file dde.h.

◆ WM_DDE_LAST

#define WM_DDE_LAST   WM_DDE_EXECUTE

Definition at line 46 of file dde.h.

◆ WM_DDE_POKE

#define WM_DDE_POKE   0x3E7

Definition at line 44 of file dde.h.

◆ WM_DDE_REQUEST

#define WM_DDE_REQUEST   0x3E6

Definition at line 43 of file dde.h.

◆ WM_DDE_TERMINATE

#define WM_DDE_TERMINATE   0x3E1

Definition at line 38 of file dde.h.

◆ WM_DDE_UNADVISE

#define WM_DDE_UNADVISE   0x3E3

Definition at line 40 of file dde.h.

Function Documentation

◆ DdeSetQualityOfService()

BOOL WINAPI DdeSetQualityOfService ( HWND  hwndClient,
CONST SECURITY_QUALITY_OF_SERVICE *  pqosNew,
PSECURITY_QUALITY_OF_SERVICE  pqosPrev 
)

◆ FreeDDElParam()

BOOL WINAPI FreeDDElParam ( UINT  msg,
LPARAM  lParam 
)

Definition at line 151 of file ddemisc.c.

152{
153 switch (msg)
154 {
155 case WM_DDE_ACK:
156 case WM_DDE_ADVISE:
157 case WM_DDE_DATA:
158 case WM_DDE_POKE:
159 /* first check if it's a global handle */
160 if (!GlobalHandle( (LPVOID)lParam )) return TRUE;
161 return !GlobalFree( (HGLOBAL)lParam );
162
163 default:
164 return TRUE;
165 }
166}
#define msg(x)
Definition: auth_time.c:54
LPARAM lParam
Definition: combotst.c:139
#define WM_DDE_DATA
Definition: dde.h:42
#define WM_DDE_POKE
Definition: dde.h:44
#define WM_DDE_ADVISE
Definition: dde.h:39
#define WM_DDE_ACK
Definition: dde.h:41
#define TRUE
Definition: types.h:120
HGLOBAL NTAPI GlobalHandle(LPCVOID pMem)
Definition: heapmem.c:705
HGLOBAL NTAPI GlobalFree(HGLOBAL hMem)
Definition: heapmem.c:611

Referenced by post_dde_message(), ReuseDDElParam(), test_FreeDDElParam(), test_PackDDElParam(), WDML_HandleAdviseReply(), WDML_HandleExecuteReply(), WDML_HandleIncomingData(), WDML_HandlePokeReply(), WDML_HandleRequestReply(), WDML_HandleUnadviseReply(), WDML_PostAck(), and WDML_ServerHandleUnadvise().

◆ ImpersonateDdeClientWindow()

BOOL WINAPI ImpersonateDdeClientWindow ( HWND  hWndClient,
HWND  hWndServer 
)

Definition at line 225 of file ddemisc.c.

226{
227 FIXME("(%p %p): stub\n", hWndClient, hWndServer);
228 return FALSE;
229}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define FALSE
Definition: types.h:117

Referenced by DdeImpersonateClient().

◆ PackDDElParam()

LPARAM WINAPI PackDDElParam ( UINT  msg,
UINT_PTR  uiLo,
UINT_PTR  uiHi 
)

Definition at line 67 of file ddemisc.c.

68{
69 HGLOBAL hMem;
71
72 switch (msg)
73 {
74 case WM_DDE_ACK:
75 case WM_DDE_ADVISE:
76 case WM_DDE_DATA:
77 case WM_DDE_POKE:
78 if (!(hMem = GlobalAlloc(GMEM_DDESHARE, sizeof(UINT_PTR) * 2)))
79 {
80 ERR("GlobalAlloc failed\n");
81 return 0;
82 }
83 if (!(params = GlobalLock(hMem)))
84 {
85 ERR("GlobalLock failed (%p)\n", hMem);
86 return 0;
87 }
88 params[0] = uiLo;
89 params[1] = uiHi;
90 GlobalUnlock(hMem);
91 return (LPARAM)hMem;
92
93 case WM_DDE_EXECUTE:
94 return uiHi;
95
96 default:
97 return MAKELONG(uiLo, uiHi);
98 }
99}
#define ERR(fmt,...)
Definition: precomp.h:57
#define WM_DDE_EXECUTE
Definition: dde.h:45
GLenum const GLfloat * params
Definition: glext.h:5645
BOOL NTAPI GlobalUnlock(HGLOBAL hMem)
Definition: heapmem.c:1190
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
Definition: heapmem.c:368
static ERESOURCE GlobalLock
Definition: sys_arch.c:8
LONG_PTR LPARAM
Definition: minwindef.h:175
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
#define MAKELONG(a, b)
Definition: typedefs.h:249
#define GMEM_DDESHARE
Definition: winbase.h:322

Referenced by dde_server_wndproc(), dde_server_wndprocA(), dde_server_wndprocW(), DdePostAdvise(), ReuseDDElParam(), test_msg_client(), test_PackDDElParam(), unpack_dde_message(), WDML_ClientQueueAdvise(), WDML_ClientQueuePoke(), WDML_ClientQueueRequest(), WDML_ClientQueueUnadvise(), and WDML_PostAck().

◆ ReuseDDElParam()

LPARAM WINAPI ReuseDDElParam ( LPARAM  lParam,
UINT  msgIn,
UINT  msgOut,
UINT_PTR  uiLo,
UINT_PTR  uiHi 
)

Definition at line 175 of file ddemisc.c.

177{
179
180 switch (msgIn)
181 {
182 case WM_DDE_ACK:
183 case WM_DDE_ADVISE:
184 case WM_DDE_DATA:
185 case WM_DDE_POKE:
186 switch(msgOut)
187 {
188 case WM_DDE_ACK:
189 case WM_DDE_ADVISE:
190 case WM_DDE_DATA:
191 case WM_DDE_POKE:
192 if (!lParam) return 0;
193 if (!(params = GlobalLock( (HGLOBAL)lParam )))
194 {
195 ERR("GlobalLock failed\n");
196 return 0;
197 }
198 params[0] = uiLo;
199 params[1] = uiHi;
200 TRACE("Reusing pack %08Ix %08Ix\n", uiLo, uiHi);
202 return lParam;
203
204 case WM_DDE_EXECUTE:
205 FreeDDElParam( msgIn, lParam );
206 return uiHi;
207
208 default:
209 FreeDDElParam( msgIn, lParam );
210 return MAKELPARAM(uiLo, uiHi);
211 }
212
213 default:
214 return PackDDElParam( msgOut, uiLo, uiHi );
215 }
216}
LPARAM WINAPI PackDDElParam(UINT msg, UINT_PTR uiLo, UINT_PTR uiHi)
Definition: ddemisc.c:67
BOOL WINAPI FreeDDElParam(UINT msg, LPARAM lParam)
Definition: ddemisc.c:151
#define MAKELPARAM(l, h)
Definition: winuser.h:4116
#define TRACE(s)
Definition: solgame.cpp:4

Referenced by dde_server_wndproc(), dde_server_wndprocA(), dde_server_wndprocW(), WDML_PostAck(), and WDML_ServerHandleRequest().

◆ UnpackDDElParam()

BOOL WINAPI UnpackDDElParam ( UINT  msg,
LPARAM  lParam,
PUINT_PTR  uiLo,
PUINT_PTR  uiHi 
)

Definition at line 109 of file ddemisc.c.

111{
113
114 switch (msg)
115 {
116 case WM_DDE_ACK:
117 case WM_DDE_ADVISE:
118 case WM_DDE_DATA:
119 case WM_DDE_POKE:
120 if (!lParam || !(params = GlobalLock((HGLOBAL)lParam)))
121 {
122 if (uiLo) *uiLo = 0;
123 if (uiHi) *uiHi = 0;
124 return FALSE;
125 }
126 if (uiLo) *uiLo = params[0];
127 if (uiHi) *uiHi = params[1];
129 return TRUE;
130
131 case WM_DDE_EXECUTE:
132 if (uiLo) *uiLo = 0;
133 if (uiHi) *uiHi = lParam;
134 return TRUE;
135
136 default:
137 if (uiLo) *uiLo = LOWORD(lParam);
138 if (uiHi) *uiHi = HIWORD(lParam);
139 return TRUE;
140 }
141}
#define LOWORD(l)
Definition: pedump.c:82
#define HIWORD(l)
Definition: typedefs.h:247

Referenced by dde_msg_client_wndproc(), dde_server_wndproc(), dde_server_wndprocA(), dde_server_wndprocW(), hook_dde_client_wndprocA(), hook_dde_client_wndprocW(), post_dde_message(), test_PackDDElParam(), test_UnpackDDElParam(), WDML_HandleAdviseReply(), WDML_HandleExecuteReply(), WDML_HandleIncomingData(), WDML_HandlePokeReply(), WDML_HandleRequestReply(), WDML_HandleUnadviseReply(), WDML_ServerNameProc(), WDML_ServerQueueAdvise(), WDML_ServerQueuePoke(), WDML_ServerQueueRequest(), and WDML_ServerQueueUnadvise().