0000: 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e 61 6e 73 module win32.ans
0010: 69 2e 63 6f 6d 6d 64 6c 67 3b 0d 0a 0d 0a 2f 2f i.commdlg;....//
0020: 20 54 72 61 6e 73 6c 61 74 65 64 20 66 72 6f 6d Translated from
0030: 20 4d 69 63 72 6f 73 6f 66 74 20 50 6c 61 74 66 Microsoft Platf
0040: 6f 72 6d 20 53 44 4b 20 41 75 67 75 73 74 20 32 orm SDK August 2
0050: 30 30 31 20 45 64 69 74 69 6f 6e 0d 0a 2f 2f 20 001 Edition..//
0060: 62 79 20 59 2e 54 6f 6d 69 6e 6f 20 28 64 65 6d by Y.Tomino (dem
0070: 6f 6f 6e 6c 69 74 40 69 6e 74 65 72 37 2e 6a 70 oonlit@inter7.jp
0080: 29 0d 0a 0d 0a 69 6d 70 6f 72 74 20 77 69 6e 33 )....import win3
0090: 32 2e 61 6e 73 69 2e 77 69 6e 75 73 65 72 3b 0d 2.ansi.winuser;.
00a0: 0a 2f 2f 20 69 6e 6c 69 6e 65 20 23 69 6e 63 6c .// inline #incl
00b0: 75 64 65 20 3c 63 64 65 72 72 2e 68 3e 0d 0a 2f ude <cderr.h>../
00c0: 2f 20 2d 2d 2d 2d 0d 0a 0d 0a 2f 2f 20 23 69 66 / ----....// #if
00d0: 6e 64 65 66 20 5f 49 4e 43 5f 43 44 45 52 52 0d ndef _INC_CDERR.
00e0: 0a 2f 2f 20 23 64 65 66 69 6e 65 20 5f 49 4e 43 .// #define _INC
00f0: 5f 43 44 45 52 52 0d 0a 0d 0a 2f 2f 20 23 69 66 _CDERR....// #if
0100: 20 5f 4d 53 43 5f 56 45 52 20 3e 20 31 30 30 30 _MSC_VER > 1000
0110: 0d 0a 2f 2f 20 23 70 72 61 67 6d 61 20 6f 6e 63 ..// #pragma onc
0120: 65 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a e..// #endif....
0130: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 enum : uint { CD
0140: 45 52 52 5f 44 49 41 4c 4f 47 46 41 49 4c 55 52 ERR_DIALOGFAILUR
0150: 45 20 3d 20 30 78 46 46 46 46 20 7d 0d 0a 0d 0a E = 0xFFFF }....
0160: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 enum : uint { CD
0170: 45 52 52 5f 47 45 4e 45 52 41 4c 43 4f 44 45 53 ERR_GENERALCODES
0180: 20 3d 20 30 78 30 30 30 30 20 7d 0d 0a 65 6e 75 = 0x0000 }..enu
0190: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 45 52 52 m : uint { CDERR
01a0: 5f 53 54 52 55 43 54 53 49 5a 45 20 3d 20 30 78 _STRUCTSIZE = 0x
01b0: 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0001 }..enum : u
01c0: 69 6e 74 20 7b 20 43 44 45 52 52 5f 49 4e 49 54 int { CDERR_INIT
01d0: 49 41 4c 49 5a 41 54 49 4f 4e 20 3d 20 30 78 30 IALIZATION = 0x0
01e0: 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 002 }..enum : ui
01f0: 6e 74 20 7b 20 43 44 45 52 52 5f 4e 4f 54 45 4d nt { CDERR_NOTEM
0200: 50 4c 41 54 45 20 3d 20 30 78 30 30 30 33 20 7d PLATE = 0x0003 }
0210: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
0220: 43 44 45 52 52 5f 4e 4f 48 49 4e 53 54 41 4e 43 CDERR_NOHINSTANC
0230: 45 20 3d 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e E = 0x0004 }..en
0240: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 45 52 um : uint { CDER
0250: 52 5f 4c 4f 41 44 53 54 52 46 41 49 4c 55 52 45 R_LOADSTRFAILURE
0260: 20 3d 20 30 78 30 30 30 35 20 7d 0d 0a 65 6e 75 = 0x0005 }..enu
0270: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 45 52 52 m : uint { CDERR
0280: 5f 46 49 4e 44 52 45 53 46 41 49 4c 55 52 45 20 _FINDRESFAILURE
0290: 3d 20 30 78 30 30 30 36 20 7d 0d 0a 65 6e 75 6d = 0x0006 }..enum
02a0: 20 3a 20 75 69 6e 74 20 7b 20 43 44 45 52 52 5f : uint { CDERR_
02b0: 4c 4f 41 44 52 45 53 46 41 49 4c 55 52 45 20 3d LOADRESFAILURE =
02c0: 20 30 78 30 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 0x0007 }..enum
02d0: 3a 20 75 69 6e 74 20 7b 20 43 44 45 52 52 5f 4c : uint { CDERR_L
02e0: 4f 43 4b 52 45 53 46 41 49 4c 55 52 45 20 3d 20 OCKRESFAILURE =
02f0: 30 78 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0008 }..enum :
0300: 20 75 69 6e 74 20 7b 20 43 44 45 52 52 5f 4d 45 uint { CDERR_ME
0310: 4d 41 4c 4c 4f 43 46 41 49 4c 55 52 45 20 3d 20 MALLOCFAILURE =
0320: 30 78 30 30 30 39 20 7d 0d 0a 65 6e 75 6d 20 3a 0x0009 }..enum :
0330: 20 75 69 6e 74 20 7b 20 43 44 45 52 52 5f 4d 45 uint { CDERR_ME
0340: 4d 4c 4f 43 4b 46 41 49 4c 55 52 45 20 3d 20 30 MLOCKFAILURE = 0
0350: 78 30 30 30 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x000A }..enum :
0360: 75 69 6e 74 20 7b 20 43 44 45 52 52 5f 4e 4f 48 uint { CDERR_NOH
0370: 4f 4f 4b 20 3d 20 30 78 30 30 30 42 20 7d 0d 0a OOK = 0x000B }..
0380: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 enum : uint { CD
0390: 45 52 52 5f 52 45 47 49 53 54 45 52 4d 53 47 46 ERR_REGISTERMSGF
03a0: 41 49 4c 20 3d 20 30 78 30 30 30 43 20 7d 0d 0a AIL = 0x000C }..
03b0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
03c0: 50 44 45 52 52 5f 50 52 49 4e 54 45 52 43 4f 44 PDERR_PRINTERCOD
03d0: 45 53 20 3d 20 30 78 31 30 30 30 20 7d 0d 0a 65 ES = 0x1000 }..e
03e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 45 num : uint { PDE
03f0: 52 52 5f 53 45 54 55 50 46 41 49 4c 55 52 45 20 RR_SETUPFAILURE
0400: 3d 20 30 78 31 30 30 31 20 7d 0d 0a 65 6e 75 6d = 0x1001 }..enum
0410: 20 3a 20 75 69 6e 74 20 7b 20 50 44 45 52 52 5f : uint { PDERR_
0420: 50 41 52 53 45 46 41 49 4c 55 52 45 20 3d 20 30 PARSEFAILURE = 0
0430: 78 31 30 30 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 x1002 }..enum :
0440: 75 69 6e 74 20 7b 20 50 44 45 52 52 5f 52 45 54 uint { PDERR_RET
0450: 44 45 46 46 41 49 4c 55 52 45 20 3d 20 30 78 31 DEFFAILURE = 0x1
0460: 30 30 33 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 003 }..enum : ui
0470: 6e 74 20 7b 20 50 44 45 52 52 5f 4c 4f 41 44 44 nt { PDERR_LOADD
0480: 52 56 46 41 49 4c 55 52 45 20 3d 20 30 78 31 30 RVFAILURE = 0x10
0490: 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 04 }..enum : uin
04a0: 74 20 7b 20 50 44 45 52 52 5f 47 45 54 44 45 56 t { PDERR_GETDEV
04b0: 4d 4f 44 45 46 41 49 4c 20 3d 20 30 78 31 30 30 MODEFAIL = 0x100
04c0: 35 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 5 }..enum : uint
04d0: 20 7b 20 50 44 45 52 52 5f 49 4e 49 54 46 41 49 { PDERR_INITFAI
04e0: 4c 55 52 45 20 3d 20 30 78 31 30 30 36 20 7d 0d LURE = 0x1006 }.
04f0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
0500: 44 45 52 52 5f 4e 4f 44 45 56 49 43 45 53 20 3d DERR_NODEVICES =
0510: 20 30 78 31 30 30 37 20 7d 0d 0a 65 6e 75 6d 20 0x1007 }..enum
0520: 3a 20 75 69 6e 74 20 7b 20 50 44 45 52 52 5f 4e : uint { PDERR_N
0530: 4f 44 45 46 41 55 4c 54 50 52 4e 20 3d 20 30 78 ODEFAULTPRN = 0x
0540: 31 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 1008 }..enum : u
0550: 69 6e 74 20 7b 20 50 44 45 52 52 5f 44 4e 44 4d int { PDERR_DNDM
0560: 4d 49 53 4d 41 54 43 48 20 3d 20 30 78 31 30 30 MISMATCH = 0x100
0570: 39 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 9 }..enum : uint
0580: 20 7b 20 50 44 45 52 52 5f 43 52 45 41 54 45 49 { PDERR_CREATEI
0590: 43 46 41 49 4c 55 52 45 20 3d 20 30 78 31 30 30 CFAILURE = 0x100
05a0: 41 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 A }..enum : uint
05b0: 20 7b 20 50 44 45 52 52 5f 50 52 49 4e 54 45 52 { PDERR_PRINTER
05c0: 4e 4f 54 46 4f 55 4e 44 20 3d 20 30 78 31 30 30 NOTFOUND = 0x100
05d0: 42 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 B }..enum : uint
05e0: 20 7b 20 50 44 45 52 52 5f 44 45 46 41 55 4c 54 { PDERR_DEFAULT
05f0: 44 49 46 46 45 52 45 4e 54 20 3d 20 30 78 31 30 DIFFERENT = 0x10
0600: 30 43 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 0C }....enum : u
0610: 69 6e 74 20 7b 20 43 46 45 52 52 5f 43 48 4f 4f int { CFERR_CHOO
0620: 53 45 46 4f 4e 54 43 4f 44 45 53 20 3d 20 30 78 SEFONTCODES = 0x
0630: 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 2000 }..enum : u
0640: 69 6e 74 20 7b 20 43 46 45 52 52 5f 4e 4f 46 4f int { CFERR_NOFO
0650: 4e 54 53 20 3d 20 30 78 32 30 30 31 20 7d 0d 0a NTS = 0x2001 }..
0660: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 enum : uint { CF
0670: 45 52 52 5f 4d 41 58 4c 45 53 53 54 48 41 4e 4d ERR_MAXLESSTHANM
0680: 49 4e 20 3d 20 30 78 32 30 30 32 20 7d 0d 0a 0d IN = 0x2002 }...
0690: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 .enum : uint { F
06a0: 4e 45 52 52 5f 46 49 4c 45 4e 41 4d 45 43 4f 44 NERR_FILENAMECOD
06b0: 45 53 20 3d 20 30 78 33 30 30 30 20 7d 0d 0a 65 ES = 0x3000 }..e
06c0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 4e 45 num : uint { FNE
06d0: 52 52 5f 53 55 42 43 4c 41 53 53 46 41 49 4c 55 RR_SUBCLASSFAILU
06e0: 52 45 20 3d 20 30 78 33 30 30 31 20 7d 0d 0a 65 RE = 0x3001 }..e
06f0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 4e 45 num : uint { FNE
0700: 52 52 5f 49 4e 56 41 4c 49 44 46 49 4c 45 4e 41 RR_INVALIDFILENA
0710: 4d 45 20 3d 20 30 78 33 30 30 32 20 7d 0d 0a 65 ME = 0x3002 }..e
0720: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 4e 45 num : uint { FNE
0730: 52 52 5f 42 55 46 46 45 52 54 4f 4f 53 4d 41 4c RR_BUFFERTOOSMAL
0740: 4c 20 3d 20 30 78 33 30 30 33 20 7d 0d 0a 0d 0a L = 0x3003 }....
0750: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52 enum : uint { FR
0760: 45 52 52 5f 46 49 4e 44 52 45 50 4c 41 43 45 43 ERR_FINDREPLACEC
0770: 4f 44 45 53 20 3d 20 30 78 34 30 30 30 20 7d 0d ODES = 0x4000 }.
0780: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 .enum : uint { F
0790: 52 45 52 52 5f 42 55 46 46 45 52 4c 45 4e 47 54 RERR_BUFFERLENGT
07a0: 48 5a 45 52 4f 20 3d 20 30 78 34 30 30 31 20 7d HZERO = 0x4001 }
07b0: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
07c0: 7b 20 43 43 45 52 52 5f 43 48 4f 4f 53 45 43 4f { CCERR_CHOOSECO
07d0: 4c 4f 52 43 4f 44 45 53 20 3d 20 30 78 35 30 30 LORCODES = 0x500
07e0: 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 69 66 0 }....// #endif
07f0: 20 20 2f 2a 20 21 5f 49 4e 43 5f 43 44 45 52 52 /* !_INC_CDERR
0800: 20 2a 2f 0d 0a 2f 2f 20 2d 2d 2d 2d 0d 0a 0d 0a */..// ----....
0810: 2f 2f 20 23 69 66 6e 64 65 66 20 5f 49 4e 43 5f // #ifndef _INC_
0820: 43 4f 4d 4d 44 4c 47 0d 0a 2f 2f 20 23 64 65 66 COMMDLG..// #def
0830: 69 6e 65 20 5f 49 4e 43 5f 43 4f 4d 4d 44 4c 47 ine _INC_COMMDLG
0840: 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 ....// #if(WINVE
0850: 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a R >= 0x0500)....
0860: 2f 2f 20 23 69 66 64 65 66 20 44 45 46 49 4e 45 // #ifdef DEFINE
0870: 5f 47 55 49 44 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d _GUID....// ....
0880: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 ...// .......//
0890: 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 6e #endif....// #en
08a0: 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d dif /* WINVER >=
08b0: 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 0x0500 */....//
08c0: 20 23 69 66 6e 64 65 66 20 47 55 49 44 5f 44 45 #ifndef GUID_DE
08d0: 46 53 5f 4f 4e 4c 59 0d 0a 0d 0a 2f 2f 20 23 69 FS_ONLY....// #i
08e0: 6e 63 6c 75 64 65 20 3c 70 72 73 68 74 2e 68 3e nclude <prsht.h>
08f0: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69 ....// #if !defi
0900: 6e 65 64 28 5f 57 49 4e 36 34 29 0d 0a 61 6c 69 ned(_WIN64)..ali
0910: 67 6e 28 31 29 3a 0d 0a 2f 2f 20 23 65 6e 64 69 gn(1):..// #endi
0920: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f f....// #ifdef _
0930: 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 65 _cplusplus..// e
0940: 78 74 65 72 6e 20 22 43 22 20 7b 20 20 20 20 20 xtern "C" {
0950: 20 20 20 20 20 20 20 2f 2a 20 41 73 73 75 6d 65 /* Assume
0960: 20 43 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 C declarations
0970: 66 6f 72 20 43 2b 2b 20 2a 2f 0d 0a 2f 2f 20 23 for C++ */..// #
0980: 65 6e 64 69 66 20 20 2f 2a 20 5f 5f 63 70 6c 75 endif /* __cplu
0990: 73 70 6c 75 73 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 splus */....// #
09a0: 69 66 6e 64 65 66 20 57 49 4e 43 4f 4d 4d 44 4c ifndef WINCOMMDL
09b0: 47 41 50 49 0d 0a 2f 2f 20 23 69 66 20 21 64 65 GAPI..// #if !de
09c0: 66 69 6e 65 64 28 5f 43 4f 4d 44 4c 47 33 32 5f fined(_COMDLG32_
09d0: 29 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 57 49 )..// #define WI
09e0: 4e 43 4f 4d 4d 44 4c 47 41 50 49 20 44 45 43 4c NCOMMDLGAPI DECL
09f0: 53 50 45 43 5f 49 4d 50 4f 52 54 0d 0a 2f 2f 20 SPEC_IMPORT..//
0a00: 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #else..// #.....
0a10: 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 // #endif..// #e
0a20: 6e 64 69 66 20 2f 2f 20 57 49 4e 43 4f 4d 4d 44 ndif // WINCOMMD
0a30: 4c 47 41 50 49 0d 0a 0d 0a 2f 2f 20 23 69 66 28 LGAPI....// #if(
0a40: 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 WINVER >= 0x0400
0a50: 29 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 53 4e )..// #ifndef SN
0a60: 44 4d 53 47 0d 0a 2f 2f 20 23 69 66 64 65 66 20 DMSG..// #ifdef
0a70: 5f 5f 63 70 6c 75 73 70 6c 75 73 0d 0a 2f 2f 20 __cplusplus..//
0a80: 23 69 66 6e 64 65 66 20 5f 4d 41 43 0d 0a 2f 2f #ifndef _MAC..//
0a90: 20 23 64 65 66 69 6e 65 20 53 4e 44 4d 53 47 20 #define SNDMSG
0aa0: 3a 3a 53 65 6e 64 4d 65 73 73 61 67 65 0d 0a 2f ::SendMessage../
0ab0: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 2e 2e 2e / #else..// #...
0ac0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 ..// #endif..//
0ad0: 23 65 6c 73 65 20 20 20 2f 2a 20 5f 5f 63 70 6c #else /* __cpl
0ae0: 75 73 70 6c 75 73 20 2a 2f 0d 0a 2f 2f 20 23 69 usplus */..// #i
0af0: 66 6e 64 65 66 20 5f 4d 41 43 0d 0a 2f 2f 20 23 fndef _MAC..// #
0b00: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f .....// #else../
0b10: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 / #.....// #endi
0b20: 66 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2a f..// #endif /*
0b30: 20 5f 5f 63 70 6c 75 73 70 6c 75 73 20 2a 2f 0d __cplusplus */.
0b40: 0a 2f 2f 20 23 65 6e 64 69 66 20 20 2f 2f 20 69 .// #endif // i
0b50: 66 6e 64 65 66 20 53 4e 44 4d 53 47 0d 0a 2f 2f fndef SNDMSG..//
0b60: 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 #endif /* WINVE
0b70: 52 20 3e 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a R >= 0x0400 */..
0b80: 0d 0a 2f 2f 20 23 69 66 64 65 66 20 5f 4d 41 43 ..// #ifdef _MAC
0b90: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e ..// .....// #en
0ba0: 64 69 66 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 dif....extern(Wi
0bb0: 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 55 49 4e ndows) alias UIN
0bc0: 54 5f 50 54 52 20 66 75 6e 63 74 69 6f 6e 28 48 T_PTR function(H
0bd0: 57 4e 44 2c 20 55 49 4e 54 2c 20 57 50 41 52 41 WND, UINT, WPARA
0be0: 4d 2c 20 4c 50 41 52 41 4d 29 20 4c 50 4f 46 4e M, LPARAM) LPOFN
0bf0: 48 4f 4f 4b 50 52 4f 43 3b 0d 0a 0d 0a 2f 2f 20 HOOKPROC;....//
0c00: 23 69 66 6e 64 65 66 20 43 44 53 49 5a 45 4f 46 #ifndef CDSIZEOF
0c10: 5f 53 54 52 55 43 54 0d 0a 2f 2f 20 23 64 65 66 _STRUCT..// #def
0c20: 69 6e 65 20 43 44 53 49 5a 45 4f 46 5f 53 54 52 ine CDSIZEOF_STR
0c30: 55 43 54 28 73 74 72 75 63 74 6e 61 6d 65 2c 20 UCT(structname,
0c40: 6d 65 6d 62 65 72 29 20 28 28 28 69 6e 74 29 28 member) (((int)(
0c50: 28 4c 50 42 59 54 45 29 28 26 28 28 73 74 72 75 (LPBYTE)(&((stru
0c60: 63 74 6e 61 6d 65 2a 29 30 29 2d 3e 6d 65 6d 62 ctname*)0)->memb
0c70: 65 72 29 20 2d 20 28 28 4c 50 42 59 54 45 29 28 er) - ((LPBYTE)(
0c80: 28 73 74 72 75 63 74 6e 61 6d 65 2a 29 30 29 29 (structname*)0))
0c90: 29 29 20 2b 20 73 69 7a 65 6f 66 28 28 28 73 74 )) + sizeof(((st
0ca0: 72 75 63 74 6e 61 6d 65 2a 29 30 29 2d 3e 6d 65 ructname*)0)->me
0cb0: 6d 62 65 72 29 29 0d 0a 2f 2f 20 23 65 6e 64 69 mber))..// #endi
0cc0: 66 0d 0a 0d 0a 2f 2f 20 23 69 66 6e 64 65 66 20 f....// #ifndef
0cd0: 44 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 0d 0a DUMMYUNIONNAME..
0ce0: 2f 2f 20 23 69 66 64 65 66 20 4e 4f 4e 41 4d 45 // #ifdef NONAME
0cf0: 4c 45 53 53 55 4e 49 4f 4e 0d 0a 2f 2f 20 23 2e LESSUNION..// #.
0d00: 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f ....// #endif //
0d10: 20 4e 4f 4e 41 4d 45 4c 45 53 53 55 4e 49 4f 4e NONAMELESSUNION
0d20: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 44 ..// #endif // D
0d30: 55 4d 4d 59 55 4e 49 4f 4e 4e 41 4d 45 0d 0a 0d UMMYUNIONNAME...
0d40: 0a 73 74 72 75 63 74 20 74 61 67 4f 46 4e 5f 4e .struct tagOFN_N
0d50: 54 34 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 6c T4A {.. DWORD l
0d60: 53 74 72 75 63 74 53 69 7a 65 3b 0d 0a 20 20 48 StructSize;.. H
0d70: 57 4e 44 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a WND hwndOwner;..
0d80: 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 HINSTANCE hIns
0d90: 74 61 6e 63 65 3b 0d 0a 20 20 4c 50 43 53 54 52 tance;.. LPCSTR
0da0: 20 6c 70 73 74 72 46 69 6c 74 65 72 3b 0d 0a 20 lpstrFilter;..
0db0: 20 4c 50 53 54 52 20 6c 70 73 74 72 43 75 73 74 LPSTR lpstrCust
0dc0: 6f 6d 46 69 6c 74 65 72 3b 0d 0a 20 20 44 57 4f omFilter;.. DWO
0dd0: 52 44 20 6e 4d 61 78 43 75 73 74 46 69 6c 74 65 RD nMaxCustFilte
0de0: 72 3b 0d 0a 20 20 44 57 4f 52 44 20 6e 46 69 6c r;.. DWORD nFil
0df0: 74 65 72 49 6e 64 65 78 3b 0d 0a 20 20 4c 50 53 terIndex;.. LPS
0e00: 54 52 20 6c 70 73 74 72 46 69 6c 65 3b 0d 0a 20 TR lpstrFile;..
0e10: 20 44 57 4f 52 44 20 6e 4d 61 78 46 69 6c 65 3b DWORD nMaxFile;
0e20: 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73 74 72 46 .. LPSTR lpstrF
0e30: 69 6c 65 54 69 74 6c 65 3b 0d 0a 20 20 44 57 4f ileTitle;.. DWO
0e40: 52 44 20 6e 4d 61 78 46 69 6c 65 54 69 74 6c 65 RD nMaxFileTitle
0e50: 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 74 ;.. LPCSTR lpst
0e60: 72 49 6e 69 74 69 61 6c 44 69 72 3b 0d 0a 20 20 rInitialDir;..
0e70: 4c 50 43 53 54 52 20 6c 70 73 74 72 54 69 74 6c LPCSTR lpstrTitl
0e80: 65 3b 0d 0a 20 20 44 57 4f 52 44 20 46 6c 61 67 e;.. DWORD Flag
0e90: 73 3b 0d 0a 20 20 57 4f 52 44 20 6e 46 69 6c 65 s;.. WORD nFile
0ea0: 4f 66 66 73 65 74 3b 0d 0a 20 20 57 4f 52 44 20 Offset;.. WORD
0eb0: 6e 46 69 6c 65 45 78 74 65 6e 73 69 6f 6e 3b 0d nFileExtension;.
0ec0: 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 74 72 44 . LPCSTR lpstrD
0ed0: 65 66 45 78 74 3b 0d 0a 20 20 4c 50 41 52 41 4d efExt;.. LPARAM
0ee0: 20 6c 43 75 73 74 44 61 74 61 3b 0d 0a 20 20 4c lCustData;.. L
0ef0: 50 4f 46 4e 48 4f 4f 4b 50 52 4f 43 20 6c 70 66 POFNHOOKPROC lpf
0f00: 6e 48 6f 6f 6b 3b 0d 0a 20 20 4c 50 43 53 54 52 nHook;.. LPCSTR
0f10: 20 6c 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b lpTemplateName;
0f20: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4f 46 ..}..alias tagOF
0f30: 4e 5f 4e 54 34 41 20 4f 50 45 4e 46 49 4c 45 4e N_NT4A OPENFILEN
0f40: 41 4d 45 5f 4e 54 34 41 3b 0d 0a 61 6c 69 61 73 AME_NT4A;..alias
0f50: 20 74 61 67 4f 46 4e 5f 4e 54 34 41 2a 20 4c 50 tagOFN_NT4A* LP
0f60: 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 5f 4e 54 34 OPENFILENAME_NT4
0f70: 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 A;....struct tag
0f80: 4f 46 4e 5f 4e 54 34 57 20 7b 0d 0a 20 20 44 57 OFN_NT4W {.. DW
0f90: 4f 52 44 20 6c 53 74 72 75 63 74 53 69 7a 65 3b ORD lStructSize;
0fa0: 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 4f 77 6e .. HWND hwndOwn
0fb0: 65 72 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 er;.. HINSTANCE
0fc0: 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 20 20 4c hInstance;.. L
0fd0: 50 43 57 53 54 52 20 6c 70 73 74 72 46 69 6c 74 PCWSTR lpstrFilt
0fe0: 65 72 3b 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 er;.. LPWSTR lp
0ff0: 73 74 72 43 75 73 74 6f 6d 46 69 6c 74 65 72 3b strCustomFilter;
1000: 0d 0a 20 20 44 57 4f 52 44 20 6e 4d 61 78 43 75 .. DWORD nMaxCu
1010: 73 74 46 69 6c 74 65 72 3b 0d 0a 20 20 44 57 4f stFilter;.. DWO
1020: 52 44 20 6e 46 69 6c 74 65 72 49 6e 64 65 78 3b RD nFilterIndex;
1030: 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 74 72 .. LPWSTR lpstr
1040: 46 69 6c 65 3b 0d 0a 20 20 44 57 4f 52 44 20 6e File;.. DWORD n
1050: 4d 61 78 46 69 6c 65 3b 0d 0a 20 20 4c 50 57 53 MaxFile;.. LPWS
1060: 54 52 20 6c 70 73 74 72 46 69 6c 65 54 69 74 6c TR lpstrFileTitl
1070: 65 3b 0d 0a 20 20 44 57 4f 52 44 20 6e 4d 61 78 e;.. DWORD nMax
1080: 46 69 6c 65 54 69 74 6c 65 3b 0d 0a 20 20 4c 50 FileTitle;.. LP
1090: 43 57 53 54 52 20 6c 70 73 74 72 49 6e 69 74 69 CWSTR lpstrIniti
10a0: 61 6c 44 69 72 3b 0d 0a 20 20 4c 50 43 57 53 54 alDir;.. LPCWST
10b0: 52 20 6c 70 73 74 72 54 69 74 6c 65 3b 0d 0a 20 R lpstrTitle;..
10c0: 20 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20 DWORD Flags;..
10d0: 20 57 4f 52 44 20 6e 46 69 6c 65 4f 66 66 73 65 WORD nFileOffse
10e0: 74 3b 0d 0a 20 20 57 4f 52 44 20 6e 46 69 6c 65 t;.. WORD nFile
10f0: 45 78 74 65 6e 73 69 6f 6e 3b 0d 0a 20 20 4c 50 Extension;.. LP
1100: 43 57 53 54 52 20 6c 70 73 74 72 44 65 66 45 78 CWSTR lpstrDefEx
1110: 74 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 43 75 t;.. LPARAM lCu
1120: 73 74 44 61 74 61 3b 0d 0a 20 20 4c 50 4f 46 4e stData;.. LPOFN
1130: 48 4f 4f 4b 50 52 4f 43 20 6c 70 66 6e 48 6f 6f HOOKPROC lpfnHoo
1140: 6b 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 k;.. LPCWSTR lp
1150: 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0d 0a 7d TemplateName;..}
1160: 0d 0a 61 6c 69 61 73 20 74 61 67 4f 46 4e 5f 4e ..alias tagOFN_N
1170: 54 34 57 20 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 T4W OPENFILENAME
1180: 5f 4e 54 34 57 3b 0d 0a 61 6c 69 61 73 20 74 61 _NT4W;..alias ta
1190: 67 4f 46 4e 5f 4e 54 34 57 2a 20 4c 50 4f 50 45 gOFN_NT4W* LPOPE
11a0: 4e 46 49 4c 45 4e 41 4d 45 5f 4e 54 34 57 3b 0d NFILENAME_NT4W;.
11b0: 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 ...// #ifdef UNI
11c0: 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f CODE..// .....//
11d0: 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4f 50 #else..alias OP
11e0: 45 4e 46 49 4c 45 4e 41 4d 45 5f 4e 54 34 41 20 ENFILENAME_NT4A
11f0: 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 5f 4e 54 34 OPENFILENAME_NT4
1200: 3b 0d 0a 61 6c 69 61 73 20 4c 50 4f 50 45 4e 46 ;..alias LPOPENF
1210: 49 4c 45 4e 41 4d 45 5f 4e 54 34 41 20 4c 50 4f ILENAME_NT4A LPO
1220: 50 45 4e 46 49 4c 45 4e 41 4d 45 5f 4e 54 34 3b PENFILENAME_NT4;
1230: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 ..// #endif // U
1240: 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 74 NICODE....struct
1250: 20 74 61 67 4f 46 4e 41 20 7b 0d 0a 20 20 44 57 tagOFNA {.. DW
1260: 4f 52 44 20 6c 53 74 72 75 63 74 53 69 7a 65 3b ORD lStructSize;
1270: 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 4f 77 6e .. HWND hwndOwn
1280: 65 72 3b 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 er;.. HINSTANCE
1290: 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 20 20 4c hInstance;.. L
12a0: 50 43 53 54 52 20 6c 70 73 74 72 46 69 6c 74 65 PCSTR lpstrFilte
12b0: 72 3b 0d 0a 20 20 4c 50 53 54 52 20 6c 70 73 74 r;.. LPSTR lpst
12c0: 72 43 75 73 74 6f 6d 46 69 6c 74 65 72 3b 0d 0a rCustomFilter;..
12d0: 20 20 44 57 4f 52 44 20 6e 4d 61 78 43 75 73 74 DWORD nMaxCust
12e0: 46 69 6c 74 65 72 3b 0d 0a 20 20 44 57 4f 52 44 Filter;.. DWORD
12f0: 20 6e 46 69 6c 74 65 72 49 6e 64 65 78 3b 0d 0a nFilterIndex;..
1300: 20 20 4c 50 53 54 52 20 6c 70 73 74 72 46 69 6c LPSTR lpstrFil
1310: 65 3b 0d 0a 20 20 44 57 4f 52 44 20 6e 4d 61 78 e;.. DWORD nMax
1320: 46 69 6c 65 3b 0d 0a 20 20 4c 50 53 54 52 20 6c File;.. LPSTR l
1330: 70 73 74 72 46 69 6c 65 54 69 74 6c 65 3b 0d 0a pstrFileTitle;..
1340: 20 20 44 57 4f 52 44 20 6e 4d 61 78 46 69 6c 65 DWORD nMaxFile
1350: 54 69 74 6c 65 3b 0d 0a 20 20 4c 50 43 53 54 52 Title;.. LPCSTR
1360: 20 6c 70 73 74 72 49 6e 69 74 69 61 6c 44 69 72 lpstrInitialDir
1370: 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 73 74 ;.. LPCSTR lpst
1380: 72 54 69 74 6c 65 3b 0d 0a 20 20 44 57 4f 52 44 rTitle;.. DWORD
1390: 20 46 6c 61 67 73 3b 0d 0a 20 20 57 4f 52 44 20 Flags;.. WORD
13a0: 6e 46 69 6c 65 4f 66 66 73 65 74 3b 0d 0a 20 20 nFileOffset;..
13b0: 57 4f 52 44 20 6e 46 69 6c 65 45 78 74 65 6e 73 WORD nFileExtens
13c0: 69 6f 6e 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c ion;.. LPCSTR l
13d0: 70 73 74 72 44 65 66 45 78 74 3b 0d 0a 20 20 4c pstrDefExt;.. L
13e0: 50 41 52 41 4d 20 6c 43 75 73 74 44 61 74 61 3b PARAM lCustData;
13f0: 0d 0a 20 20 4c 50 4f 46 4e 48 4f 4f 4b 50 52 4f .. LPOFNHOOKPRO
1400: 43 20 6c 70 66 6e 48 6f 6f 6b 3b 0d 0a 20 20 4c C lpfnHook;.. L
1410: 50 43 53 54 52 20 6c 70 54 65 6d 70 6c 61 74 65 PCSTR lpTemplate
1420: 4e 61 6d 65 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 Name;..// #ifdef
1430: 20 5f 4d 41 43 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f _MAC..// ...../
1440: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 69 66 / #endif..// #if
1450: 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e (_WIN32_WINNT >
1460: 3d 20 30 78 30 35 30 30 29 0d 0a 20 20 76 6f 69 = 0x0500).. voi
1470: 64 20 2a 09 09 70 76 52 65 73 65 72 76 65 64 3b d *..pvReserved;
1480: 0d 0a 20 20 44 57 4f 52 44 20 64 77 52 65 73 65 .. DWORD dwRese
1490: 72 76 65 64 3b 0d 0a 20 20 44 57 4f 52 44 20 46 rved;.. DWORD F
14a0: 6c 61 67 73 45 78 3b 0d 0a 2f 2f 20 23 65 6e 64 lagsEx;..// #end
14b0: 69 66 20 2f 2f 20 28 5f 57 49 4e 33 32 5f 57 49 if // (_WIN32_WI
14c0: 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a NNT >= 0x0500)..
14d0: 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4f 46 4e 41 }..alias tagOFNA
14e0: 20 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 41 3b 0d OPENFILENAMEA;.
14f0: 0a 61 6c 69 61 73 20 74 61 67 4f 46 4e 41 2a 20 .alias tagOFNA*
1500: 4c 50 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 41 3b LPOPENFILENAMEA;
1510: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 4f 46 ....struct tagOF
1520: 4e 57 20 7b 0d 0a 20 20 44 57 4f 52 44 20 6c 53 NW {.. DWORD lS
1530: 74 72 75 63 74 53 69 7a 65 3b 0d 0a 20 20 48 57 tructSize;.. HW
1540: 4e 44 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a 20 ND hwndOwner;..
1550: 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 HINSTANCE hInst
1560: 61 6e 63 65 3b 0d 0a 20 20 4c 50 43 57 53 54 52 ance;.. LPCWSTR
1570: 20 6c 70 73 74 72 46 69 6c 74 65 72 3b 0d 0a 20 lpstrFilter;..
1580: 20 4c 50 57 53 54 52 20 6c 70 73 74 72 43 75 73 LPWSTR lpstrCus
1590: 74 6f 6d 46 69 6c 74 65 72 3b 0d 0a 20 20 44 57 tomFilter;.. DW
15a0: 4f 52 44 20 6e 4d 61 78 43 75 73 74 46 69 6c 74 ORD nMaxCustFilt
15b0: 65 72 3b 0d 0a 20 20 44 57 4f 52 44 20 6e 46 69 er;.. DWORD nFi
15c0: 6c 74 65 72 49 6e 64 65 78 3b 0d 0a 20 20 4c 50 lterIndex;.. LP
15d0: 57 53 54 52 20 6c 70 73 74 72 46 69 6c 65 3b 0d WSTR lpstrFile;.
15e0: 0a 20 20 44 57 4f 52 44 20 6e 4d 61 78 46 69 6c . DWORD nMaxFil
15f0: 65 3b 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 e;.. LPWSTR lps
1600: 74 72 46 69 6c 65 54 69 74 6c 65 3b 0d 0a 20 20 trFileTitle;..
1610: 44 57 4f 52 44 20 6e 4d 61 78 46 69 6c 65 54 69 DWORD nMaxFileTi
1620: 74 6c 65 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 tle;.. LPCWSTR
1630: 6c 70 73 74 72 49 6e 69 74 69 61 6c 44 69 72 3b lpstrInitialDir;
1640: 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 73 74 .. LPCWSTR lpst
1650: 72 54 69 74 6c 65 3b 0d 0a 20 20 44 57 4f 52 44 rTitle;.. DWORD
1660: 20 46 6c 61 67 73 3b 0d 0a 20 20 57 4f 52 44 20 Flags;.. WORD
1670: 6e 46 69 6c 65 4f 66 66 73 65 74 3b 0d 0a 20 20 nFileOffset;..
1680: 57 4f 52 44 20 6e 46 69 6c 65 45 78 74 65 6e 73 WORD nFileExtens
1690: 69 6f 6e 3b 0d 0a 20 20 4c 50 43 57 53 54 52 20 ion;.. LPCWSTR
16a0: 6c 70 73 74 72 44 65 66 45 78 74 3b 0d 0a 20 20 lpstrDefExt;..
16b0: 4c 50 41 52 41 4d 20 6c 43 75 73 74 44 61 74 61 LPARAM lCustData
16c0: 3b 0d 0a 20 20 4c 50 4f 46 4e 48 4f 4f 4b 50 52 ;.. LPOFNHOOKPR
16d0: 4f 43 20 6c 70 66 6e 48 6f 6f 6b 3b 0d 0a 20 20 OC lpfnHook;..
16e0: 4c 50 43 57 53 54 52 20 6c 70 54 65 6d 70 6c 61 LPCWSTR lpTempla
16f0: 74 65 4e 61 6d 65 3b 0d 0a 2f 2f 20 23 69 66 64 teName;..// #ifd
1700: 65 66 20 5f 4d 41 43 0d 0a 2f 2f 20 2e 2e 2e 0d ef _MAC..// ....
1710: 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 .// #endif..// #
1720: 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 if (_WIN32_WINNT
1730: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 20 20 76 >= 0x0500).. v
1740: 6f 69 64 20 2a 09 09 70 76 52 65 73 65 72 76 65 oid *..pvReserve
1750: 64 3b 0d 0a 20 20 44 57 4f 52 44 20 64 77 52 65 d;.. DWORD dwRe
1760: 73 65 72 76 65 64 3b 0d 0a 20 20 44 57 4f 52 44 served;.. DWORD
1770: 20 46 6c 61 67 73 45 78 3b 0d 0a 2f 2f 20 23 65 FlagsEx;..// #e
1780: 6e 64 69 66 20 2f 2f 20 28 5f 57 49 4e 33 32 5f ndif // (_WIN32_
1790: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 WINNT >= 0x0500)
17a0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 4f 46 ..}..alias tagOF
17b0: 4e 57 20 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 57 NW OPENFILENAMEW
17c0: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 4f 46 4e 57 ;..alias tagOFNW
17d0: 2a 20 4c 50 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 * LPOPENFILENAME
17e0: 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 W;....// #ifdef
17f0: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d UNICODE..// ....
1800: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 .// #else..alias
1810: 20 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 41 20 4f OPENFILENAMEA O
1820: 50 45 4e 46 49 4c 45 4e 41 4d 45 3b 0d 0a 61 6c PENFILENAME;..al
1830: 69 61 73 20 4c 50 4f 50 45 4e 46 49 4c 45 4e 41 ias LPOPENFILENA
1840: 4d 45 41 20 4c 50 4f 50 45 4e 46 49 4c 45 4e 41 MEA LPOPENFILENA
1850: 4d 45 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f ME;..// #endif /
1860: 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f 20 / UNICODE....//
1870: 23 69 66 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e #if (_WIN32_WINN
1880: 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 2f 2f T >= 0x0500)..//
1890: 20 23 64 65 66 69 6e 65 20 4f 50 45 4e 46 49 4c #define OPENFIL
18a0: 45 4e 41 4d 45 5f 53 49 5a 45 5f 56 45 52 53 49 ENAME_SIZE_VERSI
18b0: 4f 4e 5f 34 30 30 41 20 43 44 53 49 5a 45 4f 46 ON_400A CDSIZEOF
18c0: 5f 53 54 52 55 43 54 28 4f 50 45 4e 46 49 4c 45 _STRUCT(OPENFILE
18d0: 4e 41 4d 45 41 2c 6c 70 54 65 6d 70 6c 61 74 65 NAMEA,lpTemplate
18e0: 4e 61 6d 65 29 0d 0a 2f 2f 20 23 64 65 66 69 6e Name)..// #defin
18f0: 65 20 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 5f 53 e OPENFILENAME_S
1900: 49 5a 45 5f 56 45 52 53 49 4f 4e 5f 34 30 30 57 IZE_VERSION_400W
1910: 20 43 44 53 49 5a 45 4f 46 5f 53 54 52 55 43 54 CDSIZEOF_STRUCT
1920: 28 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 57 2c 6c (OPENFILENAMEW,l
1930: 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 29 0d 0a pTemplateName)..
1940: 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 // #ifdef UNICOD
1950: 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 E..// #.....// #
1960: 65 6c 73 65 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 else..// #define
1970: 20 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 5f 53 49 OPENFILENAME_SI
1980: 5a 45 5f 56 45 52 53 49 4f 4e 5f 34 30 30 20 4f ZE_VERSION_400 O
1990: 50 45 4e 46 49 4c 45 4e 41 4d 45 5f 53 49 5a 45 PENFILENAME_SIZE
19a0: 5f 56 45 52 53 49 4f 4e 5f 34 30 30 41 0d 0a 2f _VERSION_400A../
19b0: 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 / #endif // !UNI
19c0: 43 4f 44 45 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 CODE..// #endif
19d0: 2f 2f 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 // (_WIN32_WINNT
19e0: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 >= 0x0500)....e
19f0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
1a00: 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 4f 70 xport BOOL GetOp
1a10: 65 6e 46 69 6c 65 4e 61 6d 65 41 28 4c 50 4f 50 enFileNameA(LPOP
1a20: 45 4e 46 49 4c 45 4e 41 4d 45 41 29 3b 0d 0a 65 ENFILENAMEA);..e
1a30: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
1a40: 78 70 6f 72 74 20 42 4f 4f 4c 20 47 65 74 4f 70 xport BOOL GetOp
1a50: 65 6e 46 69 6c 65 4e 61 6d 65 57 28 4c 50 4f 50 enFileNameW(LPOP
1a60: 45 4e 46 49 4c 45 4e 41 4d 45 57 29 3b 0d 0a 2f ENFILENAMEW);../
1a70: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 / #ifdef UNICODE
1a80: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
1a90: 6c 73 65 0d 0a 61 6c 69 61 73 20 47 65 74 4f 70 lse..alias GetOp
1aa0: 65 6e 46 69 6c 65 4e 61 6d 65 41 20 47 65 74 4f enFileNameA GetO
1ab0: 70 65 6e 46 69 6c 65 4e 61 6d 65 3b 0d 0a 2f 2f penFileName;..//
1ac0: 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 #endif // !UNIC
1ad0: 4f 44 45 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 ODE..extern(Wind
1ae0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c ows) export BOOL
1af0: 20 47 65 74 53 61 76 65 46 69 6c 65 4e 61 6d 65 GetSaveFileName
1b00: 41 28 4c 50 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 A(LPOPENFILENAME
1b10: 41 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 A);..extern(Wind
1b20: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c ows) export BOOL
1b30: 20 47 65 74 53 61 76 65 46 69 6c 65 4e 61 6d 65 GetSaveFileName
1b40: 57 28 4c 50 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 W(LPOPENFILENAME
1b50: 57 29 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 W);..// #ifdef U
1b60: 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d NICODE..// #....
1b70: 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 .// #else..alias
1b80: 20 47 65 74 53 61 76 65 46 69 6c 65 4e 61 6d 65 GetSaveFileName
1b90: 41 20 47 65 74 53 61 76 65 46 69 6c 65 4e 61 6d A GetSaveFileNam
1ba0: 65 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f e;..// #endif //
1bb0: 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 !UNICODE....ext
1bc0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 78 70 ern(Windows) exp
1bd0: 6f 72 74 20 73 68 6f 72 74 20 47 65 74 46 69 6c ort short GetFil
1be0: 65 54 69 74 6c 65 41 28 4c 50 43 53 54 52 2c 20 eTitleA(LPCSTR,
1bf0: 4c 50 53 54 52 2c 20 57 4f 52 44 29 3b 0d 0a 65 LPSTR, WORD);..e
1c00: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
1c10: 78 70 6f 72 74 20 73 68 6f 72 74 20 47 65 74 46 xport short GetF
1c20: 69 6c 65 54 69 74 6c 65 57 28 4c 50 43 57 53 54 ileTitleW(LPCWST
1c30: 52 2c 20 4c 50 57 53 54 52 2c 20 57 4f 52 44 29 R, LPWSTR, WORD)
1c40: 3b 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 ;..// #ifdef UNI
1c50: 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f CODE..// #...../
1c60: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 47 / #else..alias G
1c70: 65 74 46 69 6c 65 54 69 74 6c 65 41 20 47 65 74 etFileTitleA Get
1c80: 46 69 6c 65 54 69 74 6c 65 3b 0d 0a 2f 2f 20 23 FileTitle;..// #
1c90: 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 endif // !UNICOD
1ca0: 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 E....enum : uint
1cb0: 20 7b 20 4f 46 4e 5f 52 45 41 44 4f 4e 4c 59 20 { OFN_READONLY
1cc0: 3d 20 30 78 30 30 30 30 30 30 30 31 20 7d 0d 0a = 0x00000001 }..
1cd0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 46 enum : uint { OF
1ce0: 4e 5f 4f 56 45 52 57 52 49 54 45 50 52 4f 4d 50 N_OVERWRITEPROMP
1cf0: 54 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 7d T = 0x00000002 }
1d00: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
1d10: 4f 46 4e 5f 48 49 44 45 52 45 41 44 4f 4e 4c 59 OFN_HIDEREADONLY
1d20: 20 3d 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d = 0x00000004 }.
1d30: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f .enum : uint { O
1d40: 46 4e 5f 4e 4f 43 48 41 4e 47 45 44 49 52 20 3d FN_NOCHANGEDIR =
1d50: 20 30 78 30 30 30 30 30 30 30 38 20 7d 0d 0a 65 0x00000008 }..e
1d60: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 46 4e num : uint { OFN
1d70: 5f 53 48 4f 57 48 45 4c 50 20 3d 20 30 78 30 30 _SHOWHELP = 0x00
1d80: 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 000010 }..enum :
1d90: 20 75 69 6e 74 20 7b 20 4f 46 4e 5f 45 4e 41 42 uint { OFN_ENAB
1da0: 4c 45 48 4f 4f 4b 20 3d 20 30 78 30 30 30 30 30 LEHOOK = 0x00000
1db0: 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 020 }..enum : ui
1dc0: 6e 74 20 7b 20 4f 46 4e 5f 45 4e 41 42 4c 45 54 nt { OFN_ENABLET
1dd0: 45 4d 50 4c 41 54 45 20 3d 20 30 78 30 30 30 30 EMPLATE = 0x0000
1de0: 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0040 }..enum : u
1df0: 69 6e 74 20 7b 20 4f 46 4e 5f 45 4e 41 42 4c 45 int { OFN_ENABLE
1e00: 54 45 4d 50 4c 41 54 45 48 41 4e 44 4c 45 20 3d TEMPLATEHANDLE =
1e10: 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 0x00000080 }..e
1e20: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 46 4e num : uint { OFN
1e30: 5f 4e 4f 56 41 4c 49 44 41 54 45 20 3d 20 30 78 _NOVALIDATE = 0x
1e40: 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 00000100 }..enum
1e50: 20 3a 20 75 69 6e 74 20 7b 20 4f 46 4e 5f 41 4c : uint { OFN_AL
1e60: 4c 4f 57 4d 55 4c 54 49 53 45 4c 45 43 54 20 3d LOWMULTISELECT =
1e70: 20 30 78 30 30 30 30 30 32 30 30 20 7d 0d 0a 65 0x00000200 }..e
1e80: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 46 4e num : uint { OFN
1e90: 5f 45 58 54 45 4e 53 49 4f 4e 44 49 46 46 45 52 _EXTENSIONDIFFER
1ea0: 45 4e 54 20 3d 20 30 78 30 30 30 30 30 34 30 30 ENT = 0x00000400
1eb0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
1ec0: 7b 20 4f 46 4e 5f 50 41 54 48 4d 55 53 54 45 58 { OFN_PATHMUSTEX
1ed0: 49 53 54 20 3d 20 30 78 30 30 30 30 30 38 30 30 IST = 0x00000800
1ee0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
1ef0: 7b 20 4f 46 4e 5f 46 49 4c 45 4d 55 53 54 45 58 { OFN_FILEMUSTEX
1f00: 49 53 54 20 3d 20 30 78 30 30 30 30 31 30 30 30 IST = 0x00001000
1f10: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
1f20: 7b 20 4f 46 4e 5f 43 52 45 41 54 45 50 52 4f 4d { OFN_CREATEPROM
1f30: 50 54 20 3d 20 30 78 30 30 30 30 32 30 30 30 20 PT = 0x00002000
1f40: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
1f50: 20 4f 46 4e 5f 53 48 41 52 45 41 57 41 52 45 20 OFN_SHAREAWARE
1f60: 3d 20 30 78 30 30 30 30 34 30 30 30 20 7d 0d 0a = 0x00004000 }..
1f70: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 46 enum : uint { OF
1f80: 4e 5f 4e 4f 52 45 41 44 4f 4e 4c 59 52 45 54 55 N_NOREADONLYRETU
1f90: 52 4e 20 3d 20 30 78 30 30 30 30 38 30 30 30 20 RN = 0x00008000
1fa0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
1fb0: 20 4f 46 4e 5f 4e 4f 54 45 53 54 46 49 4c 45 43 OFN_NOTESTFILEC
1fc0: 52 45 41 54 45 20 3d 20 30 78 30 30 30 31 30 30 REATE = 0x000100
1fd0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
1fe0: 74 20 7b 20 4f 46 4e 5f 4e 4f 4e 45 54 57 4f 52 t { OFN_NONETWOR
1ff0: 4b 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 30 32 KBUTTON = 0x0002
2000: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0000 }..enum : u
2010: 69 6e 74 20 7b 20 4f 46 4e 5f 4e 4f 4c 4f 4e 47 int { OFN_NOLONG
2020: 4e 41 4d 45 53 20 3d 20 30 78 30 30 30 34 30 30 NAMES = 0x000400
2030: 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 00 }..// #if(WIN
2040: 56 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a VER >= 0x0400)..
2050: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 46 enum : uint { OF
2060: 4e 5f 45 58 50 4c 4f 52 45 52 20 3d 20 30 78 30 N_EXPLORER = 0x0
2070: 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 0080000 }..enum
2080: 3a 20 75 69 6e 74 20 7b 20 4f 46 4e 5f 4e 4f 44 : uint { OFN_NOD
2090: 45 52 45 46 45 52 45 4e 43 45 4c 49 4e 4b 53 20 EREFERENCELINKS
20a0: 3d 20 30 78 30 30 31 30 30 30 30 30 20 7d 0d 0a = 0x00100000 }..
20b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 4f 46 enum : uint { OF
20c0: 4e 5f 4c 4f 4e 47 4e 41 4d 45 53 20 3d 20 30 78 N_LONGNAMES = 0x
20d0: 30 30 32 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 00200000 }..enum
20e0: 20 3a 20 75 69 6e 74 20 7b 20 4f 46 4e 5f 45 4e : uint { OFN_EN
20f0: 41 42 4c 45 49 4e 43 4c 55 44 45 4e 4f 54 49 46 ABLEINCLUDENOTIF
2100: 59 20 3d 20 30 78 30 30 34 30 30 30 30 30 20 7d Y = 0x00400000 }
2110: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2120: 4f 46 4e 5f 45 4e 41 42 4c 45 53 49 5a 49 4e 47 OFN_ENABLESIZING
2130: 20 3d 20 30 78 30 30 38 30 30 30 30 30 20 7d 0d = 0x00800000 }.
2140: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 .// #endif /* WI
2150: 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 2a NVER >= 0x0400 *
2160: 2f 0d 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 /..// #if (_WIN3
2170: 32 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 2_WINNT >= 0x050
2180: 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 0)..enum : uint
2190: 7b 20 4f 46 4e 5f 44 4f 4e 54 41 44 44 54 4f 52 { OFN_DONTADDTOR
21a0: 45 43 45 4e 54 20 3d 20 30 78 30 32 30 30 30 30 ECENT = 0x020000
21b0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
21c0: 74 20 7b 20 4f 46 4e 5f 46 4f 52 43 45 53 48 4f t { OFN_FORCESHO
21d0: 57 48 49 44 44 45 4e 20 3d 20 30 78 31 30 30 30 WHIDDEN = 0x1000
21e0: 30 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 0000 }..// #endi
21f0: 66 20 2f 2f 20 28 5f 57 49 4e 33 32 5f 57 49 4e f // (_WIN32_WIN
2200: 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d NT >= 0x0500)...
2210: 0a 2f 2f 20 23 69 66 20 28 5f 57 49 4e 33 32 5f .// #if (_WIN32_
2220: 57 49 4e 4e 54 20 3e 3d 20 30 78 30 35 30 30 29 WINNT >= 0x0500)
2230: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
2240: 4f 46 4e 5f 45 58 5f 4e 4f 50 4c 41 43 45 53 42 OFN_EX_NOPLACESB
2250: 41 52 20 3d 20 30 78 30 30 30 30 30 30 30 31 20 AR = 0x00000001
2260: 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 }..// #endif //
2270: 28 5f 57 49 4e 33 32 5f 57 49 4e 4e 54 20 3e 3d (_WIN32_WINNT >=
2280: 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 6e 75 6d 0x0500)....enum
2290: 20 3a 20 75 69 6e 74 20 7b 20 4f 46 4e 5f 53 48 : uint { OFN_SH
22a0: 41 52 45 46 41 4c 4c 54 48 52 4f 55 47 48 20 3d AREFALLTHROUGH =
22b0: 20 32 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 2 }..enum : uin
22c0: 74 20 7b 20 4f 46 4e 5f 53 48 41 52 45 4e 4f 57 t { OFN_SHARENOW
22d0: 41 52 4e 20 3d 20 31 20 7d 0d 0a 65 6e 75 6d 20 ARN = 1 }..enum
22e0: 3a 20 75 69 6e 74 20 7b 20 4f 46 4e 5f 53 48 41 : uint { OFN_SHA
22f0: 52 45 57 41 52 4e 20 3d 20 30 20 7d 0d 0a 0d 0a REWARN = 0 }....
2300: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 extern(Windows)
2310: 61 6c 69 61 73 20 55 49 4e 54 5f 50 54 52 20 66 alias UINT_PTR f
2320: 75 6e 63 74 69 6f 6e 28 48 57 4e 44 2c 20 55 49 unction(HWND, UI
2330: 4e 54 2c 20 57 50 41 52 41 4d 2c 20 4c 50 41 52 NT, WPARAM, LPAR
2340: 41 4d 29 20 4c 50 43 43 48 4f 4f 4b 50 52 4f 43 AM) LPCCHOOKPROC
2350: 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 ;....// #if(WINV
2360: 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 0d ER >= 0x0400)...
2370: 0a 73 74 72 75 63 74 20 5f 4f 46 4e 4f 54 49 46 .struct _OFNOTIF
2380: 59 41 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 64 YA {.. NMHDR hd
2390: 72 3b 0d 0a 20 20 4c 50 4f 50 45 4e 46 49 4c 45 r;.. LPOPENFILE
23a0: 4e 41 4d 45 41 20 6c 70 4f 46 4e 3b 0d 0a 20 20 NAMEA lpOFN;..
23b0: 4c 50 53 54 52 20 70 73 7a 46 69 6c 65 3b 0d 0a LPSTR pszFile;..
23c0: 7d 0d 0a 61 6c 69 61 73 20 5f 4f 46 4e 4f 54 49 }..alias _OFNOTI
23d0: 46 59 41 20 4f 46 4e 4f 54 49 46 59 41 3b 0d 0a FYA OFNOTIFYA;..
23e0: 61 6c 69 61 73 20 5f 4f 46 4e 4f 54 49 46 59 41 alias _OFNOTIFYA
23f0: 2a 20 4c 50 4f 46 4e 4f 54 49 46 59 41 3b 0d 0a * LPOFNOTIFYA;..
2400: 0d 0a 73 74 72 75 63 74 20 5f 4f 46 4e 4f 54 49 ..struct _OFNOTI
2410: 46 59 57 20 7b 0d 0a 20 20 4e 4d 48 44 52 20 68 FYW {.. NMHDR h
2420: 64 72 3b 0d 0a 20 20 4c 50 4f 50 45 4e 46 49 4c dr;.. LPOPENFIL
2430: 45 4e 41 4d 45 57 20 6c 70 4f 46 4e 3b 0d 0a 20 ENAMEW lpOFN;..
2440: 20 4c 50 57 53 54 52 20 70 73 7a 46 69 6c 65 3b LPWSTR pszFile;
2450: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4f 46 4e 4f ..}..alias _OFNO
2460: 54 49 46 59 57 20 4f 46 4e 4f 54 49 46 59 57 3b TIFYW OFNOTIFYW;
2470: 0d 0a 61 6c 69 61 73 20 5f 4f 46 4e 4f 54 49 46 ..alias _OFNOTIF
2480: 59 57 2a 20 4c 50 4f 46 4e 4f 54 49 46 59 57 3b YW* LPOFNOTIFYW;
2490: 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e ....// #ifdef UN
24a0: 49 43 4f 44 45 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f ICODE..// ...../
24b0: 2f 20 23 65 6c 73 65 0d 0a 61 6c 69 61 73 20 4f / #else..alias O
24c0: 46 4e 4f 54 49 46 59 41 20 4f 46 4e 4f 54 49 46 FNOTIFYA OFNOTIF
24d0: 59 3b 0d 0a 61 6c 69 61 73 20 4c 50 4f 46 4e 4f Y;..alias LPOFNO
24e0: 54 49 46 59 41 20 4c 50 4f 46 4e 4f 54 49 46 59 TIFYA LPOFNOTIFY
24f0: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 ;..// #endif //
2500: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 73 74 72 75 63 UNICODE....struc
2510: 74 20 5f 4f 46 4e 4f 54 49 46 59 45 58 41 20 7b t _OFNOTIFYEXA {
2520: 0d 0a 20 20 4e 4d 48 44 52 20 68 64 72 3b 0d 0a .. NMHDR hdr;..
2530: 20 20 4c 50 4f 50 45 4e 46 49 4c 45 4e 41 4d 45 LPOPENFILENAME
2540: 41 20 6c 70 4f 46 4e 3b 0d 0a 20 20 4c 50 56 4f A lpOFN;.. LPVO
2550: 49 44 20 70 73 66 3b 0d 0a 20 20 4c 50 56 4f 49 ID psf;.. LPVOI
2560: 44 20 70 69 64 6c 3b 0d 0a 7d 0d 0a 61 6c 69 61 D pidl;..}..alia
2570: 73 20 5f 4f 46 4e 4f 54 49 46 59 45 58 41 20 4f s _OFNOTIFYEXA O
2580: 46 4e 4f 54 49 46 59 45 58 41 3b 0d 0a 61 6c 69 FNOTIFYEXA;..ali
2590: 61 73 20 5f 4f 46 4e 4f 54 49 46 59 45 58 41 2a as _OFNOTIFYEXA*
25a0: 20 4c 50 4f 46 4e 4f 54 49 46 59 45 58 41 3b 0d LPOFNOTIFYEXA;.
25b0: 0a 0d 0a 73 74 72 75 63 74 20 5f 4f 46 4e 4f 54 ...struct _OFNOT
25c0: 49 46 59 45 58 57 20 7b 0d 0a 20 20 4e 4d 48 44 IFYEXW {.. NMHD
25d0: 52 20 68 64 72 3b 0d 0a 20 20 4c 50 4f 50 45 4e R hdr;.. LPOPEN
25e0: 46 49 4c 45 4e 41 4d 45 57 20 6c 70 4f 46 4e 3b FILENAMEW lpOFN;
25f0: 0d 0a 20 20 4c 50 56 4f 49 44 20 70 73 66 3b 0d .. LPVOID psf;.
2600: 0a 20 20 4c 50 56 4f 49 44 20 70 69 64 6c 3b 0d . LPVOID pidl;.
2610: 0a 7d 0d 0a 61 6c 69 61 73 20 5f 4f 46 4e 4f 54 .}..alias _OFNOT
2620: 49 46 59 45 58 57 20 4f 46 4e 4f 54 49 46 59 45 IFYEXW OFNOTIFYE
2630: 58 57 3b 0d 0a 61 6c 69 61 73 20 5f 4f 46 4e 4f XW;..alias _OFNO
2640: 54 49 46 59 45 58 57 2a 20 4c 50 4f 46 4e 4f 54 TIFYEXW* LPOFNOT
2650: 49 46 59 45 58 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 IFYEXW;....// #i
2660: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f fdef UNICODE..//
2670: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a .....// #else..
2680: 61 6c 69 61 73 20 4f 46 4e 4f 54 49 46 59 45 58 alias OFNOTIFYEX
2690: 41 20 4f 46 4e 4f 54 49 46 59 45 58 3b 0d 0a 61 A OFNOTIFYEX;..a
26a0: 6c 69 61 73 20 4c 50 4f 46 4e 4f 54 49 46 59 45 lias LPOFNOTIFYE
26b0: 58 41 20 4c 50 4f 46 4e 4f 54 49 46 59 45 58 3b XA LPOFNOTIFYEX;
26c0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 ..// #endif // U
26d0: 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a NICODE....enum :
26e0: 20 75 69 6e 74 20 7b 20 43 44 4e 5f 46 49 52 53 uint { CDN_FIRS
26f0: 54 20 3d 20 30 55 2d 36 30 31 55 20 7d 0d 0a 65 T = 0U-601U }..e
2700: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 4e num : uint { CDN
2710: 5f 4c 41 53 54 20 3d 20 30 55 2d 36 39 39 55 20 _LAST = 0U-699U
2720: 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 }....enum : uint
2730: 20 7b 20 43 44 4e 5f 49 4e 49 54 44 4f 4e 45 20 { CDN_INITDONE
2740: 3d 20 43 44 4e 5f 46 49 52 53 54 20 2d 20 30 78 = CDN_FIRST - 0x
2750: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0000 }..enum : u
2760: 69 6e 74 20 7b 20 43 44 4e 5f 53 45 4c 43 48 41 int { CDN_SELCHA
2770: 4e 47 45 20 3d 20 43 44 4e 5f 46 49 52 53 54 20 NGE = CDN_FIRST
2780: 2d 20 30 78 30 30 30 31 20 7d 0d 0a 65 6e 75 6d - 0x0001 }..enum
2790: 20 3a 20 75 69 6e 74 20 7b 20 43 44 4e 5f 46 4f : uint { CDN_FO
27a0: 4c 44 45 52 43 48 41 4e 47 45 20 3d 20 43 44 4e LDERCHANGE = CDN
27b0: 5f 46 49 52 53 54 20 2d 20 30 78 30 30 30 32 20 _FIRST - 0x0002
27c0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
27d0: 20 43 44 4e 5f 53 48 41 52 45 56 49 4f 4c 41 54 CDN_SHAREVIOLAT
27e0: 49 4f 4e 20 3d 20 43 44 4e 5f 46 49 52 53 54 20 ION = CDN_FIRST
27f0: 2d 20 30 78 30 30 30 33 20 7d 0d 0a 65 6e 75 6d - 0x0003 }..enum
2800: 20 3a 20 75 69 6e 74 20 7b 20 43 44 4e 5f 48 45 : uint { CDN_HE
2810: 4c 50 20 3d 20 43 44 4e 5f 46 49 52 53 54 20 2d LP = CDN_FIRST -
2820: 20 30 78 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 0x0004 }..enum
2830: 3a 20 75 69 6e 74 20 7b 20 43 44 4e 5f 46 49 4c : uint { CDN_FIL
2840: 45 4f 4b 20 3d 20 43 44 4e 5f 46 49 52 53 54 20 EOK = CDN_FIRST
2850: 2d 20 30 78 30 30 30 35 20 7d 0d 0a 65 6e 75 6d - 0x0005 }..enum
2860: 20 3a 20 75 69 6e 74 20 7b 20 43 44 4e 5f 54 59 : uint { CDN_TY
2870: 50 45 43 48 41 4e 47 45 20 3d 20 43 44 4e 5f 46 PECHANGE = CDN_F
2880: 49 52 53 54 20 2d 20 30 78 30 30 30 36 20 7d 0d IRST - 0x0006 }.
2890: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 .enum : uint { C
28a0: 44 4e 5f 49 4e 43 4c 55 44 45 49 54 45 4d 20 3d DN_INCLUDEITEM =
28b0: 20 43 44 4e 5f 46 49 52 53 54 20 2d 20 30 78 30 CDN_FIRST - 0x0
28c0: 30 30 37 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 007 }....enum :
28d0: 75 69 6e 74 20 7b 20 43 44 4d 5f 46 49 52 53 54 uint { CDM_FIRST
28e0: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 30 = WM_USER + 100
28f0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
2900: 7b 20 43 44 4d 5f 4c 41 53 54 20 3d 20 57 4d 5f { CDM_LAST = WM_
2910: 55 53 45 52 20 2b 20 32 30 30 20 7d 0d 0a 0d 0a USER + 200 }....
2920: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 enum : uint { CD
2930: 4d 5f 47 45 54 53 50 45 43 20 3d 20 43 44 4d 5f M_GETSPEC = CDM_
2940: 46 49 52 53 54 20 2b 20 30 78 30 30 30 30 20 7d FIRST + 0x0000 }
2950: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 43 6f 6d ..// #define Com
2960: 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 47 65 mDlg_OpenSave_Ge
2970: 74 53 70 65 63 41 28 5f 68 64 6c 67 2c 20 5f 70 tSpecA(_hdlg, _p
2980: 73 7a 2c 20 5f 63 62 6d 61 78 29 20 28 69 6e 74 sz, _cbmax) (int
2990: 29 53 4e 44 4d 53 47 28 5f 68 64 6c 67 2c 20 43 )SNDMSG(_hdlg, C
29a0: 44 4d 5f 47 45 54 53 50 45 43 2c 20 28 57 50 41 DM_GETSPEC, (WPA
29b0: 52 41 4d 29 5f 63 62 6d 61 78 2c 20 28 4c 50 41 RAM)_cbmax, (LPA
29c0: 52 41 4d 29 28 4c 50 53 54 52 29 5f 70 73 7a 29 RAM)(LPSTR)_psz)
29d0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 43 6f 6d ..// #define Com
29e0: 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 47 65 mDlg_OpenSave_Ge
29f0: 74 53 70 65 63 57 28 5f 68 64 6c 67 2c 20 5f 70 tSpecW(_hdlg, _p
2a00: 73 7a 2c 20 5f 63 62 6d 61 78 29 20 28 69 6e 74 sz, _cbmax) (int
2a10: 29 53 4e 44 4d 53 47 28 5f 68 64 6c 67 2c 20 43 )SNDMSG(_hdlg, C
2a20: 44 4d 5f 47 45 54 53 50 45 43 2c 20 28 57 50 41 DM_GETSPEC, (WPA
2a30: 52 41 4d 29 5f 63 62 6d 61 78 2c 20 28 4c 50 41 RAM)_cbmax, (LPA
2a40: 52 41 4d 29 28 4c 50 57 53 54 52 29 5f 70 73 7a RAM)(LPWSTR)_psz
2a50: 29 0d 0a 2f 2f 20 23 69 66 64 65 66 20 55 4e 49 )..// #ifdef UNI
2a60: 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f CODE..// #...../
2a70: 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 64 65 66 / #else..// #def
2a80: 69 6e 65 20 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e ine CommDlg_Open
2a90: 53 61 76 65 5f 47 65 74 53 70 65 63 20 43 6f 6d Save_GetSpec Com
2aa0: 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 47 65 mDlg_OpenSave_Ge
2ab0: 74 53 70 65 63 41 0d 0a 2f 2f 20 23 65 6e 64 69 tSpecA..// #endi
2ac0: 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d f // !UNICODE...
2ad0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 .enum : uint { C
2ae0: 44 4d 5f 47 45 54 46 49 4c 45 50 41 54 48 20 3d DM_GETFILEPATH =
2af0: 20 43 44 4d 5f 46 49 52 53 54 20 2b 20 30 78 30 CDM_FIRST + 0x0
2b00: 30 30 31 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 001 }..// #defin
2b10: 65 20 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 e CommDlg_OpenSa
2b20: 76 65 5f 47 65 74 46 69 6c 65 50 61 74 68 41 28 ve_GetFilePathA(
2b30: 5f 68 64 6c 67 2c 20 5f 70 73 7a 2c 20 5f 63 62 _hdlg, _psz, _cb
2b40: 6d 61 78 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 max) (int)SNDMSG
2b50: 28 5f 68 64 6c 67 2c 20 43 44 4d 5f 47 45 54 46 (_hdlg, CDM_GETF
2b60: 49 4c 45 50 41 54 48 2c 20 28 57 50 41 52 41 4d ILEPATH, (WPARAM
2b70: 29 5f 63 62 6d 61 78 2c 20 28 4c 50 41 52 41 4d )_cbmax, (LPARAM
2b80: 29 28 4c 50 53 54 52 29 5f 70 73 7a 29 0d 0a 2f )(LPSTR)_psz)../
2b90: 2f 20 23 64 65 66 69 6e 65 20 43 6f 6d 6d 44 6c / #define CommDl
2ba0: 67 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 46 69 g_OpenSave_GetFi
2bb0: 6c 65 50 61 74 68 57 28 5f 68 64 6c 67 2c 20 5f lePathW(_hdlg, _
2bc0: 70 73 7a 2c 20 5f 63 62 6d 61 78 29 20 28 69 6e psz, _cbmax) (in
2bd0: 74 29 53 4e 44 4d 53 47 28 5f 68 64 6c 67 2c 20 t)SNDMSG(_hdlg,
2be0: 43 44 4d 5f 47 45 54 46 49 4c 45 50 41 54 48 2c CDM_GETFILEPATH,
2bf0: 20 28 57 50 41 52 41 4d 29 5f 63 62 6d 61 78 2c (WPARAM)_cbmax,
2c00: 20 28 4c 50 41 52 41 4d 29 28 4c 50 57 53 54 52 (LPARAM)(LPWSTR
2c10: 29 5f 70 73 7a 29 0d 0a 2f 2f 20 23 69 66 64 65 )_psz)..// #ifde
2c20: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e f UNICODE..// #.
2c30: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f ....// #else..//
2c40: 20 23 64 65 66 69 6e 65 20 43 6f 6d 6d 44 6c 67 #define CommDlg
2c50: 5f 4f 70 65 6e 53 61 76 65 5f 47 65 74 46 69 6c _OpenSave_GetFil
2c60: 65 50 61 74 68 20 43 6f 6d 6d 44 6c 67 5f 4f 70 ePath CommDlg_Op
2c70: 65 6e 53 61 76 65 5f 47 65 74 46 69 6c 65 50 61 enSave_GetFilePa
2c80: 74 68 41 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f thA..// #endif /
2c90: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e / !UNICODE....en
2ca0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 4d 5f um : uint { CDM_
2cb0: 47 45 54 46 4f 4c 44 45 52 50 41 54 48 20 3d 20 GETFOLDERPATH =
2cc0: 43 44 4d 5f 46 49 52 53 54 20 2b 20 30 78 30 30 CDM_FIRST + 0x00
2cd0: 30 32 20 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 02 }..// #define
2ce0: 20 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 CommDlg_OpenSav
2cf0: 65 5f 47 65 74 46 6f 6c 64 65 72 50 61 74 68 41 e_GetFolderPathA
2d00: 28 5f 68 64 6c 67 2c 20 5f 70 73 7a 2c 20 5f 63 (_hdlg, _psz, _c
2d10: 62 6d 61 78 29 20 28 69 6e 74 29 53 4e 44 4d 53 bmax) (int)SNDMS
2d20: 47 28 5f 68 64 6c 67 2c 20 43 44 4d 5f 47 45 54 G(_hdlg, CDM_GET
2d30: 46 4f 4c 44 45 52 50 41 54 48 2c 20 28 57 50 41 FOLDERPATH, (WPA
2d40: 52 41 4d 29 5f 63 62 6d 61 78 2c 20 28 4c 50 41 RAM)_cbmax, (LPA
2d50: 52 41 4d 29 28 4c 50 53 54 52 29 5f 70 73 7a 29 RAM)(LPSTR)_psz)
2d60: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 43 6f 6d ..// #define Com
2d70: 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 47 65 mDlg_OpenSave_Ge
2d80: 74 46 6f 6c 64 65 72 50 61 74 68 57 28 5f 68 64 tFolderPathW(_hd
2d90: 6c 67 2c 20 5f 70 73 7a 2c 20 5f 63 62 6d 61 78 lg, _psz, _cbmax
2da0: 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 28 5f 68 ) (int)SNDMSG(_h
2db0: 64 6c 67 2c 20 43 44 4d 5f 47 45 54 46 4f 4c 44 dlg, CDM_GETFOLD
2dc0: 45 52 50 41 54 48 2c 20 28 57 50 41 52 41 4d 29 ERPATH, (WPARAM)
2dd0: 5f 63 62 6d 61 78 2c 20 28 4c 50 41 52 41 4d 29 _cbmax, (LPARAM)
2de0: 28 4c 50 57 53 54 52 29 5f 70 73 7a 29 0d 0a 2f (LPWSTR)_psz)../
2df0: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 / #ifdef UNICODE
2e00: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
2e10: 6c 73 65 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 lse..// #define
2e20: 43 6f 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 CommDlg_OpenSave
2e30: 5f 47 65 74 46 6f 6c 64 65 72 50 61 74 68 20 43 _GetFolderPath C
2e40: 6f 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 5f ommDlg_OpenSave_
2e50: 47 65 74 46 6f 6c 64 65 72 50 61 74 68 41 0d 0a GetFolderPathA..
2e60: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e // #endif // !UN
2e70: 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 ICODE....enum :
2e80: 75 69 6e 74 20 7b 20 43 44 4d 5f 47 45 54 46 4f uint { CDM_GETFO
2e90: 4c 44 45 52 49 44 4c 49 53 54 20 3d 20 43 44 4d LDERIDLIST = CDM
2ea0: 5f 46 49 52 53 54 20 2b 20 30 78 30 30 30 33 20 _FIRST + 0x0003
2eb0: 7d 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 43 6f }..// #define Co
2ec0: 6d 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 47 mmDlg_OpenSave_G
2ed0: 65 74 46 6f 6c 64 65 72 49 44 4c 69 73 74 28 5f etFolderIDList(_
2ee0: 68 64 6c 67 2c 20 5f 70 69 64 6c 2c 20 5f 63 62 hdlg, _pidl, _cb
2ef0: 6d 61 78 29 20 28 69 6e 74 29 53 4e 44 4d 53 47 max) (int)SNDMSG
2f00: 28 5f 68 64 6c 67 2c 20 43 44 4d 5f 47 45 54 46 (_hdlg, CDM_GETF
2f10: 4f 4c 44 45 52 49 44 4c 49 53 54 2c 20 28 57 50 OLDERIDLIST, (WP
2f20: 41 52 41 4d 29 5f 63 62 6d 61 78 2c 20 28 4c 50 ARAM)_cbmax, (LP
2f30: 41 52 41 4d 29 28 4c 50 56 4f 49 44 29 5f 70 69 ARAM)(LPVOID)_pi
2f40: 64 6c 29 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 dl)....enum : ui
2f50: 6e 74 20 7b 20 43 44 4d 5f 53 45 54 43 4f 4e 54 nt { CDM_SETCONT
2f60: 52 4f 4c 54 45 58 54 20 3d 20 43 44 4d 5f 46 49 ROLTEXT = CDM_FI
2f70: 52 53 54 20 2b 20 30 78 30 30 30 34 20 7d 0d 0a RST + 0x0004 }..
2f80: 2f 2f 20 23 64 65 66 69 6e 65 20 43 6f 6d 6d 44 // #define CommD
2f90: 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 53 65 74 43 lg_OpenSave_SetC
2fa0: 6f 6e 74 72 6f 6c 54 65 78 74 28 5f 68 64 6c 67 ontrolText(_hdlg
2fb0: 2c 20 5f 69 64 2c 20 5f 74 65 78 74 29 20 28 76 , _id, _text) (v
2fc0: 6f 69 64 29 53 4e 44 4d 53 47 28 5f 68 64 6c 67 oid)SNDMSG(_hdlg
2fd0: 2c 20 43 44 4d 5f 53 45 54 43 4f 4e 54 52 4f 4c , CDM_SETCONTROL
2fe0: 54 45 58 54 2c 20 28 57 50 41 52 41 4d 29 5f 69 TEXT, (WPARAM)_i
2ff0: 64 2c 20 28 4c 50 41 52 41 4d 29 28 4c 50 53 54 d, (LPARAM)(LPST
3000: 52 29 5f 74 65 78 74 29 0d 0a 0d 0a 65 6e 75 6d R)_text)....enum
3010: 20 3a 20 75 69 6e 74 20 7b 20 43 44 4d 5f 48 49 : uint { CDM_HI
3020: 44 45 43 4f 4e 54 52 4f 4c 20 3d 20 43 44 4d 5f DECONTROL = CDM_
3030: 46 49 52 53 54 20 2b 20 30 78 30 30 30 35 20 7d FIRST + 0x0005 }
3040: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 43 6f 6d ..// #define Com
3050: 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 48 69 mDlg_OpenSave_Hi
3060: 64 65 43 6f 6e 74 72 6f 6c 28 5f 68 64 6c 67 2c deControl(_hdlg,
3070: 20 5f 69 64 29 20 28 76 6f 69 64 29 53 4e 44 4d _id) (void)SNDM
3080: 53 47 28 5f 68 64 6c 67 2c 20 43 44 4d 5f 48 49 SG(_hdlg, CDM_HI
3090: 44 45 43 4f 4e 54 52 4f 4c 2c 20 28 57 50 41 52 DECONTROL, (WPAR
30a0: 41 4d 29 5f 69 64 2c 20 30 29 0d 0a 0d 0a 65 6e AM)_id, 0)....en
30b0: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 4d 5f um : uint { CDM_
30c0: 53 45 54 44 45 46 45 58 54 20 3d 20 43 44 4d 5f SETDEFEXT = CDM_
30d0: 46 49 52 53 54 20 2b 20 30 78 30 30 30 36 20 7d FIRST + 0x0006 }
30e0: 0d 0a 2f 2f 20 23 64 65 66 69 6e 65 20 43 6f 6d ..// #define Com
30f0: 6d 44 6c 67 5f 4f 70 65 6e 53 61 76 65 5f 53 65 mDlg_OpenSave_Se
3100: 74 44 65 66 45 78 74 28 5f 68 64 6c 67 2c 20 5f tDefExt(_hdlg, _
3110: 70 73 7a 65 78 74 29 20 28 76 6f 69 64 29 53 4e pszext) (void)SN
3120: 44 4d 53 47 28 5f 68 64 6c 67 2c 20 43 44 4d 5f DMSG(_hdlg, CDM_
3130: 53 45 54 44 45 46 45 58 54 2c 20 30 2c 20 28 4c SETDEFEXT, 0, (L
3140: 50 41 52 41 4d 29 28 4c 50 53 54 52 29 5f 70 73 PARAM)(LPSTR)_ps
3150: 7a 65 78 74 29 0d 0a 2f 2f 20 23 65 6e 64 69 66 zext)..// #endif
3160: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 /* WINVER >= 0x
3170: 30 34 30 30 20 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 0400 */....// #i
3180: 66 6e 64 65 66 20 5f 4d 41 43 0d 0a 73 74 72 75 fndef _MAC..stru
3190: 63 74 20 74 61 67 43 48 4f 4f 53 45 43 4f 4c 4f ct tagCHOOSECOLO
31a0: 52 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 6c 53 RA {.. DWORD lS
31b0: 74 72 75 63 74 53 69 7a 65 3b 0d 0a 20 20 48 57 tructSize;.. HW
31c0: 4e 44 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a 20 ND hwndOwner;..
31d0: 20 48 57 4e 44 20 68 49 6e 73 74 61 6e 63 65 3b HWND hInstance;
31e0: 0d 0a 20 20 43 4f 4c 4f 52 52 45 46 20 72 67 62 .. COLORREF rgb
31f0: 52 65 73 75 6c 74 3b 0d 0a 20 20 43 4f 4c 4f 52 Result;.. COLOR
3200: 52 45 46 20 2a 20 20 20 20 6c 70 43 75 73 74 43 REF * lpCustC
3210: 6f 6c 6f 72 73 3b 0d 0a 20 20 44 57 4f 52 44 20 olors;.. DWORD
3220: 46 6c 61 67 73 3b 0d 0a 20 20 4c 50 41 52 41 4d Flags;.. LPARAM
3230: 20 6c 43 75 73 74 44 61 74 61 3b 0d 0a 20 20 4c lCustData;.. L
3240: 50 43 43 48 4f 4f 4b 50 52 4f 43 20 6c 70 66 6e PCCHOOKPROC lpfn
3250: 48 6f 6f 6b 3b 0d 0a 20 20 4c 50 43 53 54 52 20 Hook;.. LPCSTR
3260: 6c 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0d lpTemplateName;.
3270: 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 43 48 4f .}..alias tagCHO
3280: 4f 53 45 43 4f 4c 4f 52 41 20 43 48 4f 4f 53 45 OSECOLORA CHOOSE
3290: 43 4f 4c 4f 52 41 3b 0d 0a 61 6c 69 61 73 20 74 COLORA;..alias t
32a0: 61 67 43 48 4f 4f 53 45 43 4f 4c 4f 52 41 2a 20 agCHOOSECOLORA*
32b0: 4c 50 43 48 4f 4f 53 45 43 4f 4c 4f 52 41 3b 0d LPCHOOSECOLORA;.
32c0: 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 43 48 4f ...struct tagCHO
32d0: 4f 53 45 43 4f 4c 4f 52 57 20 7b 0d 0a 20 20 44 OSECOLORW {.. D
32e0: 57 4f 52 44 20 6c 53 74 72 75 63 74 53 69 7a 65 WORD lStructSize
32f0: 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 4f 77 ;.. HWND hwndOw
3300: 6e 65 72 3b 0d 0a 20 20 48 57 4e 44 20 68 49 6e ner;.. HWND hIn
3310: 73 74 61 6e 63 65 3b 0d 0a 20 20 43 4f 4c 4f 52 stance;.. COLOR
3320: 52 45 46 20 72 67 62 52 65 73 75 6c 74 3b 0d 0a REF rgbResult;..
3330: 20 20 43 4f 4c 4f 52 52 45 46 20 2a 20 20 20 20 COLORREF *
3340: 6c 70 43 75 73 74 43 6f 6c 6f 72 73 3b 0d 0a 20 lpCustColors;..
3350: 20 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20 DWORD Flags;..
3360: 20 4c 50 41 52 41 4d 20 6c 43 75 73 74 44 61 74 LPARAM lCustDat
3370: 61 3b 0d 0a 20 20 4c 50 43 43 48 4f 4f 4b 50 52 a;.. LPCCHOOKPR
3380: 4f 43 20 6c 70 66 6e 48 6f 6f 6b 3b 0d 0a 20 20 OC lpfnHook;..
3390: 4c 50 43 57 53 54 52 20 6c 70 54 65 6d 70 6c 61 LPCWSTR lpTempla
33a0: 74 65 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 teName;..}..alia
33b0: 73 20 74 61 67 43 48 4f 4f 53 45 43 4f 4c 4f 52 s tagCHOOSECOLOR
33c0: 57 20 43 48 4f 4f 53 45 43 4f 4c 4f 52 57 3b 0d W CHOOSECOLORW;.
33d0: 0a 61 6c 69 61 73 20 74 61 67 43 48 4f 4f 53 45 .alias tagCHOOSE
33e0: 43 4f 4c 4f 52 57 2a 20 4c 50 43 48 4f 4f 53 45 COLORW* LPCHOOSE
33f0: 43 4f 4c 4f 52 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 COLORW;....// #i
3400: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f fdef UNICODE..//
3410: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a .....// #else..
3420: 61 6c 69 61 73 20 43 48 4f 4f 53 45 43 4f 4c 4f alias CHOOSECOLO
3430: 52 41 20 43 48 4f 4f 53 45 43 4f 4c 4f 52 3b 0d RA CHOOSECOLOR;.
3440: 0a 61 6c 69 61 73 20 4c 50 43 48 4f 4f 53 45 43 .alias LPCHOOSEC
3450: 4f 4c 4f 52 41 20 4c 50 43 48 4f 4f 53 45 43 4f OLORA LPCHOOSECO
3460: 4c 4f 52 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 LOR;..// #endif
3470: 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 // UNICODE..// #
3480: 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f else..// .....//
3490: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d #ifdef UNICODE.
34a0: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 .// .....// #els
34b0: 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 e..// .....// #e
34c0: 6e 64 69 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d ndif // UNICODE.
34d0: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 5f 4d 41 .// #endif //_MA
34e0: 43 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 C....extern(Wind
34f0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c ows) export BOOL
3500: 20 43 68 6f 6f 73 65 43 6f 6c 6f 72 41 28 4c 50 ChooseColorA(LP
3510: 43 48 4f 4f 53 45 43 4f 4c 4f 52 41 29 3b 0d 0a CHOOSECOLORA);..
3520: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 extern(Windows)
3530: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43 68 6f 6f export BOOL Choo
3540: 73 65 43 6f 6c 6f 72 57 28 4c 50 43 48 4f 4f 53 seColorW(LPCHOOS
3550: 45 43 4f 4c 4f 52 57 29 3b 0d 0a 2f 2f 20 23 69 ECOLORW);..// #i
3560: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f fdef UNICODE..//
3570: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d #.....// #else.
3580: 0a 61 6c 69 61 73 20 43 68 6f 6f 73 65 43 6f 6c .alias ChooseCol
3590: 6f 72 41 20 43 68 6f 6f 73 65 43 6f 6c 6f 72 3b orA ChooseColor;
35a0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 ..// #endif // !
35b0: 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 UNICODE....enum
35c0: 3a 20 75 69 6e 74 20 7b 20 43 43 5f 52 47 42 49 : uint { CC_RGBI
35d0: 4e 49 54 20 3d 20 30 78 30 30 30 30 30 30 30 31 NIT = 0x00000001
35e0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
35f0: 7b 20 43 43 5f 46 55 4c 4c 4f 50 45 4e 20 3d 20 { CC_FULLOPEN =
3600: 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 0x00000002 }..en
3610: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 5f 50 um : uint { CC_P
3620: 52 45 56 45 4e 54 46 55 4c 4c 4f 50 45 4e 20 3d REVENTFULLOPEN =
3630: 20 30 78 30 30 30 30 30 30 30 34 20 7d 0d 0a 65 0x00000004 }..e
3640: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 43 5f num : uint { CC_
3650: 53 48 4f 57 48 45 4c 50 20 3d 20 30 78 30 30 30 SHOWHELP = 0x000
3660: 30 30 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00008 }..enum :
3670: 75 69 6e 74 20 7b 20 43 43 5f 45 4e 41 42 4c 45 uint { CC_ENABLE
3680: 48 4f 4f 4b 20 3d 20 30 78 30 30 30 30 30 30 31 HOOK = 0x0000001
3690: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
36a0: 20 7b 20 43 43 5f 45 4e 41 42 4c 45 54 45 4d 50 { CC_ENABLETEMP
36b0: 4c 41 54 45 20 3d 20 30 78 30 30 30 30 30 30 32 LATE = 0x0000002
36c0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
36d0: 20 7b 20 43 43 5f 45 4e 41 42 4c 45 54 45 4d 50 { CC_ENABLETEMP
36e0: 4c 41 54 45 48 41 4e 44 4c 45 20 3d 20 30 78 30 LATEHANDLE = 0x0
36f0: 30 30 30 30 30 34 30 20 7d 0d 0a 2f 2f 20 23 69 0000040 }..// #i
3700: 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 f(WINVER >= 0x04
3710: 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 00)..enum : uint
3720: 20 7b 20 43 43 5f 53 4f 4c 49 44 43 4f 4c 4f 52 { CC_SOLIDCOLOR
3730: 20 3d 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d = 0x00000080 }.
3740: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 .enum : uint { C
3750: 43 5f 41 4e 59 43 4f 4c 4f 52 20 3d 20 30 78 30 C_ANYCOLOR = 0x0
3760: 30 30 30 30 31 30 30 20 7d 0d 0a 2f 2f 20 23 65 0000100 }..// #e
3770: 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e ndif /* WINVER >
3780: 3d 20 30 78 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 = 0x0400 */....e
3790: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 xtern(Windows) a
37a0: 6c 69 61 73 20 55 49 4e 54 5f 50 54 52 20 66 75 lias UINT_PTR fu
37b0: 6e 63 74 69 6f 6e 28 48 57 4e 44 2c 20 55 49 4e nction(HWND, UIN
37c0: 54 2c 20 57 50 41 52 41 4d 2c 20 4c 50 41 52 41 T, WPARAM, LPARA
37d0: 4d 29 20 4c 50 46 52 48 4f 4f 4b 50 52 4f 43 3b M) LPFRHOOKPROC;
37e0: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 46 49 ....struct tagFI
37f0: 4e 44 52 45 50 4c 41 43 45 41 20 7b 0d 0a 20 20 NDREPLACEA {..
3800: 44 57 4f 52 44 20 6c 53 74 72 75 63 74 53 69 7a DWORD lStructSiz
3810: 65 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 4f e;.. HWND hwndO
3820: 77 6e 65 72 3b 0d 0a 20 20 48 49 4e 53 54 41 4e wner;.. HINSTAN
3830: 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 0d CE hInstance;...
3840: 0a 20 20 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d . DWORD Flags;.
3850: 0a 20 20 4c 50 53 54 52 20 6c 70 73 74 72 46 69 . LPSTR lpstrFi
3860: 6e 64 57 68 61 74 3b 0d 0a 20 20 4c 50 53 54 52 ndWhat;.. LPSTR
3870: 20 6c 70 73 74 72 52 65 70 6c 61 63 65 57 69 74 lpstrReplaceWit
3880: 68 3b 0d 0a 20 20 57 4f 52 44 20 77 46 69 6e 64 h;.. WORD wFind
3890: 57 68 61 74 4c 65 6e 3b 0d 0a 20 20 57 4f 52 44 WhatLen;.. WORD
38a0: 20 77 52 65 70 6c 61 63 65 57 69 74 68 4c 65 6e wReplaceWithLen
38b0: 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 6c 43 75 73 ;.. LPARAM lCus
38c0: 74 44 61 74 61 3b 0d 0a 20 20 4c 50 46 52 48 4f tData;.. LPFRHO
38d0: 4f 4b 50 52 4f 43 20 6c 70 66 6e 48 6f 6f 6b 3b OKPROC lpfnHook;
38e0: 0d 0a 20 20 4c 50 43 53 54 52 20 6c 70 54 65 6d .. LPCSTR lpTem
38f0: 70 6c 61 74 65 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 plateName;..}..a
3900: 6c 69 61 73 20 74 61 67 46 49 4e 44 52 45 50 4c lias tagFINDREPL
3910: 41 43 45 41 20 46 49 4e 44 52 45 50 4c 41 43 45 ACEA FINDREPLACE
3920: 41 3b 0d 0a 61 6c 69 61 73 20 74 61 67 46 49 4e A;..alias tagFIN
3930: 44 52 45 50 4c 41 43 45 41 2a 20 4c 50 46 49 4e DREPLACEA* LPFIN
3940: 44 52 45 50 4c 41 43 45 41 3b 0d 0a 0d 0a 73 74 DREPLACEA;....st
3950: 72 75 63 74 20 74 61 67 46 49 4e 44 52 45 50 4c ruct tagFINDREPL
3960: 41 43 45 57 20 7b 0d 0a 20 20 44 57 4f 52 44 20 ACEW {.. DWORD
3970: 6c 53 74 72 75 63 74 53 69 7a 65 3b 0d 0a 20 20 lStructSize;..
3980: 48 57 4e 44 20 68 77 6e 64 4f 77 6e 65 72 3b 0d HWND hwndOwner;.
3990: 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e . HINSTANCE hIn
39a0: 73 74 61 6e 63 65 3b 0d 0a 0d 0a 20 20 44 57 4f stance;.... DWO
39b0: 52 44 20 46 6c 61 67 73 3b 0d 0a 20 20 4c 50 57 RD Flags;.. LPW
39c0: 53 54 52 20 6c 70 73 74 72 46 69 6e 64 57 68 61 STR lpstrFindWha
39d0: 74 3b 0d 0a 20 20 4c 50 57 53 54 52 20 6c 70 73 t;.. LPWSTR lps
39e0: 74 72 52 65 70 6c 61 63 65 57 69 74 68 3b 0d 0a trReplaceWith;..
39f0: 20 20 57 4f 52 44 20 77 46 69 6e 64 57 68 61 74 WORD wFindWhat
3a00: 4c 65 6e 3b 0d 0a 20 20 57 4f 52 44 20 77 52 65 Len;.. WORD wRe
3a10: 70 6c 61 63 65 57 69 74 68 4c 65 6e 3b 0d 0a 20 placeWithLen;..
3a20: 20 4c 50 41 52 41 4d 20 6c 43 75 73 74 44 61 74 LPARAM lCustDat
3a30: 61 3b 0d 0a 20 20 4c 50 46 52 48 4f 4f 4b 50 52 a;.. LPFRHOOKPR
3a40: 4f 43 20 6c 70 66 6e 48 6f 6f 6b 3b 0d 0a 20 20 OC lpfnHook;..
3a50: 4c 50 43 57 53 54 52 20 6c 70 54 65 6d 70 6c 61 LPCWSTR lpTempla
3a60: 74 65 4e 61 6d 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 teName;..}..alia
3a70: 73 20 74 61 67 46 49 4e 44 52 45 50 4c 41 43 45 s tagFINDREPLACE
3a80: 57 20 46 49 4e 44 52 45 50 4c 41 43 45 57 3b 0d W FINDREPLACEW;.
3a90: 0a 61 6c 69 61 73 20 74 61 67 46 49 4e 44 52 45 .alias tagFINDRE
3aa0: 50 4c 41 43 45 57 2a 20 4c 50 46 49 4e 44 52 45 PLACEW* LPFINDRE
3ab0: 50 4c 41 43 45 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 PLACEW;....// #i
3ac0: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f fdef UNICODE..//
3ad0: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a .....// #else..
3ae0: 61 6c 69 61 73 20 46 49 4e 44 52 45 50 4c 41 43 alias FINDREPLAC
3af0: 45 41 20 46 49 4e 44 52 45 50 4c 41 43 45 3b 0d EA FINDREPLACE;.
3b00: 0a 61 6c 69 61 73 20 4c 50 46 49 4e 44 52 45 50 .alias LPFINDREP
3b10: 4c 41 43 45 41 20 4c 50 46 49 4e 44 52 45 50 4c LACEA LPFINDREPL
3b20: 41 43 45 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 ACE;..// #endif
3b30: 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 65 6e // UNICODE....en
3b40: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52 5f 44 um : uint { FR_D
3b50: 4f 57 4e 20 3d 20 30 78 30 30 30 30 30 30 30 31 OWN = 0x00000001
3b60: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
3b70: 7b 20 46 52 5f 57 48 4f 4c 45 57 4f 52 44 20 3d { FR_WHOLEWORD =
3b80: 20 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 0x00000002 }..e
3b90: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52 5f num : uint { FR_
3ba0: 4d 41 54 43 48 43 41 53 45 20 3d 20 30 78 30 30 MATCHCASE = 0x00
3bb0: 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 000004 }..enum :
3bc0: 20 75 69 6e 74 20 7b 20 46 52 5f 46 49 4e 44 4e uint { FR_FINDN
3bd0: 45 58 54 20 3d 20 30 78 30 30 30 30 30 30 30 38 EXT = 0x00000008
3be0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
3bf0: 7b 20 46 52 5f 52 45 50 4c 41 43 45 20 3d 20 30 { FR_REPLACE = 0
3c00: 78 30 30 30 30 30 30 31 30 20 7d 0d 0a 65 6e 75 x00000010 }..enu
3c10: 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52 5f 52 45 m : uint { FR_RE
3c20: 50 4c 41 43 45 41 4c 4c 20 3d 20 30 78 30 30 30 PLACEALL = 0x000
3c30: 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00020 }..enum :
3c40: 75 69 6e 74 20 7b 20 46 52 5f 44 49 41 4c 4f 47 uint { FR_DIALOG
3c50: 54 45 52 4d 20 3d 20 30 78 30 30 30 30 30 30 34 TERM = 0x0000004
3c60: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
3c70: 20 7b 20 46 52 5f 53 48 4f 57 48 45 4c 50 20 3d { FR_SHOWHELP =
3c80: 20 30 78 30 30 30 30 30 30 38 30 20 7d 0d 0a 65 0x00000080 }..e
3c90: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52 5f num : uint { FR_
3ca0: 45 4e 41 42 4c 45 48 4f 4f 4b 20 3d 20 30 78 30 ENABLEHOOK = 0x0
3cb0: 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 0000100 }..enum
3cc0: 3a 20 75 69 6e 74 20 7b 20 46 52 5f 45 4e 41 42 : uint { FR_ENAB
3cd0: 4c 45 54 45 4d 50 4c 41 54 45 20 3d 20 30 78 30 LETEMPLATE = 0x0
3ce0: 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 0000200 }..enum
3cf0: 3a 20 75 69 6e 74 20 7b 20 46 52 5f 4e 4f 55 50 : uint { FR_NOUP
3d00: 44 4f 57 4e 20 3d 20 30 78 30 30 30 30 30 34 30 DOWN = 0x0000040
3d10: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
3d20: 20 7b 20 46 52 5f 4e 4f 4d 41 54 43 48 43 41 53 { FR_NOMATCHCAS
3d30: 45 20 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d E = 0x00000800 }
3d40: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
3d50: 46 52 5f 4e 4f 57 48 4f 4c 45 57 4f 52 44 20 3d FR_NOWHOLEWORD =
3d60: 20 30 78 30 30 30 30 31 30 30 30 20 7d 0d 0a 65 0x00001000 }..e
3d70: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52 5f num : uint { FR_
3d80: 45 4e 41 42 4c 45 54 45 4d 50 4c 41 54 45 48 41 ENABLETEMPLATEHA
3d90: 4e 44 4c 45 20 3d 20 30 78 30 30 30 30 32 30 30 NDLE = 0x0000200
3da0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
3db0: 20 7b 20 46 52 5f 48 49 44 45 55 50 44 4f 57 4e { FR_HIDEUPDOWN
3dc0: 20 3d 20 30 78 30 30 30 30 34 30 30 30 20 7d 0d = 0x00004000 }.
3dd0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 .enum : uint { F
3de0: 52 5f 48 49 44 45 4d 41 54 43 48 43 41 53 45 20 R_HIDEMATCHCASE
3df0: 3d 20 30 78 30 30 30 30 38 30 30 30 20 7d 0d 0a = 0x00008000 }..
3e00: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52 enum : uint { FR
3e10: 5f 48 49 44 45 57 48 4f 4c 45 57 4f 52 44 20 3d _HIDEWHOLEWORD =
3e20: 20 30 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 0x00010000 }..e
3e30: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52 5f num : uint { FR_
3e40: 52 41 57 20 3d 20 30 78 30 30 30 32 30 30 30 30 RAW = 0x00020000
3e50: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
3e60: 7b 20 46 52 5f 4d 41 54 43 48 44 49 41 43 20 3d { FR_MATCHDIAC =
3e70: 20 30 78 32 30 30 30 30 30 30 30 20 7d 0d 0a 65 0x20000000 }..e
3e80: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52 5f num : uint { FR_
3e90: 4d 41 54 43 48 4b 41 53 48 49 44 41 20 3d 20 30 MATCHKASHIDA = 0
3ea0: 78 34 30 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 x40000000 }..enu
3eb0: 6d 20 3a 20 75 69 6e 74 20 7b 20 46 52 5f 4d 41 m : uint { FR_MA
3ec0: 54 43 48 41 4c 45 46 48 41 4d 5a 41 20 3d 20 30 TCHALEFHAMZA = 0
3ed0: 78 38 30 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 x80000000 }....e
3ee0: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
3ef0: 78 70 6f 72 74 20 48 57 4e 44 20 46 69 6e 64 54 xport HWND FindT
3f00: 65 78 74 41 28 4c 50 46 49 4e 44 52 45 50 4c 41 extA(LPFINDREPLA
3f10: 43 45 41 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 CEA);..extern(Wi
3f20: 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 57 ndows) export HW
3f30: 4e 44 20 46 69 6e 64 54 65 78 74 57 28 4c 50 46 ND FindTextW(LPF
3f40: 49 4e 44 52 45 50 4c 41 43 45 57 29 3b 0d 0a 2f INDREPLACEW);../
3f50: 2f 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 / #ifdef UNICODE
3f60: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 ..// #.....// #e
3f70: 6c 73 65 0d 0a 61 6c 69 61 73 20 46 69 6e 64 54 lse..alias FindT
3f80: 65 78 74 41 20 46 69 6e 64 54 65 78 74 3b 0d 0a extA FindText;..
3f90: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e // #endif // !UN
3fa0: 49 43 4f 44 45 0d 0a 2f 2f 20 23 69 66 6e 64 65 ICODE..// #ifnde
3fb0: 66 20 5f 4d 41 43 0d 0a 65 78 74 65 72 6e 28 57 f _MAC..extern(W
3fc0: 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 48 indows) export H
3fd0: 57 4e 44 20 52 65 70 6c 61 63 65 54 65 78 74 41 WND ReplaceTextA
3fe0: 28 4c 50 46 49 4e 44 52 45 50 4c 41 43 45 41 29 (LPFINDREPLACEA)
3ff0: 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 ;..extern(Window
4000: 73 29 20 65 78 70 6f 72 74 20 48 57 4e 44 20 52 s) export HWND R
4010: 65 70 6c 61 63 65 54 65 78 74 57 28 4c 50 46 49 eplaceTextW(LPFI
4020: 4e 44 52 45 50 4c 41 43 45 57 29 3b 0d 0a 2f 2f NDREPLACEW);..//
4030: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d #ifdef UNICODE.
4040: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c .// #.....// #el
4050: 73 65 0d 0a 61 6c 69 61 73 20 52 65 70 6c 61 63 se..alias Replac
4060: 65 54 65 78 74 41 20 52 65 70 6c 61 63 65 54 65 eTextA ReplaceTe
4070: 78 74 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f xt;..// #endif /
4080: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 / !UNICODE..// #
4090: 65 6c 73 65 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f else..// .....//
40a0: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d #ifdef UNICODE.
40b0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c .// #.....// #el
40c0: 73 65 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 se..// #.....//
40d0: 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f #endif // !UNICO
40e0: 44 45 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d DE..// #endif...
40f0: 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 .extern(Windows)
4100: 20 61 6c 69 61 73 20 55 49 4e 54 5f 50 54 52 20 alias UINT_PTR
4110: 66 75 6e 63 74 69 6f 6e 28 48 57 4e 44 2c 20 55 function(HWND, U
4120: 49 4e 54 2c 20 57 50 41 52 41 4d 2c 20 4c 50 41 INT, WPARAM, LPA
4130: 52 41 4d 29 20 4c 50 43 46 48 4f 4f 4b 50 52 4f RAM) LPCFHOOKPRO
4140: 43 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 C;....struct tag
4150: 43 48 4f 4f 53 45 46 4f 4e 54 41 20 7b 0d 0a 20 CHOOSEFONTA {..
4160: 20 44 57 4f 52 44 20 6c 53 74 72 75 63 74 53 69 DWORD lStructSi
4170: 7a 65 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 ze;.. HWND hwnd
4180: 4f 77 6e 65 72 3b 0d 0a 20 20 48 44 43 20 68 44 Owner;.. HDC hD
4190: 43 3b 0d 0a 20 20 4c 50 4c 4f 47 46 4f 4e 54 41 C;.. LPLOGFONTA
41a0: 20 6c 70 4c 6f 67 46 6f 6e 74 3b 0d 0a 20 20 49 lpLogFont;.. I
41b0: 4e 54 20 69 50 6f 69 6e 74 53 69 7a 65 3b 0d 0a NT iPointSize;..
41c0: 20 20 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a DWORD Flags;..
41d0: 20 20 43 4f 4c 4f 52 52 45 46 20 72 67 62 43 6f COLORREF rgbCo
41e0: 6c 6f 72 73 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 lors;.. LPARAM
41f0: 6c 43 75 73 74 44 61 74 61 3b 0d 0a 20 20 4c 50 lCustData;.. LP
4200: 43 46 48 4f 4f 4b 50 52 4f 43 20 6c 70 66 6e 48 CFHOOKPROC lpfnH
4210: 6f 6f 6b 3b 0d 0a 20 20 4c 50 43 53 54 52 20 6c ook;.. LPCSTR l
4220: 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0d 0a pTemplateName;..
4230: 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 HINSTANCE hIns
4240: 74 61 6e 63 65 3b 0d 0a 0d 0a 20 20 4c 50 53 54 tance;.... LPST
4250: 52 20 6c 70 73 7a 53 74 79 6c 65 3b 0d 0a 0d 0a R lpszStyle;....
4260: 20 20 57 4f 52 44 20 6e 46 6f 6e 74 54 79 70 65 WORD nFontType
4270: 3b 0d 0a 0d 0a 20 20 57 4f 52 44 20 5f 5f 5f 4d ;.... WORD ___M
4280: 49 53 53 49 4e 47 5f 41 4c 49 47 4e 4d 45 4e 54 ISSING_ALIGNMENT
4290: 5f 5f 3b 0d 0a 20 20 49 4e 54 20 6e 53 69 7a 65 __;.. INT nSize
42a0: 4d 69 6e 3b 0d 0a 20 20 49 4e 54 20 6e 53 69 7a Min;.. INT nSiz
42b0: 65 4d 61 78 3b 0d 0a 0d 0a 7d 0d 0a 61 6c 69 61 eMax;....}..alia
42c0: 73 20 74 61 67 43 48 4f 4f 53 45 46 4f 4e 54 41 s tagCHOOSEFONTA
42d0: 20 43 48 4f 4f 53 45 46 4f 4e 54 41 3b 0d 0a 61 CHOOSEFONTA;..a
42e0: 6c 69 61 73 20 74 61 67 43 48 4f 4f 53 45 46 4f lias tagCHOOSEFO
42f0: 4e 54 41 2a 20 4c 50 43 48 4f 4f 53 45 46 4f 4e NTA* LPCHOOSEFON
4300: 54 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 TA;....struct ta
4310: 67 43 48 4f 4f 53 45 46 4f 4e 54 57 20 7b 0d 0a gCHOOSEFONTW {..
4320: 20 20 44 57 4f 52 44 20 6c 53 74 72 75 63 74 53 DWORD lStructS
4330: 69 7a 65 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e ize;.. HWND hwn
4340: 64 4f 77 6e 65 72 3b 0d 0a 20 20 48 44 43 20 68 dOwner;.. HDC h
4350: 44 43 3b 0d 0a 20 20 4c 50 4c 4f 47 46 4f 4e 54 DC;.. LPLOGFONT
4360: 57 20 6c 70 4c 6f 67 46 6f 6e 74 3b 0d 0a 20 20 W lpLogFont;..
4370: 49 4e 54 20 69 50 6f 69 6e 74 53 69 7a 65 3b 0d INT iPointSize;.
4380: 0a 20 20 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d . DWORD Flags;.
4390: 0a 20 20 43 4f 4c 4f 52 52 45 46 20 72 67 62 43 . COLORREF rgbC
43a0: 6f 6c 6f 72 73 3b 0d 0a 20 20 4c 50 41 52 41 4d olors;.. LPARAM
43b0: 20 6c 43 75 73 74 44 61 74 61 3b 0d 0a 20 20 4c lCustData;.. L
43c0: 50 43 46 48 4f 4f 4b 50 52 4f 43 20 6c 70 66 6e PCFHOOKPROC lpfn
43d0: 48 6f 6f 6b 3b 0d 0a 20 20 4c 50 43 57 53 54 52 Hook;.. LPCWSTR
43e0: 20 6c 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b lpTemplateName;
43f0: 0d 0a 20 20 48 49 4e 53 54 41 4e 43 45 20 68 49 .. HINSTANCE hI
4400: 6e 73 74 61 6e 63 65 3b 0d 0a 0d 0a 20 20 4c 50 nstance;.... LP
4410: 57 53 54 52 20 6c 70 73 7a 53 74 79 6c 65 3b 0d WSTR lpszStyle;.
4420: 0a 0d 0a 20 20 57 4f 52 44 20 6e 46 6f 6e 74 54 ... WORD nFontT
4430: 79 70 65 3b 0d 0a 0d 0a 20 20 57 4f 52 44 20 5f ype;.... WORD _
4440: 5f 5f 4d 49 53 53 49 4e 47 5f 41 4c 49 47 4e 4d __MISSING_ALIGNM
4450: 45 4e 54 5f 5f 3b 0d 0a 20 20 49 4e 54 20 6e 53 ENT__;.. INT nS
4460: 69 7a 65 4d 69 6e 3b 0d 0a 20 20 49 4e 54 20 6e izeMin;.. INT n
4470: 53 69 7a 65 4d 61 78 3b 0d 0a 0d 0a 7d 0d 0a 61 SizeMax;....}..a
4480: 6c 69 61 73 20 74 61 67 43 48 4f 4f 53 45 46 4f lias tagCHOOSEFO
4490: 4e 54 57 20 43 48 4f 4f 53 45 46 4f 4e 54 57 3b NTW CHOOSEFONTW;
44a0: 0d 0a 61 6c 69 61 73 20 74 61 67 43 48 4f 4f 53 ..alias tagCHOOS
44b0: 45 46 4f 4e 54 57 2a 20 4c 50 43 48 4f 4f 53 45 EFONTW* LPCHOOSE
44c0: 46 4f 4e 54 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 FONTW;....// #if
44d0: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 def UNICODE..//
44e0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 .....// #else..a
44f0: 6c 69 61 73 20 43 48 4f 4f 53 45 46 4f 4e 54 41 lias CHOOSEFONTA
4500: 20 43 48 4f 4f 53 45 46 4f 4e 54 3b 0d 0a 61 6c CHOOSEFONT;..al
4510: 69 61 73 20 4c 50 43 48 4f 4f 53 45 46 4f 4e 54 ias LPCHOOSEFONT
4520: 41 20 4c 50 43 48 4f 4f 53 45 46 4f 4e 54 3b 0d A LPCHOOSEFONT;.
4530: 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 55 4e .// #endif // UN
4540: 49 43 4f 44 45 0d 0a 0d 0a 65 78 74 65 72 6e 28 ICODE....extern(
4550: 57 69 6e 64 6f 77 73 29 20 65 78 70 6f 72 74 20 Windows) export
4560: 42 4f 4f 4c 20 43 68 6f 6f 73 65 46 6f 6e 74 41 BOOL ChooseFontA
4570: 28 4c 50 43 48 4f 4f 53 45 46 4f 4e 54 41 29 3b (LPCHOOSEFONTA);
4580: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 ..extern(Windows
4590: 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c 20 43 68 ) export BOOL Ch
45a0: 6f 6f 73 65 46 6f 6e 74 57 28 4c 50 43 48 4f 4f ooseFontW(LPCHOO
45b0: 53 45 46 4f 4e 54 57 29 3b 0d 0a 2f 2f 20 23 69 SEFONTW);..// #i
45c0: 66 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f fdef UNICODE..//
45d0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d #.....// #else.
45e0: 0a 61 6c 69 61 73 20 43 68 6f 6f 73 65 46 6f 6e .alias ChooseFon
45f0: 74 41 20 43 68 6f 6f 73 65 46 6f 6e 74 3b 0d 0a tA ChooseFont;..
4600: 2f 2f 20 23 65 6e 64 69 66 20 2f 2f 20 21 55 4e // #endif // !UN
4610: 49 43 4f 44 45 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 ICODE....enum :
4620: 75 69 6e 74 20 7b 20 43 46 5f 53 43 52 45 45 4e uint { CF_SCREEN
4630: 46 4f 4e 54 53 20 3d 20 30 78 30 30 30 30 30 30 FONTS = 0x000000
4640: 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 01 }..enum : uin
4650: 74 20 7b 20 43 46 5f 50 52 49 4e 54 45 52 46 4f t { CF_PRINTERFO
4660: 4e 54 53 20 3d 20 30 78 30 30 30 30 30 30 30 32 NTS = 0x00000002
4670: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
4680: 7b 20 43 46 5f 42 4f 54 48 20 3d 20 43 46 5f 53 { CF_BOTH = CF_S
4690: 43 52 45 45 4e 46 4f 4e 54 53 20 7c 20 43 46 5f CREENFONTS | CF_
46a0: 50 52 49 4e 54 45 52 46 4f 4e 54 53 20 7d 0d 0a PRINTERFONTS }..
46b0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 enum : uint { CF
46c0: 5f 53 48 4f 57 48 45 4c 50 20 3d 20 30 78 30 30 _SHOWHELP = 0x00
46d0: 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 3a 000004 }..enum :
46e0: 20 75 69 6e 74 20 7b 20 43 46 5f 45 4e 41 42 4c uint { CF_ENABL
46f0: 45 48 4f 4f 4b 20 3d 20 30 78 30 30 30 30 30 30 EHOOK = 0x000000
4700: 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 08 }..enum : uin
4710: 74 20 7b 20 43 46 5f 45 4e 41 42 4c 45 54 45 4d t { CF_ENABLETEM
4720: 50 4c 41 54 45 20 3d 20 30 78 30 30 30 30 30 30 PLATE = 0x000000
4730: 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 10 }..enum : uin
4740: 74 20 7b 20 43 46 5f 45 4e 41 42 4c 45 54 45 4d t { CF_ENABLETEM
4750: 50 4c 41 54 45 48 41 4e 44 4c 45 20 3d 20 30 78 PLATEHANDLE = 0x
4760: 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 00000020 }..enum
4770: 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f 49 4e 49 : uint { CF_INI
4780: 54 54 4f 4c 4f 47 46 4f 4e 54 53 54 52 55 43 54 TTOLOGFONTSTRUCT
4790: 20 3d 20 30 78 30 30 30 30 30 30 34 30 20 7d 0d = 0x00000040 }.
47a0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 .enum : uint { C
47b0: 46 5f 55 53 45 53 54 59 4c 45 20 3d 20 30 78 30 F_USESTYLE = 0x0
47c0: 30 30 30 30 30 38 30 20 7d 0d 0a 65 6e 75 6d 20 0000080 }..enum
47d0: 3a 20 75 69 6e 74 20 7b 20 43 46 5f 45 46 46 45 : uint { CF_EFFE
47e0: 43 54 53 20 3d 20 30 78 30 30 30 30 30 31 30 30 CTS = 0x00000100
47f0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
4800: 7b 20 43 46 5f 41 50 50 4c 59 20 3d 20 30 78 30 { CF_APPLY = 0x0
4810: 30 30 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 0000200 }..enum
4820: 3a 20 75 69 6e 74 20 7b 20 43 46 5f 41 4e 53 49 : uint { CF_ANSI
4830: 4f 4e 4c 59 20 3d 20 30 78 30 30 30 30 30 34 30 ONLY = 0x0000040
4840: 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 0 }..// #if(WINV
4850: 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 61 ER >= 0x0400)..a
4860: 6c 69 61 73 20 43 46 5f 41 4e 53 49 4f 4e 4c 59 lias CF_ANSIONLY
4870: 20 43 46 5f 53 43 52 49 50 54 53 4f 4e 4c 59 3b CF_SCRIPTSONLY;
4880: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 ..// #endif /* W
4890: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 INVER >= 0x0400
48a0: 2a 2f 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 */..enum : uint
48b0: 7b 20 43 46 5f 4e 4f 56 45 43 54 4f 52 46 4f 4e { CF_NOVECTORFON
48c0: 54 53 20 3d 20 30 78 30 30 30 30 30 38 30 30 20 TS = 0x00000800
48d0: 7d 0d 0a 61 6c 69 61 73 20 43 46 5f 4e 4f 56 45 }..alias CF_NOVE
48e0: 43 54 4f 52 46 4f 4e 54 53 20 43 46 5f 4e 4f 4f CTORFONTS CF_NOO
48f0: 45 4d 46 4f 4e 54 53 3b 0d 0a 65 6e 75 6d 20 3a EMFONTS;..enum :
4900: 20 75 69 6e 74 20 7b 20 43 46 5f 4e 4f 53 49 4d uint { CF_NOSIM
4910: 55 4c 41 54 49 4f 4e 53 20 3d 20 30 78 30 30 30 ULATIONS = 0x000
4920: 30 31 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 01000 }..enum :
4930: 75 69 6e 74 20 7b 20 43 46 5f 4c 49 4d 49 54 53 uint { CF_LIMITS
4940: 49 5a 45 20 3d 20 30 78 30 30 30 30 32 30 30 30 IZE = 0x00002000
4950: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
4960: 7b 20 43 46 5f 46 49 58 45 44 50 49 54 43 48 4f { CF_FIXEDPITCHO
4970: 4e 4c 59 20 3d 20 30 78 30 30 30 30 34 30 30 30 NLY = 0x00004000
4980: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
4990: 7b 20 43 46 5f 57 59 53 49 57 59 47 20 3d 20 30 { CF_WYSIWYG = 0
49a0: 78 30 30 30 30 38 30 30 30 20 7d 0d 0a 65 6e 75 x00008000 }..enu
49b0: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f 46 4f m : uint { CF_FO
49c0: 52 43 45 46 4f 4e 54 45 58 49 53 54 20 3d 20 30 RCEFONTEXIST = 0
49d0: 78 30 30 30 31 30 30 30 30 20 7d 0d 0a 65 6e 75 x00010000 }..enu
49e0: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f 53 43 m : uint { CF_SC
49f0: 41 4c 41 42 4c 45 4f 4e 4c 59 20 3d 20 30 78 30 ALABLEONLY = 0x0
4a00: 30 30 32 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 0020000 }..enum
4a10: 3a 20 75 69 6e 74 20 7b 20 43 46 5f 54 54 4f 4e : uint { CF_TTON
4a20: 4c 59 20 3d 20 30 78 30 30 30 34 30 30 30 30 20 LY = 0x00040000
4a30: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
4a40: 20 43 46 5f 4e 4f 46 41 43 45 53 45 4c 20 3d 20 CF_NOFACESEL =
4a50: 30 78 30 30 30 38 30 30 30 30 20 7d 0d 0a 65 6e 0x00080000 }..en
4a60: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f 4e um : uint { CF_N
4a70: 4f 53 54 59 4c 45 53 45 4c 20 3d 20 30 78 30 30 OSTYLESEL = 0x00
4a80: 31 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 100000 }..enum :
4a90: 20 75 69 6e 74 20 7b 20 43 46 5f 4e 4f 53 49 5a uint { CF_NOSIZ
4aa0: 45 53 45 4c 20 3d 20 30 78 30 30 32 30 30 30 30 ESEL = 0x0020000
4ab0: 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 0 }..// #if(WINV
4ac0: 45 52 20 3e 3d 20 30 78 30 34 30 30 29 0d 0a 65 ER >= 0x0400)..e
4ad0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f num : uint { CF_
4ae0: 53 45 4c 45 43 54 53 43 52 49 50 54 20 3d 20 30 SELECTSCRIPT = 0
4af0: 78 30 30 34 30 30 30 30 30 20 7d 0d 0a 65 6e 75 x00400000 }..enu
4b00: 6d 20 3a 20 75 69 6e 74 20 7b 20 43 46 5f 4e 4f m : uint { CF_NO
4b10: 53 43 52 49 50 54 53 45 4c 20 3d 20 30 78 30 30 SCRIPTSEL = 0x00
4b20: 38 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 800000 }..enum :
4b30: 20 75 69 6e 74 20 7b 20 43 46 5f 4e 4f 56 45 52 uint { CF_NOVER
4b40: 54 46 4f 4e 54 53 20 3d 20 30 78 30 31 30 30 30 TFONTS = 0x01000
4b50: 30 30 30 20 7d 0d 0a 2f 2f 20 23 65 6e 64 69 66 000 }..// #endif
4b60: 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 30 78 /* WINVER >= 0x
4b70: 30 34 30 30 20 2a 2f 0d 0a 0d 0a 65 6e 75 6d 20 0400 */....enum
4b80: 3a 20 75 69 6e 74 20 7b 20 53 49 4d 55 4c 41 54 : uint { SIMULAT
4b90: 45 44 5f 46 4f 4e 54 54 59 50 45 20 3d 20 30 78 ED_FONTTYPE = 0x
4ba0: 38 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 8000 }..enum : u
4bb0: 69 6e 74 20 7b 20 50 52 49 4e 54 45 52 5f 46 4f int { PRINTER_FO
4bc0: 4e 54 54 59 50 45 20 3d 20 30 78 34 30 30 30 20 NTTYPE = 0x4000
4bd0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
4be0: 20 53 43 52 45 45 4e 5f 46 4f 4e 54 54 59 50 45 SCREEN_FONTTYPE
4bf0: 20 3d 20 30 78 32 30 30 30 20 7d 0d 0a 65 6e 75 = 0x2000 }..enu
4c00: 6d 20 3a 20 75 69 6e 74 20 7b 20 42 4f 4c 44 5f m : uint { BOLD_
4c10: 46 4f 4e 54 54 59 50 45 20 3d 20 30 78 30 31 30 FONTTYPE = 0x010
4c20: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
4c30: 20 7b 20 49 54 41 4c 49 43 5f 46 4f 4e 54 54 59 { ITALIC_FONTTY
4c40: 50 45 20 3d 20 30 78 30 32 30 30 20 7d 0d 0a 65 PE = 0x0200 }..e
4c50: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 52 45 47 num : uint { REG
4c60: 55 4c 41 52 5f 46 4f 4e 54 54 59 50 45 20 3d 20 ULAR_FONTTYPE =
4c70: 30 78 30 34 30 30 20 7d 0d 0a 0d 0a 2f 2f 20 23 0x0400 }....// #
4c80: 69 66 64 65 66 20 57 49 4e 4e 54 0d 0a 2f 2f 20 ifdef WINNT..//
4c90: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
4ca0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 / #.....// #endi
4cb0: 66 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 f....enum : uint
4cc0: 20 7b 20 57 4d 5f 43 48 4f 4f 53 45 46 4f 4e 54 { WM_CHOOSEFONT
4cd0: 5f 47 45 54 4c 4f 47 46 4f 4e 54 20 3d 20 57 4d _GETLOGFONT = WM
4ce0: 5f 55 53 45 52 20 2b 20 31 20 7d 0d 0a 65 6e 75 _USER + 1 }..enu
4cf0: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 43 48 m : uint { WM_CH
4d00: 4f 4f 53 45 46 4f 4e 54 5f 53 45 54 4c 4f 47 46 OOSEFONT_SETLOGF
4d10: 4f 4e 54 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 ONT = WM_USER +
4d20: 31 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 101 }..enum : ui
4d30: 6e 74 20 7b 20 57 4d 5f 43 48 4f 4f 53 45 46 4f nt { WM_CHOOSEFO
4d40: 4e 54 5f 53 45 54 46 4c 41 47 53 20 3d 20 57 4d NT_SETFLAGS = WM
4d50: 5f 55 53 45 52 20 2b 20 31 30 32 20 7d 0d 0a 0d _USER + 102 }...
4d60: 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 4c 42 .const char[] LB
4d70: 53 45 4c 43 48 53 54 52 49 4e 47 41 20 3d 20 22 SELCHSTRINGA = "
4d80: 63 6f 6d 6d 64 6c 67 5f 4c 42 53 65 6c 43 68 61 commdlg_LBSelCha
4d90: 6e 67 65 64 4e 6f 74 69 66 79 22 3b 0d 0a 63 6f ngedNotify";..co
4da0: 6e 73 74 20 63 68 61 72 5b 5d 20 53 48 41 52 45 nst char[] SHARE
4db0: 56 49 53 54 52 49 4e 47 41 20 3d 20 22 63 6f 6d VISTRINGA = "com
4dc0: 6d 64 6c 67 5f 53 68 61 72 65 56 69 6f 6c 61 74 mdlg_ShareViolat
4dd0: 69 6f 6e 22 3b 0d 0a 63 6f 6e 73 74 20 63 68 61 ion";..const cha
4de0: 72 5b 5d 20 46 49 4c 45 4f 4b 53 54 52 49 4e 47 r[] FILEOKSTRING
4df0: 41 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f 46 69 6c A = "commdlg_Fil
4e00: 65 4e 61 6d 65 4f 4b 22 3b 0d 0a 63 6f 6e 73 74 eNameOK";..const
4e10: 20 63 68 61 72 5b 5d 20 43 4f 4c 4f 52 4f 4b 53 char[] COLOROKS
4e20: 54 52 49 4e 47 41 20 3d 20 22 63 6f 6d 6d 64 6c TRINGA = "commdl
4e30: 67 5f 43 6f 6c 6f 72 4f 4b 22 3b 0d 0a 63 6f 6e g_ColorOK";..con
4e40: 73 74 20 63 68 61 72 5b 5d 20 53 45 54 52 47 42 st char[] SETRGB
4e50: 53 54 52 49 4e 47 41 20 3d 20 22 63 6f 6d 6d 64 STRINGA = "commd
4e60: 6c 67 5f 53 65 74 52 47 42 43 6f 6c 6f 72 22 3b lg_SetRGBColor";
4e70: 0d 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 48 ..const char[] H
4e80: 45 4c 50 4d 53 47 53 54 52 49 4e 47 41 20 3d 20 ELPMSGSTRINGA =
4e90: 22 63 6f 6d 6d 64 6c 67 5f 68 65 6c 70 22 3b 0d "commdlg_help";.
4ea0: 0a 63 6f 6e 73 74 20 63 68 61 72 5b 5d 20 46 49 .const char[] FI
4eb0: 4e 44 4d 53 47 53 54 52 49 4e 47 41 20 3d 20 22 NDMSGSTRINGA = "
4ec0: 63 6f 6d 6d 64 6c 67 5f 46 69 6e 64 52 65 70 6c commdlg_FindRepl
4ed0: 61 63 65 22 3b 0d 0a 0d 0a 63 6f 6e 73 74 20 77 ace";....const w
4ee0: 63 68 61 72 5b 5d 20 4c 42 53 45 4c 43 48 53 54 char[] LBSELCHST
4ef0: 52 49 4e 47 57 20 3d 20 22 63 6f 6d 6d 64 6c 67 RINGW = "commdlg
4f00: 5f 4c 42 53 65 6c 43 68 61 6e 67 65 64 4e 6f 74 _LBSelChangedNot
4f10: 69 66 79 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68 ify";..const wch
4f20: 61 72 5b 5d 20 53 48 41 52 45 56 49 53 54 52 49 ar[] SHAREVISTRI
4f30: 4e 47 57 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f 53 NGW = "commdlg_S
4f40: 68 61 72 65 56 69 6f 6c 61 74 69 6f 6e 22 3b 0d hareViolation";.
4f50: 0a 63 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 46 .const wchar[] F
4f60: 49 4c 45 4f 4b 53 54 52 49 4e 47 57 20 3d 20 22 ILEOKSTRINGW = "
4f70: 63 6f 6d 6d 64 6c 67 5f 46 69 6c 65 4e 61 6d 65 commdlg_FileName
4f80: 4f 4b 22 3b 0d 0a 63 6f 6e 73 74 20 77 63 68 61 OK";..const wcha
4f90: 72 5b 5d 20 43 4f 4c 4f 52 4f 4b 53 54 52 49 4e r[] COLOROKSTRIN
4fa0: 47 57 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f 43 6f GW = "commdlg_Co
4fb0: 6c 6f 72 4f 4b 22 3b 0d 0a 63 6f 6e 73 74 20 77 lorOK";..const w
4fc0: 63 68 61 72 5b 5d 20 53 45 54 52 47 42 53 54 52 char[] SETRGBSTR
4fd0: 49 4e 47 57 20 3d 20 22 63 6f 6d 6d 64 6c 67 5f INGW = "commdlg_
4fe0: 53 65 74 52 47 42 43 6f 6c 6f 72 22 3b 0d 0a 63 SetRGBColor";..c
4ff0: 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 48 45 4c onst wchar[] HEL
5000: 50 4d 53 47 53 54 52 49 4e 47 57 20 3d 20 22 63 PMSGSTRINGW = "c
5010: 6f 6d 6d 64 6c 67 5f 68 65 6c 70 22 3b 0d 0a 63 ommdlg_help";..c
5020: 6f 6e 73 74 20 77 63 68 61 72 5b 5d 20 46 49 4e onst wchar[] FIN
5030: 44 4d 53 47 53 54 52 49 4e 47 57 20 3d 20 22 63 DMSGSTRINGW = "c
5040: 6f 6d 6d 64 6c 67 5f 46 69 6e 64 52 65 70 6c 61 ommdlg_FindRepla
5050: 63 65 22 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 65 ce";....// #ifde
5060: 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e f UNICODE..// #.
5070: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
5080: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
5090: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
50a0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c .// #.....// #el
50b0: 73 65 0d 0a 61 6c 69 61 73 20 4c 42 53 45 4c 43 se..alias LBSELC
50c0: 48 53 54 52 49 4e 47 41 20 4c 42 53 45 4c 43 48 HSTRINGA LBSELCH
50d0: 53 54 52 49 4e 47 3b 0d 0a 61 6c 69 61 73 20 53 STRING;..alias S
50e0: 48 41 52 45 56 49 53 54 52 49 4e 47 41 20 53 48 HAREVISTRINGA SH
50f0: 41 52 45 56 49 53 54 52 49 4e 47 3b 0d 0a 61 6c AREVISTRING;..al
5100: 69 61 73 20 46 49 4c 45 4f 4b 53 54 52 49 4e 47 ias FILEOKSTRING
5110: 41 20 46 49 4c 45 4f 4b 53 54 52 49 4e 47 3b 0d A FILEOKSTRING;.
5120: 0a 61 6c 69 61 73 20 43 4f 4c 4f 52 4f 4b 53 54 .alias COLOROKST
5130: 52 49 4e 47 41 20 43 4f 4c 4f 52 4f 4b 53 54 52 RINGA COLOROKSTR
5140: 49 4e 47 3b 0d 0a 61 6c 69 61 73 20 53 45 54 52 ING;..alias SETR
5150: 47 42 53 54 52 49 4e 47 41 20 53 45 54 52 47 42 GBSTRINGA SETRGB
5160: 53 54 52 49 4e 47 3b 0d 0a 61 6c 69 61 73 20 48 STRING;..alias H
5170: 45 4c 50 4d 53 47 53 54 52 49 4e 47 41 20 48 45 ELPMSGSTRINGA HE
5180: 4c 50 4d 53 47 53 54 52 49 4e 47 3b 0d 0a 61 6c LPMSGSTRING;..al
5190: 69 61 73 20 46 49 4e 44 4d 53 47 53 54 52 49 4e ias FINDMSGSTRIN
51a0: 47 41 20 46 49 4e 44 4d 53 47 53 54 52 49 4e 47 GA FINDMSGSTRING
51b0: 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a ;..// #endif....
51c0: 65 6e 75 6d 20 7b 20 43 44 5f 4c 42 53 45 4c 4e enum { CD_LBSELN
51d0: 4f 49 54 45 4d 53 20 3d 20 2d 31 20 7d 0d 0a 65 OITEMS = -1 }..e
51e0: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 43 44 5f num : uint { CD_
51f0: 4c 42 53 45 4c 43 48 41 4e 47 45 20 3d 20 30 20 LBSELCHANGE = 0
5200: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
5210: 20 43 44 5f 4c 42 53 45 4c 53 55 42 20 3d 20 31 CD_LBSELSUB = 1
5220: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
5230: 7b 20 43 44 5f 4c 42 53 45 4c 41 44 44 20 3d 20 { CD_LBSELADD =
5240: 32 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 2 }....extern(Wi
5250: 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 55 49 4e ndows) alias UIN
5260: 54 5f 50 54 52 20 66 75 6e 63 74 69 6f 6e 28 48 T_PTR function(H
5270: 57 4e 44 2c 20 55 49 4e 54 2c 20 57 50 41 52 41 WND, UINT, WPARA
5280: 4d 2c 20 4c 50 41 52 41 4d 29 20 4c 50 50 52 49 M, LPARAM) LPPRI
5290: 4e 54 48 4f 4f 4b 50 52 4f 43 3b 0d 0a 65 78 74 NTHOOKPROC;..ext
52a0: 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 ern(Windows) ali
52b0: 61 73 20 55 49 4e 54 5f 50 54 52 20 66 75 6e 63 as UINT_PTR func
52c0: 74 69 6f 6e 28 48 57 4e 44 2c 20 55 49 4e 54 2c tion(HWND, UINT,
52d0: 20 57 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d 29 WPARAM, LPARAM)
52e0: 20 4c 50 53 45 54 55 50 48 4f 4f 4b 50 52 4f 43 LPSETUPHOOKPROC
52f0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 50 ;....struct tagP
5300: 44 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 6c 53 DA {.. DWORD lS
5310: 74 72 75 63 74 53 69 7a 65 3b 0d 0a 20 20 48 57 tructSize;.. HW
5320: 4e 44 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a 20 ND hwndOwner;..
5330: 20 48 47 4c 4f 42 41 4c 20 68 44 65 76 4d 6f 64 HGLOBAL hDevMod
5340: 65 3b 0d 0a 20 20 48 47 4c 4f 42 41 4c 20 68 44 e;.. HGLOBAL hD
5350: 65 76 4e 61 6d 65 73 3b 0d 0a 20 20 48 44 43 20 evNames;.. HDC
5360: 68 44 43 3b 0d 0a 20 20 44 57 4f 52 44 20 46 6c hDC;.. DWORD Fl
5370: 61 67 73 3b 0d 0a 20 20 57 4f 52 44 20 6e 46 72 ags;.. WORD nFr
5380: 6f 6d 50 61 67 65 3b 0d 0a 20 20 57 4f 52 44 20 omPage;.. WORD
5390: 6e 54 6f 50 61 67 65 3b 0d 0a 20 20 57 4f 52 44 nToPage;.. WORD
53a0: 20 6e 4d 69 6e 50 61 67 65 3b 0d 0a 20 20 57 4f nMinPage;.. WO
53b0: 52 44 20 6e 4d 61 78 50 61 67 65 3b 0d 0a 20 20 RD nMaxPage;..
53c0: 57 4f 52 44 20 6e 43 6f 70 69 65 73 3b 0d 0a 20 WORD nCopies;..
53d0: 20 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 HINSTANCE hInst
53e0: 61 6e 63 65 3b 0d 0a 20 20 4c 50 41 52 41 4d 20 ance;.. LPARAM
53f0: 6c 43 75 73 74 44 61 74 61 3b 0d 0a 20 20 4c 50 lCustData;.. LP
5400: 50 52 49 4e 54 48 4f 4f 4b 50 52 4f 43 20 6c 70 PRINTHOOKPROC lp
5410: 66 6e 50 72 69 6e 74 48 6f 6f 6b 3b 0d 0a 20 20 fnPrintHook;..
5420: 4c 50 53 45 54 55 50 48 4f 4f 4b 50 52 4f 43 20 LPSETUPHOOKPROC
5430: 6c 70 66 6e 53 65 74 75 70 48 6f 6f 6b 3b 0d 0a lpfnSetupHook;..
5440: 20 20 4c 50 43 53 54 52 20 6c 70 50 72 69 6e 74 LPCSTR lpPrint
5450: 54 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0d 0a 20 TemplateName;..
5460: 20 4c 50 43 53 54 52 20 6c 70 53 65 74 75 70 54 LPCSTR lpSetupT
5470: 65 6d 70 6c 61 74 65 4e 61 6d 65 3b 0d 0a 20 20 emplateName;..
5480: 48 47 4c 4f 42 41 4c 20 68 50 72 69 6e 74 54 65 HGLOBAL hPrintTe
5490: 6d 70 6c 61 74 65 3b 0d 0a 20 20 48 47 4c 4f 42 mplate;.. HGLOB
54a0: 41 4c 20 68 53 65 74 75 70 54 65 6d 70 6c 61 74 AL hSetupTemplat
54b0: 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 e;..}..alias tag
54c0: 50 44 41 20 50 52 49 4e 54 44 4c 47 41 3b 0d 0a PDA PRINTDLGA;..
54d0: 61 6c 69 61 73 20 74 61 67 50 44 41 2a 20 4c 50 alias tagPDA* LP
54e0: 50 52 49 4e 54 44 4c 47 41 3b 0d 0a 0d 0a 73 74 PRINTDLGA;....st
54f0: 72 75 63 74 20 74 61 67 50 44 57 20 7b 0d 0a 20 ruct tagPDW {..
5500: 20 44 57 4f 52 44 20 6c 53 74 72 75 63 74 53 69 DWORD lStructSi
5510: 7a 65 3b 0d 0a 20 20 48 57 4e 44 20 68 77 6e 64 ze;.. HWND hwnd
5520: 4f 77 6e 65 72 3b 0d 0a 20 20 48 47 4c 4f 42 41 Owner;.. HGLOBA
5530: 4c 20 68 44 65 76 4d 6f 64 65 3b 0d 0a 20 20 48 L hDevMode;.. H
5540: 47 4c 4f 42 41 4c 20 68 44 65 76 4e 61 6d 65 73 GLOBAL hDevNames
5550: 3b 0d 0a 20 20 48 44 43 20 68 44 43 3b 0d 0a 20 ;.. HDC hDC;..
5560: 20 44 57 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20 DWORD Flags;..
5570: 20 57 4f 52 44 20 6e 46 72 6f 6d 50 61 67 65 3b WORD nFromPage;
5580: 0d 0a 20 20 57 4f 52 44 20 6e 54 6f 50 61 67 65 .. WORD nToPage
5590: 3b 0d 0a 20 20 57 4f 52 44 20 6e 4d 69 6e 50 61 ;.. WORD nMinPa
55a0: 67 65 3b 0d 0a 20 20 57 4f 52 44 20 6e 4d 61 78 ge;.. WORD nMax
55b0: 50 61 67 65 3b 0d 0a 20 20 57 4f 52 44 20 6e 43 Page;.. WORD nC
55c0: 6f 70 69 65 73 3b 0d 0a 20 20 48 49 4e 53 54 41 opies;.. HINSTA
55d0: 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a NCE hInstance;..
55e0: 20 20 4c 50 41 52 41 4d 20 6c 43 75 73 74 44 61 LPARAM lCustDa
55f0: 74 61 3b 0d 0a 20 20 4c 50 50 52 49 4e 54 48 4f ta;.. LPPRINTHO
5600: 4f 4b 50 52 4f 43 20 6c 70 66 6e 50 72 69 6e 74 OKPROC lpfnPrint
5610: 48 6f 6f 6b 3b 0d 0a 20 20 4c 50 53 45 54 55 50 Hook;.. LPSETUP
5620: 48 4f 4f 4b 50 52 4f 43 20 6c 70 66 6e 53 65 74 HOOKPROC lpfnSet
5630: 75 70 48 6f 6f 6b 3b 0d 0a 20 20 4c 50 43 57 53 upHook;.. LPCWS
5640: 54 52 20 6c 70 50 72 69 6e 74 54 65 6d 70 6c 61 TR lpPrintTempla
5650: 74 65 4e 61 6d 65 3b 0d 0a 20 20 4c 50 43 57 53 teName;.. LPCWS
5660: 54 52 20 6c 70 53 65 74 75 70 54 65 6d 70 6c 61 TR lpSetupTempla
5670: 74 65 4e 61 6d 65 3b 0d 0a 20 20 48 47 4c 4f 42 teName;.. HGLOB
5680: 41 4c 20 68 50 72 69 6e 74 54 65 6d 70 6c 61 74 AL hPrintTemplat
5690: 65 3b 0d 0a 20 20 48 47 4c 4f 42 41 4c 20 68 53 e;.. HGLOBAL hS
56a0: 65 74 75 70 54 65 6d 70 6c 61 74 65 3b 0d 0a 7d etupTemplate;..}
56b0: 0d 0a 61 6c 69 61 73 20 74 61 67 50 44 57 20 50 ..alias tagPDW P
56c0: 52 49 4e 54 44 4c 47 57 3b 0d 0a 61 6c 69 61 73 RINTDLGW;..alias
56d0: 20 74 61 67 50 44 57 2a 20 4c 50 50 52 49 4e 54 tagPDW* LPPRINT
56e0: 44 4c 47 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 DLGW;....// #ifd
56f0: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e ef UNICODE..// .
5700: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c ....// #else..al
5710: 69 61 73 20 50 52 49 4e 54 44 4c 47 41 20 50 52 ias PRINTDLGA PR
5720: 49 4e 54 44 4c 47 3b 0d 0a 61 6c 69 61 73 20 4c INTDLG;..alias L
5730: 50 50 52 49 4e 54 44 4c 47 41 20 4c 50 50 52 49 PPRINTDLGA LPPRI
5740: 4e 54 44 4c 47 3b 0d 0a 2f 2f 20 23 65 6e 64 69 NTDLG;..// #endi
5750: 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a f // UNICODE....
5760: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 extern(Windows)
5770: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 50 72 69 6e export BOOL Prin
5780: 74 44 6c 67 41 28 4c 50 50 52 49 4e 54 44 4c 47 tDlgA(LPPRINTDLG
5790: 41 29 3b 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 A);..extern(Wind
57a0: 6f 77 73 29 20 65 78 70 6f 72 74 20 42 4f 4f 4c ows) export BOOL
57b0: 20 50 72 69 6e 74 44 6c 67 57 28 4c 50 50 52 49 PrintDlgW(LPPRI
57c0: 4e 54 44 4c 47 57 29 3b 0d 0a 2f 2f 20 23 69 66 NTDLGW);..// #if
57d0: 64 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 def UNICODE..//
57e0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a #.....// #else..
57f0: 61 6c 69 61 73 20 50 72 69 6e 74 44 6c 67 41 20 alias PrintDlgA
5800: 50 72 69 6e 74 44 6c 67 3b 0d 0a 2f 2f 20 23 65 PrintDlg;..// #e
5810: 6e 64 69 66 20 2f 2f 20 21 55 4e 49 43 4f 44 45 ndif // !UNICODE
5820: 0d 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 ....// #if(WINVE
5830: 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a R >= 0x0500)....
5840: 2f 2f 20 23 69 66 64 65 66 20 53 54 44 4d 45 54 // #ifdef STDMET
5850: 48 4f 44 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a HOD....// #.....
5860: 2f 2f 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e // #.......// ..
5870: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f .....// ......./
5880: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
5890: 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 ...// .......//
58a0: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d .......// ......
58b0: 0a 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 .// .....// #ifd
58c0: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e ef UNICODE..// .
58d0: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f ....// #else..//
58e0: 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 .....// #endif
58f0: 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f // UNICODE....//
5900: 20 2e 2e 2e 0d 0a 2f 2f 20 23 69 66 64 65 66 20 .....// #ifdef
5910: 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 23 2e 2e 2e UNICODE..// #...
5920: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 ..// #else..// #
5930: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f .....// #endif /
5940: 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a 2f 2f / !UNICODE....//
5950: 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 23 65 #endif....// #e
5960: 6e 64 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e ndif /* WINVER >
5970: 3d 20 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 65 = 0x0500 */....e
5980: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 5f num : uint { PD_
5990: 41 4c 4c 50 41 47 45 53 20 3d 20 30 78 30 30 30 ALLPAGES = 0x000
59a0: 30 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00000 }..enum :
59b0: 75 69 6e 74 20 7b 20 50 44 5f 53 45 4c 45 43 54 uint { PD_SELECT
59c0: 49 4f 4e 20 3d 20 30 78 30 30 30 30 30 30 30 31 ION = 0x00000001
59d0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
59e0: 7b 20 50 44 5f 50 41 47 45 4e 55 4d 53 20 3d 20 { PD_PAGENUMS =
59f0: 30 78 30 30 30 30 30 30 30 32 20 7d 0d 0a 65 6e 0x00000002 }..en
5a00: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 5f 4e um : uint { PD_N
5a10: 4f 53 45 4c 45 43 54 49 4f 4e 20 3d 20 30 78 30 OSELECTION = 0x0
5a20: 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 0000004 }..enum
5a30: 3a 20 75 69 6e 74 20 7b 20 50 44 5f 4e 4f 50 41 : uint { PD_NOPA
5a40: 47 45 4e 55 4d 53 20 3d 20 30 78 30 30 30 30 30 GENUMS = 0x00000
5a50: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 008 }..enum : ui
5a60: 6e 74 20 7b 20 50 44 5f 43 4f 4c 4c 41 54 45 20 nt { PD_COLLATE
5a70: 3d 20 30 78 30 30 30 30 30 30 31 30 20 7d 0d 0a = 0x00000010 }..
5a80: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 enum : uint { PD
5a90: 5f 50 52 49 4e 54 54 4f 46 49 4c 45 20 3d 20 30 _PRINTTOFILE = 0
5aa0: 78 30 30 30 30 30 30 32 30 20 7d 0d 0a 65 6e 75 x00000020 }..enu
5ab0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 5f 50 52 m : uint { PD_PR
5ac0: 49 4e 54 53 45 54 55 50 20 3d 20 30 78 30 30 30 INTSETUP = 0x000
5ad0: 30 30 30 34 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00040 }..enum :
5ae0: 75 69 6e 74 20 7b 20 50 44 5f 4e 4f 57 41 52 4e uint { PD_NOWARN
5af0: 49 4e 47 20 3d 20 30 78 30 30 30 30 30 30 38 30 ING = 0x00000080
5b00: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
5b10: 7b 20 50 44 5f 52 45 54 55 52 4e 44 43 20 3d 20 { PD_RETURNDC =
5b20: 30 78 30 30 30 30 30 31 30 30 20 7d 0d 0a 65 6e 0x00000100 }..en
5b30: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 5f 52 um : uint { PD_R
5b40: 45 54 55 52 4e 49 43 20 3d 20 30 78 30 30 30 30 ETURNIC = 0x0000
5b50: 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0200 }..enum : u
5b60: 69 6e 74 20 7b 20 50 44 5f 52 45 54 55 52 4e 44 int { PD_RETURND
5b70: 45 46 41 55 4c 54 20 3d 20 30 78 30 30 30 30 30 EFAULT = 0x00000
5b80: 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 400 }..enum : ui
5b90: 6e 74 20 7b 20 50 44 5f 53 48 4f 57 48 45 4c 50 nt { PD_SHOWHELP
5ba0: 20 3d 20 30 78 30 30 30 30 30 38 30 30 20 7d 0d = 0x00000800 }.
5bb0: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
5bc0: 44 5f 45 4e 41 42 4c 45 50 52 49 4e 54 48 4f 4f D_ENABLEPRINTHOO
5bd0: 4b 20 3d 20 30 78 30 30 30 30 31 30 30 30 20 7d K = 0x00001000 }
5be0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
5bf0: 50 44 5f 45 4e 41 42 4c 45 53 45 54 55 50 48 4f PD_ENABLESETUPHO
5c00: 4f 4b 20 3d 20 30 78 30 30 30 30 32 30 30 30 20 OK = 0x00002000
5c10: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
5c20: 20 50 44 5f 45 4e 41 42 4c 45 50 52 49 4e 54 54 PD_ENABLEPRINTT
5c30: 45 4d 50 4c 41 54 45 20 3d 20 30 78 30 30 30 30 EMPLATE = 0x0000
5c40: 34 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 4000 }..enum : u
5c50: 69 6e 74 20 7b 20 50 44 5f 45 4e 41 42 4c 45 53 int { PD_ENABLES
5c60: 45 54 55 50 54 45 4d 50 4c 41 54 45 20 3d 20 30 ETUPTEMPLATE = 0
5c70: 78 30 30 30 30 38 30 30 30 20 7d 0d 0a 65 6e 75 x00008000 }..enu
5c80: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 5f 45 4e m : uint { PD_EN
5c90: 41 42 4c 45 50 52 49 4e 54 54 45 4d 50 4c 41 54 ABLEPRINTTEMPLAT
5ca0: 45 48 41 4e 44 4c 45 20 3d 20 30 78 30 30 30 31 EHANDLE = 0x0001
5cb0: 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0000 }..enum : u
5cc0: 69 6e 74 20 7b 20 50 44 5f 45 4e 41 42 4c 45 53 int { PD_ENABLES
5cd0: 45 54 55 50 54 45 4d 50 4c 41 54 45 48 41 4e 44 ETUPTEMPLATEHAND
5ce0: 4c 45 20 3d 20 30 78 30 30 30 32 30 30 30 30 20 LE = 0x00020000
5cf0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
5d00: 20 50 44 5f 55 53 45 44 45 56 4d 4f 44 45 43 4f PD_USEDEVMODECO
5d10: 50 49 45 53 20 3d 20 30 78 30 30 30 34 30 30 30 PIES = 0x0004000
5d20: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
5d30: 20 7b 20 50 44 5f 55 53 45 44 45 56 4d 4f 44 45 { PD_USEDEVMODE
5d40: 43 4f 50 49 45 53 41 4e 44 43 4f 4c 4c 41 54 45 COPIESANDCOLLATE
5d50: 20 3d 20 30 78 30 30 30 34 30 30 30 30 20 7d 0d = 0x00040000 }.
5d60: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
5d70: 44 5f 44 49 53 41 42 4c 45 50 52 49 4e 54 54 4f D_DISABLEPRINTTO
5d80: 46 49 4c 45 20 3d 20 30 78 30 30 30 38 30 30 30 FILE = 0x0008000
5d90: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
5da0: 20 7b 20 50 44 5f 48 49 44 45 50 52 49 4e 54 54 { PD_HIDEPRINTT
5db0: 4f 46 49 4c 45 20 3d 20 30 78 30 30 31 30 30 30 OFILE = 0x001000
5dc0: 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 00 }..enum : uin
5dd0: 74 20 7b 20 50 44 5f 4e 4f 4e 45 54 57 4f 52 4b t { PD_NONETWORK
5de0: 42 55 54 54 4f 4e 20 3d 20 30 78 30 30 32 30 30 BUTTON = 0x00200
5df0: 30 30 30 20 7d 0d 0a 2f 2f 20 23 69 66 28 57 49 000 }..// #if(WI
5e00: 4e 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d NVER >= 0x0500).
5e10: 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 .enum : uint { P
5e20: 44 5f 43 55 52 52 45 4e 54 50 41 47 45 20 3d 20 D_CURRENTPAGE =
5e30: 30 78 30 30 34 30 30 30 30 30 20 7d 0d 0a 65 6e 0x00400000 }..en
5e40: 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 5f 4e um : uint { PD_N
5e50: 4f 43 55 52 52 45 4e 54 50 41 47 45 20 3d 20 30 OCURRENTPAGE = 0
5e60: 78 30 30 38 30 30 30 30 30 20 7d 0d 0a 65 6e 75 x00800000 }..enu
5e70: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 5f 45 58 m : uint { PD_EX
5e80: 43 4c 55 53 49 4f 4e 46 4c 41 47 53 20 3d 20 30 CLUSIONFLAGS = 0
5e90: 78 30 31 30 30 30 30 30 30 20 7d 0d 0a 65 6e 75 x01000000 }..enu
5ea0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 5f 55 53 m : uint { PD_US
5eb0: 45 4c 41 52 47 45 54 45 4d 50 4c 41 54 45 20 3d ELARGETEMPLATE =
5ec0: 20 30 78 31 30 30 30 30 30 30 30 20 7d 0d 0a 2f 0x10000000 }../
5ed0: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 49 4e 56 / #endif /* WINV
5ee0: 45 52 20 3e 3d 20 30 78 30 35 30 30 20 2a 2f 0d ER >= 0x0500 */.
5ef0: 0a 0d 0a 2f 2f 20 23 69 66 28 57 49 4e 56 45 52 ...// #if(WINVER
5f00: 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a 0d 0a 65 >= 0x0500)....e
5f10: 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 5f num : uint { PD_
5f20: 45 58 43 4c 5f 43 4f 50 49 45 53 41 4e 44 43 4f EXCL_COPIESANDCO
5f30: 4c 4c 41 54 45 20 3d 20 44 4d 5f 43 4f 50 49 45 LLATE = DM_COPIE
5f40: 53 20 7c 20 44 4d 5f 43 4f 4c 4c 41 54 45 20 7d S | DM_COLLATE }
5f50: 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 ....enum : uint
5f60: 7b 20 53 54 41 52 54 5f 50 41 47 45 5f 47 45 4e { START_PAGE_GEN
5f70: 45 52 41 4c 20 3d 20 30 78 66 66 66 66 66 66 66 ERAL = 0xfffffff
5f80: 66 20 7d 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 75 69 f }....enum : ui
5f90: 6e 74 20 7b 20 50 44 5f 52 45 53 55 4c 54 5f 43 nt { PD_RESULT_C
5fa0: 41 4e 43 45 4c 20 3d 20 30 20 7d 0d 0a 65 6e 75 ANCEL = 0 }..enu
5fb0: 6d 20 3a 20 75 69 6e 74 20 7b 20 50 44 5f 52 45 m : uint { PD_RE
5fc0: 53 55 4c 54 5f 50 52 49 4e 54 20 3d 20 31 20 7d SULT_PRINT = 1 }
5fd0: 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 ..enum : uint {
5fe0: 50 44 5f 52 45 53 55 4c 54 5f 41 50 50 4c 59 20 PD_RESULT_APPLY
5ff0: 3d 20 32 20 7d 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 = 2 }....// #end
6000: 69 66 20 2f 2a 20 57 49 4e 56 45 52 20 3e 3d 20 if /* WINVER >=
6010: 30 78 30 35 30 30 20 2a 2f 0d 0a 0d 0a 73 74 72 0x0500 */....str
6020: 75 63 74 20 74 61 67 44 45 56 4e 41 4d 45 53 20 uct tagDEVNAMES
6030: 7b 0d 0a 20 20 57 4f 52 44 20 77 44 72 69 76 65 {.. WORD wDrive
6040: 72 4f 66 66 73 65 74 3b 0d 0a 20 20 57 4f 52 44 rOffset;.. WORD
6050: 20 77 44 65 76 69 63 65 4f 66 66 73 65 74 3b 0d wDeviceOffset;.
6060: 0a 20 20 57 4f 52 44 20 77 4f 75 74 70 75 74 4f . WORD wOutputO
6070: 66 66 73 65 74 3b 0d 0a 20 20 57 4f 52 44 20 77 ffset;.. WORD w
6080: 44 65 66 61 75 6c 74 3b 0d 0a 7d 0d 0a 61 6c 69 Default;..}..ali
6090: 61 73 20 74 61 67 44 45 56 4e 41 4d 45 53 20 44 as tagDEVNAMES D
60a0: 45 56 4e 41 4d 45 53 3b 0d 0a 61 6c 69 61 73 20 EVNAMES;..alias
60b0: 74 61 67 44 45 56 4e 41 4d 45 53 2a 20 4c 50 44 tagDEVNAMES* LPD
60c0: 45 56 4e 41 4d 45 53 3b 0d 0a 0d 0a 65 6e 75 6d EVNAMES;....enum
60d0: 20 3a 20 75 69 6e 74 20 7b 20 44 4e 5f 44 45 46 : uint { DN_DEF
60e0: 41 55 4c 54 50 52 4e 20 3d 20 30 78 30 30 30 31 AULTPRN = 0x0001
60f0: 20 7d 0d 0a 0d 0a 65 78 74 65 72 6e 28 57 69 6e }....extern(Win
6100: 64 6f 77 73 29 20 65 78 70 6f 72 74 20 44 57 4f dows) export DWO
6110: 52 44 20 43 6f 6d 6d 44 6c 67 45 78 74 65 6e 64 RD CommDlgExtend
6120: 65 64 45 72 72 6f 72 28 29 3b 0d 0a 0d 0a 2f 2f edError();....//
6130: 20 23 69 66 28 57 49 4e 56 45 52 20 3e 3d 20 30 #if(WINVER >= 0
6140: 78 30 34 30 30 29 0d 0a 65 6e 75 6d 20 3a 20 75 x0400)..enum : u
6150: 69 6e 74 20 7b 20 57 4d 5f 50 53 44 5f 50 41 47 int { WM_PSD_PAG
6160: 45 53 45 54 55 50 44 4c 47 20 3d 20 57 4d 5f 55 ESETUPDLG = WM_U
6170: 53 45 52 20 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 SER }..enum : u
6180: 69 6e 74 20 7b 20 57 4d 5f 50 53 44 5f 46 55 4c int { WM_PSD_FUL
6190: 4c 50 41 47 45 52 45 43 54 20 3d 20 57 4d 5f 55 LPAGERECT = WM_U
61a0: 53 45 52 2b 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 SER+1 }..enum :
61b0: 75 69 6e 74 20 7b 20 57 4d 5f 50 53 44 5f 4d 49 uint { WM_PSD_MI
61c0: 4e 4d 41 52 47 49 4e 52 45 43 54 20 3d 20 57 4d NMARGINRECT = WM
61d0: 5f 55 53 45 52 2b 32 20 7d 0d 0a 65 6e 75 6d 20 _USER+2 }..enum
61e0: 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 50 53 44 5f : uint { WM_PSD_
61f0: 4d 41 52 47 49 4e 52 45 43 54 20 3d 20 57 4d 5f MARGINRECT = WM_
6200: 55 53 45 52 2b 33 20 7d 0d 0a 65 6e 75 6d 20 3a USER+3 }..enum :
6210: 20 75 69 6e 74 20 7b 20 57 4d 5f 50 53 44 5f 47 uint { WM_PSD_G
6220: 52 45 45 4b 54 45 58 54 52 45 43 54 20 3d 20 57 REEKTEXTRECT = W
6230: 4d 5f 55 53 45 52 2b 34 20 7d 0d 0a 65 6e 75 6d M_USER+4 }..enum
6240: 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 50 53 44 : uint { WM_PSD
6250: 5f 45 4e 56 53 54 41 4d 50 52 45 43 54 20 3d 20 _ENVSTAMPRECT =
6260: 57 4d 5f 55 53 45 52 2b 35 20 7d 0d 0a 65 6e 75 WM_USER+5 }..enu
6270: 6d 20 3a 20 75 69 6e 74 20 7b 20 57 4d 5f 50 53 m : uint { WM_PS
6280: 44 5f 59 41 46 55 4c 4c 50 41 47 45 52 45 43 54 D_YAFULLPAGERECT
6290: 20 3d 20 57 4d 5f 55 53 45 52 2b 36 20 7d 0d 0a = WM_USER+6 }..
62a0: 0d 0a 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 ..extern(Windows
62b0: 29 20 61 6c 69 61 73 20 55 49 4e 54 5f 50 54 52 ) alias UINT_PTR
62c0: 20 66 75 6e 63 74 69 6f 6e 28 20 48 57 4e 44 2c function( HWND,
62d0: 20 55 49 4e 54 2c 20 57 50 41 52 41 4d 2c 20 4c UINT, WPARAM, L
62e0: 50 41 52 41 4d 20 29 20 4c 50 50 41 47 45 50 41 PARAM ) LPPAGEPA
62f0: 49 4e 54 48 4f 4f 4b 3b 0d 0a 65 78 74 65 72 6e INTHOOK;..extern
6300: 28 57 69 6e 64 6f 77 73 29 20 61 6c 69 61 73 20 (Windows) alias
6310: 55 49 4e 54 5f 50 54 52 20 66 75 6e 63 74 69 6f UINT_PTR functio
6320: 6e 28 20 48 57 4e 44 2c 20 55 49 4e 54 2c 20 57 n( HWND, UINT, W
6330: 50 41 52 41 4d 2c 20 4c 50 41 52 41 4d 20 29 20 PARAM, LPARAM )
6340: 4c 50 50 41 47 45 53 45 54 55 50 48 4f 4f 4b 3b LPPAGESETUPHOOK;
6350: 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 50 53 ....struct tagPS
6360: 44 41 20 7b 0d 0a 20 20 44 57 4f 52 44 20 6c 53 DA {.. DWORD lS
6370: 74 72 75 63 74 53 69 7a 65 3b 0d 0a 20 20 48 57 tructSize;.. HW
6380: 4e 44 20 68 77 6e 64 4f 77 6e 65 72 3b 0d 0a 20 ND hwndOwner;..
6390: 20 48 47 4c 4f 42 41 4c 20 68 44 65 76 4d 6f 64 HGLOBAL hDevMod
63a0: 65 3b 0d 0a 20 20 48 47 4c 4f 42 41 4c 20 68 44 e;.. HGLOBAL hD
63b0: 65 76 4e 61 6d 65 73 3b 0d 0a 20 20 44 57 4f 52 evNames;.. DWOR
63c0: 44 20 46 6c 61 67 73 3b 0d 0a 20 20 50 4f 49 4e D Flags;.. POIN
63d0: 54 20 70 74 50 61 70 65 72 53 69 7a 65 3b 0d 0a T ptPaperSize;..
63e0: 20 20 52 45 43 54 20 72 74 4d 69 6e 4d 61 72 67 RECT rtMinMarg
63f0: 69 6e 3b 0d 0a 20 20 52 45 43 54 20 72 74 4d 61 in;.. RECT rtMa
6400: 72 67 69 6e 3b 0d 0a 20 20 48 49 4e 53 54 41 4e rgin;.. HINSTAN
6410: 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a 20 CE hInstance;..
6420: 20 4c 50 41 52 41 4d 20 6c 43 75 73 74 44 61 74 LPARAM lCustDat
6430: 61 3b 0d 0a 20 20 4c 50 50 41 47 45 53 45 54 55 a;.. LPPAGESETU
6440: 50 48 4f 4f 4b 20 6c 70 66 6e 50 61 67 65 53 65 PHOOK lpfnPageSe
6450: 74 75 70 48 6f 6f 6b 3b 0d 0a 20 20 4c 50 50 41 tupHook;.. LPPA
6460: 47 45 50 41 49 4e 54 48 4f 4f 4b 20 6c 70 66 6e GEPAINTHOOK lpfn
6470: 50 61 67 65 50 61 69 6e 74 48 6f 6f 6b 3b 0d 0a PagePaintHook;..
6480: 20 20 4c 50 43 53 54 52 20 6c 70 50 61 67 65 53 LPCSTR lpPageS
6490: 65 74 75 70 54 65 6d 70 6c 61 74 65 4e 61 6d 65 etupTemplateName
64a0: 3b 0d 0a 20 20 48 47 4c 4f 42 41 4c 20 68 50 61 ;.. HGLOBAL hPa
64b0: 67 65 53 65 74 75 70 54 65 6d 70 6c 61 74 65 3b geSetupTemplate;
64c0: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 67 50 53 ..}..alias tagPS
64d0: 44 41 20 50 41 47 45 53 45 54 55 50 44 4c 47 41 DA PAGESETUPDLGA
64e0: 3b 0d 0a 61 6c 69 61 73 20 74 61 67 50 53 44 41 ;..alias tagPSDA
64f0: 2a 20 4c 50 50 41 47 45 53 45 54 55 50 44 4c 47 * LPPAGESETUPDLG
6500: 41 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 74 61 67 A;....struct tag
6510: 50 53 44 57 20 7b 0d 0a 20 20 44 57 4f 52 44 20 PSDW {.. DWORD
6520: 6c 53 74 72 75 63 74 53 69 7a 65 3b 0d 0a 20 20 lStructSize;..
6530: 48 57 4e 44 20 68 77 6e 64 4f 77 6e 65 72 3b 0d HWND hwndOwner;.
6540: 0a 20 20 48 47 4c 4f 42 41 4c 20 68 44 65 76 4d . HGLOBAL hDevM
6550: 6f 64 65 3b 0d 0a 20 20 48 47 4c 4f 42 41 4c 20 ode;.. HGLOBAL
6560: 68 44 65 76 4e 61 6d 65 73 3b 0d 0a 20 20 44 57 hDevNames;.. DW
6570: 4f 52 44 20 46 6c 61 67 73 3b 0d 0a 20 20 50 4f ORD Flags;.. PO
6580: 49 4e 54 20 70 74 50 61 70 65 72 53 69 7a 65 3b INT ptPaperSize;
6590: 0d 0a 20 20 52 45 43 54 20 72 74 4d 69 6e 4d 61 .. RECT rtMinMa
65a0: 72 67 69 6e 3b 0d 0a 20 20 52 45 43 54 20 72 74 rgin;.. RECT rt
65b0: 4d 61 72 67 69 6e 3b 0d 0a 20 20 48 49 4e 53 54 Margin;.. HINST
65c0: 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d ANCE hInstance;.
65d0: 0a 20 20 4c 50 41 52 41 4d 20 6c 43 75 73 74 44 . LPARAM lCustD
65e0: 61 74 61 3b 0d 0a 20 20 4c 50 50 41 47 45 53 45 ata;.. LPPAGESE
65f0: 54 55 50 48 4f 4f 4b 20 6c 70 66 6e 50 61 67 65 TUPHOOK lpfnPage
6600: 53 65 74 75 70 48 6f 6f 6b 3b 0d 0a 20 20 4c 50 SetupHook;.. LP
6610: 50 41 47 45 50 41 49 4e 54 48 4f 4f 4b 20 6c 70 PAGEPAINTHOOK lp
6620: 66 6e 50 61 67 65 50 61 69 6e 74 48 6f 6f 6b 3b fnPagePaintHook;
6630: 0d 0a 20 20 4c 50 43 57 53 54 52 20 6c 70 50 61 .. LPCWSTR lpPa
6640: 67 65 53 65 74 75 70 54 65 6d 70 6c 61 74 65 4e geSetupTemplateN
6650: 61 6d 65 3b 0d 0a 20 20 48 47 4c 4f 42 41 4c 20 ame;.. HGLOBAL
6660: 68 50 61 67 65 53 65 74 75 70 54 65 6d 70 6c 61 hPageSetupTempla
6670: 74 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 74 61 te;..}..alias ta
6680: 67 50 53 44 57 20 50 41 47 45 53 45 54 55 50 44 gPSDW PAGESETUPD
6690: 4c 47 57 3b 0d 0a 61 6c 69 61 73 20 74 61 67 50 LGW;..alias tagP
66a0: 53 44 57 2a 20 4c 50 50 41 47 45 53 45 54 55 50 SDW* LPPAGESETUP
66b0: 44 4c 47 57 3b 0d 0a 0d 0a 2f 2f 20 23 69 66 64 DLGW;....// #ifd
66c0: 65 66 20 55 4e 49 43 4f 44 45 0d 0a 2f 2f 20 2e ef UNICODE..// .
66d0: 2e 2e 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 61 6c ....// #else..al
66e0: 69 61 73 20 50 41 47 45 53 45 54 55 50 44 4c 47 ias PAGESETUPDLG
66f0: 41 20 50 41 47 45 53 45 54 55 50 44 4c 47 3b 0d A PAGESETUPDLG;.
6700: 0a 61 6c 69 61 73 20 4c 50 50 41 47 45 53 45 54 .alias LPPAGESET
6710: 55 50 44 4c 47 41 20 4c 50 50 41 47 45 53 45 54 UPDLGA LPPAGESET
6720: 55 50 44 4c 47 3b 0d 0a 2f 2f 20 23 65 6e 64 69 UPDLG;..// #endi
6730: 66 20 2f 2f 20 55 4e 49 43 4f 44 45 0d 0a 0d 0a f // UNICODE....
6740: 65 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 extern(Windows)
6750: 65 78 70 6f 72 74 20 42 4f 4f 4c 20 50 61 67 65 export BOOL Page
6760: 53 65 74 75 70 44 6c 67 41 28 20 4c 50 50 41 47 SetupDlgA( LPPAG
6770: 45 53 45 54 55 50 44 4c 47 41 20 29 3b 0d 0a 65 ESETUPDLGA );..e
6780: 78 74 65 72 6e 28 57 69 6e 64 6f 77 73 29 20 65 xtern(Windows) e
6790: 78 70 6f 72 74 20 42 4f 4f 4c 20 50 61 67 65 53 xport BOOL PageS
67a0: 65 74 75 70 44 6c 67 57 28 20 4c 50 50 41 47 45 etupDlgW( LPPAGE
67b0: 53 45 54 55 50 44 4c 47 57 20 29 3b 0d 0a 2f 2f SETUPDLGW );..//
67c0: 20 23 69 66 64 65 66 20 55 4e 49 43 4f 44 45 0d #ifdef UNICODE.
67d0: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 65 6c .// #.....// #el
67e0: 73 65 0d 0a 61 6c 69 61 73 20 50 61 67 65 53 65 se..alias PageSe
67f0: 74 75 70 44 6c 67 41 20 50 61 67 65 53 65 74 75 tupDlgA PageSetu
6800: 70 44 6c 67 3b 0d 0a 2f 2f 20 23 65 6e 64 69 66 pDlg;..// #endif
6810: 20 2f 2f 20 21 55 4e 49 43 4f 44 45 0d 0a 0d 0a // !UNICODE....
6820: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 enum : uint { PS
6830: 44 5f 44 45 46 41 55 4c 54 4d 49 4e 4d 41 52 47 D_DEFAULTMINMARG
6840: 49 4e 53 20 3d 20 30 78 30 30 30 30 30 30 30 30 INS = 0x00000000
6850: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
6860: 7b 20 50 53 44 5f 49 4e 57 49 4e 49 4e 49 49 4e { PSD_INWININIIN
6870: 54 4c 4d 45 41 53 55 52 45 20 3d 20 30 78 30 30 TLMEASURE = 0x00
6880: 30 30 30 30 30 30 20 7d 0d 0a 0d 0a 65 6e 75 6d 000000 }....enum
6890: 20 3a 20 75 69 6e 74 20 7b 20 50 53 44 5f 4d 49 : uint { PSD_MI
68a0: 4e 4d 41 52 47 49 4e 53 20 3d 20 30 78 30 30 30 NMARGINS = 0x000
68b0: 30 30 30 30 31 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00001 }..enum :
68c0: 75 69 6e 74 20 7b 20 50 53 44 5f 4d 41 52 47 49 uint { PSD_MARGI
68d0: 4e 53 20 3d 20 30 78 30 30 30 30 30 30 30 32 20 NS = 0x00000002
68e0: 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b }..enum : uint {
68f0: 20 50 53 44 5f 49 4e 54 48 4f 55 53 41 4e 44 54 PSD_INTHOUSANDT
6900: 48 53 4f 46 49 4e 43 48 45 53 20 3d 20 30 78 30 HSOFINCHES = 0x0
6910: 30 30 30 30 30 30 34 20 7d 0d 0a 65 6e 75 6d 20 0000004 }..enum
6920: 3a 20 75 69 6e 74 20 7b 20 50 53 44 5f 49 4e 48 : uint { PSD_INH
6930: 55 4e 44 52 45 44 54 48 53 4f 46 4d 49 4c 4c 49 UNDREDTHSOFMILLI
6940: 4d 45 54 45 52 53 20 3d 20 30 78 30 30 30 30 30 METERS = 0x00000
6950: 30 30 38 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 008 }..enum : ui
6960: 6e 74 20 7b 20 50 53 44 5f 44 49 53 41 42 4c 45 nt { PSD_DISABLE
6970: 4d 41 52 47 49 4e 53 20 3d 20 30 78 30 30 30 30 MARGINS = 0x0000
6980: 30 30 31 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 0010 }..enum : u
6990: 69 6e 74 20 7b 20 50 53 44 5f 44 49 53 41 42 4c int { PSD_DISABL
69a0: 45 50 52 49 4e 54 45 52 20 3d 20 30 78 30 30 30 EPRINTER = 0x000
69b0: 30 30 30 32 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00020 }..enum :
69c0: 75 69 6e 74 20 7b 20 50 53 44 5f 4e 4f 57 41 52 uint { PSD_NOWAR
69d0: 4e 49 4e 47 20 3d 20 30 78 30 30 30 30 30 30 38 NING = 0x0000008
69e0: 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 0 }..enum : uint
69f0: 20 7b 20 50 53 44 5f 44 49 53 41 42 4c 45 4f 52 { PSD_DISABLEOR
6a00: 49 45 4e 54 41 54 49 4f 4e 20 3d 20 30 78 30 30 IENTATION = 0x00
6a10: 30 30 30 31 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 000100 }..enum :
6a20: 20 75 69 6e 74 20 7b 20 50 53 44 5f 52 45 54 55 uint { PSD_RETU
6a30: 52 4e 44 45 46 41 55 4c 54 20 3d 20 30 78 30 30 RNDEFAULT = 0x00
6a40: 30 30 30 34 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 000400 }..enum :
6a50: 20 75 69 6e 74 20 7b 20 50 53 44 5f 44 49 53 41 uint { PSD_DISA
6a60: 42 4c 45 50 41 50 45 52 20 3d 20 30 78 30 30 30 BLEPAPER = 0x000
6a70: 30 30 32 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 20 00200 }..enum :
6a80: 75 69 6e 74 20 7b 20 50 53 44 5f 53 48 4f 57 48 uint { PSD_SHOWH
6a90: 45 4c 50 20 3d 20 30 78 30 30 30 30 30 38 30 30 ELP = 0x00000800
6aa0: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
6ab0: 7b 20 50 53 44 5f 45 4e 41 42 4c 45 50 41 47 45 { PSD_ENABLEPAGE
6ac0: 53 45 54 55 50 48 4f 4f 4b 20 3d 20 30 78 30 30 SETUPHOOK = 0x00
6ad0: 30 30 32 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 002000 }..enum :
6ae0: 20 75 69 6e 74 20 7b 20 50 53 44 5f 45 4e 41 42 uint { PSD_ENAB
6af0: 4c 45 50 41 47 45 53 45 54 55 50 54 45 4d 50 4c LEPAGESETUPTEMPL
6b00: 41 54 45 20 3d 20 30 78 30 30 30 30 38 30 30 30 ATE = 0x00008000
6b10: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
6b20: 7b 20 50 53 44 5f 45 4e 41 42 4c 45 50 41 47 45 { PSD_ENABLEPAGE
6b30: 53 45 54 55 50 54 45 4d 50 4c 41 54 45 48 41 4e SETUPTEMPLATEHAN
6b40: 44 4c 45 20 3d 20 30 78 30 30 30 32 30 30 30 30 DLE = 0x00020000
6b50: 20 7d 0d 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 }..enum : uint
6b60: 7b 20 50 53 44 5f 45 4e 41 42 4c 45 50 41 47 45 { PSD_ENABLEPAGE
6b70: 50 41 49 4e 54 48 4f 4f 4b 20 3d 20 30 78 30 30 PAINTHOOK = 0x00
6b80: 30 34 30 30 30 30 20 7d 0d 0a 65 6e 75 6d 20 3a 040000 }..enum :
6b90: 20 75 69 6e 74 20 7b 20 50 53 44 5f 44 49 53 41 uint { PSD_DISA
6ba0: 42 4c 45 50 41 47 45 50 41 49 4e 54 49 4e 47 20 BLEPAGEPAINTING
6bb0: 3d 20 30 78 30 30 30 38 30 30 30 30 20 7d 0d 0a = 0x00080000 }..
6bc0: 65 6e 75 6d 20 3a 20 75 69 6e 74 20 7b 20 50 53 enum : uint { PS
6bd0: 44 5f 4e 4f 4e 45 54 57 4f 52 4b 42 55 54 54 4f D_NONETWORKBUTTO
6be0: 4e 20 3d 20 30 78 30 30 32 30 30 30 30 30 20 7d N = 0x00200000 }
6bf0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 57 ..// #endif /* W
6c00: 49 4e 56 45 52 20 3e 3d 20 30 78 30 34 30 30 20 INVER >= 0x0400
6c10: 2a 2f 0d 0a 0d 0a 2f 2f 20 23 69 66 20 21 64 65 */....// #if !de
6c20: 66 69 6e 65 64 28 52 43 5f 49 4e 56 4f 4b 45 44 fined(RC_INVOKED
6c30: 29 20 2f 2a 20 52 43 20 63 6f 6d 70 6c 61 69 6e ) /* RC complain
6c40: 73 20 61 62 6f 75 74 20 6c 6f 6e 67 20 73 79 6d s about long sym
6c50: 62 6f 6c 73 20 69 6e 20 23 69 66 73 20 2a 2f 0d bols in #ifs */.
6c60: 0a 2f 2f 20 23 69 66 20 49 53 4f 4c 41 54 49 4f .// #if ISOLATIO
6c70: 4e 5f 41 57 41 52 45 5f 45 4e 41 42 4c 45 44 0d N_AWARE_ENABLED.
6c80: 0a 0d 0a 2f 2f 20 23 69 66 20 21 64 65 66 69 6e ...// #if !defin
6c90: 65 64 28 49 53 4f 4c 41 54 49 4f 4e 5f 41 57 41 ed(ISOLATION_AWA
6ca0: 52 45 5f 49 4e 4c 49 4e 45 29 0d 0a 2f 2f 20 23 RE_INLINE)..// #
6cb0: 69 66 20 64 65 66 69 6e 65 64 28 5f 5f 63 70 6c if defined(__cpl
6cc0: 75 73 70 6c 75 73 29 0d 0a 2f 2f 20 23 2e 2e 2e usplus)..// #...
6cd0: 0d 0a 2f 2f 20 23 65 6c 73 65 0d 0a 2f 2f 20 23 ..// #else..// #
6ce0: 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 66 0d 0a .....// #endif..
6cf0: 2f 2f 20 23 65 6e 64 69 66 0d 0a 0d 0a 2f 2f 20 // #endif....//
6d00: 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 2f .......// ...../
6d10: 2f 20 23 69 66 20 64 65 66 69 6e 65 64 28 53 54 / #if defined(ST
6d20: 44 4d 45 54 48 4f 44 29 20 26 26 20 28 57 49 4e DMETHOD) && (WIN
6d30: 56 45 52 20 3e 3d 20 30 78 30 35 30 30 29 0d 0a VER >= 0x0500)..
6d40: 2f 2f 20 2e 2e 2e 0d 0a 2f 2f 20 23 65 6e 64 69 // .....// #endi
6d50: 66 20 2f 2a 20 64 65 66 69 6e 65 64 28 53 54 44 f /* defined(STD
6d60: 4d 45 54 48 4f 44 29 20 26 26 20 28 57 49 4e 56 METHOD) && (WINV
6d70: 45 52 20 3e 3d 20 30 78 30 35 30 30 29 20 2a 2f ER >= 0x0500) */
6d80: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 ..// .......// #
6d90: 69 66 20 64 65 66 69 6e 65 64 28 55 4e 49 43 4f if defined(UNICO
6da0: 44 45 29 0d 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a DE)....// #.....
6db0: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
6dc0: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
6dd0: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
6de0: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
6df0: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
6e00: 0a 0d 0a 2f 2f 20 23 65 6c 73 65 20 2f 2a 20 55 ...// #else /* U
6e10: 4e 49 43 4f 44 45 20 2a 2f 0d 0a 0d 0a 2f 2f 20 NICODE */....//
6e20: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
6e30: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
6e40: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
6e50: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
6e60: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
6e70: 20 23 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 23 65 6e 64 #.......// #end
6e80: 69 66 20 2f 2a 20 55 4e 49 43 4f 44 45 20 2a 2f if /* UNICODE */
6e90: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f ....// .......//
6ea0: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a .......// .....
6eb0: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e ..// .......// .
6ec0: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a ......// .......
6ed0: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e // .......// ...
6ee0: 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f ....// .......//
6ef0: 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a .......// .....
6f00: 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e ..// .......// .
6f10: 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a ......// .......
6f20: 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e // .......// ...
6f30: 0d 0a 0d 0a 2f 2f 20 23 69 66 20 64 65 66 69 6e ....// #if defin
6f40: 65 64 28 53 54 44 4d 45 54 48 4f 44 29 20 26 26 ed(STDMETHOD) &&
6f50: 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 35 (WINVER >= 0x05
6f60: 30 30 29 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 00)....// ......
6f70: 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e .// .......// ..
6f80: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f .....// ......./
6f90: 2f 20 23 65 6e 64 69 66 20 2f 2a 20 64 65 66 69 / #endif /* defi
6fa0: 6e 65 64 28 53 54 44 4d 45 54 48 4f 44 29 20 26 ned(STDMETHOD) &
6fb0: 26 20 28 57 49 4e 56 45 52 20 3e 3d 20 30 78 30 & (WINVER >= 0x0
6fc0: 35 30 30 29 20 2a 2f 0d 0a 0d 0a 2f 2f 20 2e 2e 500) */....// ..
6fd0: 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d 0a 0d 0a 2f .....// ......./
6fe0: 2f 20 2e 2e 2e 0d 0a 0d 0a 2f 2f 20 2e 2e 2e 0d / .......// ....
6ff0: 0a 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
7000: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
7010: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
7020: 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e // #.....// #...
7030: 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e ..// #.....// #.
7040: 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 ....// #.....//
7050: 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f #.....// #...../
7060: 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d / #.....// #....
7070: 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e .// #.....// #..
7080: 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 ...// #.....// #
7090: 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a 2f 2f .....// #.....//
70a0: 20 23 2e 2e 2e 0d 0a 2f 2f 20 23 2e 2e 2e 0d 0a #.....// #.....
70b0: 0d 0a 2f 2f 20 23 65 6e 64 69 66 20 2f 2a 20 49 ..// #endif /* I
70c0: 53 4f 4c 41 54 49 4f 4e 5f 41 57 41 52 45 5f 45 SOLATION_AWARE_E
70d0: 4e 41 42 4c 45 44 20 2a 2f 0d 0a 2f 2f 20 23 65 NABLED */..// #e
70e0: 6e 64 69 66 20 2f 2a 20 52 43 20 2a 2f 0d 0a 0d ndif /* RC */...
70f0: 0a 2f 2f 20 23 69 66 64 65 66 20 5f 5f 63 70 6c .// #ifdef __cpl
7100: 75 73 70 6c 75 73 0d 0a 2f 2f 20 7d 0d 0a 2f 2f usplus..// }..//
7110: 20 23 65 6e 64 69 66 20 20 2f 2a 20 5f 5f 63 70 #endif /* __cp
7120: 6c 75 73 70 6c 75 73 20 2a 2f 0d 0a 0d 0a 2f 2f lusplus */....//
7130: 20 23 69 66 20 21 64 65 66 69 6e 65 64 28 5f 57 #if !defined(_W
7140: 49 4e 36 34 29 0d 0a 61 6c 69 67 6e 3a 0d 0a 2f IN64)..align:../
7150: 2f 20 23 65 6e 64 69 66 0d 0a 2f 2f 20 23 65 6e / #endif..// #en
7160: 64 69 66 20 20 2f 2a 20 47 55 49 44 5f 44 45 46 dif /* GUID_DEF
7170: 53 5f 4f 4e 4c 59 20 2a 2f 0d 0a 2f 2f 20 23 65 S_ONLY */..// #e
7180: 6e 64 69 66 20 20 2f 2a 20 21 5f 49 4e 43 5f 43 ndif /* !_INC_C
7190: 4f 4d 4d 44 4c 47 20 2a 2f 0d 0a 0d 0a OMMDLG */....