1 /***************************************************************************** 2 * Copyright 1995, Technion, Israel Institute of Technology 3 * Electrical Eng, Software Lab. 4 * Author: Michael Veksler. 5 * Purpose: dde declarations 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 * 17 * You should have received a copy of the GNU Lesser General Public 18 * License along with this library; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 20 ***************************************************************************** 21 */ 22 #ifndef __WINE_DDE_H 23 #define __WINE_DDE_H 24 25 #include <windef.h> 26 27 #ifdef __cplusplus 28 extern "C" { 29 #endif 30 31 #ifdef _MSC_VER 32 #pragma warning(push) 33 #pragma warning(disable:4214) 34 #pragma warning(disable:4820) 35 #endif 36 37 #define WM_DDE_INITIATE 0x3E0 38 #define WM_DDE_TERMINATE 0x3E1 39 #define WM_DDE_ADVISE 0x3E2 40 #define WM_DDE_UNADVISE 0x3E3 41 #define WM_DDE_ACK 0x3E4 42 #define WM_DDE_DATA 0x3E5 43 #define WM_DDE_REQUEST 0x3E6 44 #define WM_DDE_POKE 0x3E7 45 #define WM_DDE_EXECUTE 0x3E8 46 #define WM_DDE_LAST WM_DDE_EXECUTE 47 #define WM_DDE_FIRST WM_DDE_INITIATE 48 49 /* DDEACK: wStatus in WM_DDE_ACK message */ 50 typedef struct 51 { 52 unsigned short bAppReturnCode:8, reserved:6, fBusy:1, fAck:1; 53 } DDEACK; 54 55 /* DDEDATA: hData in WM_DDE_DATA message */ 56 typedef struct 57 { 58 unsigned short unused:12, fResponse:1, fRelease:1, reserved:1, fAckReq:1; 59 short cfFormat; 60 BYTE Value[1]; /* undetermined array */ 61 } DDEDATA; 62 63 /* DDEADVISE: hOptions in WM_DDE_ADVISE message */ 64 typedef struct 65 { 66 unsigned short reserved:14, fDeferUpd:1, fAckReq:1; 67 short cfFormat; 68 } DDEADVISE; 69 70 /* DDEPOKE: hData in WM_DDE_POKE message. */ 71 typedef struct 72 { 73 unsigned short unused:13, fRelease:1, fReserved:2; 74 short cfFormat; 75 BYTE Value[1]; /* undetermined array */ 76 } DDEPOKE; 77 78 BOOL WINAPI DdeSetQualityOfService(HWND hwndClient, 79 CONST SECURITY_QUALITY_OF_SERVICE *pqosNew, 80 PSECURITY_QUALITY_OF_SERVICE pqosPrev); 81 82 BOOL WINAPI ImpersonateDdeClientWindow(HWND hWndClient, HWND hWndServer); 83 84 /* lParam packing/unpacking API */ 85 86 LPARAM WINAPI PackDDElParam(UINT,UINT_PTR,UINT_PTR); 87 BOOL WINAPI UnpackDDElParam(UINT,LPARAM,PUINT_PTR,PUINT_PTR); 88 BOOL WINAPI FreeDDElParam(UINT,LPARAM); 89 LPARAM WINAPI ReuseDDElParam(LPARAM,UINT,UINT,UINT_PTR,UINT_PTR); 90 91 #ifdef _MSC_VER 92 #pragma warning(pop) 93 #endif 94 95 #ifdef __cplusplus 96 } 97 #endif 98 99 #endif /* __WINE_DDE_H */ 100