Hex Artifact Content

Not logged in

Artifact 558019d8860e0eea9da986f51a530b22dbaf5e99:


0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 61 6e 73  module win32.ans
0010: 69 2e 64 64 65 6d 6c 3b 0d 0a 0d 0a 2f 2f 20 54  i.ddeml;....// T
0020: 72 61 6e 73 6c 61 74 65 64 20 66 72 6f 6d 20 4d  ranslated from M
0030: 69 63 72 6f 73 6f 66 74 20 50 6c 61 74 66 6f 72  icrosoft Platfor
0040: 6d 20 53 44 4b 20 41 75 67 75 73 74 20 32 30 30  m SDK August 200
0050: 31 20 45 64 69 74 69 6f 6e 0d 0a 2f 2f 20 62 79  1 Edition..// by
0060: 20 59 2e 54 6f 6d 69 6e 6f 20 28 64 65 6d 6f 6f   Y.Tomino (demoo
0070: 6e 6c 69 74 40 69 6e 74 65 72 37 2e 6a 70 29 0d  nlit@inter7.jp).
0080: 0a 0d 0a 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e  ...import win32.
0090: 61 6e 73 69 2e 77 69 6e 64 65 66 3b 0d 0a 0d 0a  ansi.windef;....
00a0: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 49 4e 43 5f  // #ifndef _INC_
00b0: 44 44 45 4d 4c 48 0d 0a 2f 2f 20 23 64 65 66 69  DDEMLH..// #defi
00c0: 6e 65 20 5f 49 4e 43 5f 44 44 45 4d 4c 48 0d 0a  ne _INC_DDEMLH..
00d0: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 5f 63 70  ..// #ifdef __cp
00e0: 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 65 78 74 65  lusplus..// exte
00f0: 72 6e 20 22 43 22 20 7b 0d 0a 2f 2f 20 23 65 6e  rn "C" {..// #en
0100: 64 69 66 20 2f 2a 20 5f 5f 63 70 6c 75 73 70 6c  dif /* __cpluspl
0110: 75 73 20 2a 2f 0d 0a 0d 0a 61 6c 69 61 73 20 76  us */....alias v
0120: 6f 69 64 2a 20 48 43 4f 4e 56 4c 49 53 54 3b 0d  oid* HCONVLIST;.
0130: 0a 61 6c 69 61 73 20 76 6f 69 64 2a 20 48 43 4f  .alias void* HCO
0140: 4e 56 3b 0d 0a 61 6c 69 61 73 20 76 6f 69 64 2a  NV;..alias void*
0150: 20 48 53 5a 3b 0d 0a 61 6c 69 61 73 20 76 6f 69   HSZ;..alias voi
0160: 64 2a 20 48 44 44 45 44 41 54 41 3b 0d 0a 2f 2f  d* HDDEDATA;..//
0170: 20 23 64 65 66 69 6e 65 20 45 58 50 45 4e 54 52   #define EXPENTR
0180: 59 20 43 41 4c 4c 42 41 43 4b 0d 0a 0d 0a 73 74  Y CALLBACK....st
0190: 72 75 63 74 20 74 61 67 48 53 5a 50 41 49 52 20  ruct tagHSZPAIR 
01a0: 7b 0d 0a 20 20 48 53 5a 20 68 73 7a 53 76 63 3b  {..  HSZ hszSvc;
01b0: 0d 0a 20 20 48 53 5a 20 68 73 7a 54 6f 70 69 63  ..  HSZ hszTopic
01c0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 48  ;..}..alias tagH
01d0: 53 5a 50 41 49 52 20 48 53 5a 50 41 49 52 3b 0d  SZPAIR HSZPAIR;.
01e0: 0a 0d 0a 61 6c 69 61 73 20 48 53 5a 50 41 49 52  ...alias HSZPAIR
01f0: 2a 20 50 48 53 5a 50 41 49 52 3b 0d 0a 0d 0a 73  * PHSZPAIR;....s
0200: 74 72 75 63 74 20 74 61 67 43 4f 4e 56 43 4f 4e  truct tagCONVCON
0210: 54 45 58 54 20 7b 0d 0a 20 20 55 49 4e 54 20 63  TEXT {..  UINT c
0220: 62 3b 0d 0a 20 20 55 49 4e 54 20 77 46 6c 61 67  b;..  UINT wFlag
0230: 73 3b 0d 0a 20 20 55 49 4e 54 20 77 43 6f 75 6e  s;..  UINT wCoun
0240: 74 72 79 49 44 3b 0d 0a 20 20 69 6e 74 20 69 43  tryID;..  int iC
0250: 6f 64 65 50 61 67 65 3b 0d 0a 20 20 44 57 4f 52  odePage;..  DWOR
0260: 44 20 64 77 4c 61 6e 67 49 44 3b 0d 0a 20 20 44  D dwLangID;..  D
0270: 57 4f 52 44 20 64 77 53 65 63 75 72 69 74 79 3b  WORD dwSecurity;
0280: 0d 0a 20 20 53 45 43 55 52 49 54 59 5f 51 55 41  ..  SECURITY_QUA
0290: 4c 49 54 59 5f 4f 46 5f 53 45 52 56 49 43 45 20  LITY_OF_SERVICE 
02a0: 71 6f 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74  qos;..}..alias t
02b0: 61 67 43 4f 4e 56 43 4f 4e 54 45 58 54 20 43 4f  agCONVCONTEXT CO
02c0: 4e 56 43 4f 4e 54 45 58 54 3b 0d 0a 0d 0a 61 6c  NVCONTEXT;....al
02d0: 69 61 73 20 43 4f 4e 56 43 4f 4e 54 45 58 54 2a  ias CONVCONTEXT*
02e0: 20 50 43 4f 4e 56 43 4f 4e 54 45 58 54 3b 0d 0a   PCONVCONTEXT;..
02f0: 0d 0a 73 74 72 75 63 74 20 74 61 67 43 4f 4e 56  ..struct tagCONV
0300: 49 4e 46 4f 20 7b 0d 0a 20 20 44 57 4f 52 44 20  INFO {..  DWORD 
0310: 63 62 3b 0d 0a 20 20 44 57 4f 52 44 5f 50 54 52  cb;..  DWORD_PTR
0320: 20 68 55 73 65 72 3b 0d 0a 20 20 48 43 4f 4e 56   hUser;..  HCONV
0330: 20 68 43 6f 6e 76 50 61 72 74 6e 65 72 3b 0d 0a   hConvPartner;..
0340: 20 20 48 53 5a 20 68 73 7a 53 76 63 50 61 72 74    HSZ hszSvcPart
0350: 6e 65 72 3b 0d 0a 20 20 48 53 5a 20 68 73 7a 53  ner;..  HSZ hszS
0360: 65 72 76 69 63 65 52 65 71 3b 0d 0a 20 20 48 53  erviceReq;..  HS
0370: 5a 20 68 73 7a 54 6f 70 69 63 3b 0d 0a 20 20 48  Z hszTopic;..  H
0380: 53 5a 20 68 73 7a 49 74 65 6d 3b 0d 0a 20 20 55  SZ hszItem;..  U
0390: 49 4e 54 20 77 46 6d 74 3b 0d 0a 20 20 55 49 4e  INT wFmt;..  UIN
03a0: 54 20 77 54 79 70 65 3b 0d 0a 20 20 55 49 4e 54  T wType;..  UINT
03b0: 20 77 53 74 61 74 75 73 3b 0d 0a 20 20 55 49 4e   wStatus;..  UIN
03c0: 54 20 77 43 6f 6e 76 73 74 3b 0d 0a 20 20 55 49  T wConvst;..  UI
03d0: 4e 54 20 77 4c 61 73 74 45 72 72 6f 72 3b 0d 0a  NT wLastError;..
03e0: 20 20 48 43 4f 4e 56 4c 49 53 54 20 68 43 6f 6e    HCONVLIST hCon
03f0: 76 4c 69 73 74 3b 0d 0a 20 20 43 4f 4e 56 43 4f  vList;..  CONVCO
0400: 4e 54 45 58 54 20 43 6f 6e 76 43 74 78 74 3b 0d  NTEXT ConvCtxt;.
0410: 0a 20 20 48 57 4e 44 20 68 77 6e 64 3b 0d 0a 20  .  HWND hwnd;.. 
0420: 20 48 57 4e 44 20 68 77 6e 64 50 61 72 74 6e 65   HWND hwndPartne
0430: 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67  r;..}..alias tag
0440: 43 4f 4e 56 49 4e 46 4f 20 43 4f 4e 56 49 4e 46  CONVINFO CONVINF
0450: 4f 3b 0d 0a 0d 0a 61 6c 69 61 73 20 43 4f 4e 56  O;....alias CONV
0460: 49 4e 46 4f 2a 20 50 43 4f 4e 56 49 4e 46 4f 3b  INFO* PCONVINFO;
0470: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
0480: 7b 20 58 53 54 5f 4e 55 4c 4c 20 3d 20 30 20 7d  { XST_NULL = 0 }
0490: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
04a0: 58 53 54 5f 49 4e 43 4f 4d 50 4c 45 54 45 20 3d  XST_INCOMPLETE =
04b0: 20 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e   1 }..enum : uin
04c0: 74 20 7b 20 58 53 54 5f 43 4f 4e 4e 45 43 54 45  t { XST_CONNECTE
04d0: 44 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20  D = 2 }..enum : 
04e0: 75 69 6e 74 20 7b 20 58 53 54 5f 49 4e 49 54 31  uint { XST_INIT1
04f0: 20 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 3 }..enum : u
0500: 69 6e 74 20 7b 20 58 53 54 5f 49 4e 49 54 32 20  int { XST_INIT2 
0510: 3d 20 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 4 }..enum : ui
0520: 6e 74 20 7b 20 58 53 54 5f 52 45 51 53 45 4e 54  nt { XST_REQSENT
0530: 20 3d 20 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 5 }..enum : u
0540: 69 6e 74 20 7b 20 58 53 54 5f 44 41 54 41 52 43  int { XST_DATARC
0550: 56 44 20 3d 20 36 20 7d 0d 0a 65 6e 75 6d 20 3a  VD = 6 }..enum :
0560: 20 75 69 6e 74 20 7b 20 58 53 54 5f 50 4f 4b 45   uint { XST_POKE
0570: 53 45 4e 54 20 3d 20 37 20 7d 0d 0a 65 6e 75 6d  SENT = 7 }..enum
0580: 20 3a 20 75 69 6e 74 20 7b 20 58 53 54 5f 50 4f   : uint { XST_PO
0590: 4b 45 41 43 4b 52 43 56 44 20 3d 20 38 20 7d 0d  KEACKRCVD = 8 }.
05a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 58  .enum : uint { X
05b0: 53 54 5f 45 58 45 43 53 45 4e 54 20 3d 20 39 20  ST_EXECSENT = 9 
05c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
05d0: 20 58 53 54 5f 45 58 45 43 41 43 4b 52 43 56 44   XST_EXECACKRCVD
05e0: 20 3d 20 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20   = 10 }..enum : 
05f0: 75 69 6e 74 20 7b 20 58 53 54 5f 41 44 56 53 45  uint { XST_ADVSE
0600: 4e 54 20 3d 20 31 31 20 7d 0d 0a 65 6e 75 6d 20  NT = 11 }..enum 
0610: 3a 20 75 69 6e 74 20 7b 20 58 53 54 5f 55 4e 41  : uint { XST_UNA
0620: 44 56 53 45 4e 54 20 3d 20 31 32 20 7d 0d 0a 65  DVSENT = 12 }..e
0630: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 58 53 54  num : uint { XST
0640: 5f 41 44 56 41 43 4b 52 43 56 44 20 3d 20 31 33  _ADVACKRCVD = 13
0650: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
0660: 7b 20 58 53 54 5f 55 4e 41 44 56 41 43 4b 52 43  { XST_UNADVACKRC
0670: 56 44 20 3d 20 31 34 20 7d 0d 0a 65 6e 75 6d 20  VD = 14 }..enum 
0680: 3a 20 75 69 6e 74 20 7b 20 58 53 54 5f 41 44 56  : uint { XST_ADV
0690: 44 41 54 41 53 45 4e 54 20 3d 20 31 35 20 7d 0d  DATASENT = 15 }.
06a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 58  .enum : uint { X
06b0: 53 54 5f 41 44 56 44 41 54 41 41 43 4b 52 43 56  ST_ADVDATAACKRCV
06c0: 44 20 3d 20 31 36 20 7d 0d 0a 0d 0a 65 6e 75 6d  D = 16 }....enum
06d0: 20 3a 20 75 69 6e 74 20 7b 20 43 41 44 56 5f 4c   : uint { CADV_L
06e0: 41 54 45 41 43 4b 20 3d 20 30 78 46 46 46 46 20  ATEACK = 0xFFFF 
06f0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
0700: 20 7b 20 53 54 5f 43 4f 4e 4e 45 43 54 45 44 20   { ST_CONNECTED 
0710: 3d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d  = 0x0001 }..enum
0720: 20 3a 20 75 69 6e 74 20 7b 20 53 54 5f 41 44 56   : uint { ST_ADV
0730: 49 53 45 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a  ISE = 0x0002 }..
0740: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54  enum : uint { ST
0750: 5f 49 53 4c 4f 43 41 4c 20 3d 20 30 78 30 30 30  _ISLOCAL = 0x000
0760: 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  4 }..enum : uint
0770: 20 7b 20 53 54 5f 42 4c 4f 43 4b 45 44 20 3d 20   { ST_BLOCKED = 
0780: 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0008 }..enum :
0790: 20 75 69 6e 74 20 7b 20 53 54 5f 43 4c 49 45 4e   uint { ST_CLIEN
07a0: 54 20 3d 20 30 78 30 30 31 30 20 7d 0d 0a 65 6e  T = 0x0010 }..en
07b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53 54 5f 54  um : uint { ST_T
07c0: 45 52 4d 49 4e 41 54 45 44 20 3d 20 30 78 30 30  ERMINATED = 0x00
07d0: 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  20 }..enum : uin
07e0: 74 20 7b 20 53 54 5f 49 4e 4c 49 53 54 20 3d 20  t { ST_INLIST = 
07f0: 30 78 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x0040 }..enum :
0800: 20 75 69 6e 74 20 7b 20 53 54 5f 42 4c 4f 43 4b   uint { ST_BLOCK
0810: 4e 45 58 54 20 3d 20 30 78 30 30 38 30 20 7d 0d  NEXT = 0x0080 }.
0820: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 53  .enum : uint { S
0830: 54 5f 49 53 53 45 4c 46 20 3d 20 30 78 30 31 30  T_ISSELF = 0x010
0840: 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
0850: 6e 74 20 7b 20 44 44 45 5f 46 41 43 4b 20 3d 20  nt { DDE_FACK = 
0860: 30 78 38 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  0x8000 }..enum :
0870: 20 75 69 6e 74 20 7b 20 44 44 45 5f 46 42 55 53   uint { DDE_FBUS
0880: 59 20 3d 20 30 78 34 30 30 30 20 7d 0d 0a 65 6e  Y = 0x4000 }..en
0890: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 44 45 5f  um : uint { DDE_
08a0: 46 44 45 46 45 52 55 50 44 20 3d 20 30 78 34 30  FDEFERUPD = 0x40
08b0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
08c0: 74 20 7b 20 44 44 45 5f 46 41 43 4b 52 45 51 20  t { DDE_FACKREQ 
08d0: 3d 20 30 78 38 30 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x8000 }..enum
08e0: 20 3a 20 75 69 6e 74 20 7b 20 44 44 45 5f 46 52   : uint { DDE_FR
08f0: 45 4c 45 41 53 45 20 3d 20 30 78 32 30 30 30 20  ELEASE = 0x2000 
0900: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0910: 20 44 44 45 5f 46 52 45 51 55 45 53 54 45 44 20   DDE_FREQUESTED 
0920: 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e 75 6d  = 0x1000 }..enum
0930: 20 3a 20 75 69 6e 74 20 7b 20 44 44 45 5f 46 41   : uint { DDE_FA
0940: 50 50 53 54 41 54 55 53 20 3d 20 30 78 30 30 66  PPSTATUS = 0x00f
0950: 66 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  f }..enum : uint
0960: 20 7b 20 44 44 45 5f 46 4e 4f 54 50 52 4f 43 45   { DDE_FNOTPROCE
0970: 53 53 45 44 20 3d 20 30 78 30 30 30 30 20 7d 0d  SSED = 0x0000 }.
0980: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
0990: 20 44 44 45 5f 46 41 43 4b 52 45 53 45 52 56 45   DDE_FACKRESERVE
09a0: 44 20 3d 20 7e 28 44 44 45 5f 46 41 43 4b 20 7c  D = ~(DDE_FACK |
09b0: 20 44 44 45 5f 46 42 55 53 59 20 7c 20 44 44 45   DDE_FBUSY | DDE
09c0: 5f 46 41 50 50 53 54 41 54 55 53 29 20 7d 0d 0a  _FAPPSTATUS) }..
09d0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 44  enum : uint { DD
09e0: 45 5f 46 41 44 56 52 45 53 45 52 56 45 44 20 3d  E_FADVRESERVED =
09f0: 20 7e 28 44 44 45 5f 46 41 43 4b 52 45 51 20 7c   ~(DDE_FACKREQ |
0a00: 20 44 44 45 5f 46 44 45 46 45 52 55 50 44 29 20   DDE_FDEFERUPD) 
0a10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0a20: 20 44 44 45 5f 46 44 41 54 52 45 53 45 52 56 45   DDE_FDATRESERVE
0a30: 44 20 3d 20 7e 28 44 44 45 5f 46 41 43 4b 52 45  D = ~(DDE_FACKRE
0a40: 51 20 7c 20 44 44 45 5f 46 52 45 4c 45 41 53 45  Q | DDE_FRELEASE
0a50: 20 7c 20 44 44 45 5f 46 52 45 51 55 45 53 54 45   | DDE_FREQUESTE
0a60: 44 29 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  D) }..enum : uin
0a70: 74 20 7b 20 44 44 45 5f 46 50 4f 4b 52 45 53 45  t { DDE_FPOKRESE
0a80: 52 56 45 44 20 3d 20 7e 28 44 44 45 5f 46 52 45  RVED = ~(DDE_FRE
0a90: 4c 45 41 53 45 29 20 7d 0d 0a 0d 0a 65 6e 75 6d  LEASE) }....enum
0aa0: 20 3a 20 75 69 6e 74 20 7b 20 4d 53 47 46 5f 44   : uint { MSGF_D
0ab0: 44 45 4d 47 52 20 3d 20 30 78 38 30 30 31 20 7d  DEMGR = 0x8001 }
0ac0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
0ad0: 7b 20 43 50 5f 57 49 4e 41 4e 53 49 20 3d 20 31  { CP_WINANSI = 1
0ae0: 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  004 }..enum : ui
0af0: 6e 74 20 7b 20 43 50 5f 57 49 4e 55 4e 49 43 4f  nt { CP_WINUNICO
0b00: 44 45 20 3d 20 31 32 30 30 20 7d 0d 0a 2f 2f 20  DE = 1200 }..// 
0b10: 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a  #ifdef UNICODE..
0b20: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73  // #.....// #els
0b30: 65 20 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a  e  // !UNICODE..
0b40: 61 6c 69 61 73 20 43 50 5f 57 49 4e 41 4e 53 49  alias CP_WINANSI
0b50: 20 43 50 5f 57 49 4e 4e 45 55 54 52 41 4c 3b 0d   CP_WINNEUTRAL;.
0b60: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55  .// #endif // !U
0b70: 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a  NICODE....enum :
0b80: 20 75 69 6e 74 20 7b 20 58 54 59 50 46 5f 4e 4f   uint { XTYPF_NO
0b90: 42 4c 4f 43 4b 20 3d 20 30 78 30 30 30 32 20 7d  BLOCK = 0x0002 }
0ba0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
0bb0: 58 54 59 50 46 5f 4e 4f 44 41 54 41 20 3d 20 30  XTYPF_NODATA = 0
0bc0: 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x0004 }..enum : 
0bd0: 75 69 6e 74 20 7b 20 58 54 59 50 46 5f 41 43 4b  uint { XTYPF_ACK
0be0: 52 45 51 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a  REQ = 0x0008 }..
0bf0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
0c00: 58 43 4c 41 53 53 5f 4d 41 53 4b 20 3d 20 30 78  XCLASS_MASK = 0x
0c10: 46 43 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  FC00 }..enum : u
0c20: 69 6e 74 20 7b 20 58 43 4c 41 53 53 5f 42 4f 4f  int { XCLASS_BOO
0c30: 4c 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 6e  L = 0x1000 }..en
0c40: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 58 43 4c 41  um : uint { XCLA
0c50: 53 53 5f 44 41 54 41 20 3d 20 30 78 32 30 30 30  SS_DATA = 0x2000
0c60: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
0c70: 7b 20 58 43 4c 41 53 53 5f 46 4c 41 47 53 20 3d  { XCLASS_FLAGS =
0c80: 20 30 78 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20   0x4000 }..enum 
0c90: 3a 20 75 69 6e 74 20 7b 20 58 43 4c 41 53 53 5f  : uint { XCLASS_
0ca0: 4e 4f 54 49 46 49 43 41 54 49 4f 4e 20 3d 20 30  NOTIFICATION = 0
0cb0: 78 38 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20  x8000 }....enum 
0cc0: 3a 20 75 69 6e 74 20 7b 20 58 54 59 50 5f 45 52  : uint { XTYP_ER
0cd0: 52 4f 52 20 3d 20 30 78 30 30 30 30 20 7c 20 58  ROR = 0x0000 | X
0ce0: 43 4c 41 53 53 5f 4e 4f 54 49 46 49 43 41 54 49  CLASS_NOTIFICATI
0cf0: 4f 4e 20 7c 20 58 54 59 50 46 5f 4e 4f 42 4c 4f  ON | XTYPF_NOBLO
0d00: 43 4b 20 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  CK  }..enum : ui
0d10: 6e 74 20 7b 20 58 54 59 50 5f 41 44 56 44 41 54  nt { XTYP_ADVDAT
0d20: 41 20 3d 20 30 78 30 30 31 30 20 7c 20 58 43 4c  A = 0x0010 | XCL
0d30: 41 53 53 5f 46 4c 41 47 53 20 20 7d 0d 0a 65 6e  ASS_FLAGS  }..en
0d40: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 58 54 59 50  um : uint { XTYP
0d50: 5f 41 44 56 52 45 51 20 3d 20 30 78 30 30 32 30  _ADVREQ = 0x0020
0d60: 20 7c 20 58 43 4c 41 53 53 5f 44 41 54 41 20 7c   | XCLASS_DATA |
0d70: 20 58 54 59 50 46 5f 4e 4f 42 4c 4f 43 4b 20 20   XTYPF_NOBLOCK  
0d80: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0d90: 20 58 54 59 50 5f 41 44 56 53 54 41 52 54 20 3d   XTYP_ADVSTART =
0da0: 20 30 78 30 30 33 30 20 7c 20 58 43 4c 41 53 53   0x0030 | XCLASS
0db0: 5f 42 4f 4f 4c 20 20 7d 0d 0a 65 6e 75 6d 20 3a  _BOOL  }..enum :
0dc0: 20 75 69 6e 74 20 7b 20 58 54 59 50 5f 41 44 56   uint { XTYP_ADV
0dd0: 53 54 4f 50 20 3d 20 30 78 30 30 34 30 20 7c 20  STOP = 0x0040 | 
0de0: 58 43 4c 41 53 53 5f 4e 4f 54 49 46 49 43 41 54  XCLASS_NOTIFICAT
0df0: 49 4f 4e 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  ION }..enum : ui
0e00: 6e 74 20 7b 20 58 54 59 50 5f 45 58 45 43 55 54  nt { XTYP_EXECUT
0e10: 45 20 3d 20 30 78 30 30 35 30 20 7c 20 58 43 4c  E = 0x0050 | XCL
0e20: 41 53 53 5f 46 4c 41 47 53 20 20 7d 0d 0a 65 6e  ASS_FLAGS  }..en
0e30: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 58 54 59 50  um : uint { XTYP
0e40: 5f 43 4f 4e 4e 45 43 54 20 3d 20 30 78 30 30 36  _CONNECT = 0x006
0e50: 30 20 7c 20 58 43 4c 41 53 53 5f 42 4f 4f 4c 20  0 | XCLASS_BOOL 
0e60: 7c 20 58 54 59 50 46 5f 4e 4f 42 4c 4f 43 4b 20  | XTYPF_NOBLOCK 
0e70: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
0e80: 20 58 54 59 50 5f 43 4f 4e 4e 45 43 54 5f 43 4f   XTYP_CONNECT_CO
0e90: 4e 46 49 52 4d 20 3d 20 30 78 30 30 37 30 20 7c  NFIRM = 0x0070 |
0ea0: 20 58 43 4c 41 53 53 5f 4e 4f 54 49 46 49 43 41   XCLASS_NOTIFICA
0eb0: 54 49 4f 4e 20 7c 20 58 54 59 50 46 5f 4e 4f 42  TION | XTYPF_NOB
0ec0: 4c 4f 43 4b 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  LOCK }..enum : u
0ed0: 69 6e 74 20 7b 20 58 54 59 50 5f 58 41 43 54 5f  int { XTYP_XACT_
0ee0: 43 4f 4d 50 4c 45 54 45 20 3d 20 30 78 30 30 38  COMPLETE = 0x008
0ef0: 30 20 7c 20 58 43 4c 41 53 53 5f 4e 4f 54 49 46  0 | XCLASS_NOTIF
0f00: 49 43 41 54 49 4f 4e 20 20 7d 0d 0a 65 6e 75 6d  ICATION  }..enum
0f10: 20 3a 20 75 69 6e 74 20 7b 20 58 54 59 50 5f 50   : uint { XTYP_P
0f20: 4f 4b 45 20 3d 20 30 78 30 30 39 30 20 7c 20 58  OKE = 0x0090 | X
0f30: 43 4c 41 53 53 5f 46 4c 41 47 53 20 20 7d 0d 0a  CLASS_FLAGS  }..
0f40: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 58 54  enum : uint { XT
0f50: 59 50 5f 52 45 47 49 53 54 45 52 20 3d 20 30 78  YP_REGISTER = 0x
0f60: 30 30 41 30 20 7c 20 58 43 4c 41 53 53 5f 4e 4f  00A0 | XCLASS_NO
0f70: 54 49 46 49 43 41 54 49 4f 4e 20 7c 20 58 54 59  TIFICATION | XTY
0f80: 50 46 5f 4e 4f 42 4c 4f 43 4b 20 7d 0d 0a 65 6e  PF_NOBLOCK }..en
0f90: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 58 54 59 50  um : uint { XTYP
0fa0: 5f 52 45 51 55 45 53 54 20 3d 20 30 78 30 30 42  _REQUEST = 0x00B
0fb0: 30 20 7c 20 58 43 4c 41 53 53 5f 44 41 54 41 20  0 | XCLASS_DATA 
0fc0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
0fd0: 7b 20 58 54 59 50 5f 44 49 53 43 4f 4e 4e 45 43  { XTYP_DISCONNEC
0fe0: 54 20 3d 20 30 78 30 30 43 30 20 7c 20 58 43 4c  T = 0x00C0 | XCL
0ff0: 41 53 53 5f 4e 4f 54 49 46 49 43 41 54 49 4f 4e  ASS_NOTIFICATION
1000: 20 7c 20 58 54 59 50 46 5f 4e 4f 42 4c 4f 43 4b   | XTYPF_NOBLOCK
1010: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1020: 7b 20 58 54 59 50 5f 55 4e 52 45 47 49 53 54 45  { XTYP_UNREGISTE
1030: 52 20 3d 20 30 78 30 30 44 30 20 7c 20 58 43 4c  R = 0x00D0 | XCL
1040: 41 53 53 5f 4e 4f 54 49 46 49 43 41 54 49 4f 4e  ASS_NOTIFICATION
1050: 20 7c 20 58 54 59 50 46 5f 4e 4f 42 4c 4f 43 4b   | XTYPF_NOBLOCK
1060: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
1070: 7b 20 58 54 59 50 5f 57 49 4c 44 43 4f 4e 4e 45  { XTYP_WILDCONNE
1080: 43 54 20 3d 20 30 78 30 30 45 30 20 7c 20 58 43  CT = 0x00E0 | XC
1090: 4c 41 53 53 5f 44 41 54 41 20 7c 20 58 54 59 50  LASS_DATA | XTYP
10a0: 46 5f 4e 4f 42 4c 4f 43 4b 20 7d 0d 0a 0d 0a 65  F_NOBLOCK }....e
10b0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 58 54 59  num : uint { XTY
10c0: 50 5f 4d 41 53 4b 20 3d 20 30 78 30 30 46 30 20  P_MASK = 0x00F0 
10d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
10e0: 20 58 54 59 50 5f 53 48 49 46 54 20 3d 20 34 20   XTYP_SHIFT = 4 
10f0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
1100: 20 7b 20 54 49 4d 45 4f 55 54 5f 41 53 59 4e 43   { TIMEOUT_ASYNC
1110: 20 3d 20 30 78 46 46 46 46 46 46 46 46 20 7d 0d   = 0xFFFFFFFF }.
1120: 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  ...enum : uint {
1130: 20 51 49 44 5f 53 59 4e 43 20 3d 20 30 78 46 46   QID_SYNC = 0xFF
1140: 46 46 46 46 46 46 20 7d 0d 0a 0d 0a 2f 2f 20 23  FFFFFF }....// #
1150: 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f  ifdef UNICODE../
1160: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d  / #.....// #....
1170: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e  .// #.....// #..
1180: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23  ...// #.....// #
1190: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f  .....// #.....//
11a0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d   #.....// #else.
11b0: 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 53 5a  .const char[] SZ
11c0: 44 44 45 53 59 53 5f 54 4f 50 49 43 20 3d 20 22  DDESYS_TOPIC = "
11d0: 53 79 73 74 65 6d 22 3b 0d 0a 63 6f 6e 73 74 20  System";..const 
11e0: 63 68 61 72 5b 5d 20 53 5a 44 44 45 53 59 53 5f  char[] SZDDESYS_
11f0: 49 54 45 4d 5f 54 4f 50 49 43 53 20 3d 20 22 54  ITEM_TOPICS = "T
1200: 6f 70 69 63 73 22 3b 0d 0a 63 6f 6e 73 74 20 63  opics";..const c
1210: 68 61 72 5b 5d 20 53 5a 44 44 45 53 59 53 5f 49  har[] SZDDESYS_I
1220: 54 45 4d 5f 53 59 53 49 54 45 4d 53 20 3d 20 22  TEM_SYSITEMS = "
1230: 53 79 73 49 74 65 6d 73 22 3b 0d 0a 63 6f 6e 73  SysItems";..cons
1240: 74 20 63 68 61 72 5b 5d 20 53 5a 44 44 45 53 59  t char[] SZDDESY
1250: 53 5f 49 54 45 4d 5f 52 54 4e 4d 53 47 20 3d 20  S_ITEM_RTNMSG = 
1260: 22 52 65 74 75 72 6e 4d 65 73 73 61 67 65 22 3b  "ReturnMessage";
1270: 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 53  ..const char[] S
1280: 5a 44 44 45 53 59 53 5f 49 54 45 4d 5f 53 54 41  ZDDESYS_ITEM_STA
1290: 54 55 53 20 3d 20 22 53 74 61 74 75 73 22 3b 0d  TUS = "Status";.
12a0: 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 53 5a  .const char[] SZ
12b0: 44 44 45 53 59 53 5f 49 54 45 4d 5f 46 4f 52 4d  DDESYS_ITEM_FORM
12c0: 41 54 53 20 3d 20 22 46 6f 72 6d 61 74 73 22 3b  ATS = "Formats";
12d0: 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 53  ..const char[] S
12e0: 5a 44 44 45 53 59 53 5f 49 54 45 4d 5f 48 45 4c  ZDDESYS_ITEM_HEL
12f0: 50 20 3d 20 22 48 65 6c 70 22 3b 0d 0a 63 6f 6e  P = "Help";..con
1300: 73 74 20 63 68 61 72 5b 5d 20 53 5a 44 44 45 5f  st char[] SZDDE_
1310: 49 54 45 4d 5f 49 54 45 4d 4c 49 53 54 20 3d 20  ITEM_ITEMLIST = 
1320: 22 54 6f 70 69 63 49 74 65 6d 4c 69 73 74 22 3b  "TopicItemList";
1330: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f  ..// #endif..../
1340: 2f 20 74 79 70 65 64 65 66 20 48 44 44 45 44 41  / typedef HDDEDA
1350: 54 41 20 43 41 4c 4c 42 41 43 4b 20 46 4e 43 41  TA CALLBACK FNCA
1360: 4c 4c 42 41 43 4b 28 55 49 4e 54 20 77 54 79 70  LLBACK(UINT wTyp
1370: 65 2c 20 55 49 4e 54 20 77 46 6d 74 2c 20 48 43  e, UINT wFmt, HC
1380: 4f 4e 56 20 68 43 6f 6e 76 2c 20 48 53 5a 20 68  ONV hConv, HSZ h
1390: 73 7a 31 2c 20 48 53 5a 20 68 73 7a 32 2c 20 48  sz1, HSZ hsz2, H
13a0: 44 44 45 44 41 54 41 20 68 44 61 74 61 2c 20 55  DDEDATA hData, U
13b0: 4c 4f 4e 47 5f 50 54 52 20 64 77 44 61 74 61 31  LONG_PTR dwData1
13c0: 2c 20 55 4c 4f 4e 47 5f 50 54 52 20 64 77 44 61  , ULONG_PTR dwDa
13d0: 74 61 32 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69  ta2);..extern(Wi
13e0: 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 48 44 44  ndows) alias HDD
13f0: 45 44 41 54 41 20 66 75 6e 63 74 69 6f 6e 28 55  EDATA function(U
1400: 49 4e 54 20 77 54 79 70 65 2c 20 55 49 4e 54 20  INT wType, UINT 
1410: 77 46 6d 74 2c 20 48 43 4f 4e 56 20 68 43 6f 6e  wFmt, HCONV hCon
1420: 76 2c 20 48 53 5a 20 68 73 7a 31 2c 20 48 53 5a  v, HSZ hsz1, HSZ
1430: 20 68 73 7a 32 2c 20 48 44 44 45 44 41 54 41 20   hsz2, HDDEDATA 
1440: 68 44 61 74 61 2c 20 55 4c 4f 4e 47 5f 50 54 52  hData, ULONG_PTR
1450: 20 64 77 44 61 74 61 31 2c 20 55 4c 4f 4e 47 5f   dwData1, ULONG_
1460: 50 54 52 20 64 77 44 61 74 61 32 29 20 50 46 4e  PTR dwData2) PFN
1470: 43 41 4c 4c 42 41 43 4b 3b 0d 0a 0d 0a 63 6f 6e  CALLBACK;....con
1480: 73 74 20 48 44 44 45 44 41 54 41 20 43 42 52 5f  st HDDEDATA CBR_
1490: 42 4c 4f 43 4b 20 3d 20 63 61 73 74 28 48 44 44  BLOCK = cast(HDD
14a0: 45 44 41 54 41 29 2d 31 3b 0d 0a 0d 0a 65 78 74  EDATA)-1;....ext
14b0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
14c0: 6f 72 74 20 55 49 4e 54 20 44 64 65 49 6e 69 74  ort UINT DdeInit
14d0: 69 61 6c 69 7a 65 41 28 20 4c 50 44 57 4f 52 44  ializeA( LPDWORD
14e0: 20 70 69 64 49 6e 73 74 2c 20 50 46 4e 43 41 4c   pidInst, PFNCAL
14f0: 4c 42 41 43 4b 20 70 66 6e 43 61 6c 6c 62 61 63  LBACK pfnCallbac
1500: 6b 2c 0d 0a 20 20 44 57 4f 52 44 20 61 66 43 6d  k,..  DWORD afCm
1510: 64 2c 20 44 57 4f 52 44 20 75 6c 52 65 73 29 3b  d, DWORD ulRes);
1520: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73  ..extern(Windows
1530: 29 20 65 78 70 6f 72 74 20 55 49 4e 54 20 44 64  ) export UINT Dd
1540: 65 49 6e 69 74 69 61 6c 69 7a 65 57 28 20 4c 50  eInitializeW( LP
1550: 44 57 4f 52 44 20 70 69 64 49 6e 73 74 2c 20 50  DWORD pidInst, P
1560: 46 4e 43 41 4c 4c 42 41 43 4b 20 70 66 6e 43 61  FNCALLBACK pfnCa
1570: 6c 6c 62 61 63 6b 2c 0d 0a 20 20 44 57 4f 52 44  llback,..  DWORD
1580: 20 61 66 43 6d 64 2c 20 44 57 4f 52 44 20 75 6c   afCmd, DWORD ul
1590: 52 65 73 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  Res);..// #ifdef
15a0: 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
15b0: 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
15c0: 61 73 20 44 64 65 49 6e 69 74 69 61 6c 69 7a 65  as DdeInitialize
15d0: 41 20 44 64 65 49 6e 69 74 69 61 6c 69 7a 65 3b  A DdeInitialize;
15e0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
15f0: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20  UNICODE....enum 
1600: 3a 20 75 69 6e 74 20 7b 20 43 42 46 5f 46 41 49  : uint { CBF_FAI
1610: 4c 5f 53 45 4c 46 43 4f 4e 4e 45 43 54 49 4f 4e  L_SELFCONNECTION
1620: 53 20 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d  S = 0x00001000 }
1630: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
1640: 43 42 46 5f 46 41 49 4c 5f 43 4f 4e 4e 45 43 54  CBF_FAIL_CONNECT
1650: 49 4f 4e 53 20 3d 20 30 78 30 30 30 30 32 30 30  IONS = 0x0000200
1660: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  0 }..enum : uint
1670: 20 7b 20 43 42 46 5f 46 41 49 4c 5f 41 44 56 49   { CBF_FAIL_ADVI
1680: 53 45 53 20 3d 20 30 78 30 30 30 30 34 30 30 30  SES = 0x00004000
1690: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
16a0: 7b 20 43 42 46 5f 46 41 49 4c 5f 45 58 45 43 55  { CBF_FAIL_EXECU
16b0: 54 45 53 20 3d 20 30 78 30 30 30 30 38 30 30 30  TES = 0x00008000
16c0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
16d0: 7b 20 43 42 46 5f 46 41 49 4c 5f 50 4f 4b 45 53  { CBF_FAIL_POKES
16e0: 20 3d 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d   = 0x00010000 }.
16f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
1700: 42 46 5f 46 41 49 4c 5f 52 45 51 55 45 53 54 53  BF_FAIL_REQUESTS
1710: 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 7d 0d   = 0x00020000 }.
1720: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
1730: 42 46 5f 46 41 49 4c 5f 41 4c 4c 53 56 52 58 41  BF_FAIL_ALLSVRXA
1740: 43 54 49 4f 4e 53 20 3d 20 30 78 30 30 30 33 66  CTIONS = 0x0003f
1750: 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20  000 }....enum : 
1760: 75 69 6e 74 20 7b 20 43 42 46 5f 53 4b 49 50 5f  uint { CBF_SKIP_
1770: 43 4f 4e 4e 45 43 54 5f 43 4f 4e 46 49 52 4d 53  CONNECT_CONFIRMS
1780: 20 3d 20 30 78 30 30 30 34 30 30 30 30 20 7d 0d   = 0x00040000 }.
1790: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43  .enum : uint { C
17a0: 42 46 5f 53 4b 49 50 5f 52 45 47 49 53 54 52 41  BF_SKIP_REGISTRA
17b0: 54 49 4f 4e 53 20 3d 20 30 78 30 30 30 38 30 30  TIONS = 0x000800
17c0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
17d0: 74 20 7b 20 43 42 46 5f 53 4b 49 50 5f 55 4e 52  t { CBF_SKIP_UNR
17e0: 45 47 49 53 54 52 41 54 49 4f 4e 53 20 3d 20 30  EGISTRATIONS = 0
17f0: 78 30 30 31 30 30 30 30 30 20 7d 0d 0a 65 6e 75  x00100000 }..enu
1800: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42 46 5f 53  m : uint { CBF_S
1810: 4b 49 50 5f 44 49 53 43 4f 4e 4e 45 43 54 53 20  KIP_DISCONNECTS 
1820: 3d 20 30 78 30 30 32 30 30 30 30 30 20 7d 0d 0a  = 0x00200000 }..
1830: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 42  enum : uint { CB
1840: 46 5f 53 4b 49 50 5f 41 4c 4c 4e 4f 54 49 46 49  F_SKIP_ALLNOTIFI
1850: 43 41 54 49 4f 4e 53 20 3d 20 30 78 30 30 33 63  CATIONS = 0x003c
1860: 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a  0000 }....enum :
1870: 20 75 69 6e 74 20 7b 20 41 50 50 43 4d 44 5f 43   uint { APPCMD_C
1880: 4c 49 45 4e 54 4f 4e 4c 59 20 3d 20 30 78 30 30  LIENTONLY = 0x00
1890: 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000010 }..enum :
18a0: 20 75 69 6e 74 20 7b 20 41 50 50 43 4d 44 5f 46   uint { APPCMD_F
18b0: 49 4c 54 45 52 49 4e 49 54 53 20 3d 20 30 78 30  ILTERINITS = 0x0
18c0: 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20  0000020 }..enum 
18d0: 3a 20 75 69 6e 74 20 7b 20 41 50 50 43 4d 44 5f  : uint { APPCMD_
18e0: 4d 41 53 4b 20 3d 20 30 78 30 30 30 30 30 46 46  MASK = 0x00000FF
18f0: 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69  0 }....enum : ui
1900: 6e 74 20 7b 20 41 50 50 43 4c 41 53 53 5f 53 54  nt { APPCLASS_ST
1910: 41 4e 44 41 52 44 20 3d 20 30 78 30 30 30 30 30  ANDARD = 0x00000
1920: 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  000 }..enum : ui
1930: 6e 74 20 7b 20 41 50 50 43 4c 41 53 53 5f 4d 41  nt { APPCLASS_MA
1940: 53 4b 20 3d 20 30 78 30 30 30 30 30 30 30 46 20  SK = 0x0000000F 
1950: 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  }....extern(Wind
1960: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
1970: 20 44 64 65 55 6e 69 6e 69 74 69 61 6c 69 7a 65   DdeUninitialize
1980: 28 20 44 57 4f 52 44 20 69 64 49 6e 73 74 29 3b  ( DWORD idInst);
1990: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
19a0: 77 73 29 20 65 78 70 6f 72 74 20 48 43 4f 4e 56  ws) export HCONV
19b0: 4c 49 53 54 20 44 64 65 43 6f 6e 6e 65 63 74 4c  LIST DdeConnectL
19c0: 69 73 74 28 20 44 57 4f 52 44 20 69 64 49 6e 73  ist( DWORD idIns
19d0: 74 2c 20 48 53 5a 20 68 73 7a 53 65 72 76 69 63  t, HSZ hszServic
19e0: 65 2c 20 48 53 5a 20 68 73 7a 54 6f 70 69 63 2c  e, HSZ hszTopic,
19f0: 0d 0a 20 20 48 43 4f 4e 56 4c 49 53 54 20 68 43  ..  HCONVLIST hC
1a00: 6f 6e 76 4c 69 73 74 2c 20 50 43 4f 4e 56 43 4f  onvList, PCONVCO
1a10: 4e 54 45 58 54 20 70 43 43 29 3b 0d 0a 65 78 74  NTEXT pCC);..ext
1a20: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1a30: 6f 72 74 20 48 43 4f 4e 56 20 44 64 65 51 75 65  ort HCONV DdeQue
1a40: 72 79 4e 65 78 74 53 65 72 76 65 72 28 20 48 43  ryNextServer( HC
1a50: 4f 4e 56 4c 49 53 54 20 68 43 6f 6e 76 4c 69 73  ONVLIST hConvLis
1a60: 74 2c 20 48 43 4f 4e 56 20 68 43 6f 6e 76 50 72  t, HCONV hConvPr
1a70: 65 76 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  ev);..extern(Win
1a80: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
1a90: 4c 20 44 64 65 44 69 73 63 6f 6e 6e 65 63 74 4c  L DdeDisconnectL
1aa0: 69 73 74 28 20 48 43 4f 4e 56 4c 49 53 54 20 68  ist( HCONVLIST h
1ab0: 43 6f 6e 76 4c 69 73 74 29 3b 0d 0a 0d 0a 65 78  ConvList);....ex
1ac0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1ad0: 70 6f 72 74 20 48 43 4f 4e 56 20 44 64 65 43 6f  port HCONV DdeCo
1ae0: 6e 6e 65 63 74 28 20 44 57 4f 52 44 20 69 64 49  nnect( DWORD idI
1af0: 6e 73 74 2c 20 48 53 5a 20 68 73 7a 53 65 72 76  nst, HSZ hszServ
1b00: 69 63 65 2c 20 48 53 5a 20 68 73 7a 54 6f 70 69  ice, HSZ hszTopi
1b10: 63 2c 0d 0a 20 20 50 43 4f 4e 56 43 4f 4e 54 45  c,..  PCONVCONTE
1b20: 58 54 20 70 43 43 29 3b 0d 0a 65 78 74 65 72 6e  XT pCC);..extern
1b30: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1b40: 20 42 4f 4f 4c 20 44 64 65 44 69 73 63 6f 6e 6e   BOOL DdeDisconn
1b50: 65 63 74 28 20 48 43 4f 4e 56 20 68 43 6f 6e 76  ect( HCONV hConv
1b60: 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  );..extern(Windo
1b70: 77 73 29 20 65 78 70 6f 72 74 20 48 43 4f 4e 56  ws) export HCONV
1b80: 20 44 64 65 52 65 63 6f 6e 6e 65 63 74 28 20 48   DdeReconnect( H
1b90: 43 4f 4e 56 20 68 43 6f 6e 76 29 3b 0d 0a 65 78  CONV hConv);..ex
1ba0: 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78  tern(Windows) ex
1bb0: 70 6f 72 74 20 55 49 4e 54 20 44 64 65 51 75 65  port UINT DdeQue
1bc0: 72 79 43 6f 6e 76 49 6e 66 6f 28 20 48 43 4f 4e  ryConvInfo( HCON
1bd0: 56 20 68 43 6f 6e 76 2c 20 44 57 4f 52 44 20 69  V hConv, DWORD i
1be0: 64 54 72 61 6e 73 61 63 74 69 6f 6e 2c 20 50 43  dTransaction, PC
1bf0: 4f 4e 56 49 4e 46 4f 20 70 43 6f 6e 76 49 6e 66  ONVINFO pConvInf
1c00: 6f 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  o);..extern(Wind
1c10: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c  ows) export BOOL
1c20: 20 44 64 65 53 65 74 55 73 65 72 48 61 6e 64 6c   DdeSetUserHandl
1c30: 65 28 20 48 43 4f 4e 56 20 68 43 6f 6e 76 2c 20  e( HCONV hConv, 
1c40: 44 57 4f 52 44 20 69 64 2c 20 44 57 4f 52 44 5f  DWORD id, DWORD_
1c50: 50 54 52 20 68 55 73 65 72 29 3b 0d 0a 65 78 74  PTR hUser);..ext
1c60: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1c70: 6f 72 74 20 42 4f 4f 4c 20 44 64 65 41 62 61 6e  ort BOOL DdeAban
1c80: 64 6f 6e 54 72 61 6e 73 61 63 74 69 6f 6e 28 20  donTransaction( 
1c90: 44 57 4f 52 44 20 69 64 49 6e 73 74 2c 20 48 43  DWORD idInst, HC
1ca0: 4f 4e 56 20 68 43 6f 6e 76 2c 20 44 57 4f 52 44  ONV hConv, DWORD
1cb0: 20 69 64 54 72 61 6e 73 61 63 74 69 6f 6e 29 3b   idTransaction);
1cc0: 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f  ....extern(Windo
1cd0: 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20  ws) export BOOL 
1ce0: 44 64 65 50 6f 73 74 41 64 76 69 73 65 28 20 44  DdePostAdvise( D
1cf0: 57 4f 52 44 20 69 64 49 6e 73 74 2c 20 48 53 5a  WORD idInst, HSZ
1d00: 20 68 73 7a 54 6f 70 69 63 2c 20 48 53 5a 20 68   hszTopic, HSZ h
1d10: 73 7a 49 74 65 6d 29 3b 0d 0a 65 78 74 65 72 6e  szItem);..extern
1d20: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
1d30: 20 42 4f 4f 4c 20 44 64 65 45 6e 61 62 6c 65 43   BOOL DdeEnableC
1d40: 61 6c 6c 62 61 63 6b 28 20 44 57 4f 52 44 20 69  allback( DWORD i
1d50: 64 49 6e 73 74 2c 20 48 43 4f 4e 56 20 68 43 6f  dInst, HCONV hCo
1d60: 6e 76 2c 20 55 49 4e 54 20 77 43 6d 64 29 3b 0d  nv, UINT wCmd);.
1d70: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
1d80: 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 44 64 65   export BOOL Dde
1d90: 49 6d 70 65 72 73 6f 6e 61 74 65 43 6c 69 65 6e  ImpersonateClien
1da0: 74 28 20 48 43 4f 4e 56 20 68 43 6f 6e 76 29 3b  t( HCONV hConv);
1db0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20  ....enum : uint 
1dc0: 7b 20 45 43 5f 45 4e 41 42 4c 45 41 4c 4c 20 3d  { EC_ENABLEALL =
1dd0: 20 30 20 7d 0d 0a 61 6c 69 61 73 20 53 54 5f 42   0 }..alias ST_B
1de0: 4c 4f 43 4b 4e 45 58 54 20 45 43 5f 45 4e 41 42  LOCKNEXT EC_ENAB
1df0: 4c 45 4f 4e 45 3b 0d 0a 61 6c 69 61 73 20 53 54  LEONE;..alias ST
1e00: 5f 42 4c 4f 43 4b 45 44 20 45 43 5f 44 49 53 41  _BLOCKED EC_DISA
1e10: 42 4c 45 3b 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  BLE;..enum : uin
1e20: 74 20 7b 20 45 43 5f 51 55 45 52 59 57 41 49 54  t { EC_QUERYWAIT
1e30: 49 4e 47 20 3d 20 32 20 7d 0d 0a 0d 0a 65 78 74  ING = 2 }....ext
1e40: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70  ern(Windows) exp
1e50: 6f 72 74 20 48 44 44 45 44 41 54 41 20 44 64 65  ort HDDEDATA Dde
1e60: 4e 61 6d 65 53 65 72 76 69 63 65 28 20 44 57 4f  NameService( DWO
1e70: 52 44 20 69 64 49 6e 73 74 2c 20 48 53 5a 20 68  RD idInst, HSZ h
1e80: 73 7a 31 2c 20 48 53 5a 20 68 73 7a 32 2c 20 55  sz1, HSZ hsz2, U
1e90: 49 4e 54 20 61 66 43 6d 64 29 3b 0d 0a 0d 0a 65  INT afCmd);....e
1ea0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4e 53  num : uint { DNS
1eb0: 5f 52 45 47 49 53 54 45 52 20 3d 20 30 78 30 30  _REGISTER = 0x00
1ec0: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  01 }..enum : uin
1ed0: 74 20 7b 20 44 4e 53 5f 55 4e 52 45 47 49 53 54  t { DNS_UNREGIST
1ee0: 45 52 20 3d 20 30 78 30 30 30 32 20 7d 0d 0a 65  ER = 0x0002 }..e
1ef0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4e 53  num : uint { DNS
1f00: 5f 46 49 4c 54 45 52 4f 4e 20 3d 20 30 78 30 30  _FILTERON = 0x00
1f10: 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  04 }..enum : uin
1f20: 74 20 7b 20 44 4e 53 5f 46 49 4c 54 45 52 4f 46  t { DNS_FILTEROF
1f30: 46 20 3d 20 30 78 30 30 30 38 20 7d 0d 0a 0d 0a  F = 0x0008 }....
1f40: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
1f50: 65 78 70 6f 72 74 20 48 44 44 45 44 41 54 41 20  export HDDEDATA 
1f60: 44 64 65 43 6c 69 65 6e 74 54 72 61 6e 73 61 63  DdeClientTransac
1f70: 74 69 6f 6e 28 20 4c 50 42 59 54 45 20 70 44 61  tion( LPBYTE pDa
1f80: 74 61 2c 20 44 57 4f 52 44 20 63 62 44 61 74 61  ta, DWORD cbData
1f90: 2c 0d 0a 20 20 48 43 4f 4e 56 20 68 43 6f 6e 76  ,..  HCONV hConv
1fa0: 2c 20 48 53 5a 20 68 73 7a 49 74 65 6d 2c 20 55  , HSZ hszItem, U
1fb0: 49 4e 54 20 77 46 6d 74 2c 20 55 49 4e 54 20 77  INT wFmt, UINT w
1fc0: 54 79 70 65 2c 0d 0a 20 20 44 57 4f 52 44 20 64  Type,..  DWORD d
1fd0: 77 54 69 6d 65 6f 75 74 2c 20 4c 50 44 57 4f 52  wTimeout, LPDWOR
1fe0: 44 20 70 64 77 52 65 73 75 6c 74 29 3b 0d 0a 0d  D pdwResult);...
1ff0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
2000: 20 65 78 70 6f 72 74 20 48 44 44 45 44 41 54 41   export HDDEDATA
2010: 20 44 64 65 43 72 65 61 74 65 44 61 74 61 48 61   DdeCreateDataHa
2020: 6e 64 6c 65 28 20 44 57 4f 52 44 20 69 64 49 6e  ndle( DWORD idIn
2030: 73 74 2c 20 4c 50 42 59 54 45 20 70 53 72 63 2c  st, LPBYTE pSrc,
2040: 20 44 57 4f 52 44 20 63 62 2c 0d 0a 20 20 44 57   DWORD cb,..  DW
2050: 4f 52 44 20 63 62 4f 66 66 2c 20 48 53 5a 20 68  ORD cbOff, HSZ h
2060: 73 7a 49 74 65 6d 2c 20 55 49 4e 54 20 77 46 6d  szItem, UINT wFm
2070: 74 2c 20 55 49 4e 54 20 61 66 43 6d 64 29 3b 0d  t, UINT afCmd);.
2080: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29  .extern(Windows)
2090: 20 65 78 70 6f 72 74 20 48 44 44 45 44 41 54 41   export HDDEDATA
20a0: 20 44 64 65 41 64 64 44 61 74 61 28 20 48 44 44   DdeAddData( HDD
20b0: 45 44 41 54 41 20 68 44 61 74 61 2c 20 4c 50 42  EDATA hData, LPB
20c0: 59 54 45 20 70 53 72 63 2c 20 44 57 4f 52 44 20  YTE pSrc, DWORD 
20d0: 63 62 2c 20 44 57 4f 52 44 20 63 62 4f 66 66 29  cb, DWORD cbOff)
20e0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77  ;..extern(Window
20f0: 73 29 20 65 78 70 6f 72 74 20 44 57 4f 52 44 20  s) export DWORD 
2100: 44 64 65 47 65 74 44 61 74 61 28 20 48 44 44 45  DdeGetData( HDDE
2110: 44 41 54 41 20 68 44 61 74 61 2c 20 4c 50 42 59  DATA hData, LPBY
2120: 54 45 20 70 44 73 74 2c 20 44 57 4f 52 44 20 63  TE pDst, DWORD c
2130: 62 4d 61 78 2c 20 44 57 4f 52 44 20 63 62 4f 66  bMax, DWORD cbOf
2140: 66 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64  f);..extern(Wind
2150: 6f 77 73 29 20 65 78 70 6f 72 74 20 4c 50 42 59  ows) export LPBY
2160: 54 45 20 44 64 65 41 63 63 65 73 73 44 61 74 61  TE DdeAccessData
2170: 28 20 48 44 44 45 44 41 54 41 20 68 44 61 74 61  ( HDDEDATA hData
2180: 2c 20 4c 50 44 57 4f 52 44 20 70 63 62 44 61 74  , LPDWORD pcbDat
2190: 61 53 69 7a 65 29 3b 0d 0a 65 78 74 65 72 6e 28  aSize);..extern(
21a0: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
21b0: 42 4f 4f 4c 20 44 64 65 55 6e 61 63 63 65 73 73  BOOL DdeUnaccess
21c0: 44 61 74 61 28 20 48 44 44 45 44 41 54 41 20 68  Data( HDDEDATA h
21d0: 44 61 74 61 29 3b 0d 0a 65 78 74 65 72 6e 28 57  Data);..extern(W
21e0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42  indows) export B
21f0: 4f 4f 4c 20 44 64 65 46 72 65 65 44 61 74 61 48  OOL DdeFreeDataH
2200: 61 6e 64 6c 65 28 20 48 44 44 45 44 41 54 41 20  andle( HDDEDATA 
2210: 68 44 61 74 61 29 3b 0d 0a 0d 0a 65 6e 75 6d 20  hData);....enum 
2220: 3a 20 75 69 6e 74 20 7b 20 48 44 41 54 41 5f 41  : uint { HDATA_A
2230: 50 50 4f 57 4e 45 44 20 3d 20 30 78 30 30 30 31  PPOWNED = 0x0001
2240: 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e   }....extern(Win
2250: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 55 49 4e  dows) export UIN
2260: 54 20 44 64 65 47 65 74 4c 61 73 74 45 72 72 6f  T DdeGetLastErro
2270: 72 28 20 44 57 4f 52 44 20 69 64 49 6e 73 74 29  r( DWORD idInst)
2280: 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  ;....enum : uint
2290: 20 7b 20 44 4d 4c 45 52 52 5f 4e 4f 5f 45 52 52   { DMLERR_NO_ERR
22a0: 4f 52 20 3d 20 30 20 7d 0d 0a 0d 0a 65 6e 75 6d  OR = 0 }....enum
22b0: 20 3a 20 75 69 6e 74 20 7b 20 44 4d 4c 45 52 52   : uint { DMLERR
22c0: 5f 46 49 52 53 54 20 3d 20 30 78 34 30 30 30 20  _FIRST = 0x4000 
22d0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  }....enum : uint
22e0: 20 7b 20 44 4d 4c 45 52 52 5f 41 44 56 41 43 4b   { DMLERR_ADVACK
22f0: 54 49 4d 45 4f 55 54 20 3d 20 30 78 34 30 30 30  TIMEOUT = 0x4000
2300: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
2310: 7b 20 44 4d 4c 45 52 52 5f 42 55 53 59 20 3d 20  { DMLERR_BUSY = 
2320: 30 78 34 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a  0x4001 }..enum :
2330: 20 75 69 6e 74 20 7b 20 44 4d 4c 45 52 52 5f 44   uint { DMLERR_D
2340: 41 54 41 41 43 4b 54 49 4d 45 4f 55 54 20 3d 20  ATAACKTIMEOUT = 
2350: 30 78 34 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a  0x4002 }..enum :
2360: 20 75 69 6e 74 20 7b 20 44 4d 4c 45 52 52 5f 44   uint { DMLERR_D
2370: 4c 4c 5f 4e 4f 54 5f 49 4e 49 54 49 41 4c 49 5a  LL_NOT_INITIALIZ
2380: 45 44 20 3d 20 30 78 34 30 30 33 20 7d 0d 0a 65  ED = 0x4003 }..e
2390: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4d 4c  num : uint { DML
23a0: 45 52 52 5f 44 4c 4c 5f 55 53 41 47 45 20 3d 20  ERR_DLL_USAGE = 
23b0: 30 78 34 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a  0x4004 }..enum :
23c0: 20 75 69 6e 74 20 7b 20 44 4d 4c 45 52 52 5f 45   uint { DMLERR_E
23d0: 58 45 43 41 43 4b 54 49 4d 45 4f 55 54 20 3d 20  XECACKTIMEOUT = 
23e0: 30 78 34 30 30 35 20 7d 0d 0a 65 6e 75 6d 20 3a  0x4005 }..enum :
23f0: 20 75 69 6e 74 20 7b 20 44 4d 4c 45 52 52 5f 49   uint { DMLERR_I
2400: 4e 56 41 4c 49 44 50 41 52 41 4d 45 54 45 52 20  NVALIDPARAMETER 
2410: 3d 20 30 78 34 30 30 36 20 7d 0d 0a 65 6e 75 6d  = 0x4006 }..enum
2420: 20 3a 20 75 69 6e 74 20 7b 20 44 4d 4c 45 52 52   : uint { DMLERR
2430: 5f 4c 4f 57 5f 4d 45 4d 4f 52 59 20 3d 20 30 78  _LOW_MEMORY = 0x
2440: 34 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75  4007 }..enum : u
2450: 69 6e 74 20 7b 20 44 4d 4c 45 52 52 5f 4d 45 4d  int { DMLERR_MEM
2460: 4f 52 59 5f 45 52 52 4f 52 20 3d 20 30 78 34 30  ORY_ERROR = 0x40
2470: 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  08 }..enum : uin
2480: 74 20 7b 20 44 4d 4c 45 52 52 5f 4e 4f 54 50 52  t { DMLERR_NOTPR
2490: 4f 43 45 53 53 45 44 20 3d 20 30 78 34 30 30 39  OCESSED = 0x4009
24a0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
24b0: 7b 20 44 4d 4c 45 52 52 5f 4e 4f 5f 43 4f 4e 56  { DMLERR_NO_CONV
24c0: 5f 45 53 54 41 42 4c 49 53 48 45 44 20 3d 20 30  _ESTABLISHED = 0
24d0: 78 34 30 30 61 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x400a }..enum : 
24e0: 75 69 6e 74 20 7b 20 44 4d 4c 45 52 52 5f 50 4f  uint { DMLERR_PO
24f0: 4b 45 41 43 4b 54 49 4d 45 4f 55 54 20 3d 20 30  KEACKTIMEOUT = 0
2500: 78 34 30 30 62 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x400b }..enum : 
2510: 75 69 6e 74 20 7b 20 44 4d 4c 45 52 52 5f 50 4f  uint { DMLERR_PO
2520: 53 54 4d 53 47 5f 46 41 49 4c 45 44 20 3d 20 30  STMSG_FAILED = 0
2530: 78 34 30 30 63 20 7d 0d 0a 65 6e 75 6d 20 3a 20  x400c }..enum : 
2540: 75 69 6e 74 20 7b 20 44 4d 4c 45 52 52 5f 52 45  uint { DMLERR_RE
2550: 45 4e 54 52 41 4e 43 59 20 3d 20 30 78 34 30 30  ENTRANCY = 0x400
2560: 64 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74  d }..enum : uint
2570: 20 7b 20 44 4d 4c 45 52 52 5f 53 45 52 56 45 52   { DMLERR_SERVER
2580: 5f 44 49 45 44 20 3d 20 30 78 34 30 30 65 20 7d  _DIED = 0x400e }
2590: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
25a0: 44 4d 4c 45 52 52 5f 53 59 53 5f 45 52 52 4f 52  DMLERR_SYS_ERROR
25b0: 20 3d 20 30 78 34 30 30 66 20 7d 0d 0a 65 6e 75   = 0x400f }..enu
25c0: 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4d 4c 45 52  m : uint { DMLER
25d0: 52 5f 55 4e 41 44 56 41 43 4b 54 49 4d 45 4f 55  R_UNADVACKTIMEOU
25e0: 54 20 3d 20 30 78 34 30 31 30 20 7d 0d 0a 65 6e  T = 0x4010 }..en
25f0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 44 4d 4c 45  um : uint { DMLE
2600: 52 52 5f 55 4e 46 4f 55 4e 44 5f 51 55 45 55 45  RR_UNFOUND_QUEUE
2610: 5f 49 44 20 3d 20 30 78 34 30 31 31 20 7d 0d 0a  _ID = 0x4011 }..
2620: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
2630: 44 4d 4c 45 52 52 5f 4c 41 53 54 20 3d 20 30 78  DMLERR_LAST = 0x
2640: 34 30 31 31 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e  4011 }....extern
2650: 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74  (Windows) export
2660: 20 48 53 5a 20 44 64 65 43 72 65 61 74 65 53 74   HSZ DdeCreateSt
2670: 72 69 6e 67 48 61 6e 64 6c 65 41 28 20 44 57 4f  ringHandleA( DWO
2680: 52 44 20 69 64 49 6e 73 74 2c 20 4c 50 43 53 54  RD idInst, LPCST
2690: 52 20 70 73 7a 2c 20 69 6e 74 20 69 43 6f 64 65  R psz, int iCode
26a0: 50 61 67 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57  Page);..extern(W
26b0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48  indows) export H
26c0: 53 5a 20 44 64 65 43 72 65 61 74 65 53 74 72 69  SZ DdeCreateStri
26d0: 6e 67 48 61 6e 64 6c 65 57 28 20 44 57 4f 52 44  ngHandleW( DWORD
26e0: 20 69 64 49 6e 73 74 2c 20 4c 50 43 57 53 54 52   idInst, LPCWSTR
26f0: 20 70 73 7a 2c 20 69 6e 74 20 69 43 6f 64 65 50   psz, int iCodeP
2700: 61 67 65 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66  age);..// #ifdef
2710: 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e   UNICODE..// #..
2720: 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69  ...// #else..ali
2730: 61 73 20 44 64 65 43 72 65 61 74 65 53 74 72 69  as DdeCreateStri
2740: 6e 67 48 61 6e 64 6c 65 41 20 44 64 65 43 72 65  ngHandleA DdeCre
2750: 61 74 65 53 74 72 69 6e 67 48 61 6e 64 6c 65 3b  ateStringHandle;
2760: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21  ..// #endif // !
2770: 55 4e 49 43 4f 44 45 0d 0a 65 78 74 65 72 6e 28  UNICODE..extern(
2780: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20  Windows) export 
2790: 44 57 4f 52 44 20 44 64 65 51 75 65 72 79 53 74  DWORD DdeQuerySt
27a0: 72 69 6e 67 41 28 20 44 57 4f 52 44 20 69 64 49  ringA( DWORD idI
27b0: 6e 73 74 2c 20 48 53 5a 20 68 73 7a 2c 20 4c 50  nst, HSZ hsz, LP
27c0: 53 54 52 20 70 73 7a 2c 20 44 57 4f 52 44 20 63  STR psz, DWORD c
27d0: 63 68 4d 61 78 2c 20 69 6e 74 20 69 43 6f 64 65  chMax, int iCode
27e0: 50 61 67 65 29 3b 0d 0a 65 78 74 65 72 6e 28 57  Page);..extern(W
27f0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44  indows) export D
2800: 57 4f 52 44 20 44 64 65 51 75 65 72 79 53 74 72  WORD DdeQueryStr
2810: 69 6e 67 57 28 20 44 57 4f 52 44 20 69 64 49 6e  ingW( DWORD idIn
2820: 73 74 2c 20 48 53 5a 20 68 73 7a 2c 20 4c 50 57  st, HSZ hsz, LPW
2830: 53 54 52 20 70 73 7a 2c 20 44 57 4f 52 44 20 63  STR psz, DWORD c
2840: 63 68 4d 61 78 2c 20 69 6e 74 20 69 43 6f 64 65  chMax, int iCode
2850: 50 61 67 65 29 3b 0d 0a 2f 2f 20 23 69 66 64 65  Page);..// #ifde
2860: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e  f UNICODE..// #.
2870: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c  ....// #else..al
2880: 69 61 73 20 44 64 65 51 75 65 72 79 53 74 72 69  ias DdeQueryStri
2890: 6e 67 41 20 44 64 65 51 75 65 72 79 53 74 72 69  ngA DdeQueryStri
28a0: 6e 67 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f  ng;..// #endif /
28b0: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 65 78 74 65  / !UNICODE..exte
28c0: 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 6f  rn(Windows) expo
28d0: 72 74 20 42 4f 4f 4c 20 44 64 65 46 72 65 65 53  rt BOOL DdeFreeS
28e0: 74 72 69 6e 67 48 61 6e 64 6c 65 28 20 44 57 4f  tringHandle( DWO
28f0: 52 44 20 69 64 49 6e 73 74 2c 20 48 53 5a 20 68  RD idInst, HSZ h
2900: 73 7a 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e  sz);..extern(Win
2910: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f  dows) export BOO
2920: 4c 20 44 64 65 4b 65 65 70 53 74 72 69 6e 67 48  L DdeKeepStringH
2930: 61 6e 64 6c 65 28 20 44 57 4f 52 44 20 69 64 49  andle( DWORD idI
2940: 6e 73 74 2c 20 48 53 5a 20 68 73 7a 29 3b 0d 0a  nst, HSZ hsz);..
2950: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20  extern(Windows) 
2960: 65 78 70 6f 72 74 20 69 6e 74 20 44 64 65 43 6d  export int DdeCm
2970: 70 53 74 72 69 6e 67 48 61 6e 64 6c 65 73 28 20  pStringHandles( 
2980: 48 53 5a 20 68 73 7a 31 2c 20 48 53 5a 20 68 73  HSZ hsz1, HSZ hs
2990: 7a 32 29 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64  z2);....// #ifnd
29a0: 65 66 20 4e 4f 44 44 45 4d 4c 53 50 59 0d 0a 0d  ef NODDEMLSPY...
29b0: 0a 73 74 72 75 63 74 20 74 61 67 44 44 45 4d 4c  .struct tagDDEML
29c0: 5f 4d 53 47 5f 48 4f 4f 4b 5f 44 41 54 41 20 7b  _MSG_HOOK_DATA {
29d0: 0d 0a 20 20 55 49 4e 54 5f 50 54 52 20 75 69 4c  ..  UINT_PTR uiL
29e0: 6f 3b 0d 0a 20 20 55 49 4e 54 5f 50 54 52 20 75  o;..  UINT_PTR u
29f0: 69 48 69 3b 0d 0a 20 20 44 57 4f 52 44 20 63 62  iHi;..  DWORD cb
2a00: 44 61 74 61 3b 0d 0a 20 20 44 57 4f 52 44 20 44  Data;..  DWORD D
2a10: 61 74 61 5b 38 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61  ata[8];..}..alia
2a20: 73 20 74 61 67 44 44 45 4d 4c 5f 4d 53 47 5f 48  s tagDDEML_MSG_H
2a30: 4f 4f 4b 5f 44 41 54 41 20 44 44 45 4d 4c 5f 4d  OOK_DATA DDEML_M
2a40: 53 47 5f 48 4f 4f 4b 5f 44 41 54 41 3b 0d 0a 61  SG_HOOK_DATA;..a
2a50: 6c 69 61 73 20 74 61 67 44 44 45 4d 4c 5f 4d 53  lias tagDDEML_MS
2a60: 47 5f 48 4f 4f 4b 5f 44 41 54 41 2a 20 50 44 44  G_HOOK_DATA* PDD
2a70: 45 4d 4c 5f 4d 53 47 5f 48 4f 4f 4b 5f 44 41 54  EML_MSG_HOOK_DAT
2a80: 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  A;....struct tag
2a90: 4d 4f 4e 4d 53 47 53 54 52 55 43 54 20 7b 0d 0a  MONMSGSTRUCT {..
2aa0: 20 20 55 49 4e 54 20 63 62 3b 0d 0a 20 20 48 57    UINT cb;..  HW
2ab0: 4e 44 20 68 77 6e 64 54 6f 3b 0d 0a 20 20 44 57  ND hwndTo;..  DW
2ac0: 4f 52 44 20 64 77 54 69 6d 65 3b 0d 0a 20 20 48  ORD dwTime;..  H
2ad0: 41 4e 44 4c 45 20 68 54 61 73 6b 3b 0d 0a 20 20  ANDLE hTask;..  
2ae0: 55 49 4e 54 20 77 4d 73 67 3b 0d 0a 20 20 57 50  UINT wMsg;..  WP
2af0: 41 52 41 4d 20 77 50 61 72 61 6d 3b 0d 0a 20 20  ARAM wParam;..  
2b00: 4c 50 41 52 41 4d 20 6c 50 61 72 61 6d 3b 0d 0a  LPARAM lParam;..
2b10: 20 20 44 44 45 4d 4c 5f 4d 53 47 5f 48 4f 4f 4b    DDEML_MSG_HOOK
2b20: 5f 44 41 54 41 20 64 6d 68 64 3b 0d 0a 7d 0d 0a  _DATA dmhd;..}..
2b30: 61 6c 69 61 73 20 74 61 67 4d 4f 4e 4d 53 47 53  alias tagMONMSGS
2b40: 54 52 55 43 54 20 4d 4f 4e 4d 53 47 53 54 52 55  TRUCT MONMSGSTRU
2b50: 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f  CT;..alias tagMO
2b60: 4e 4d 53 47 53 54 52 55 43 54 2a 20 50 4d 4f 4e  NMSGSTRUCT* PMON
2b70: 4d 53 47 53 54 52 55 43 54 3b 0d 0a 0d 0a 73 74  MSGSTRUCT;....st
2b80: 72 75 63 74 20 74 61 67 4d 4f 4e 43 42 53 54 52  ruct tagMONCBSTR
2b90: 55 43 54 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62  UCT {..  UINT cb
2ba0: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 69 6d  ;..  DWORD dwTim
2bb0: 65 3b 0d 0a 20 20 48 41 4e 44 4c 45 20 68 54 61  e;..  HANDLE hTa
2bc0: 73 6b 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 52  sk;..  DWORD dwR
2bd0: 65 74 3b 0d 0a 20 20 55 49 4e 54 20 77 54 79 70  et;..  UINT wTyp
2be0: 65 3b 0d 0a 20 20 55 49 4e 54 20 77 46 6d 74 3b  e;..  UINT wFmt;
2bf0: 0d 0a 20 20 48 43 4f 4e 56 20 68 43 6f 6e 76 3b  ..  HCONV hConv;
2c00: 0d 0a 20 20 48 53 5a 20 68 73 7a 31 3b 0d 0a 20  ..  HSZ hsz1;.. 
2c10: 20 48 53 5a 20 68 73 7a 32 3b 0d 0a 20 20 48 44   HSZ hsz2;..  HD
2c20: 44 45 44 41 54 41 20 68 44 61 74 61 3b 0d 0a 20  DEDATA hData;.. 
2c30: 20 55 4c 4f 4e 47 5f 50 54 52 20 64 77 44 61 74   ULONG_PTR dwDat
2c40: 61 31 3b 0d 0a 20 20 55 4c 4f 4e 47 5f 50 54 52  a1;..  ULONG_PTR
2c50: 20 64 77 44 61 74 61 32 3b 0d 0a 20 20 43 4f 4e   dwData2;..  CON
2c60: 56 43 4f 4e 54 45 58 54 20 63 63 3b 0d 0a 20 20  VCONTEXT cc;..  
2c70: 44 57 4f 52 44 20 63 62 44 61 74 61 3b 0d 0a 20  DWORD cbData;.. 
2c80: 20 44 57 4f 52 44 20 44 61 74 61 5b 38 5d 3b 0d   DWORD Data[8];.
2c90: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f 4e  .}..alias tagMON
2ca0: 43 42 53 54 52 55 43 54 20 4d 4f 4e 43 42 53 54  CBSTRUCT MONCBST
2cb0: 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67  RUCT;..alias tag
2cc0: 4d 4f 4e 43 42 53 54 52 55 43 54 2a 20 50 4d 4f  MONCBSTRUCT* PMO
2cd0: 4e 43 42 53 54 52 55 43 54 3b 0d 0a 0d 0a 73 74  NCBSTRUCT;....st
2ce0: 72 75 63 74 20 74 61 67 4d 4f 4e 48 53 5a 53 54  ruct tagMONHSZST
2cf0: 52 55 43 54 41 20 7b 0d 0a 20 20 55 49 4e 54 20  RUCTA {..  UINT 
2d00: 63 62 3b 0d 0a 20 20 42 4f 4f 4c 20 66 73 41 63  cb;..  BOOL fsAc
2d10: 74 69 6f 6e 3b 0d 0a 20 20 44 57 4f 52 44 20 64  tion;..  DWORD d
2d20: 77 54 69 6d 65 3b 0d 0a 20 20 48 53 5a 20 68 73  wTime;..  HSZ hs
2d30: 7a 3b 0d 0a 20 20 48 41 4e 44 4c 45 20 68 54 61  z;..  HANDLE hTa
2d40: 73 6b 3b 0d 0a 20 20 43 48 41 52 20 73 74 72 5b  sk;..  CHAR str[
2d50: 31 5d 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  1];..}..alias ta
2d60: 67 4d 4f 4e 48 53 5a 53 54 52 55 43 54 41 20 4d  gMONHSZSTRUCTA M
2d70: 4f 4e 48 53 5a 53 54 52 55 43 54 41 3b 0d 0a 61  ONHSZSTRUCTA;..a
2d80: 6c 69 61 73 20 74 61 67 4d 4f 4e 48 53 5a 53 54  lias tagMONHSZST
2d90: 52 55 43 54 41 2a 20 50 4d 4f 4e 48 53 5a 53 54  RUCTA* PMONHSZST
2da0: 52 55 43 54 41 3b 0d 0a 0d 0a 73 74 72 75 63 74  RUCTA;....struct
2db0: 20 74 61 67 4d 4f 4e 48 53 5a 53 54 52 55 43 54   tagMONHSZSTRUCT
2dc0: 57 20 7b 0d 0a 20 20 55 49 4e 54 20 63 62 3b 0d  W {..  UINT cb;.
2dd0: 0a 20 20 42 4f 4f 4c 20 66 73 41 63 74 69 6f 6e  .  BOOL fsAction
2de0: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 69 6d  ;..  DWORD dwTim
2df0: 65 3b 0d 0a 20 20 48 53 5a 20 68 73 7a 3b 0d 0a  e;..  HSZ hsz;..
2e00: 20 20 48 41 4e 44 4c 45 20 68 54 61 73 6b 3b 0d    HANDLE hTask;.
2e10: 0a 20 20 57 43 48 41 52 20 73 74 72 5b 31 5d 3b  .  WCHAR str[1];
2e20: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f  ..}..alias tagMO
2e30: 4e 48 53 5a 53 54 52 55 43 54 57 20 4d 4f 4e 48  NHSZSTRUCTW MONH
2e40: 53 5a 53 54 52 55 43 54 57 3b 0d 0a 61 6c 69 61  SZSTRUCTW;..alia
2e50: 73 20 74 61 67 4d 4f 4e 48 53 5a 53 54 52 55 43  s tagMONHSZSTRUC
2e60: 54 57 2a 20 50 4d 4f 4e 48 53 5a 53 54 52 55 43  TW* PMONHSZSTRUC
2e70: 54 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66  TW;....// #ifdef
2e80: 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e   UNICODE..// ...
2e90: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61  ..// #else..alia
2ea0: 73 20 4d 4f 4e 48 53 5a 53 54 52 55 43 54 41 20  s MONHSZSTRUCTA 
2eb0: 4d 4f 4e 48 53 5a 53 54 52 55 43 54 3b 0d 0a 61  MONHSZSTRUCT;..a
2ec0: 6c 69 61 73 20 50 4d 4f 4e 48 53 5a 53 54 52 55  lias PMONHSZSTRU
2ed0: 43 54 41 20 50 4d 4f 4e 48 53 5a 53 54 52 55 43  CTA PMONHSZSTRUC
2ee0: 54 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f  T;..// #endif //
2ef0: 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d   UNICODE....enum
2f00: 20 3a 20 75 69 6e 74 20 7b 20 4d 48 5f 43 52 45   : uint { MH_CRE
2f10: 41 54 45 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20  ATE = 1 }..enum 
2f20: 3a 20 75 69 6e 74 20 7b 20 4d 48 5f 4b 45 45 50  : uint { MH_KEEP
2f30: 20 3d 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75   = 2 }..enum : u
2f40: 69 6e 74 20 7b 20 4d 48 5f 44 45 4c 45 54 45 20  int { MH_DELETE 
2f50: 3d 20 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69  = 3 }..enum : ui
2f60: 6e 74 20 7b 20 4d 48 5f 43 4c 45 41 4e 55 50 20  nt { MH_CLEANUP 
2f70: 3d 20 34 20 7d 0d 0a 0d 0a 73 74 72 75 63 74 20  = 4 }....struct 
2f80: 74 61 67 4d 4f 4e 45 52 52 53 54 52 55 43 54 20  tagMONERRSTRUCT 
2f90: 7b 0d 0a 20 20 55 49 4e 54 20 63 62 3b 0d 0a 20  {..  UINT cb;.. 
2fa0: 20 55 49 4e 54 20 77 4c 61 73 74 45 72 72 6f 72   UINT wLastError
2fb0: 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 54 69 6d  ;..  DWORD dwTim
2fc0: 65 3b 0d 0a 20 20 48 41 4e 44 4c 45 20 68 54 61  e;..  HANDLE hTa
2fd0: 73 6b 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61  sk;..}..alias ta
2fe0: 67 4d 4f 4e 45 52 52 53 54 52 55 43 54 20 4d 4f  gMONERRSTRUCT MO
2ff0: 4e 45 52 52 53 54 52 55 43 54 3b 0d 0a 61 6c 69  NERRSTRUCT;..ali
3000: 61 73 20 74 61 67 4d 4f 4e 45 52 52 53 54 52 55  as tagMONERRSTRU
3010: 43 54 2a 20 50 4d 4f 4e 45 52 52 53 54 52 55 43  CT* PMONERRSTRUC
3020: 54 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  T;....struct tag
3030: 4d 4f 4e 4c 49 4e 4b 53 54 52 55 43 54 20 7b 0d  MONLINKSTRUCT {.
3040: 0a 20 20 55 49 4e 54 20 63 62 3b 0d 0a 20 20 44  .  UINT cb;..  D
3050: 57 4f 52 44 20 64 77 54 69 6d 65 3b 0d 0a 20 20  WORD dwTime;..  
3060: 48 41 4e 44 4c 45 20 68 54 61 73 6b 3b 0d 0a 20  HANDLE hTask;.. 
3070: 20 42 4f 4f 4c 20 66 45 73 74 61 62 6c 69 73 68   BOOL fEstablish
3080: 65 64 3b 0d 0a 20 20 42 4f 4f 4c 20 66 4e 6f 44  ed;..  BOOL fNoD
3090: 61 74 61 3b 0d 0a 20 20 48 53 5a 20 68 73 7a 53  ata;..  HSZ hszS
30a0: 76 63 3b 0d 0a 20 20 48 53 5a 20 68 73 7a 54 6f  vc;..  HSZ hszTo
30b0: 70 69 63 3b 0d 0a 20 20 48 53 5a 20 68 73 7a 49  pic;..  HSZ hszI
30c0: 74 65 6d 3b 0d 0a 20 20 55 49 4e 54 20 77 46 6d  tem;..  UINT wFm
30d0: 74 3b 0d 0a 20 20 42 4f 4f 4c 20 66 53 65 72 76  t;..  BOOL fServ
30e0: 65 72 3b 0d 0a 20 20 48 43 4f 4e 56 20 68 43 6f  er;..  HCONV hCo
30f0: 6e 76 53 65 72 76 65 72 3b 0d 0a 20 20 48 43 4f  nvServer;..  HCO
3100: 4e 56 20 68 43 6f 6e 76 43 6c 69 65 6e 74 3b 0d  NV hConvClient;.
3110: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4d 4f 4e  .}..alias tagMON
3120: 4c 49 4e 4b 53 54 52 55 43 54 20 4d 4f 4e 4c 49  LINKSTRUCT MONLI
3130: 4e 4b 53 54 52 55 43 54 3b 0d 0a 61 6c 69 61 73  NKSTRUCT;..alias
3140: 20 74 61 67 4d 4f 4e 4c 49 4e 4b 53 54 52 55 43   tagMONLINKSTRUC
3150: 54 2a 20 50 4d 4f 4e 4c 49 4e 4b 53 54 52 55 43  T* PMONLINKSTRUC
3160: 54 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67  T;....struct tag
3170: 4d 4f 4e 43 4f 4e 56 53 54 52 55 43 54 20 7b 0d  MONCONVSTRUCT {.
3180: 0a 20 20 55 49 4e 54 20 63 62 3b 0d 0a 20 20 42  .  UINT cb;..  B
3190: 4f 4f 4c 20 66 43 6f 6e 6e 65 63 74 3b 0d 0a 20  OOL fConnect;.. 
31a0: 20 44 57 4f 52 44 20 64 77 54 69 6d 65 3b 0d 0a   DWORD dwTime;..
31b0: 20 20 48 41 4e 44 4c 45 20 68 54 61 73 6b 3b 0d    HANDLE hTask;.
31c0: 0a 20 20 48 53 5a 20 68 73 7a 53 76 63 3b 0d 0a  .  HSZ hszSvc;..
31d0: 20 20 48 53 5a 20 68 73 7a 54 6f 70 69 63 3b 0d    HSZ hszTopic;.
31e0: 0a 20 20 48 43 4f 4e 56 20 68 43 6f 6e 76 43 6c  .  HCONV hConvCl
31f0: 69 65 6e 74 3b 0d 0a 20 20 48 43 4f 4e 56 20 68  ient;..  HCONV h
3200: 43 6f 6e 76 53 65 72 76 65 72 3b 0d 0a 7d 0d 0a  ConvServer;..}..
3210: 61 6c 69 61 73 20 74 61 67 4d 4f 4e 43 4f 4e 56  alias tagMONCONV
3220: 53 54 52 55 43 54 20 4d 4f 4e 43 4f 4e 56 53 54  STRUCT MONCONVST
3230: 52 55 43 54 3b 0d 0a 61 6c 69 61 73 20 74 61 67  RUCT;..alias tag
3240: 4d 4f 4e 43 4f 4e 56 53 54 52 55 43 54 2a 20 50  MONCONVSTRUCT* P
3250: 4d 4f 4e 43 4f 4e 56 53 54 52 55 43 54 3b 0d 0a  MONCONVSTRUCT;..
3260: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3270: 4d 41 58 5f 4d 4f 4e 49 54 4f 52 53 20 3d 20 34  MAX_MONITORS = 4
3280: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20   }..enum : uint 
3290: 7b 20 41 50 50 43 4c 41 53 53 5f 4d 4f 4e 49 54  { APPCLASS_MONIT
32a0: 4f 52 20 3d 20 30 78 30 30 30 30 30 30 30 31 20  OR = 0x00000001 
32b0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
32c0: 20 58 54 59 50 5f 4d 4f 4e 49 54 4f 52 20 3d 20   XTYP_MONITOR = 
32d0: 30 78 30 30 46 30 20 7c 20 58 43 4c 41 53 53 5f  0x00F0 | XCLASS_
32e0: 4e 4f 54 49 46 49 43 41 54 49 4f 4e 20 7c 20 58  NOTIFICATION | X
32f0: 54 59 50 46 5f 4e 4f 42 4c 4f 43 4b 20 7d 0d 0a  TYPF_NOBLOCK }..
3300: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3310: 4d 46 5f 48 53 5a 5f 49 4e 46 4f 20 3d 20 30 78  MF_HSZ_INFO = 0x
3320: 30 31 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d  01000000 }..enum
3330: 20 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 53 45 4e   : uint { MF_SEN
3340: 44 4d 53 47 53 20 3d 20 30 78 30 32 30 30 30 30  DMSGS = 0x020000
3350: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e  00 }..enum : uin
3360: 74 20 7b 20 4d 46 5f 50 4f 53 54 4d 53 47 53 20  t { MF_POSTMSGS 
3370: 3d 20 30 78 30 34 30 30 30 30 30 30 20 7d 0d 0a  = 0x04000000 }..
3380: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4d 46  enum : uint { MF
3390: 5f 43 41 4c 4c 42 41 43 4b 53 20 3d 20 30 78 30  _CALLBACKS = 0x0
33a0: 38 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20  8000000 }..enum 
33b0: 3a 20 75 69 6e 74 20 7b 20 4d 46 5f 45 52 52 4f  : uint { MF_ERRO
33c0: 52 53 20 3d 20 30 78 31 30 30 30 30 30 30 30 20  RS = 0x10000000 
33d0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b  }..enum : uint {
33e0: 20 4d 46 5f 4c 49 4e 4b 53 20 3d 20 30 78 32 30   MF_LINKS = 0x20
33f0: 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a  000000 }..enum :
3400: 20 75 69 6e 74 20 7b 20 4d 46 5f 43 4f 4e 56 20   uint { MF_CONV 
3410: 3d 20 30 78 34 30 30 30 30 30 30 30 20 7d 0d 0a  = 0x40000000 }..
3420: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20  ..enum : uint { 
3430: 4d 46 5f 4d 41 53 4b 20 3d 20 30 78 46 46 30 30  MF_MASK = 0xFF00
3440: 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69  0000 }..// #endi
3450: 66 20 2f 2a 20 4e 4f 44 44 45 4d 4c 53 50 59 20  f /* NODDEMLSPY 
3460: 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20  */....// #ifdef 
3470: 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20  __cplusplus..// 
3480: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a  }..// #endif  /*
3490: 20 5f 5f 63 70 6c 75 73 70 6c 75 73 20 2a 2f 0d   __cplusplus */.
34a0: 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20  ...// #endif /* 
34b0: 5f 49 4e 43 5f 44 44 45 4d 4c 48 20 2a 2f 0d 0a  _INC_DDEMLH */..
34c0: 0d 0a                                            ..