dde.h 2.62 KB
Newer Older
1
/*
Alexandre Julliard's avatar
Alexandre Julliard committed
2 3 4 5 6
 * Copyright 1995, Technion, Israel Institute of Technology
 * Electrical Eng, Software Lab.
 * Author:    Michael Veksler.
 * Purpose:   dde declarations
 *
7 8 9 10 11 12 13 14 15 16 17 18
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
19
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Alexandre Julliard's avatar
Alexandre Julliard committed
20
 */
21

Alexandre Julliard's avatar
Alexandre Julliard committed
22 23 24
#ifndef __WINE_DDE_H
#define __WINE_DDE_H

25
#include <windef.h>
Alexandre Julliard's avatar
Alexandre Julliard committed
26

27 28 29 30
#ifdef __cplusplus
extern "C" {
#endif

31 32 33 34 35 36
#ifdef _USER32_
#define WINUSERAPI
#else
#define WINUSERAPI DECLSPEC_IMPORT
#endif

Alexandre Julliard's avatar
Alexandre Julliard committed
37 38 39 40 41 42 43 44 45 46 47 48 49
#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

/* DDEACK: wStatus in WM_DDE_ACK message */
50
typedef struct
Alexandre Julliard's avatar
Alexandre Julliard committed
51
{
52
    unsigned short bAppReturnCode:8, reserved:6, fBusy:1, fAck:1;
53
} DDEACK;
Alexandre Julliard's avatar
Alexandre Julliard committed
54 55

/* DDEDATA: hData in WM_DDE_DATA message */
56
typedef struct
Alexandre Julliard's avatar
Alexandre Julliard committed
57
{
58 59
    unsigned short unused:12, fResponse:1, fRelease:1, reserved:1, fAckReq:1;
    short cfFormat;
Alexandre Julliard's avatar
Alexandre Julliard committed
60
    BYTE Value[1];		/* undetermined array */
61
} DDEDATA;
Alexandre Julliard's avatar
Alexandre Julliard committed
62 63

/* DDEADVISE: hOptions in WM_DDE_ADVISE message */
64
typedef struct
Alexandre Julliard's avatar
Alexandre Julliard committed
65
{
66 67 68
    unsigned short reserved:14, fDeferUpd:1, fAckReq:1;
    short cfFormat;
} DDEADVISE;
Alexandre Julliard's avatar
Alexandre Julliard committed
69 70

/* DDEPOKE: hData in WM_DDE_POKE message. */
71
typedef struct
Alexandre Julliard's avatar
Alexandre Julliard committed
72
{
73 74
    unsigned short unused:13, fRelease:1, fReserved:2;
    short cfFormat;
Alexandre Julliard's avatar
Alexandre Julliard committed
75
    BYTE Value[1];   	/* undetermined array */
76
} DDEPOKE;
Alexandre Julliard's avatar
Alexandre Julliard committed
77

78 79 80 81 82 83
WINUSERAPI BOOL        WINAPI DdeSetQualityOfService(HWND,CONST SECURITY_QUALITY_OF_SERVICE *,PSECURITY_QUALITY_OF_SERVICE);
WINUSERAPI BOOL        WINAPI FreeDDElParam(UINT,LPARAM);
WINUSERAPI BOOL        WINAPI ImpersonateDdeClientWindow(HWND,HWND);
WINUSERAPI LPARAM      WINAPI PackDDElParam(UINT,UINT_PTR,UINT_PTR);
WINUSERAPI LPARAM      WINAPI ReuseDDElParam(LPARAM,UINT,UINT,UINT_PTR,UINT_PTR);
WINUSERAPI BOOL        WINAPI UnpackDDElParam(UINT,LPARAM,PUINT_PTR,PUINT_PTR);
84 85 86 87 88

#ifdef __cplusplus
}
#endif

Alexandre Julliard's avatar
Alexandre Julliard committed
89
#endif /* __WINE_DDE_H */