4e2933c620 2015-04-21 kinaba: /***********************************************************************\ 4e2933c620 2015-04-21 kinaba: * ddeml.d * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Windows API header module * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Translated from MinGW Windows headers * 4e2933c620 2015-04-21 kinaba: * by Stewart Gordon * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Placed into public domain * 4e2933c620 2015-04-21 kinaba: \***********************************************************************/ c2b7a98c21 2011-02-23 kinaba: module win32.ddeml; 4e2933c620 2015-04-21 kinaba: pragma(lib, "user32.lib"); 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: private import win32.basetsd, win32.windef, win32.winnt; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : int { 4e2933c620 2015-04-21 kinaba: CP_WINANSI = 1004, 4e2933c620 2015-04-21 kinaba: CP_WINUNICODE = 1200 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : UINT { 4e2933c620 2015-04-21 kinaba: XTYPF_NOBLOCK = 2, 4e2933c620 2015-04-21 kinaba: XTYPF_NODATA = 4, 4e2933c620 2015-04-21 kinaba: XTYPF_ACKREQ = 8 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : UINT { 4e2933c620 2015-04-21 kinaba: XCLASS_MASK = 0xFC00, 4e2933c620 2015-04-21 kinaba: XCLASS_BOOL = 0x1000, 4e2933c620 2015-04-21 kinaba: XCLASS_DATA = 0x2000, 4e2933c620 2015-04-21 kinaba: XCLASS_FLAGS = 0x4000, 4e2933c620 2015-04-21 kinaba: XCLASS_NOTIFICATION = 0x8000 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : UINT { 4e2933c620 2015-04-21 kinaba: XST_NULL, 4e2933c620 2015-04-21 kinaba: XST_INCOMPLETE, 4e2933c620 2015-04-21 kinaba: XST_CONNECTED, 4e2933c620 2015-04-21 kinaba: XST_INIT1, 4e2933c620 2015-04-21 kinaba: XST_INIT2, 4e2933c620 2015-04-21 kinaba: XST_REQSENT, 4e2933c620 2015-04-21 kinaba: XST_DATARCVD, 4e2933c620 2015-04-21 kinaba: XST_POKESENT, 4e2933c620 2015-04-21 kinaba: XST_POKEACKRCVD, 4e2933c620 2015-04-21 kinaba: XST_EXECSENT, 4e2933c620 2015-04-21 kinaba: XST_EXECACKRCVD, 4e2933c620 2015-04-21 kinaba: XST_ADVSENT, 4e2933c620 2015-04-21 kinaba: XST_UNADVSENT, 4e2933c620 2015-04-21 kinaba: XST_ADVACKRCVD, 4e2933c620 2015-04-21 kinaba: XST_UNADVACKRCVD, 4e2933c620 2015-04-21 kinaba: XST_ADVDATASENT, 4e2933c620 2015-04-21 kinaba: XST_ADVDATAACKRCVD // = 16 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : UINT { 4e2933c620 2015-04-21 kinaba: XTYP_ERROR = XCLASS_NOTIFICATION | XTYPF_NOBLOCK, 4e2933c620 2015-04-21 kinaba: XTYP_ADVDATA = 0x0010 | XCLASS_FLAGS, 4e2933c620 2015-04-21 kinaba: XTYP_ADVREQ = 0x0020 | XCLASS_DATA | XTYPF_NOBLOCK, 4e2933c620 2015-04-21 kinaba: XTYP_ADVSTART = 0x0030 | XCLASS_BOOL, 4e2933c620 2015-04-21 kinaba: XTYP_ADVSTOP = 0x0040 | XCLASS_NOTIFICATION, 4e2933c620 2015-04-21 kinaba: XTYP_EXECUTE = 0x0050 | XCLASS_FLAGS, 4e2933c620 2015-04-21 kinaba: XTYP_CONNECT = 0x0060 | XCLASS_BOOL | XTYPF_NOBLOCK, 4e2933c620 2015-04-21 kinaba: XTYP_CONNECT_CONFIRM = 0x0070 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK, 4e2933c620 2015-04-21 kinaba: XTYP_XACT_COMPLETE = 0x0080 | XCLASS_NOTIFICATION, 4e2933c620 2015-04-21 kinaba: XTYP_POKE = 0x0090 | XCLASS_FLAGS, 4e2933c620 2015-04-21 kinaba: XTYP_REGISTER = 0x00A0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK, 4e2933c620 2015-04-21 kinaba: XTYP_REQUEST = 0x00B0 | XCLASS_DATA, 4e2933c620 2015-04-21 kinaba: XTYP_DISCONNECT = 0x00C0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK, 4e2933c620 2015-04-21 kinaba: XTYP_UNREGISTER = 0x00D0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK, 4e2933c620 2015-04-21 kinaba: XTYP_WILDCONNECT = 0x00E0 | XCLASS_DATA | XTYPF_NOBLOCK, 4e2933c620 2015-04-21 kinaba: XTYP_MONITOR = 0X00F0 | XCLASS_NOTIFICATION | XTYPF_NOBLOCK, 4e2933c620 2015-04-21 kinaba: XTYP_MASK = 0x00F0, 4e2933c620 2015-04-21 kinaba: XTYP_SHIFT = 4 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: /+ 4e2933c620 2015-04-21 kinaba: #define TIMEOUT_ASYNC 0xFFFFFFFF 4e2933c620 2015-04-21 kinaba: #define QID_SYNC 0xFFFFFFFF 4e2933c620 2015-04-21 kinaba: +/ 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : UINT { 4e2933c620 2015-04-21 kinaba: ST_CONNECTED = 1, 4e2933c620 2015-04-21 kinaba: ST_ADVISE = 2, 4e2933c620 2015-04-21 kinaba: ST_ISLOCAL = 4, 4e2933c620 2015-04-21 kinaba: ST_BLOCKED = 8, 4e2933c620 2015-04-21 kinaba: ST_CLIENT = 16, 4e2933c620 2015-04-21 kinaba: ST_TERMINATED = 32, 4e2933c620 2015-04-21 kinaba: ST_INLIST = 64, 4e2933c620 2015-04-21 kinaba: ST_BLOCKNEXT = 128, 4e2933c620 2015-04-21 kinaba: ST_ISSELF = 256 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: /+ 4e2933c620 2015-04-21 kinaba: #define CADV_LATEACK 0xFFFF 4e2933c620 2015-04-21 kinaba: +/ 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : UINT { 4e2933c620 2015-04-21 kinaba: DMLERR_NO_ERROR = 0, 4e2933c620 2015-04-21 kinaba: DMLERR_FIRST = 0x4000, 4e2933c620 2015-04-21 kinaba: DMLERR_ADVACKTIMEOUT = DMLERR_FIRST, 4e2933c620 2015-04-21 kinaba: DMLERR_BUSY, 4e2933c620 2015-04-21 kinaba: DMLERR_DATAACKTIMEOUT, 4e2933c620 2015-04-21 kinaba: DMLERR_DLL_NOT_INITIALIZED, 4e2933c620 2015-04-21 kinaba: DMLERR_DLL_USAGE, 4e2933c620 2015-04-21 kinaba: DMLERR_EXECACKTIMEOUT, 4e2933c620 2015-04-21 kinaba: DMLERR_INVALIDPARAMETER, 4e2933c620 2015-04-21 kinaba: DMLERR_LOW_MEMORY, 4e2933c620 2015-04-21 kinaba: DMLERR_MEMORY_ERROR, 4e2933c620 2015-04-21 kinaba: DMLERR_NOTPROCESSED, 4e2933c620 2015-04-21 kinaba: DMLERR_NO_CONV_ESTABLISHED, 4e2933c620 2015-04-21 kinaba: DMLERR_POKEACKTIMEOUT, 4e2933c620 2015-04-21 kinaba: DMLERR_POSTMSG_FAILED, 4e2933c620 2015-04-21 kinaba: DMLERR_REENTRANCY, 4e2933c620 2015-04-21 kinaba: DMLERR_SERVER_DIED, 4e2933c620 2015-04-21 kinaba: DMLERR_SYS_ERROR, 4e2933c620 2015-04-21 kinaba: DMLERR_UNADVACKTIMEOUT, 4e2933c620 2015-04-21 kinaba: DMLERR_UNFOUND_QUEUE_ID, // = 0x4011 4e2933c620 2015-04-21 kinaba: DMLERR_LAST = DMLERR_UNFOUND_QUEUE_ID 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: /+ 4e2933c620 2015-04-21 kinaba: #define DDE_FACK 0x8000 4e2933c620 2015-04-21 kinaba: #define DDE_FBUSY 0x4000 4e2933c620 2015-04-21 kinaba: #define DDE_FDEFERUPD 0x4000 4e2933c620 2015-04-21 kinaba: #define DDE_FACKREQ 0x8000 4e2933c620 2015-04-21 kinaba: #define DDE_FRELEASE 0x2000 4e2933c620 2015-04-21 kinaba: #define DDE_FREQUESTED 0x1000 4e2933c620 2015-04-21 kinaba: #define DDE_FAPPSTATUS 0x00ff 4e2933c620 2015-04-21 kinaba: #define DDE_FNOTPROCESSED 0 4e2933c620 2015-04-21 kinaba: #define DDE_FACKRESERVED (~(DDE_FACK|DDE_FBUSY|DDE_FAPPSTATUS)) 4e2933c620 2015-04-21 kinaba: #define DDE_FADVRESERVED (~(DDE_FACKREQ|DDE_FDEFERUPD)) 4e2933c620 2015-04-21 kinaba: #define DDE_FDATRESERVED (~(DDE_FACKREQ|DDE_FRELEASE|DDE_FREQUESTED)) 4e2933c620 2015-04-21 kinaba: #define DDE_FPOKRESERVED (~DDE_FRELEASE) 4e2933c620 2015-04-21 kinaba: #define MSGF_DDEMGR 0x8001 4e2933c620 2015-04-21 kinaba: #define CBR_BLOCK ((HDDEDATA)0xffffffff) 4e2933c620 2015-04-21 kinaba: +/ 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: APPCLASS_STANDARD = 0, 4e2933c620 2015-04-21 kinaba: APPCLASS_MONITOR = 0x00000001, 4e2933c620 2015-04-21 kinaba: APPCLASS_MASK = 0x0000000F, 4e2933c620 2015-04-21 kinaba: APPCMD_CLIENTONLY = 0x00000010, 4e2933c620 2015-04-21 kinaba: APPCMD_FILTERINITS = 0x00000020, 4e2933c620 2015-04-21 kinaba: APPCMD_MASK = 0x00000FF0, 4e2933c620 2015-04-21 kinaba: CBF_FAIL_SELFCONNECTIONS = 0x00001000, 4e2933c620 2015-04-21 kinaba: CBF_FAIL_CONNECTIONS = 0x00002000, 4e2933c620 2015-04-21 kinaba: CBF_FAIL_ADVISES = 0x00004000, 4e2933c620 2015-04-21 kinaba: CBF_FAIL_EXECUTES = 0x00008000, 4e2933c620 2015-04-21 kinaba: CBF_FAIL_POKES = 0x00010000, 4e2933c620 2015-04-21 kinaba: CBF_FAIL_REQUESTS = 0x00020000, 4e2933c620 2015-04-21 kinaba: CBF_FAIL_ALLSVRXACTIONS = 0x0003f000, 4e2933c620 2015-04-21 kinaba: CBF_SKIP_CONNECT_CONFIRMS = 0x00040000, 4e2933c620 2015-04-21 kinaba: CBF_SKIP_REGISTRATIONS = 0x00080000, 4e2933c620 2015-04-21 kinaba: CBF_SKIP_UNREGISTRATIONS = 0x00100000, 4e2933c620 2015-04-21 kinaba: CBF_SKIP_DISCONNECTS = 0x00200000, 4e2933c620 2015-04-21 kinaba: CBF_SKIP_ALLNOTIFICATIONS = 0x003c0000, 4e2933c620 2015-04-21 kinaba: MF_HSZ_INFO = 0x01000000, 4e2933c620 2015-04-21 kinaba: MF_SENDMSGS = 0x02000000, 4e2933c620 2015-04-21 kinaba: MF_POSTMSGS = 0x04000000, 4e2933c620 2015-04-21 kinaba: MF_CALLBACKS = 0x08000000, 4e2933c620 2015-04-21 kinaba: MF_ERRORS = 0x10000000, 4e2933c620 2015-04-21 kinaba: MF_LINKS = 0x20000000, 4e2933c620 2015-04-21 kinaba: MF_CONV = 0x40000000, 4e2933c620 2015-04-21 kinaba: MF_MASK = 0xFF000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : UINT { 4e2933c620 2015-04-21 kinaba: EC_ENABLEALL = 0, 4e2933c620 2015-04-21 kinaba: EC_ENABLEONE = ST_BLOCKNEXT, 4e2933c620 2015-04-21 kinaba: EC_DISABLE = ST_BLOCKED, 4e2933c620 2015-04-21 kinaba: EC_QUERYWAITING = 2 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : UINT { 4e2933c620 2015-04-21 kinaba: DNS_REGISTER = 1, 4e2933c620 2015-04-21 kinaba: DNS_UNREGISTER = 2, 4e2933c620 2015-04-21 kinaba: DNS_FILTERON = 4, 4e2933c620 2015-04-21 kinaba: DNS_FILTEROFF = 8 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: /+ 4e2933c620 2015-04-21 kinaba: #define HDATA_APPOWNED 1 4e2933c620 2015-04-21 kinaba: #define MAX_MONITORS 4 4e2933c620 2015-04-21 kinaba: +/ 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : int { 4e2933c620 2015-04-21 kinaba: MH_CREATE = 1, 4e2933c620 2015-04-21 kinaba: MH_KEEP = 2, 4e2933c620 2015-04-21 kinaba: MH_DELETE = 3, 4e2933c620 2015-04-21 kinaba: MH_CLEANUP = 4 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias HANDLE HCONVLIST, HCONV, HSZ, HDDEDATA; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows) alias HDDEDATA 4e2933c620 2015-04-21 kinaba: function(UINT, UINT, HCONV, HSZ, HSZ, HDDEDATA, DWORD, DWORD) PFNCALLBACK; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct HSZPAIR { 4e2933c620 2015-04-21 kinaba: HSZ hszSvc; 4e2933c620 2015-04-21 kinaba: HSZ hszTopic; 4e2933c620 2015-04-21 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias HSZPAIR* PHSZPAIR; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct CONVCONTEXT { 4e2933c620 2015-04-21 kinaba: UINT cb = CONVCONTEXT.sizeof; 4e2933c620 2015-04-21 kinaba: UINT wFlags; 4e2933c620 2015-04-21 kinaba: UINT wCountryID; 4e2933c620 2015-04-21 kinaba: int iCodePage; 4e2933c620 2015-04-21 kinaba: DWORD dwLangID; 4e2933c620 2015-04-21 kinaba: DWORD dwSecurity; 4e2933c620 2015-04-21 kinaba: SECURITY_QUALITY_OF_SERVICE qos; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias CONVCONTEXT* PCONVCONTEXT; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct CONVINFO { 4e2933c620 2015-04-21 kinaba: DWORD cb = CONVINFO.sizeof; 4e2933c620 2015-04-21 kinaba: DWORD hUser; 4e2933c620 2015-04-21 kinaba: HCONV hConvPartner; 4e2933c620 2015-04-21 kinaba: HSZ hszSvcPartner; 4e2933c620 2015-04-21 kinaba: HSZ hszServiceReq; 4e2933c620 2015-04-21 kinaba: HSZ hszTopic; 4e2933c620 2015-04-21 kinaba: HSZ hszItem; 4e2933c620 2015-04-21 kinaba: UINT wFmt; 4e2933c620 2015-04-21 kinaba: UINT wType; 4e2933c620 2015-04-21 kinaba: UINT wStatus; 4e2933c620 2015-04-21 kinaba: UINT wConvst; 4e2933c620 2015-04-21 kinaba: UINT wLastError; 4e2933c620 2015-04-21 kinaba: HCONVLIST hConvList; 4e2933c620 2015-04-21 kinaba: CONVCONTEXT ConvCtxt; 4e2933c620 2015-04-21 kinaba: HWND hwnd; 4e2933c620 2015-04-21 kinaba: HWND hwndPartner; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias CONVINFO* PCONVINFO; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct DDEML_MSG_HOOK_DATA { 4e2933c620 2015-04-21 kinaba: UINT uiLo; 4e2933c620 2015-04-21 kinaba: UINT uiHi; 4e2933c620 2015-04-21 kinaba: DWORD cbData; 4e2933c620 2015-04-21 kinaba: DWORD[8] Data; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct MONHSZSTRUCT { 4e2933c620 2015-04-21 kinaba: UINT cb = MONHSZSTRUCT.sizeof; 4e2933c620 2015-04-21 kinaba: int fsAction; 4e2933c620 2015-04-21 kinaba: DWORD dwTime; 4e2933c620 2015-04-21 kinaba: HSZ hsz; 4e2933c620 2015-04-21 kinaba: HANDLE hTask; 4e2933c620 2015-04-21 kinaba: TCHAR[1] _str; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: TCHAR* str() { return _str.ptr; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias MONHSZSTRUCT* PMONHSZSTRUCT; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct MONLINKSTRUCT { 4e2933c620 2015-04-21 kinaba: UINT cb = MONLINKSTRUCT.sizeof; 4e2933c620 2015-04-21 kinaba: DWORD dwTime; 4e2933c620 2015-04-21 kinaba: HANDLE hTask; 4e2933c620 2015-04-21 kinaba: BOOL fEstablished; 4e2933c620 2015-04-21 kinaba: BOOL fNoData; 4e2933c620 2015-04-21 kinaba: HSZ hszSvc; 4e2933c620 2015-04-21 kinaba: HSZ hszTopic; 4e2933c620 2015-04-21 kinaba: HSZ hszItem; 4e2933c620 2015-04-21 kinaba: UINT wFmt; 4e2933c620 2015-04-21 kinaba: BOOL fServer; 4e2933c620 2015-04-21 kinaba: HCONV hConvServer; 4e2933c620 2015-04-21 kinaba: HCONV hConvClient; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias MONLINKSTRUCT* PMONLINKSTRUCT; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct MONCONVSTRUCT { 4e2933c620 2015-04-21 kinaba: UINT cb = MONCONVSTRUCT.sizeof; 4e2933c620 2015-04-21 kinaba: BOOL fConnect; 4e2933c620 2015-04-21 kinaba: DWORD dwTime; 4e2933c620 2015-04-21 kinaba: HANDLE hTask; 4e2933c620 2015-04-21 kinaba: HSZ hszSvc; 4e2933c620 2015-04-21 kinaba: HSZ hszTopic; 4e2933c620 2015-04-21 kinaba: HCONV hConvClient; 4e2933c620 2015-04-21 kinaba: HCONV hConvServer; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias MONCONVSTRUCT* PMONCONVSTRUCT; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct MONCBSTRUCT { 4e2933c620 2015-04-21 kinaba: UINT cb = MONCBSTRUCT.sizeof; 4e2933c620 2015-04-21 kinaba: DWORD dwTime; 4e2933c620 2015-04-21 kinaba: HANDLE hTask; 4e2933c620 2015-04-21 kinaba: DWORD dwRet; 4e2933c620 2015-04-21 kinaba: UINT wType; 4e2933c620 2015-04-21 kinaba: UINT wFmt; 4e2933c620 2015-04-21 kinaba: HCONV hConv; 4e2933c620 2015-04-21 kinaba: HSZ hsz1; 4e2933c620 2015-04-21 kinaba: HSZ hsz2; 4e2933c620 2015-04-21 kinaba: HDDEDATA hData; 4e2933c620 2015-04-21 kinaba: ULONG_PTR dwData1; 4e2933c620 2015-04-21 kinaba: ULONG_PTR dwData2; 4e2933c620 2015-04-21 kinaba: CONVCONTEXT cc; 4e2933c620 2015-04-21 kinaba: DWORD cbData; 4e2933c620 2015-04-21 kinaba: DWORD[8] Data; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias MONCBSTRUCT* PMONCBSTRUCT; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct MONERRSTRUCT { 4e2933c620 2015-04-21 kinaba: UINT cb = MONERRSTRUCT.sizeof; 4e2933c620 2015-04-21 kinaba: UINT wLastError; 4e2933c620 2015-04-21 kinaba: DWORD dwTime; 4e2933c620 2015-04-21 kinaba: HANDLE hTask; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias MONERRSTRUCT* PMONERRSTRUCT; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct MONMSGSTRUCT { 4e2933c620 2015-04-21 kinaba: UINT cb = MONMSGSTRUCT.sizeof; 4e2933c620 2015-04-21 kinaba: HWND hwndTo; 4e2933c620 2015-04-21 kinaba: DWORD dwTime; 4e2933c620 2015-04-21 kinaba: HANDLE hTask; 4e2933c620 2015-04-21 kinaba: UINT wMsg; 4e2933c620 2015-04-21 kinaba: WPARAM wParam; 4e2933c620 2015-04-21 kinaba: LPARAM lParam; 4e2933c620 2015-04-21 kinaba: DDEML_MSG_HOOK_DATA dmhd; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias MONMSGSTRUCT* PMONMSGSTRUCT; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows) { 4e2933c620 2015-04-21 kinaba: BOOL DdeAbandonTransaction(DWORD, HCONV, DWORD); 4e2933c620 2015-04-21 kinaba: PBYTE DdeAccessData(HDDEDATA, PDWORD); 4e2933c620 2015-04-21 kinaba: HDDEDATA DdeAddData(HDDEDATA, PBYTE, DWORD, DWORD); 4e2933c620 2015-04-21 kinaba: HDDEDATA DdeClientTransaction(PBYTE, DWORD, HCONV, HSZ, UINT, UINT, 4e2933c620 2015-04-21 kinaba: DWORD, PDWORD); 4e2933c620 2015-04-21 kinaba: int DdeCmpStringHandles(HSZ, HSZ); 4e2933c620 2015-04-21 kinaba: HCONV DdeConnect(DWORD, HSZ, HSZ, PCONVCONTEXT); 4e2933c620 2015-04-21 kinaba: HCONVLIST DdeConnectList(DWORD, HSZ, HSZ, HCONVLIST, PCONVCONTEXT); 4e2933c620 2015-04-21 kinaba: HDDEDATA DdeCreateDataHandle(DWORD, PBYTE, DWORD, DWORD, HSZ, UINT, 4e2933c620 2015-04-21 kinaba: UINT); 4e2933c620 2015-04-21 kinaba: HSZ DdeCreateStringHandleA(DWORD, LPSTR, int); 4e2933c620 2015-04-21 kinaba: HSZ DdeCreateStringHandleW(DWORD, LPWSTR, int); 4e2933c620 2015-04-21 kinaba: BOOL DdeDisconnect(HCONV); 4e2933c620 2015-04-21 kinaba: BOOL DdeDisconnectList(HCONVLIST); 4e2933c620 2015-04-21 kinaba: BOOL DdeEnableCallback(DWORD, HCONV, UINT); 4e2933c620 2015-04-21 kinaba: BOOL DdeFreeDataHandle(HDDEDATA); 4e2933c620 2015-04-21 kinaba: BOOL DdeFreeStringHandle(DWORD, HSZ); 4e2933c620 2015-04-21 kinaba: DWORD DdeGetData(HDDEDATA, PBYTE, DWORD, DWORD); 4e2933c620 2015-04-21 kinaba: UINT DdeGetLastError(DWORD); 4e2933c620 2015-04-21 kinaba: BOOL DdeImpersonateClient(HCONV); 4e2933c620 2015-04-21 kinaba: UINT DdeInitializeA(PDWORD, PFNCALLBACK, DWORD, DWORD); 4e2933c620 2015-04-21 kinaba: UINT DdeInitializeW(PDWORD, PFNCALLBACK, DWORD, DWORD); 4e2933c620 2015-04-21 kinaba: BOOL DdeKeepStringHandle(DWORD, HSZ); 4e2933c620 2015-04-21 kinaba: HDDEDATA DdeNameService(DWORD, HSZ, HSZ, UINT); 4e2933c620 2015-04-21 kinaba: BOOL DdePostAdvise(DWORD, HSZ, HSZ); 4e2933c620 2015-04-21 kinaba: UINT DdeQueryConvInfo(HCONV, DWORD, PCONVINFO); 4e2933c620 2015-04-21 kinaba: HCONV DdeQueryNextServer(HCONVLIST, HCONV); 4e2933c620 2015-04-21 kinaba: DWORD DdeQueryStringA(DWORD, HSZ, LPSTR, DWORD, int); 4e2933c620 2015-04-21 kinaba: DWORD DdeQueryStringW(DWORD, HSZ, LPWSTR, DWORD, int); 4e2933c620 2015-04-21 kinaba: HCONV DdeReconnect(HCONV); 4e2933c620 2015-04-21 kinaba: BOOL DdeSetUserHandle(HCONV, DWORD, DWORD); 4e2933c620 2015-04-21 kinaba: BOOL DdeUnaccessData(HDDEDATA); 4e2933c620 2015-04-21 kinaba: BOOL DdeUninitialize(DWORD); c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: const TCHAR[] 4e2933c620 2015-04-21 kinaba: SZDDESYS_TOPIC = "System", 4e2933c620 2015-04-21 kinaba: SZDDESYS_ITEM_TOPICS = "Topics", 4e2933c620 2015-04-21 kinaba: SZDDESYS_ITEM_SYSITEMS = "SysItems", 4e2933c620 2015-04-21 kinaba: SZDDESYS_ITEM_RTNMSG = "ReturnMessage", 4e2933c620 2015-04-21 kinaba: SZDDESYS_ITEM_STATUS = "Status", 4e2933c620 2015-04-21 kinaba: SZDDESYS_ITEM_FORMATS = "Formats", 4e2933c620 2015-04-21 kinaba: SZDDESYS_ITEM_HELP = "Help", 4e2933c620 2015-04-21 kinaba: SZDDE_ITEM_ITEMLIST = "TopicItemList"; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: version (Unicode) { 4e2933c620 2015-04-21 kinaba: alias DdeCreateStringHandleW DdeCreateStringHandle; 4e2933c620 2015-04-21 kinaba: alias DdeInitializeW DdeInitialize; 4e2933c620 2015-04-21 kinaba: alias DdeQueryStringW DdeQueryString; 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias DdeCreateStringHandleA DdeCreateStringHandle; 4e2933c620 2015-04-21 kinaba: alias DdeInitializeA DdeInitialize; 4e2933c620 2015-04-21 kinaba: alias DdeQueryStringA DdeQueryString; 4e2933c620 2015-04-21 kinaba: }