Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
e32abe8a
Commit
e32abe8a
authored
Jan 28, 1999
by
Keith Matthews
Committed by
Alexandre Julliard
Jan 28, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1st cut implementation of DdeInitialize32W and supporting code.
parent
e905f3c6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
132 additions
and
0 deletions
+132
-0
ddeml.h
include/ddeml.h
+132
-0
ddeml.c
misc/ddeml.c
+0
-0
No files found.
include/ddeml.h
View file @
e32abe8a
...
@@ -16,11 +16,119 @@
...
@@ -16,11 +16,119 @@
#define CP_WINUNICODE 1200
#define CP_WINUNICODE 1200
#define MSGF_DDEMGR 0x8001
#define MSGF_DDEMGR 0x8001
/***************************************************
FLAGS Section - copied from Microsoft SDK as must be standard, probably Copyright Microsoft Corporation
***************************************************/
/*
* Callback filter flags for use with standard apps.
*/
#define CBF_FAIL_SELFCONNECTIONS 0x00001000
#define CBF_FAIL_CONNECTIONS 0x00002000
#define CBF_FAIL_ADVISES 0x00004000
#define CBF_FAIL_EXECUTES 0x00008000
#define CBF_FAIL_POKES 0x00010000
#define CBF_FAIL_REQUESTS 0x00020000
#define CBF_FAIL_ALLSVRXACTIONS 0x0003f000
#define CBF_SKIP_CONNECT_CONFIRMS 0x00040000
#define CBF_SKIP_REGISTRATIONS 0x00080000
#define CBF_SKIP_UNREGISTRATIONS 0x00100000
#define CBF_SKIP_DISCONNECTS 0x00200000
#define CBF_SKIP_ALLNOTIFICATIONS 0x003c0000
/*
* Application command flags
*/
#define APPCMD_CLIENTONLY 0x00000010L
#define APPCMD_FILTERINITS 0x00000020L
#define APPCMD_MASK 0x00000FF0L
/*
* Application classification flags
*/
#define APPCLASS_STANDARD 0x00000000L
#define APPCLASS_MONITOR 0x00000001L
#define APPCLASS_MASK 0x0000000FL
/*
* Callback filter flags for use with MONITOR apps - 0 implies no monitor
* callbacks.
*/
#define MF_HSZ_INFO 0x01000000
#define MF_SENDMSGS 0x02000000
#define MF_POSTMSGS 0x04000000
#define MF_CALLBACKS 0x08000000
#define MF_ERRORS 0x10000000
#define MF_LINKS 0x20000000
#define MF_CONV 0x40000000
#define MF_MASK 0xFF000000
/*
* DdeNameService service name flags
*/
#define DNS_REGISTER 0x0001
#define DNS_UNREGISTER 0x0002
#define DNS_FILTERON 0x0004
#define DNS_FILTEROFF 0x0008
/****************************************************
End of Flags section
****************************************************/
/****************************************************
Return Codes section again copied from SDK as must be same
*****************************************************/
#define DMLERR_NO_ERROR 0
/* must be 0 */
#define DMLERR_FIRST 0x4000
#define DMLERR_ADVACKTIMEOUT 0x4000
#define DMLERR_BUSY 0x4001
#define DMLERR_DATAACKTIMEOUT 0x4002
#define DMLERR_DLL_NOT_INITIALIZED 0x4003
#define DMLERR_DLL_USAGE 0x4004
#define DMLERR_EXECACKTIMEOUT 0x4005
#define DMLERR_INVALIDPARAMETER 0x4006
#define DMLERR_LOW_MEMORY 0x4007
#define DMLERR_MEMORY_ERROR 0x4008
#define DMLERR_NOTPROCESSED 0x4009
#define DMLERR_NO_CONV_ESTABLISHED 0x400a
#define DMLERR_POKEACKTIMEOUT 0x400b
#define DMLERR_POSTMSG_FAILED 0x400c
#define DMLERR_REENTRANCY 0x400d
#define DMLERR_SERVER_DIED 0x400e
#define DMLERR_SYS_ERROR 0x400f
#define DMLERR_UNADVACKTIMEOUT 0x4010
#define DMLERR_UNFOUND_QUEUE_ID 0x4011
#define DMLERR_LAST 0x4011
/*****************************************************
End of Return Codes and Microsoft section
******************************************************/
typedef
DWORD
HCONVLIST
;
typedef
DWORD
HCONVLIST
;
typedef
DWORD
HCONV
;
typedef
DWORD
HCONV
;
typedef
DWORD
HSZ
;
typedef
DWORD
HSZ
;
typedef
DWORD
HDDEDATA
;
typedef
DWORD
HDDEDATA
;
typedef
CHAR
*
LPTSTR
;
typedef
HDDEDATA
(
CALLBACK
*
PFNCALLBACK16
)(
UINT16
,
UINT16
,
HCONV
,
HSZ
,
HSZ
,
typedef
HDDEDATA
(
CALLBACK
*
PFNCALLBACK16
)(
UINT16
,
UINT16
,
HCONV
,
HSZ
,
HSZ
,
HDDEDATA
,
DWORD
,
DWORD
);
HDDEDATA
,
DWORD
,
DWORD
);
...
@@ -28,6 +136,12 @@ typedef HDDEDATA (CALLBACK *PFNCALLBACK32)(UINT32,UINT32,HCONV,HSZ,HSZ,
...
@@ -28,6 +136,12 @@ typedef HDDEDATA (CALLBACK *PFNCALLBACK32)(UINT32,UINT32,HCONV,HSZ,HSZ,
HDDEDATA
,
DWORD
,
DWORD
);
HDDEDATA
,
DWORD
,
DWORD
);
DECL_WINELIB_TYPE
(
PFNCALLBACK
)
DECL_WINELIB_TYPE
(
PFNCALLBACK
)
/***************************************************
Externally visible data structures
***************************************************/
typedef
struct
typedef
struct
{
{
UINT16
cb
;
UINT16
cb
;
...
@@ -48,6 +162,24 @@ typedef struct
...
@@ -48,6 +162,24 @@ typedef struct
DWORD
dwSecurity
;
DWORD
dwSecurity
;
}
CONVCONTEXT32
,
*
LPCONVCONTEXT32
;
}
CONVCONTEXT32
,
*
LPCONVCONTEXT32
;
// Internal data structures
/* entry for handle table */
typedef
struct
DDE_HANDLE_ENTRY
{
BOOL16
Monitor
;
// have these two as full Booleans cos they'll be tested frequently
BOOL16
Client_only
;
// bit wasteful of space but it will be faster
BOOL16
Unicode
;
/* Flag to indicate Win32 API used to initialise */
BOOL16
Win16
;
/* flag to indicate Win16 API used to initialize */
LPDWORD
Instance_id
;
// needed to track monitor usage
struct
DDE_HANDLE_ENTRY
*
Next_Entry
;
PFNCALLBACK32
CallBack
;
DWORD
CBF_Flags
;
DWORD
Monitor_flags
;
UINT32
Txn_count
;
// count transactions open to simplify closure
}
DDE_HANDLE_ENTRY
;
// Interface Definitions
DECL_WINELIB_TYPE
(
CONVCONTEXT
)
DECL_WINELIB_TYPE
(
CONVCONTEXT
)
DECL_WINELIB_TYPE
(
LPCONVCONTEXT
)
DECL_WINELIB_TYPE
(
LPCONVCONTEXT
)
...
...
misc/ddeml.c
View file @
e32abe8a
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment