Artifact 421fb3636ad89d57a339a599c8bb9023996846db:
- File
src/win32/ddeml.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20 ********\..*
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060: 20 20 20 20 20 20 20 20 20 20 20 20 64 64 65 6d ddem
0070: 6c 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 l.d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..*
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..*
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..*
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61 Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57 ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20 indows headers
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a *
01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..*
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 79 by
01e0: 20 53 74 65 77 61 72 74 20 47 6f 72 64 6f 6e 20 Stewart Gordon
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 *..*
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0250: 20 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 *..*
0260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0270: 50 6c 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c Placed into publ
0280: 69 63 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 ic domain
0290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
02a0: 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a *..\************
02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 6d 6f ***********/..mo
02f0: 64 75 6c 65 20 77 69 6e 33 32 2e 64 64 65 6d 6c dule win32.ddeml
0300: 3b 0d 0a 70 72 61 67 6d 61 28 6c 69 62 2c 20 22 ;..pragma(lib, "
0310: 75 73 65 72 33 32 22 29 3b 0d 0a 0d 0a 70 72 69 user32");....pri
0320: 76 61 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 vate import win3
0330: 32 2e 62 61 73 65 74 73 64 2c 20 77 69 6e 33 32 2.basetsd, win32
0340: 2e 77 69 6e 64 65 66 2c 20 77 69 6e 33 32 2e 77 .windef, win32.w
0350: 69 6e 6e 74 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 innt;....enum :
0360: 69 6e 74 20 7b 0d 0a 09 43 50 5f 57 49 4e 41 4e int {...CP_WINAN
0370: 53 49 20 20 20 20 3d 20 31 30 30 34 2c 0d 0a 09 SI = 1004,...
0380: 43 50 5f 57 49 4e 55 4e 49 43 4f 44 45 20 3d 20 CP_WINUNICODE =
0390: 31 32 30 30 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 1200..}....enum
03a0: 3a 20 55 49 4e 54 20 7b 0d 0a 09 58 54 59 50 46 : UINT {...XTYPF
03b0: 5f 4e 4f 42 4c 4f 43 4b 20 3d 20 32 2c 0d 0a 09 _NOBLOCK = 2,...
03c0: 58 54 59 50 46 5f 4e 4f 44 41 54 41 20 20 3d 20 XTYPF_NODATA =
03d0: 34 2c 0d 0a 09 58 54 59 50 46 5f 41 43 4b 52 45 4,...XTYPF_ACKRE
03e0: 51 20 20 3d 20 38 0d 0a 7d 0d 0a 0d 0a 65 6e 75 Q = 8..}....enu
03f0: 6d 20 3a 20 55 49 4e 54 20 7b 0d 0a 09 58 43 4c m : UINT {...XCL
0400: 41 53 53 5f 4d 41 53 4b 20 20 20 20 20 20 20 20 ASS_MASK
0410: 20 3d 20 30 78 46 43 30 30 2c 0d 0a 09 58 43 4c = 0xFC00,...XCL
0420: 41 53 53 5f 42 4f 4f 4c 20 20 20 20 20 20 20 20 ASS_BOOL
0430: 20 3d 20 30 78 31 30 30 30 2c 0d 0a 09 58 43 4c = 0x1000,...XCL
0440: 41 53 53 5f 44 41 54 41 20 20 20 20 20 20 20 20 ASS_DATA
0450: 20 3d 20 30 78 32 30 30 30 2c 0d 0a 09 58 43 4c = 0x2000,...XCL
0460: 41 53 53 5f 46 4c 41 47 53 20 20 20 20 20 20 20 ASS_FLAGS
0470: 20 3d 20 30 78 34 30 30 30 2c 0d 0a 09 58 43 4c = 0x4000,...XCL
0480: 41 53 53 5f 4e 4f 54 49 46 49 43 41 54 49 4f 4e ASS_NOTIFICATION
0490: 20 3d 20 30 78 38 30 30 30 0d 0a 7d 0d 0a 0d 0a = 0x8000..}....
04a0: 65 6e 75 6d 20 3a 20 55 49 4e 54 20 7b 0d 0a 09 enum : UINT {...
04b0: 58 53 54 5f 4e 55 4c 4c 2c 0d 0a 09 58 53 54 5f XST_NULL,...XST_
04c0: 49 4e 43 4f 4d 50 4c 45 54 45 2c 0d 0a 09 58 53 INCOMPLETE,...XS
04d0: 54 5f 43 4f 4e 4e 45 43 54 45 44 2c 0d 0a 09 58 T_CONNECTED,...X
04e0: 53 54 5f 49 4e 49 54 31 2c 0d 0a 09 58 53 54 5f ST_INIT1,...XST_
04f0: 49 4e 49 54 32 2c 0d 0a 09 58 53 54 5f 52 45 51 INIT2,...XST_REQ
0500: 53 45 4e 54 2c 0d 0a 09 58 53 54 5f 44 41 54 41 SENT,...XST_DATA
0510: 52 43 56 44 2c 0d 0a 09 58 53 54 5f 50 4f 4b 45 RCVD,...XST_POKE
0520: 53 45 4e 54 2c 0d 0a 09 58 53 54 5f 50 4f 4b 45 SENT,...XST_POKE
0530: 41 43 4b 52 43 56 44 2c 0d 0a 09 58 53 54 5f 45 ACKRCVD,...XST_E
0540: 58 45 43 53 45 4e 54 2c 0d 0a 09 58 53 54 5f 45 XECSENT,...XST_E
0550: 58 45 43 41 43 4b 52 43 56 44 2c 0d 0a 09 58 53 XECACKRCVD,...XS
0560: 54 5f 41 44 56 53 45 4e 54 2c 0d 0a 09 58 53 54 T_ADVSENT,...XST
0570: 5f 55 4e 41 44 56 53 45 4e 54 2c 0d 0a 09 58 53 _UNADVSENT,...XS
0580: 54 5f 41 44 56 41 43 4b 52 43 56 44 2c 0d 0a 09 T_ADVACKRCVD,...
0590: 58 53 54 5f 55 4e 41 44 56 41 43 4b 52 43 56 44 XST_UNADVACKRCVD
05a0: 2c 0d 0a 09 58 53 54 5f 41 44 56 44 41 54 41 53 ,...XST_ADVDATAS
05b0: 45 4e 54 2c 0d 0a 09 58 53 54 5f 41 44 56 44 41 ENT,...XST_ADVDA
05c0: 54 41 41 43 4b 52 43 56 44 20 2f 2f 20 3d 20 31 TAACKRCVD // = 1
05d0: 36 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 55 6..}....enum : U
05e0: 49 4e 54 20 7b 0d 0a 09 58 54 59 50 5f 45 52 52 INT {...XTYP_ERR
05f0: 4f 52 20 20 20 20 20 20 20 20 20 20 20 3d 20 58 OR = X
0600: 43 4c 41 53 53 5f 4e 4f 54 49 46 49 43 41 54 49 CLASS_NOTIFICATI
0610: 4f 4e 20 7c 20 58 54 59 50 46 5f 4e 4f 42 4c 4f ON | XTYPF_NOBLO
0620: 43 4b 2c 0d 0a 09 58 54 59 50 5f 41 44 56 44 41 CK,...XTYP_ADVDA
0630: 54 41 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 TA = 0x0
0640: 30 31 30 20 7c 20 58 43 4c 41 53 53 5f 46 4c 41 010 | XCLASS_FLA
0650: 47 53 2c 0d 0a 09 58 54 59 50 5f 41 44 56 52 45 GS,...XTYP_ADVRE
0660: 51 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 Q = 0x0
0670: 30 32 30 20 7c 20 58 43 4c 41 53 53 5f 44 41 54 020 | XCLASS_DAT
0680: 41 20 7c 20 58 54 59 50 46 5f 4e 4f 42 4c 4f 43 A | XTYPF_NOBLOC
0690: 4b 2c 0d 0a 09 58 54 59 50 5f 41 44 56 53 54 41 K,...XTYP_ADVSTA
06a0: 52 54 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 RT = 0x00
06b0: 33 30 20 7c 20 58 43 4c 41 53 53 5f 42 4f 4f 4c 30 | XCLASS_BOOL
06c0: 2c 0d 0a 09 58 54 59 50 5f 41 44 56 53 54 4f 50 ,...XTYP_ADVSTOP
06d0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 34 = 0x004
06e0: 30 20 7c 20 58 43 4c 41 53 53 5f 4e 4f 54 49 46 0 | XCLASS_NOTIF
06f0: 49 43 41 54 49 4f 4e 2c 0d 0a 09 58 54 59 50 5f ICATION,...XTYP_
0700: 45 58 45 43 55 54 45 20 20 20 20 20 20 20 20 20 EXECUTE
0710: 3d 20 30 78 30 30 35 30 20 7c 20 58 43 4c 41 53 = 0x0050 | XCLAS
0720: 53 5f 46 4c 41 47 53 2c 0d 0a 09 58 54 59 50 5f S_FLAGS,...XTYP_
0730: 43 4f 4e 4e 45 43 54 20 20 20 20 20 20 20 20 20 CONNECT
0740: 3d 20 30 78 30 30 36 30 20 7c 20 58 43 4c 41 53 = 0x0060 | XCLAS
0750: 53 5f 42 4f 4f 4c 20 7c 20 58 54 59 50 46 5f 4e S_BOOL | XTYPF_N
0760: 4f 42 4c 4f 43 4b 2c 0d 0a 09 58 54 59 50 5f 43 OBLOCK,...XTYP_C
0770: 4f 4e 4e 45 43 54 5f 43 4f 4e 46 49 52 4d 20 3d ONNECT_CONFIRM =
0780: 20 30 78 30 30 37 30 20 7c 20 58 43 4c 41 53 53 0x0070 | XCLASS
0790: 5f 4e 4f 54 49 46 49 43 41 54 49 4f 4e 20 7c 20 _NOTIFICATION |
07a0: 58 54 59 50 46 5f 4e 4f 42 4c 4f 43 4b 2c 0d 0a XTYPF_NOBLOCK,..
07b0: 09 58 54 59 50 5f 58 41 43 54 5f 43 4f 4d 50 4c .XTYP_XACT_COMPL
07c0: 45 54 45 20 20 20 3d 20 30 78 30 30 38 30 20 7c ETE = 0x0080 |
07d0: 20 58 43 4c 41 53 53 5f 4e 4f 54 49 46 49 43 41 XCLASS_NOTIFICA
07e0: 54 49 4f 4e 2c 0d 0a 09 58 54 59 50 5f 50 4f 4b TION,...XTYP_POK
07f0: 45 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 E = 0
0800: 78 30 30 39 30 20 7c 20 58 43 4c 41 53 53 5f 46 x0090 | XCLASS_F
0810: 4c 41 47 53 2c 0d 0a 09 58 54 59 50 5f 52 45 47 LAGS,...XTYP_REG
0820: 49 53 54 45 52 20 20 20 20 20 20 20 20 3d 20 30 ISTER = 0
0830: 78 30 30 41 30 20 7c 20 58 43 4c 41 53 53 5f 4e x00A0 | XCLASS_N
0840: 4f 54 49 46 49 43 41 54 49 4f 4e 20 7c 20 58 54 OTIFICATION | XT
0850: 59 50 46 5f 4e 4f 42 4c 4f 43 4b 2c 0d 0a 09 58 YPF_NOBLOCK,...X
0860: 54 59 50 5f 52 45 51 55 45 53 54 20 20 20 20 20 TYP_REQUEST
0870: 20 20 20 20 3d 20 30 78 30 30 42 30 20 7c 20 58 = 0x00B0 | X
0880: 43 4c 41 53 53 5f 44 41 54 41 2c 0d 0a 09 58 54 CLASS_DATA,...XT
0890: 59 50 5f 44 49 53 43 4f 4e 4e 45 43 54 20 20 20 YP_DISCONNECT
08a0: 20 20 20 3d 20 30 78 30 30 43 30 20 7c 20 58 43 = 0x00C0 | XC
08b0: 4c 41 53 53 5f 4e 4f 54 49 46 49 43 41 54 49 4f LASS_NOTIFICATIO
08c0: 4e 20 7c 20 58 54 59 50 46 5f 4e 4f 42 4c 4f 43 N | XTYPF_NOBLOC
08d0: 4b 2c 0d 0a 09 58 54 59 50 5f 55 4e 52 45 47 49 K,...XTYP_UNREGI
08e0: 53 54 45 52 20 20 20 20 20 20 3d 20 30 78 30 30 STER = 0x00
08f0: 44 30 20 7c 20 58 43 4c 41 53 53 5f 4e 4f 54 49 D0 | XCLASS_NOTI
0900: 46 49 43 41 54 49 4f 4e 20 7c 20 58 54 59 50 46 FICATION | XTYPF
0910: 5f 4e 4f 42 4c 4f 43 4b 2c 0d 0a 09 58 54 59 50 _NOBLOCK,...XTYP
0920: 5f 57 49 4c 44 43 4f 4e 4e 45 43 54 20 20 20 20 _WILDCONNECT
0930: 20 3d 20 30 78 30 30 45 30 20 7c 20 58 43 4c 41 = 0x00E0 | XCLA
0940: 53 53 5f 44 41 54 41 20 7c 20 58 54 59 50 46 5f SS_DATA | XTYPF_
0950: 4e 4f 42 4c 4f 43 4b 2c 0d 0a 09 58 54 59 50 5f NOBLOCK,...XTYP_
0960: 4d 4f 4e 49 54 4f 52 20 20 20 20 20 20 20 20 20 MONITOR
0970: 3d 20 30 58 30 30 46 30 20 7c 20 58 43 4c 41 53 = 0X00F0 | XCLAS
0980: 53 5f 4e 4f 54 49 46 49 43 41 54 49 4f 4e 20 7c S_NOTIFICATION |
0990: 20 58 54 59 50 46 5f 4e 4f 42 4c 4f 43 4b 2c 0d XTYPF_NOBLOCK,.
09a0: 0a 09 58 54 59 50 5f 4d 41 53 4b 20 20 20 20 20 ..XTYP_MASK
09b0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 46 30 2c = 0x00F0,
09c0: 0d 0a 09 58 54 59 50 5f 53 48 49 46 54 20 20 20 ...XTYP_SHIFT
09d0: 20 20 20 20 20 20 20 20 3d 20 34 0d 0a 7d 0d 0a = 4..}..
09e0: 0d 0a 2f 2b 0d 0a 23 64 65 66 69 6e 65 20 54 49 ../+..#define TI
09f0: 4d 45 4f 55 54 5f 41 53 59 4e 43 20 20 30 78 46 MEOUT_ASYNC 0xF
0a00: 46 46 46 46 46 46 46 0d 0a 23 64 65 66 69 6e 65 FFFFFFF..#define
0a10: 20 51 49 44 5f 53 59 4e 43 20 20 20 20 20 20 20 QID_SYNC
0a20: 30 78 46 46 46 46 46 46 46 46 0d 0a 2b 2f 0d 0a 0xFFFFFFFF..+/..
0a30: 0d 0a 65 6e 75 6d 20 3a 20 55 49 4e 54 20 7b 0d ..enum : UINT {.
0a40: 0a 09 53 54 5f 43 4f 4e 4e 45 43 54 45 44 20 20 ..ST_CONNECTED
0a50: 3d 20 20 20 31 2c 0d 0a 09 53 54 5f 41 44 56 49 = 1,...ST_ADVI
0a60: 53 45 20 20 20 20 20 3d 20 20 20 32 2c 0d 0a 09 SE = 2,...
0a70: 53 54 5f 49 53 4c 4f 43 41 4c 20 20 20 20 3d 20 ST_ISLOCAL =
0a80: 20 20 34 2c 0d 0a 09 53 54 5f 42 4c 4f 43 4b 45 4,...ST_BLOCKE
0a90: 44 20 20 20 20 3d 20 20 20 38 2c 0d 0a 09 53 54 D = 8,...ST
0aa0: 5f 43 4c 49 45 4e 54 20 20 20 20 20 3d 20 20 31 _CLIENT = 1
0ab0: 36 2c 0d 0a 09 53 54 5f 54 45 52 4d 49 4e 41 54 6,...ST_TERMINAT
0ac0: 45 44 20 3d 20 20 33 32 2c 0d 0a 09 53 54 5f 49 ED = 32,...ST_I
0ad0: 4e 4c 49 53 54 20 20 20 20 20 3d 20 20 36 34 2c NLIST = 64,
0ae0: 0d 0a 09 53 54 5f 42 4c 4f 43 4b 4e 45 58 54 20 ...ST_BLOCKNEXT
0af0: 20 3d 20 31 32 38 2c 0d 0a 09 53 54 5f 49 53 53 = 128,...ST_ISS
0b00: 45 4c 46 20 20 20 20 20 3d 20 32 35 36 0d 0a 7d ELF = 256..}
0b10: 0d 0a 0d 0a 2f 2b 0d 0a 23 64 65 66 69 6e 65 20 ..../+..#define
0b20: 43 41 44 56 5f 4c 41 54 45 41 43 4b 20 30 78 46 CADV_LATEACK 0xF
0b30: 46 46 46 0d 0a 2b 2f 0d 0a 0d 0a 65 6e 75 6d 20 FFF..+/....enum
0b40: 3a 20 55 49 4e 54 20 7b 0d 0a 09 44 4d 4c 45 52 : UINT {...DMLER
0b50: 52 5f 4e 4f 5f 45 52 52 4f 52 20 20 20 20 20 20 R_NO_ERROR
0b60: 3d 20 30 2c 0d 0a 09 44 4d 4c 45 52 52 5f 46 49 = 0,...DMLERR_FI
0b70: 52 53 54 20 20 20 20 20 20 20 20 20 3d 20 30 78 RST = 0x
0b80: 34 30 30 30 2c 0d 0a 09 44 4d 4c 45 52 52 5f 41 4000,...DMLERR_A
0b90: 44 56 41 43 4b 54 49 4d 45 4f 55 54 20 3d 20 44 DVACKTIMEOUT = D
0ba0: 4d 4c 45 52 52 5f 46 49 52 53 54 2c 0d 0a 09 44 MLERR_FIRST,...D
0bb0: 4d 4c 45 52 52 5f 42 55 53 59 2c 0d 0a 09 44 4d MLERR_BUSY,...DM
0bc0: 4c 45 52 52 5f 44 41 54 41 41 43 4b 54 49 4d 45 LERR_DATAACKTIME
0bd0: 4f 55 54 2c 0d 0a 09 44 4d 4c 45 52 52 5f 44 4c OUT,...DMLERR_DL
0be0: 4c 5f 4e 4f 54 5f 49 4e 49 54 49 41 4c 49 5a 45 L_NOT_INITIALIZE
0bf0: 44 2c 0d 0a 09 44 4d 4c 45 52 52 5f 44 4c 4c 5f D,...DMLERR_DLL_
0c00: 55 53 41 47 45 2c 0d 0a 09 44 4d 4c 45 52 52 5f USAGE,...DMLERR_
0c10: 45 58 45 43 41 43 4b 54 49 4d 45 4f 55 54 2c 0d EXECACKTIMEOUT,.
0c20: 0a 09 44 4d 4c 45 52 52 5f 49 4e 56 41 4c 49 44 ..DMLERR_INVALID
0c30: 50 41 52 41 4d 45 54 45 52 2c 0d 0a 09 44 4d 4c PARAMETER,...DML
0c40: 45 52 52 5f 4c 4f 57 5f 4d 45 4d 4f 52 59 2c 0d ERR_LOW_MEMORY,.
0c50: 0a 09 44 4d 4c 45 52 52 5f 4d 45 4d 4f 52 59 5f ..DMLERR_MEMORY_
0c60: 45 52 52 4f 52 2c 0d 0a 09 44 4d 4c 45 52 52 5f ERROR,...DMLERR_
0c70: 4e 4f 54 50 52 4f 43 45 53 53 45 44 2c 0d 0a 09 NOTPROCESSED,...
0c80: 44 4d 4c 45 52 52 5f 4e 4f 5f 43 4f 4e 56 5f 45 DMLERR_NO_CONV_E
0c90: 53 54 41 42 4c 49 53 48 45 44 2c 0d 0a 09 44 4d STABLISHED,...DM
0ca0: 4c 45 52 52 5f 50 4f 4b 45 41 43 4b 54 49 4d 45 LERR_POKEACKTIME
0cb0: 4f 55 54 2c 0d 0a 09 44 4d 4c 45 52 52 5f 50 4f OUT,...DMLERR_PO
0cc0: 53 54 4d 53 47 5f 46 41 49 4c 45 44 2c 0d 0a 09 STMSG_FAILED,...
0cd0: 44 4d 4c 45 52 52 5f 52 45 45 4e 54 52 41 4e 43 DMLERR_REENTRANC
0ce0: 59 2c 0d 0a 09 44 4d 4c 45 52 52 5f 53 45 52 56 Y,...DMLERR_SERV
0cf0: 45 52 5f 44 49 45 44 2c 0d 0a 09 44 4d 4c 45 52 ER_DIED,...DMLER
0d00: 52 5f 53 59 53 5f 45 52 52 4f 52 2c 0d 0a 09 44 R_SYS_ERROR,...D
0d10: 4d 4c 45 52 52 5f 55 4e 41 44 56 41 43 4b 54 49 MLERR_UNADVACKTI
0d20: 4d 45 4f 55 54 2c 0d 0a 09 44 4d 4c 45 52 52 5f MEOUT,...DMLERR_
0d30: 55 4e 46 4f 55 4e 44 5f 51 55 45 55 45 5f 49 44 UNFOUND_QUEUE_ID
0d40: 2c 20 2f 2f 20 3d 20 30 78 34 30 31 31 0d 0a 09 , // = 0x4011...
0d50: 44 4d 4c 45 52 52 5f 4c 41 53 54 20 20 20 20 20 DMLERR_LAST
0d60: 20 20 20 20 20 3d 20 44 4d 4c 45 52 52 5f 55 4e = DMLERR_UN
0d70: 46 4f 55 4e 44 5f 51 55 45 55 45 5f 49 44 0d 0a FOUND_QUEUE_ID..
0d80: 7d 0d 0a 0d 0a 2f 2b 0d 0a 23 64 65 66 69 6e 65 }..../+..#define
0d90: 20 44 44 45 5f 46 41 43 4b 09 30 78 38 30 30 30 DDE_FACK.0x8000
0da0: 0d 0a 23 64 65 66 69 6e 65 20 44 44 45 5f 46 42 ..#define DDE_FB
0db0: 55 53 59 09 30 78 34 30 30 30 0d 0a 23 64 65 66 USY.0x4000..#def
0dc0: 69 6e 65 20 44 44 45 5f 46 44 45 46 45 52 55 50 ine DDE_FDEFERUP
0dd0: 44 09 30 78 34 30 30 30 0d 0a 23 64 65 66 69 6e D.0x4000..#defin
0de0: 65 20 44 44 45 5f 46 41 43 4b 52 45 51 09 30 78 e DDE_FACKREQ.0x
0df0: 38 30 30 30 0d 0a 23 64 65 66 69 6e 65 20 44 44 8000..#define DD
0e00: 45 5f 46 52 45 4c 45 41 53 45 09 30 78 32 30 30 E_FRELEASE.0x200
0e10: 30 0d 0a 23 64 65 66 69 6e 65 20 44 44 45 5f 46 0..#define DDE_F
0e20: 52 45 51 55 45 53 54 45 44 09 30 78 31 30 30 30 REQUESTED.0x1000
0e30: 0d 0a 23 64 65 66 69 6e 65 20 44 44 45 5f 46 41 ..#define DDE_FA
0e40: 50 50 53 54 41 54 55 53 09 30 78 30 30 66 66 0d PPSTATUS.0x00ff.
0e50: 0a 23 64 65 66 69 6e 65 20 44 44 45 5f 46 4e 4f .#define DDE_FNO
0e60: 54 50 52 4f 43 45 53 53 45 44 09 30 0d 0a 23 64 TPROCESSED.0..#d
0e70: 65 66 69 6e 65 20 44 44 45 5f 46 41 43 4b 52 45 efine DDE_FACKRE
0e80: 53 45 52 56 45 44 09 28 7e 28 44 44 45 5f 46 41 SERVED.(~(DDE_FA
0e90: 43 4b 7c 44 44 45 5f 46 42 55 53 59 7c 44 44 45 CK|DDE_FBUSY|DDE
0ea0: 5f 46 41 50 50 53 54 41 54 55 53 29 29 0d 0a 23 _FAPPSTATUS))..#
0eb0: 64 65 66 69 6e 65 20 44 44 45 5f 46 41 44 56 52 define DDE_FADVR
0ec0: 45 53 45 52 56 45 44 09 28 7e 28 44 44 45 5f 46 ESERVED.(~(DDE_F
0ed0: 41 43 4b 52 45 51 7c 44 44 45 5f 46 44 45 46 45 ACKREQ|DDE_FDEFE
0ee0: 52 55 50 44 29 29 0d 0a 23 64 65 66 69 6e 65 20 RUPD))..#define
0ef0: 44 44 45 5f 46 44 41 54 52 45 53 45 52 56 45 44 DDE_FDATRESERVED
0f00: 09 28 7e 28 44 44 45 5f 46 41 43 4b 52 45 51 7c .(~(DDE_FACKREQ|
0f10: 44 44 45 5f 46 52 45 4c 45 41 53 45 7c 44 44 45 DDE_FRELEASE|DDE
0f20: 5f 46 52 45 51 55 45 53 54 45 44 29 29 0d 0a 23 _FREQUESTED))..#
0f30: 64 65 66 69 6e 65 20 44 44 45 5f 46 50 4f 4b 52 define DDE_FPOKR
0f40: 45 53 45 52 56 45 44 09 28 7e 44 44 45 5f 46 52 ESERVED.(~DDE_FR
0f50: 45 4c 45 41 53 45 29 0d 0a 23 64 65 66 69 6e 65 ELEASE)..#define
0f60: 20 4d 53 47 46 5f 44 44 45 4d 47 52 09 30 78 38 MSGF_DDEMGR.0x8
0f70: 30 30 31 0d 0a 23 64 65 66 69 6e 65 20 43 42 52 001..#define CBR
0f80: 5f 42 4c 4f 43 4b 09 28 28 48 44 44 45 44 41 54 _BLOCK.((HDDEDAT
0f90: 41 29 30 78 66 66 66 66 66 66 66 66 29 0d 0a 2b A)0xffffffff)..+
0fa0: 2f 0d 0a 0d 0a 63 6f 6e 73 74 20 44 57 4f 52 44 /....const DWORD
0fb0: 0d 0a 09 41 50 50 43 4c 41 53 53 5f 53 54 41 4e ...APPCLASS_STAN
0fc0: 44 41 52 44 20 20 20 20 20 20 20 20 20 3d 20 30 DARD = 0
0fd0: 2c 0d 0a 09 41 50 50 43 4c 41 53 53 5f 4d 4f 4e ,...APPCLASS_MON
0fe0: 49 54 4f 52 20 20 20 20 20 20 20 20 20 20 3d 20 ITOR =
0ff0: 30 78 30 30 30 30 30 30 30 31 2c 0d 0a 09 41 50 0x00000001,...AP
1000: 50 43 4c 41 53 53 5f 4d 41 53 4b 20 20 20 20 20 PCLASS_MASK
1010: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 = 0x0000
1020: 30 30 30 46 2c 0d 0a 09 41 50 50 43 4d 44 5f 43 000F,...APPCMD_C
1030: 4c 49 45 4e 54 4f 4e 4c 59 20 20 20 20 20 20 20 LIENTONLY
1040: 20 20 3d 20 30 78 30 30 30 30 30 30 31 30 2c 0d = 0x00000010,.
1050: 0a 09 41 50 50 43 4d 44 5f 46 49 4c 54 45 52 49 ..APPCMD_FILTERI
1060: 4e 49 54 53 20 20 20 20 20 20 20 20 3d 20 30 78 NITS = 0x
1070: 30 30 30 30 30 30 32 30 2c 0d 0a 09 41 50 50 43 00000020,...APPC
1080: 4d 44 5f 4d 41 53 4b 20 20 20 20 20 20 20 20 20 MD_MASK
1090: 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 46 = 0x00000F
10a0: 46 30 2c 0d 0a 09 43 42 46 5f 46 41 49 4c 5f 53 F0,...CBF_FAIL_S
10b0: 45 4c 46 43 4f 4e 4e 45 43 54 49 4f 4e 53 20 20 ELFCONNECTIONS
10c0: 3d 20 30 78 30 30 30 30 31 30 30 30 2c 0d 0a 09 = 0x00001000,...
10d0: 43 42 46 5f 46 41 49 4c 5f 43 4f 4e 4e 45 43 54 CBF_FAIL_CONNECT
10e0: 49 4f 4e 53 20 20 20 20 20 20 3d 20 30 78 30 30 IONS = 0x00
10f0: 30 30 32 30 30 30 2c 0d 0a 09 43 42 46 5f 46 41 002000,...CBF_FA
1100: 49 4c 5f 41 44 56 49 53 45 53 20 20 20 20 20 20 IL_ADVISES
1110: 20 20 20 20 3d 20 30 78 30 30 30 30 34 30 30 30 = 0x00004000
1120: 2c 0d 0a 09 43 42 46 5f 46 41 49 4c 5f 45 58 45 ,...CBF_FAIL_EXE
1130: 43 55 54 45 53 20 20 20 20 20 20 20 20 20 3d 20 CUTES =
1140: 30 78 30 30 30 30 38 30 30 30 2c 0d 0a 09 43 42 0x00008000,...CB
1150: 46 5f 46 41 49 4c 5f 50 4f 4b 45 53 20 20 20 20 F_FAIL_POKES
1160: 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 31 = 0x0001
1170: 30 30 30 30 2c 0d 0a 09 43 42 46 5f 46 41 49 4c 0000,...CBF_FAIL
1180: 5f 52 45 51 55 45 53 54 53 20 20 20 20 20 20 20 _REQUESTS
1190: 20 20 3d 20 30 78 30 30 30 32 30 30 30 30 2c 0d = 0x00020000,.
11a0: 0a 09 43 42 46 5f 46 41 49 4c 5f 41 4c 4c 53 56 ..CBF_FAIL_ALLSV
11b0: 52 58 41 43 54 49 4f 4e 53 20 20 20 3d 20 30 78 RXACTIONS = 0x
11c0: 30 30 30 33 66 30 30 30 2c 0d 0a 09 43 42 46 5f 0003f000,...CBF_
11d0: 53 4b 49 50 5f 43 4f 4e 4e 45 43 54 5f 43 4f 4e SKIP_CONNECT_CON
11e0: 46 49 52 4d 53 20 3d 20 30 78 30 30 30 34 30 30 FIRMS = 0x000400
11f0: 30 30 2c 0d 0a 09 43 42 46 5f 53 4b 49 50 5f 52 00,...CBF_SKIP_R
1200: 45 47 49 53 54 52 41 54 49 4f 4e 53 20 20 20 20 EGISTRATIONS
1210: 3d 20 30 78 30 30 30 38 30 30 30 30 2c 0d 0a 09 = 0x00080000,...
1220: 43 42 46 5f 53 4b 49 50 5f 55 4e 52 45 47 49 53 CBF_SKIP_UNREGIS
1230: 54 52 41 54 49 4f 4e 53 20 20 3d 20 30 78 30 30 TRATIONS = 0x00
1240: 31 30 30 30 30 30 2c 0d 0a 09 43 42 46 5f 53 4b 100000,...CBF_SK
1250: 49 50 5f 44 49 53 43 4f 4e 4e 45 43 54 53 20 20 IP_DISCONNECTS
1260: 20 20 20 20 3d 20 30 78 30 30 32 30 30 30 30 30 = 0x00200000
1270: 2c 0d 0a 09 43 42 46 5f 53 4b 49 50 5f 41 4c 4c ,...CBF_SKIP_ALL
1280: 4e 4f 54 49 46 49 43 41 54 49 4f 4e 53 20 3d 20 NOTIFICATIONS =
1290: 30 78 30 30 33 63 30 30 30 30 2c 0d 0a 09 4d 46 0x003c0000,...MF
12a0: 5f 48 53 5a 5f 49 4e 46 4f 20 20 20 20 20 20 20 _HSZ_INFO
12b0: 20 20 20 20 20 20 20 20 3d 20 30 78 30 31 30 30 = 0x0100
12c0: 30 30 30 30 2c 0d 0a 09 4d 46 5f 53 45 4e 44 4d 0000,...MF_SENDM
12d0: 53 47 53 20 20 20 20 20 20 20 20 20 20 20 20 20 SGS
12e0: 20 20 3d 20 30 78 30 32 30 30 30 30 30 30 2c 0d = 0x02000000,.
12f0: 0a 09 4d 46 5f 50 4f 53 54 4d 53 47 53 20 20 20 ..MF_POSTMSGS
1300: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 = 0x
1310: 30 34 30 30 30 30 30 30 2c 0d 0a 09 4d 46 5f 43 04000000,...MF_C
1320: 41 4c 4c 42 41 43 4b 53 20 20 20 20 20 20 20 20 ALLBACKS
1330: 20 20 20 20 20 20 3d 20 30 78 30 38 30 30 30 30 = 0x080000
1340: 30 30 2c 0d 0a 09 4d 46 5f 45 52 52 4f 52 53 20 00,...MF_ERRORS
1350: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1360: 3d 20 30 78 31 30 30 30 30 30 30 30 2c 0d 0a 09 = 0x10000000,...
1370: 4d 46 5f 4c 49 4e 4b 53 20 20 20 20 20 20 20 20 MF_LINKS
1380: 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 32 30 = 0x20
1390: 30 30 30 30 30 30 2c 0d 0a 09 4d 46 5f 43 4f 4e 000000,...MF_CON
13a0: 56 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 V
13b0: 20 20 20 20 3d 20 30 78 34 30 30 30 30 30 30 30 = 0x40000000
13c0: 2c 0d 0a 09 4d 46 5f 4d 41 53 4b 20 20 20 20 20 ,...MF_MASK
13d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 =
13e0: 30 78 46 46 30 30 30 30 30 30 3b 0d 0a 0d 0a 65 0xFF000000;....e
13f0: 6e 75 6d 20 3a 20 55 49 4e 54 20 7b 0d 0a 09 45 num : UINT {...E
1400: 43 5f 45 4e 41 42 4c 45 41 4c 4c 20 20 20 20 3d C_ENABLEALL =
1410: 20 30 2c 0d 0a 09 45 43 5f 45 4e 41 42 4c 45 4f 0,...EC_ENABLEO
1420: 4e 45 20 20 20 20 3d 20 53 54 5f 42 4c 4f 43 4b NE = ST_BLOCK
1430: 4e 45 58 54 2c 0d 0a 09 45 43 5f 44 49 53 41 42 NEXT,...EC_DISAB
1440: 4c 45 20 20 20 20 20 20 3d 20 53 54 5f 42 4c 4f LE = ST_BLO
1450: 43 4b 45 44 2c 0d 0a 09 45 43 5f 51 55 45 52 59 CKED,...EC_QUERY
1460: 57 41 49 54 49 4e 47 20 3d 20 32 0d 0a 7d 0d 0a WAITING = 2..}..
1470: 0d 0a 65 6e 75 6d 20 3a 20 55 49 4e 54 20 7b 0d ..enum : UINT {.
1480: 0a 09 44 4e 53 5f 52 45 47 49 53 54 45 52 20 20 ..DNS_REGISTER
1490: 20 3d 20 31 2c 0d 0a 09 44 4e 53 5f 55 4e 52 45 = 1,...DNS_UNRE
14a0: 47 49 53 54 45 52 20 3d 20 32 2c 0d 0a 09 44 4e GISTER = 2,...DN
14b0: 53 5f 46 49 4c 54 45 52 4f 4e 20 20 20 3d 20 34 S_FILTERON = 4
14c0: 2c 0d 0a 09 44 4e 53 5f 46 49 4c 54 45 52 4f 46 ,...DNS_FILTEROF
14d0: 46 20 20 3d 20 38 0d 0a 7d 0d 0a 0d 0a 2f 2b 0d F = 8..}..../+.
14e0: 0a 23 64 65 66 69 6e 65 20 48 44 41 54 41 5f 41 .#define HDATA_A
14f0: 50 50 4f 57 4e 45 44 09 31 0d 0a 23 64 65 66 69 PPOWNED.1..#defi
1500: 6e 65 20 4d 41 58 5f 4d 4f 4e 49 54 4f 52 53 09 ne MAX_MONITORS.
1510: 34 0d 0a 2b 2f 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 4..+/....enum :
1520: 69 6e 74 20 7b 0d 0a 09 4d 48 5f 43 52 45 41 54 int {...MH_CREAT
1530: 45 20 20 3d 20 31 2c 0d 0a 09 4d 48 5f 4b 45 45 E = 1,...MH_KEE
1540: 50 20 20 20 20 3d 20 32 2c 0d 0a 09 4d 48 5f 44 P = 2,...MH_D
1550: 45 4c 45 54 45 20 20 3d 20 33 2c 0d 0a 09 4d 48 ELETE = 3,...MH
1560: 5f 43 4c 45 41 4e 55 50 20 3d 20 34 0d 0a 7d 0d _CLEANUP = 4..}.
1570: 0a 0d 0a 6d 69 78 69 6e 20 44 45 43 4c 41 52 45 ...mixin DECLARE
1580: 5f 48 41 4e 44 4c 45 21 28 22 48 43 4f 4e 56 4c _HANDLE!("HCONVL
1590: 49 53 54 22 29 3b 0d 0a 6d 69 78 69 6e 20 44 45 IST");..mixin DE
15a0: 43 4c 41 52 45 5f 48 41 4e 44 4c 45 21 28 22 48 CLARE_HANDLE!("H
15b0: 43 4f 4e 56 22 29 3b 0d 0a 6d 69 78 69 6e 20 44 CONV");..mixin D
15c0: 45 43 4c 41 52 45 5f 48 41 4e 44 4c 45 21 28 22 ECLARE_HANDLE!("
15d0: 48 53 5a 22 29 3b 0d 0a 6d 69 78 69 6e 20 44 45 HSZ");..mixin DE
15e0: 43 4c 41 52 45 5f 48 41 4e 44 4c 45 21 28 22 48 CLARE_HANDLE!("H
15f0: 44 44 45 44 41 54 41 22 29 3b 0d 0a 0d 0a 65 78 DDEDATA");....ex
1600: 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 61 tern (Windows) a
1610: 6c 69 61 73 20 48 44 44 45 44 41 54 41 0d 0a 20 lias HDDEDATA..
1620: 20 66 75 6e 63 74 69 6f 6e 28 55 49 4e 54 2c 20 function(UINT,
1630: 55 49 4e 54 2c 20 48 43 4f 4e 56 2c 20 48 53 5a UINT, HCONV, HSZ
1640: 2c 20 48 53 5a 2c 20 48 44 44 45 44 41 54 41 2c , HSZ, HDDEDATA,
1650: 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 20 50 DWORD, DWORD) P
1660: 46 4e 43 41 4c 4c 42 41 43 4b 3b 0d 0a 0d 0a 73 FNCALLBACK;....s
1670: 74 72 75 63 74 20 48 53 5a 50 41 49 52 20 7b 0d truct HSZPAIR {.
1680: 0a 09 48 53 5a 20 68 73 7a 53 76 63 3b 0d 0a 09 ..HSZ hszSvc;...
1690: 48 53 5a 20 68 73 7a 54 6f 70 69 63 3b 0d 0a 7d HSZ hszTopic;..}
16a0: 0d 0a 61 6c 69 61 73 20 48 53 5a 50 41 49 52 2a ..alias HSZPAIR*
16b0: 20 50 48 53 5a 50 41 49 52 3b 0d 0a 0d 0a 73 74 PHSZPAIR;....st
16c0: 72 75 63 74 20 43 4f 4e 56 43 4f 4e 54 45 58 54 ruct CONVCONTEXT
16d0: 20 7b 0d 0a 09 55 49 4e 54 20 20 20 20 20 20 20 {...UINT
16e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
16f0: 20 63 62 20 3d 20 43 4f 4e 56 43 4f 4e 54 45 58 cb = CONVCONTEX
1700: 54 2e 73 69 7a 65 6f 66 3b 0d 0a 09 55 49 4e 54 T.sizeof;...UINT
1710: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1720: 20 20 20 20 20 20 20 20 77 46 6c 61 67 73 3b 0d wFlags;.
1730: 0a 09 55 49 4e 54 20 20 20 20 20 20 20 20 20 20 ..UINT
1740: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 43 wC
1750: 6f 75 6e 74 72 79 49 44 3b 0d 0a 09 69 6e 74 20 ountryID;...int
1760: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
1770: 20 20 20 20 20 20 20 20 69 43 6f 64 65 50 61 67 iCodePag
1780: 65 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 e;...DWORD
1790: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
17a0: 20 64 77 4c 61 6e 67 49 44 3b 0d 0a 09 44 57 4f dwLangID;...DWO
17b0: 52 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RD
17c0: 20 20 20 20 20 20 20 20 20 64 77 53 65 63 75 72 dwSecur
17d0: 69 74 79 3b 0d 0a 09 53 45 43 55 52 49 54 59 5f ity;...SECURITY_
17e0: 51 55 41 4c 49 54 59 5f 4f 46 5f 53 45 52 56 49 QUALITY_OF_SERVI
17f0: 43 45 20 71 6f 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 CE qos;..}..alia
1800: 73 20 43 4f 4e 56 43 4f 4e 54 45 58 54 2a 20 50 s CONVCONTEXT* P
1810: 43 4f 4e 56 43 4f 4e 54 45 58 54 3b 0d 0a 0d 0a CONVCONTEXT;....
1820: 73 74 72 75 63 74 20 43 4f 4e 56 49 4e 46 4f 20 struct CONVINFO
1830: 7b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 {...DWORD
1840: 63 62 20 3d 20 43 4f 4e 56 49 4e 46 4f 2e 73 69 cb = CONVINFO.si
1850: 7a 65 6f 66 3b 0d 0a 09 44 57 4f 52 44 20 20 20 zeof;...DWORD
1860: 20 20 20 20 68 55 73 65 72 3b 0d 0a 09 48 43 4f hUser;...HCO
1870: 4e 56 20 20 20 20 20 20 20 68 43 6f 6e 76 50 61 NV hConvPa
1880: 72 74 6e 65 72 3b 0d 0a 09 48 53 5a 20 20 20 20 rtner;...HSZ
1890: 20 20 20 20 20 68 73 7a 53 76 63 50 61 72 74 6e hszSvcPartn
18a0: 65 72 3b 0d 0a 09 48 53 5a 20 20 20 20 20 20 20 er;...HSZ
18b0: 20 20 68 73 7a 53 65 72 76 69 63 65 52 65 71 3b hszServiceReq;
18c0: 0d 0a 09 48 53 5a 20 20 20 20 20 20 20 20 20 68 ...HSZ h
18d0: 73 7a 54 6f 70 69 63 3b 0d 0a 09 48 53 5a 20 20 szTopic;...HSZ
18e0: 20 20 20 20 20 20 20 68 73 7a 49 74 65 6d 3b 0d hszItem;.
18f0: 0a 09 55 49 4e 54 20 20 20 20 20 20 20 20 77 46 ..UINT wF
1900: 6d 74 3b 0d 0a 09 55 49 4e 54 20 20 20 20 20 20 mt;...UINT
1910: 20 20 77 54 79 70 65 3b 0d 0a 09 55 49 4e 54 20 wType;...UINT
1920: 20 20 20 20 20 20 20 77 53 74 61 74 75 73 3b 0d wStatus;.
1930: 0a 09 55 49 4e 54 20 20 20 20 20 20 20 20 77 43 ..UINT wC
1940: 6f 6e 76 73 74 3b 0d 0a 09 55 49 4e 54 20 20 20 onvst;...UINT
1950: 20 20 20 20 20 77 4c 61 73 74 45 72 72 6f 72 3b wLastError;
1960: 0d 0a 09 48 43 4f 4e 56 4c 49 53 54 20 20 20 68 ...HCONVLIST h
1970: 43 6f 6e 76 4c 69 73 74 3b 0d 0a 09 43 4f 4e 56 ConvList;...CONV
1980: 43 4f 4e 54 45 58 54 20 43 6f 6e 76 43 74 78 74 CONTEXT ConvCtxt
1990: 3b 0d 0a 09 48 57 4e 44 20 20 20 20 20 20 20 20 ;...HWND
19a0: 68 77 6e 64 3b 0d 0a 09 48 57 4e 44 20 20 20 20 hwnd;...HWND
19b0: 20 20 20 20 68 77 6e 64 50 61 72 74 6e 65 72 3b hwndPartner;
19c0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 43 4f 4e 56 49 ..}..alias CONVI
19d0: 4e 46 4f 2a 20 50 43 4f 4e 56 49 4e 46 4f 3b 0d NFO* PCONVINFO;.
19e0: 0a 0d 0a 73 74 72 75 63 74 20 44 44 45 4d 4c 5f ...struct DDEML_
19f0: 4d 53 47 5f 48 4f 4f 4b 5f 44 41 54 41 20 7b 0d MSG_HOOK_DATA {.
1a00: 0a 09 55 49 4e 54 5f 50 54 52 20 75 69 4c 6f 3b ..UINT_PTR uiLo;
1a10: 0d 0a 09 55 49 4e 54 5f 50 54 52 20 75 69 48 69 ...UINT_PTR uiHi
1a20: 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 63 62 44 ;...DWORD cbD
1a30: 61 74 61 3b 0d 0a 09 44 57 4f 52 44 5b 38 5d 20 ata;...DWORD[8]
1a40: 44 61 74 61 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 Data;..}....stru
1a50: 63 74 20 4d 4f 4e 48 53 5a 53 54 52 55 43 54 20 ct MONHSZSTRUCT
1a60: 7b 0d 0a 09 55 49 4e 54 20 20 20 20 20 63 62 20 {...UINT cb
1a70: 3d 20 4d 4f 4e 48 53 5a 53 54 52 55 43 54 2e 73 = MONHSZSTRUCT.s
1a80: 69 7a 65 6f 66 3b 0d 0a 09 69 6e 74 20 20 20 20 izeof;...int
1a90: 20 20 66 73 41 63 74 69 6f 6e 3b 0d 0a 09 44 57 fsAction;...DW
1aa0: 4f 52 44 20 20 20 20 64 77 54 69 6d 65 3b 0d 0a ORD dwTime;..
1ab0: 09 48 53 5a 20 20 20 20 20 20 68 73 7a 3b 0d 0a .HSZ hsz;..
1ac0: 09 48 41 4e 44 4c 45 20 20 20 68 54 61 73 6b 3b .HANDLE hTask;
1ad0: 0d 0a 09 54 43 48 41 52 5b 31 5d 20 5f 73 74 72 ...TCHAR[1] _str
1ae0: 3b 0d 0a 0d 0a 09 54 43 48 41 52 2a 20 73 74 72 ;.....TCHAR* str
1af0: 28 29 20 7b 20 72 65 74 75 72 6e 20 5f 73 74 72 () { return _str
1b00: 2e 70 74 72 3b 20 7d 0d 0a 7d 0d 0a 61 6c 69 61 .ptr; }..}..alia
1b10: 73 20 4d 4f 4e 48 53 5a 53 54 52 55 43 54 2a 20 s MONHSZSTRUCT*
1b20: 50 4d 4f 4e 48 53 5a 53 54 52 55 43 54 3b 0d 0a PMONHSZSTRUCT;..
1b30: 0d 0a 73 74 72 75 63 74 20 4d 4f 4e 4c 49 4e 4b ..struct MONLINK
1b40: 53 54 52 55 43 54 20 7b 0d 0a 09 55 49 4e 54 20 STRUCT {...UINT
1b50: 20 20 63 62 20 3d 20 4d 4f 4e 4c 49 4e 4b 53 54 cb = MONLINKST
1b60: 52 55 43 54 2e 73 69 7a 65 6f 66 3b 0d 0a 09 44 RUCT.sizeof;...D
1b70: 57 4f 52 44 20 20 64 77 54 69 6d 65 3b 0d 0a 09 WORD dwTime;...
1b80: 48 41 4e 44 4c 45 20 68 54 61 73 6b 3b 0d 0a 09 HANDLE hTask;...
1b90: 42 4f 4f 4c 20 20 20 66 45 73 74 61 62 6c 69 73 BOOL fEstablis
1ba0: 68 65 64 3b 0d 0a 09 42 4f 4f 4c 20 20 20 66 4e hed;...BOOL fN
1bb0: 6f 44 61 74 61 3b 0d 0a 09 48 53 5a 20 20 20 20 oData;...HSZ
1bc0: 68 73 7a 53 76 63 3b 0d 0a 09 48 53 5a 20 20 20 hszSvc;...HSZ
1bd0: 20 68 73 7a 54 6f 70 69 63 3b 0d 0a 09 48 53 5a hszTopic;...HSZ
1be0: 20 20 20 20 68 73 7a 49 74 65 6d 3b 0d 0a 09 55 hszItem;...U
1bf0: 49 4e 54 20 20 20 77 46 6d 74 3b 0d 0a 09 42 4f INT wFmt;...BO
1c00: 4f 4c 20 20 20 66 53 65 72 76 65 72 3b 0d 0a 09 OL fServer;...
1c10: 48 43 4f 4e 56 20 20 68 43 6f 6e 76 53 65 72 76 HCONV hConvServ
1c20: 65 72 3b 0d 0a 09 48 43 4f 4e 56 20 20 68 43 6f er;...HCONV hCo
1c30: 6e 76 43 6c 69 65 6e 74 3b 0d 0a 7d 0d 0a 61 6c nvClient;..}..al
1c40: 69 61 73 20 4d 4f 4e 4c 49 4e 4b 53 54 52 55 43 ias MONLINKSTRUC
1c50: 54 2a 20 50 4d 4f 4e 4c 49 4e 4b 53 54 52 55 43 T* PMONLINKSTRUC
1c60: 54 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4d 4f 4e T;....struct MON
1c70: 43 4f 4e 56 53 54 52 55 43 54 20 7b 0d 0a 09 55 CONVSTRUCT {...U
1c80: 49 4e 54 20 20 20 63 62 20 3d 20 4d 4f 4e 43 4f INT cb = MONCO
1c90: 4e 56 53 54 52 55 43 54 2e 73 69 7a 65 6f 66 3b NVSTRUCT.sizeof;
1ca0: 0d 0a 09 42 4f 4f 4c 20 20 20 66 43 6f 6e 6e 65 ...BOOL fConne
1cb0: 63 74 3b 0d 0a 09 44 57 4f 52 44 20 20 64 77 54 ct;...DWORD dwT
1cc0: 69 6d 65 3b 0d 0a 09 48 41 4e 44 4c 45 20 68 54 ime;...HANDLE hT
1cd0: 61 73 6b 3b 0d 0a 09 48 53 5a 20 20 20 20 68 73 ask;...HSZ hs
1ce0: 7a 53 76 63 3b 0d 0a 09 48 53 5a 20 20 20 20 68 zSvc;...HSZ h
1cf0: 73 7a 54 6f 70 69 63 3b 0d 0a 09 48 43 4f 4e 56 szTopic;...HCONV
1d00: 20 20 68 43 6f 6e 76 43 6c 69 65 6e 74 3b 0d 0a hConvClient;..
1d10: 09 48 43 4f 4e 56 20 20 68 43 6f 6e 76 53 65 72 .HCONV hConvSer
1d20: 76 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4d ver;..}..alias M
1d30: 4f 4e 43 4f 4e 56 53 54 52 55 43 54 2a 20 50 4d ONCONVSTRUCT* PM
1d40: 4f 4e 43 4f 4e 56 53 54 52 55 43 54 3b 0d 0a 0d ONCONVSTRUCT;...
1d50: 0a 73 74 72 75 63 74 20 4d 4f 4e 43 42 53 54 52 .struct MONCBSTR
1d60: 55 43 54 20 7b 0d 0a 09 55 49 4e 54 20 20 20 20 UCT {...UINT
1d70: 20 20 20 20 63 62 20 3d 20 4d 4f 4e 43 42 53 54 cb = MONCBST
1d80: 52 55 43 54 2e 73 69 7a 65 6f 66 3b 0d 0a 09 44 RUCT.sizeof;...D
1d90: 57 4f 52 44 20 20 20 20 20 20 20 64 77 54 69 6d WORD dwTim
1da0: 65 3b 0d 0a 09 48 41 4e 44 4c 45 20 20 20 20 20 e;...HANDLE
1db0: 20 68 54 61 73 6b 3b 0d 0a 09 44 57 4f 52 44 20 hTask;...DWORD
1dc0: 20 20 20 20 20 20 64 77 52 65 74 3b 0d 0a 09 55 dwRet;...U
1dd0: 49 4e 54 20 20 20 20 20 20 20 20 77 54 79 70 65 INT wType
1de0: 3b 0d 0a 09 55 49 4e 54 20 20 20 20 20 20 20 20 ;...UINT
1df0: 77 46 6d 74 3b 0d 0a 09 48 43 4f 4e 56 20 20 20 wFmt;...HCONV
1e00: 20 20 20 20 68 43 6f 6e 76 3b 0d 0a 09 48 53 5a hConv;...HSZ
1e10: 20 20 20 20 20 20 20 20 20 68 73 7a 31 3b 0d 0a hsz1;..
1e20: 09 48 53 5a 20 20 20 20 20 20 20 20 20 68 73 7a .HSZ hsz
1e30: 32 3b 0d 0a 09 48 44 44 45 44 41 54 41 20 20 20 2;...HDDEDATA
1e40: 20 68 44 61 74 61 3b 0d 0a 09 55 4c 4f 4e 47 5f hData;...ULONG_
1e50: 50 54 52 20 20 20 64 77 44 61 74 61 31 3b 0d 0a PTR dwData1;..
1e60: 09 55 4c 4f 4e 47 5f 50 54 52 20 20 20 64 77 44 .ULONG_PTR dwD
1e70: 61 74 61 32 3b 0d 0a 09 43 4f 4e 56 43 4f 4e 54 ata2;...CONVCONT
1e80: 45 58 54 20 63 63 3b 0d 0a 09 44 57 4f 52 44 20 EXT cc;...DWORD
1e90: 20 20 20 20 20 20 63 62 44 61 74 61 3b 0d 0a 09 cbData;...
1ea0: 44 57 4f 52 44 5b 38 5d 20 20 20 20 44 61 74 61 DWORD[8] Data
1eb0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4d 4f 4e 43 ;..}..alias MONC
1ec0: 42 53 54 52 55 43 54 2a 20 50 4d 4f 4e 43 42 53 BSTRUCT* PMONCBS
1ed0: 54 52 55 43 54 3b 0d 0a 0d 0a 73 74 72 75 63 74 TRUCT;....struct
1ee0: 20 4d 4f 4e 45 52 52 53 54 52 55 43 54 20 7b 0d MONERRSTRUCT {.
1ef0: 0a 09 55 49 4e 54 20 20 20 63 62 20 3d 20 4d 4f ..UINT cb = MO
1f00: 4e 45 52 52 53 54 52 55 43 54 2e 73 69 7a 65 6f NERRSTRUCT.sizeo
1f10: 66 3b 0d 0a 09 55 49 4e 54 20 20 20 77 4c 61 73 f;...UINT wLas
1f20: 74 45 72 72 6f 72 3b 0d 0a 09 44 57 4f 52 44 20 tError;...DWORD
1f30: 20 64 77 54 69 6d 65 3b 0d 0a 09 48 41 4e 44 4c dwTime;...HANDL
1f40: 45 20 68 54 61 73 6b 3b 0d 0a 7d 0d 0a 61 6c 69 E hTask;..}..ali
1f50: 61 73 20 4d 4f 4e 45 52 52 53 54 52 55 43 54 2a as MONERRSTRUCT*
1f60: 20 50 4d 4f 4e 45 52 52 53 54 52 55 43 54 3b 0d PMONERRSTRUCT;.
1f70: 0a 0d 0a 73 74 72 75 63 74 20 4d 4f 4e 4d 53 47 ...struct MONMSG
1f80: 53 54 52 55 43 54 20 7b 0d 0a 09 55 49 4e 54 20 STRUCT {...UINT
1f90: 20 20 63 62 20 3d 20 4d 4f 4e 4d 53 47 53 54 52 cb = MONMSGSTR
1fa0: 55 43 54 2e 73 69 7a 65 6f 66 3b 0d 0a 09 48 57 UCT.sizeof;...HW
1fb0: 4e 44 20 20 20 68 77 6e 64 54 6f 3b 0d 0a 09 44 ND hwndTo;...D
1fc0: 57 4f 52 44 20 20 64 77 54 69 6d 65 3b 0d 0a 09 WORD dwTime;...
1fd0: 48 41 4e 44 4c 45 20 68 54 61 73 6b 3b 0d 0a 09 HANDLE hTask;...
1fe0: 55 49 4e 54 20 20 20 77 4d 73 67 3b 0d 0a 09 57 UINT wMsg;...W
1ff0: 50 41 52 41 4d 20 77 50 61 72 61 6d 3b 0d 0a 09 PARAM wParam;...
2000: 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a LPARAM lParam;..
2010: 09 44 44 45 4d 4c 5f 4d 53 47 5f 48 4f 4f 4b 5f .DDEML_MSG_HOOK_
2020: 44 41 54 41 20 64 6d 68 64 3b 0d 0a 7d 0d 0a 61 DATA dmhd;..}..a
2030: 6c 69 61 73 20 4d 4f 4e 4d 53 47 53 54 52 55 43 lias MONMSGSTRUC
2040: 54 2a 20 50 4d 4f 4e 4d 53 47 53 54 52 55 43 54 T* PMONMSGSTRUCT
2050: 3b 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 57 69 6e ;....extern (Win
2060: 64 6f 77 73 29 20 7b 0d 0a 09 42 4f 4f 4c 20 44 dows) {...BOOL D
2070: 64 65 41 62 61 6e 64 6f 6e 54 72 61 6e 73 61 63 deAbandonTransac
2080: 74 69 6f 6e 28 44 57 4f 52 44 2c 20 48 43 4f 4e tion(DWORD, HCON
2090: 56 2c 20 44 57 4f 52 44 29 3b 0d 0a 09 50 42 59 V, DWORD);...PBY
20a0: 54 45 20 44 64 65 41 63 63 65 73 73 44 61 74 61 TE DdeAccessData
20b0: 28 48 44 44 45 44 41 54 41 2c 20 50 44 57 4f 52 (HDDEDATA, PDWOR
20c0: 44 29 3b 0d 0a 09 48 44 44 45 44 41 54 41 20 44 D);...HDDEDATA D
20d0: 64 65 41 64 64 44 61 74 61 28 48 44 44 45 44 41 deAddData(HDDEDA
20e0: 54 41 2c 20 50 42 59 54 45 2c 20 44 57 4f 52 44 TA, PBYTE, DWORD
20f0: 2c 20 44 57 4f 52 44 29 3b 0d 0a 09 48 44 44 45 , DWORD);...HDDE
2100: 44 41 54 41 20 44 64 65 43 6c 69 65 6e 74 54 72 DATA DdeClientTr
2110: 61 6e 73 61 63 74 69 6f 6e 28 50 42 59 54 45 2c ansaction(PBYTE,
2120: 20 44 57 4f 52 44 2c 20 48 43 4f 4e 56 2c 20 48 DWORD, HCONV, H
2130: 53 5a 2c 20 55 49 4e 54 2c 20 55 49 4e 54 2c 0d SZ, UINT, UINT,.
2140: 0a 09 20 20 44 57 4f 52 44 2c 20 50 44 57 4f 52 .. DWORD, PDWOR
2150: 44 29 3b 0d 0a 09 69 6e 74 20 44 64 65 43 6d 70 D);...int DdeCmp
2160: 53 74 72 69 6e 67 48 61 6e 64 6c 65 73 28 48 53 StringHandles(HS
2170: 5a 2c 20 48 53 5a 29 3b 0d 0a 09 48 43 4f 4e 56 Z, HSZ);...HCONV
2180: 20 44 64 65 43 6f 6e 6e 65 63 74 28 44 57 4f 52 DdeConnect(DWOR
2190: 44 2c 20 48 53 5a 2c 20 48 53 5a 2c 20 50 43 4f D, HSZ, HSZ, PCO
21a0: 4e 56 43 4f 4e 54 45 58 54 29 3b 0d 0a 09 48 43 NVCONTEXT);...HC
21b0: 4f 4e 56 4c 49 53 54 20 44 64 65 43 6f 6e 6e 65 ONVLIST DdeConne
21c0: 63 74 4c 69 73 74 28 44 57 4f 52 44 2c 20 48 53 ctList(DWORD, HS
21d0: 5a 2c 20 48 53 5a 2c 20 48 43 4f 4e 56 4c 49 53 Z, HSZ, HCONVLIS
21e0: 54 2c 20 50 43 4f 4e 56 43 4f 4e 54 45 58 54 29 T, PCONVCONTEXT)
21f0: 3b 0d 0a 09 48 44 44 45 44 41 54 41 20 44 64 65 ;...HDDEDATA Dde
2200: 43 72 65 61 74 65 44 61 74 61 48 61 6e 64 6c 65 CreateDataHandle
2210: 28 44 57 4f 52 44 2c 20 50 42 59 54 45 2c 20 44 (DWORD, PBYTE, D
2220: 57 4f 52 44 2c 20 44 57 4f 52 44 2c 20 48 53 5a WORD, DWORD, HSZ
2230: 2c 20 55 49 4e 54 2c 0d 0a 09 20 20 55 49 4e 54 , UINT,... UINT
2240: 29 3b 0d 0a 09 48 53 5a 20 44 64 65 43 72 65 61 );...HSZ DdeCrea
2250: 74 65 53 74 72 69 6e 67 48 61 6e 64 6c 65 41 28 teStringHandleA(
2260: 44 57 4f 52 44 2c 20 4c 50 53 54 52 2c 20 69 6e DWORD, LPSTR, in
2270: 74 29 3b 0d 0a 09 48 53 5a 20 44 64 65 43 72 65 t);...HSZ DdeCre
2280: 61 74 65 53 74 72 69 6e 67 48 61 6e 64 6c 65 57 ateStringHandleW
2290: 28 44 57 4f 52 44 2c 20 4c 50 57 53 54 52 2c 20 (DWORD, LPWSTR,
22a0: 69 6e 74 29 3b 0d 0a 09 42 4f 4f 4c 20 44 64 65 int);...BOOL Dde
22b0: 44 69 73 63 6f 6e 6e 65 63 74 28 48 43 4f 4e 56 Disconnect(HCONV
22c0: 29 3b 0d 0a 09 42 4f 4f 4c 20 44 64 65 44 69 73 );...BOOL DdeDis
22d0: 63 6f 6e 6e 65 63 74 4c 69 73 74 28 48 43 4f 4e connectList(HCON
22e0: 56 4c 49 53 54 29 3b 0d 0a 09 42 4f 4f 4c 20 44 VLIST);...BOOL D
22f0: 64 65 45 6e 61 62 6c 65 43 61 6c 6c 62 61 63 6b deEnableCallback
2300: 28 44 57 4f 52 44 2c 20 48 43 4f 4e 56 2c 20 55 (DWORD, HCONV, U
2310: 49 4e 54 29 3b 0d 0a 09 42 4f 4f 4c 20 44 64 65 INT);...BOOL Dde
2320: 46 72 65 65 44 61 74 61 48 61 6e 64 6c 65 28 48 FreeDataHandle(H
2330: 44 44 45 44 41 54 41 29 3b 0d 0a 09 42 4f 4f 4c DDEDATA);...BOOL
2340: 20 44 64 65 46 72 65 65 53 74 72 69 6e 67 48 61 DdeFreeStringHa
2350: 6e 64 6c 65 28 44 57 4f 52 44 2c 20 48 53 5a 29 ndle(DWORD, HSZ)
2360: 3b 0d 0a 09 44 57 4f 52 44 20 44 64 65 47 65 74 ;...DWORD DdeGet
2370: 44 61 74 61 28 48 44 44 45 44 41 54 41 2c 20 50 Data(HDDEDATA, P
2380: 42 59 54 45 2c 20 44 57 4f 52 44 2c 20 44 57 4f BYTE, DWORD, DWO
2390: 52 44 29 3b 0d 0a 09 55 49 4e 54 20 44 64 65 47 RD);...UINT DdeG
23a0: 65 74 4c 61 73 74 45 72 72 6f 72 28 44 57 4f 52 etLastError(DWOR
23b0: 44 29 3b 0d 0a 09 42 4f 4f 4c 20 44 64 65 49 6d D);...BOOL DdeIm
23c0: 70 65 72 73 6f 6e 61 74 65 43 6c 69 65 6e 74 28 personateClient(
23d0: 48 43 4f 4e 56 29 3b 0d 0a 09 55 49 4e 54 20 44 HCONV);...UINT D
23e0: 64 65 49 6e 69 74 69 61 6c 69 7a 65 41 28 50 44 deInitializeA(PD
23f0: 57 4f 52 44 2c 20 50 46 4e 43 41 4c 4c 42 41 43 WORD, PFNCALLBAC
2400: 4b 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44 29 K, DWORD, DWORD)
2410: 3b 0d 0a 09 55 49 4e 54 20 44 64 65 49 6e 69 74 ;...UINT DdeInit
2420: 69 61 6c 69 7a 65 57 28 50 44 57 4f 52 44 2c 20 ializeW(PDWORD,
2430: 50 46 4e 43 41 4c 4c 42 41 43 4b 2c 20 44 57 4f PFNCALLBACK, DWO
2440: 52 44 2c 20 44 57 4f 52 44 29 3b 0d 0a 09 42 4f RD, DWORD);...BO
2450: 4f 4c 20 44 64 65 4b 65 65 70 53 74 72 69 6e 67 OL DdeKeepString
2460: 48 61 6e 64 6c 65 28 44 57 4f 52 44 2c 20 48 53 Handle(DWORD, HS
2470: 5a 29 3b 0d 0a 09 48 44 44 45 44 41 54 41 20 44 Z);...HDDEDATA D
2480: 64 65 4e 61 6d 65 53 65 72 76 69 63 65 28 44 57 deNameService(DW
2490: 4f 52 44 2c 20 48 53 5a 2c 20 48 53 5a 2c 20 55 ORD, HSZ, HSZ, U
24a0: 49 4e 54 29 3b 0d 0a 09 42 4f 4f 4c 20 44 64 65 INT);...BOOL Dde
24b0: 50 6f 73 74 41 64 76 69 73 65 28 44 57 4f 52 44 PostAdvise(DWORD
24c0: 2c 20 48 53 5a 2c 20 48 53 5a 29 3b 0d 0a 09 55 , HSZ, HSZ);...U
24d0: 49 4e 54 20 44 64 65 51 75 65 72 79 43 6f 6e 76 INT DdeQueryConv
24e0: 49 6e 66 6f 28 48 43 4f 4e 56 2c 20 44 57 4f 52 Info(HCONV, DWOR
24f0: 44 2c 20 50 43 4f 4e 56 49 4e 46 4f 29 3b 0d 0a D, PCONVINFO);..
2500: 09 48 43 4f 4e 56 20 44 64 65 51 75 65 72 79 4e .HCONV DdeQueryN
2510: 65 78 74 53 65 72 76 65 72 28 48 43 4f 4e 56 4c extServer(HCONVL
2520: 49 53 54 2c 20 48 43 4f 4e 56 29 3b 0d 0a 09 44 IST, HCONV);...D
2530: 57 4f 52 44 20 44 64 65 51 75 65 72 79 53 74 72 WORD DdeQueryStr
2540: 69 6e 67 41 28 44 57 4f 52 44 2c 20 48 53 5a 2c ingA(DWORD, HSZ,
2550: 20 4c 50 53 54 52 2c 20 44 57 4f 52 44 2c 20 69 LPSTR, DWORD, i
2560: 6e 74 29 3b 0d 0a 09 44 57 4f 52 44 20 44 64 65 nt);...DWORD Dde
2570: 51 75 65 72 79 53 74 72 69 6e 67 57 28 44 57 4f QueryStringW(DWO
2580: 52 44 2c 20 48 53 5a 2c 20 4c 50 57 53 54 52 2c RD, HSZ, LPWSTR,
2590: 20 44 57 4f 52 44 2c 20 69 6e 74 29 3b 0d 0a 09 DWORD, int);...
25a0: 48 43 4f 4e 56 20 44 64 65 52 65 63 6f 6e 6e 65 HCONV DdeReconne
25b0: 63 74 28 48 43 4f 4e 56 29 3b 0d 0a 09 42 4f 4f ct(HCONV);...BOO
25c0: 4c 20 44 64 65 53 65 74 55 73 65 72 48 61 6e 64 L DdeSetUserHand
25d0: 6c 65 28 48 43 4f 4e 56 2c 20 44 57 4f 52 44 2c le(HCONV, DWORD,
25e0: 20 44 57 4f 52 44 29 3b 0d 0a 09 42 4f 4f 4c 20 DWORD);...BOOL
25f0: 44 64 65 55 6e 61 63 63 65 73 73 44 61 74 61 28 DdeUnaccessData(
2600: 48 44 44 45 44 41 54 41 29 3b 0d 0a 09 42 4f 4f HDDEDATA);...BOO
2610: 4c 20 44 64 65 55 6e 69 6e 69 74 69 61 6c 69 7a L DdeUninitializ
2620: 65 28 44 57 4f 52 44 29 3b 0d 0a 7d 0d 0a 0d 0a e(DWORD);..}....
2630: 63 6f 6e 73 74 20 54 43 48 41 52 5b 5d 0d 0a 09 const TCHAR[]...
2640: 53 5a 44 44 45 53 59 53 5f 54 4f 50 49 43 20 20 SZDDESYS_TOPIC
2650: 20 20 20 20 20 20 20 3d 20 22 53 79 73 74 65 6d = "System
2660: 22 2c 0d 0a 09 53 5a 44 44 45 53 59 53 5f 49 54 ",...SZDDESYS_IT
2670: 45 4d 5f 54 4f 50 49 43 53 20 20 20 3d 20 22 54 EM_TOPICS = "T
2680: 6f 70 69 63 73 22 2c 0d 0a 09 53 5a 44 44 45 53 opics",...SZDDES
2690: 59 53 5f 49 54 45 4d 5f 53 59 53 49 54 45 4d 53 YS_ITEM_SYSITEMS
26a0: 20 3d 20 22 53 79 73 49 74 65 6d 73 22 2c 0d 0a = "SysItems",..
26b0: 09 53 5a 44 44 45 53 59 53 5f 49 54 45 4d 5f 52 .SZDDESYS_ITEM_R
26c0: 54 4e 4d 53 47 20 20 20 3d 20 22 52 65 74 75 72 TNMSG = "Retur
26d0: 6e 4d 65 73 73 61 67 65 22 2c 0d 0a 09 53 5a 44 nMessage",...SZD
26e0: 44 45 53 59 53 5f 49 54 45 4d 5f 53 54 41 54 55 DESYS_ITEM_STATU
26f0: 53 20 20 20 3d 20 22 53 74 61 74 75 73 22 2c 0d S = "Status",.
2700: 0a 09 53 5a 44 44 45 53 59 53 5f 49 54 45 4d 5f ..SZDDESYS_ITEM_
2710: 46 4f 52 4d 41 54 53 20 20 3d 20 22 46 6f 72 6d FORMATS = "Form
2720: 61 74 73 22 2c 0d 0a 09 53 5a 44 44 45 53 59 53 ats",...SZDDESYS
2730: 5f 49 54 45 4d 5f 48 45 4c 50 20 20 20 20 20 3d _ITEM_HELP =
2740: 20 22 48 65 6c 70 22 2c 0d 0a 09 53 5a 44 44 45 "Help",...SZDDE
2750: 5f 49 54 45 4d 5f 49 54 45 4d 4c 49 53 54 20 20 _ITEM_ITEMLIST
2760: 20 20 3d 20 22 54 6f 70 69 63 49 74 65 6d 4c 69 = "TopicItemLi
2770: 73 74 22 3b 0d 0a 0d 0a 76 65 72 73 69 6f 6e 20 st";....version
2780: 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a 09 61 6c (Unicode) {...al
2790: 69 61 73 20 44 64 65 43 72 65 61 74 65 53 74 72 ias DdeCreateStr
27a0: 69 6e 67 48 61 6e 64 6c 65 57 20 44 64 65 43 72 ingHandleW DdeCr
27b0: 65 61 74 65 53 74 72 69 6e 67 48 61 6e 64 6c 65 eateStringHandle
27c0: 3b 0d 0a 09 61 6c 69 61 73 20 44 64 65 49 6e 69 ;...alias DdeIni
27d0: 74 69 61 6c 69 7a 65 57 20 44 64 65 49 6e 69 74 tializeW DdeInit
27e0: 69 61 6c 69 7a 65 3b 0d 0a 09 61 6c 69 61 73 20 ialize;...alias
27f0: 44 64 65 51 75 65 72 79 53 74 72 69 6e 67 57 20 DdeQueryStringW
2800: 44 64 65 51 75 65 72 79 53 74 72 69 6e 67 3b 0d DdeQueryString;.
2810: 0a 7d 20 65 6c 73 65 20 7b 0d 0a 09 61 6c 69 61 .} else {...alia
2820: 73 20 44 64 65 43 72 65 61 74 65 53 74 72 69 6e s DdeCreateStrin
2830: 67 48 61 6e 64 6c 65 41 20 44 64 65 43 72 65 61 gHandleA DdeCrea
2840: 74 65 53 74 72 69 6e 67 48 61 6e 64 6c 65 3b 0d teStringHandle;.
2850: 0a 09 61 6c 69 61 73 20 44 64 65 49 6e 69 74 69 ..alias DdeIniti
2860: 61 6c 69 7a 65 41 20 44 64 65 49 6e 69 74 69 61 alizeA DdeInitia
2870: 6c 69 7a 65 3b 0d 0a 09 61 6c 69 61 73 20 44 64 lize;...alias Dd
2880: 65 51 75 65 72 79 53 74 72 69 6e 67 41 20 44 64 eQueryStringA Dd
2890: 65 51 75 65 72 79 53 74 72 69 6e 67 3b 0d 0a 7d eQueryString;..}
28a0: 0d 0a ..