Artifact b4bf73a8fd532abb27b784b9ef9f650bd0ba86ad:
- File
src/win32/docobj.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20 ********\..*
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0060: 20 20 20 20 20 20 20 20 20 20 64 6f 63 6f 62 6a docobj
0070: 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..*
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..*
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..*
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61 Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57 ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20 indows headers
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a *
01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..*
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 *..*
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0220: 20 20 20 20 20 50 6c 61 63 65 64 20 69 6e 74 6f Placed into
0230: 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 20 20 public domain
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0250: 20 20 20 20 20 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a *..\*******
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
02a0: 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e /..module win32.
02b0: 64 6f 63 6f 62 6a 3b 0d 0a 0d 0a 70 72 69 76 61 docobj;....priva
02c0: 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e te import win32.
02d0: 62 61 73 65 74 79 70 73 2c 20 77 69 6e 33 32 2e basetyps, win32.
02e0: 6f 61 69 64 6c 2c 20 77 69 6e 33 32 2e 6f 62 6a oaidl, win32.obj
02f0: 69 64 6c 2c 20 77 69 6e 33 32 2e 6f 6c 65 69 64 idl, win32.oleid
0300: 6c 2c 0d 0a 20 20 77 69 6e 33 32 2e 75 6e 6b 6e l,.. win32.unkn
0310: 77 6e 2c 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 wn, win32.windef
0320: 2c 20 77 69 6e 33 32 2e 77 74 79 70 65 73 3b 0d , win32.wtypes;.
0330: 0a 0d 0a 2f 2f 20 46 49 58 4d 45 3a 20 72 65 6d ...// FIXME: rem
0340: 6f 76 65 20 69 6e 68 65 72 69 74 65 64 20 6d 65 ove inherited me
0350: 74 68 6f 64 73 20 66 72 6f 6d 20 69 6e 74 65 72 thods from inter
0360: 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 face definitions
0370: 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 4f 4c 45 ....enum {...OLE
0380: 43 4d 44 45 52 52 5f 45 5f 55 4e 4b 4e 4f 57 4e CMDERR_E_UNKNOWN
0390: 47 52 4f 55 50 20 3d 20 2d 32 31 34 37 32 32 31 GROUP = -2147221
03a0: 32 34 34 2c 0d 0a 09 4f 4c 45 43 4d 44 45 52 52 244,...OLECMDERR
03b0: 5f 45 5f 43 41 4e 43 45 4c 45 44 20 20 20 20 20 _E_CANCELED
03c0: 3d 20 2d 32 31 34 37 32 32 31 32 34 35 2c 0d 0a = -2147221245,..
03d0: 09 4f 4c 45 43 4d 44 45 52 52 5f 45 5f 4e 4f 48 .OLECMDERR_E_NOH
03e0: 45 4c 50 20 20 20 20 20 20 20 3d 20 2d 32 31 34 ELP = -214
03f0: 37 32 32 31 32 34 36 2c 0d 0a 09 4f 4c 45 43 4d 7221246,...OLECM
0400: 44 45 52 52 5f 45 5f 44 49 53 41 42 4c 45 44 20 DERR_E_DISABLED
0410: 20 20 20 20 3d 20 2d 32 31 34 37 32 32 31 32 34 = -214722124
0420: 37 2c 0d 0a 09 4f 4c 45 43 4d 44 45 52 52 5f 45 7,...OLECMDERR_E
0430: 5f 4e 4f 54 53 55 50 50 4f 52 54 45 44 20 3d 20 _NOTSUPPORTED =
0440: 2d 32 31 34 37 32 32 31 32 34 38 0d 0a 7d 0d 0a -2147221248..}..
0450: 0d 0a 65 6e 75 6d 20 4f 4c 45 43 4d 44 49 44 20 ..enum OLECMDID
0460: 7b 0d 0a 09 4f 4c 45 43 4d 44 49 44 5f 4f 50 45 {...OLECMDID_OPE
0470: 4e 20 3d 20 31 2c 0d 0a 09 4f 4c 45 43 4d 44 49 N = 1,...OLECMDI
0480: 44 5f 4e 45 57 20 3d 20 32 2c 0d 0a 09 4f 4c 45 D_NEW = 2,...OLE
0490: 43 4d 44 49 44 5f 53 41 56 45 20 3d 20 33 2c 0d CMDID_SAVE = 3,.
04a0: 0a 09 4f 4c 45 43 4d 44 49 44 5f 53 41 56 45 41 ..OLECMDID_SAVEA
04b0: 53 20 3d 20 34 2c 0d 0a 09 4f 4c 45 43 4d 44 49 S = 4,...OLECMDI
04c0: 44 5f 53 41 56 45 43 4f 50 59 41 53 20 3d 20 35 D_SAVECOPYAS = 5
04d0: 2c 0d 0a 09 4f 4c 45 43 4d 44 49 44 5f 50 52 49 ,...OLECMDID_PRI
04e0: 4e 54 20 3d 20 36 2c 0d 0a 09 4f 4c 45 43 4d 44 NT = 6,...OLECMD
04f0: 49 44 5f 50 52 49 4e 54 50 52 45 56 49 45 57 20 ID_PRINTPREVIEW
0500: 3d 20 37 2c 0d 0a 09 4f 4c 45 43 4d 44 49 44 5f = 7,...OLECMDID_
0510: 50 41 47 45 53 45 54 55 50 20 3d 20 38 2c 0d 0a PAGESETUP = 8,..
0520: 09 4f 4c 45 43 4d 44 49 44 5f 53 50 45 4c 4c 20 .OLECMDID_SPELL
0530: 3d 20 39 2c 0d 0a 09 4f 4c 45 43 4d 44 49 44 5f = 9,...OLECMDID_
0540: 50 52 4f 50 45 52 54 49 45 53 20 3d 20 31 30 2c PROPERTIES = 10,
0550: 0d 0a 09 4f 4c 45 43 4d 44 49 44 5f 43 55 54 20 ...OLECMDID_CUT
0560: 3d 20 31 31 2c 0d 0a 09 4f 4c 45 43 4d 44 49 44 = 11,...OLECMDID
0570: 5f 43 4f 50 59 20 3d 20 31 32 2c 0d 0a 09 4f 4c _COPY = 12,...OL
0580: 45 43 4d 44 49 44 5f 50 41 53 54 45 20 3d 20 31 ECMDID_PASTE = 1
0590: 33 2c 0d 0a 09 4f 4c 45 43 4d 44 49 44 5f 50 41 3,...OLECMDID_PA
05a0: 53 54 45 53 50 45 43 49 41 4c 20 3d 20 31 34 2c STESPECIAL = 14,
05b0: 0d 0a 09 4f 4c 45 43 4d 44 49 44 5f 55 4e 44 4f ...OLECMDID_UNDO
05c0: 20 3d 20 31 35 2c 0d 0a 09 4f 4c 45 43 4d 44 49 = 15,...OLECMDI
05d0: 44 5f 52 45 44 4f 20 3d 20 31 36 2c 0d 0a 09 4f D_REDO = 16,...O
05e0: 4c 45 43 4d 44 49 44 5f 53 45 4c 45 43 54 41 4c LECMDID_SELECTAL
05f0: 4c 20 3d 20 31 37 2c 0d 0a 09 4f 4c 45 43 4d 44 L = 17,...OLECMD
0600: 49 44 5f 43 4c 45 41 52 53 45 4c 45 43 54 49 4f ID_CLEARSELECTIO
0610: 4e 20 3d 20 31 38 2c 0d 0a 09 4f 4c 45 43 4d 44 N = 18,...OLECMD
0620: 49 44 5f 5a 4f 4f 4d 20 3d 20 31 39 2c 0d 0a 09 ID_ZOOM = 19,...
0630: 4f 4c 45 43 4d 44 49 44 5f 47 45 54 5a 4f 4f 4d OLECMDID_GETZOOM
0640: 52 41 4e 47 45 20 3d 20 32 30 2c 0d 0a 09 4f 4c RANGE = 20,...OL
0650: 45 43 4d 44 49 44 5f 55 50 44 41 54 45 43 4f 4d ECMDID_UPDATECOM
0660: 4d 41 4e 44 53 20 3d 20 32 31 2c 0d 0a 09 4f 4c MANDS = 21,...OL
0670: 45 43 4d 44 49 44 5f 52 45 46 52 45 53 48 20 3d ECMDID_REFRESH =
0680: 20 32 32 2c 0d 0a 09 4f 4c 45 43 4d 44 49 44 5f 22,...OLECMDID_
0690: 53 54 4f 50 20 3d 20 32 33 2c 0d 0a 09 4f 4c 45 STOP = 23,...OLE
06a0: 43 4d 44 49 44 5f 48 49 44 45 54 4f 4f 4c 42 41 CMDID_HIDETOOLBA
06b0: 52 53 20 3d 20 32 34 2c 0d 0a 09 4f 4c 45 43 4d RS = 24,...OLECM
06c0: 44 49 44 5f 53 45 54 50 52 4f 47 52 45 53 53 4d DID_SETPROGRESSM
06d0: 41 58 20 3d 20 32 35 2c 0d 0a 09 4f 4c 45 43 4d AX = 25,...OLECM
06e0: 44 49 44 5f 53 45 54 50 52 4f 47 52 45 53 53 50 DID_SETPROGRESSP
06f0: 4f 53 20 3d 20 32 36 2c 0d 0a 09 4f 4c 45 43 4d OS = 26,...OLECM
0700: 44 49 44 5f 53 45 54 50 52 4f 47 52 45 53 53 54 DID_SETPROGRESST
0710: 45 58 54 20 3d 20 32 37 2c 0d 0a 09 4f 4c 45 43 EXT = 27,...OLEC
0720: 4d 44 49 44 5f 53 45 54 54 49 54 4c 45 20 3d 20 MDID_SETTITLE =
0730: 32 38 2c 0d 0a 09 4f 4c 45 43 4d 44 49 44 5f 53 28,...OLECMDID_S
0740: 45 54 44 4f 57 4e 4c 4f 41 44 53 54 41 54 45 20 ETDOWNLOADSTATE
0750: 3d 20 32 39 2c 0d 0a 09 4f 4c 45 43 4d 44 49 44 = 29,...OLECMDID
0760: 5f 53 54 4f 50 44 4f 57 4e 4c 4f 41 44 20 3d 20 _STOPDOWNLOAD =
0770: 33 30 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 4f 4c 30..}....enum OL
0780: 45 43 4d 44 46 20 7b 0d 0a 09 4f 4c 45 43 4d 44 ECMDF {...OLECMD
0790: 46 5f 53 55 50 50 4f 52 54 45 44 20 3d 20 31 2c F_SUPPORTED = 1,
07a0: 0d 0a 09 4f 4c 45 43 4d 44 46 5f 45 4e 41 42 4c ...OLECMDF_ENABL
07b0: 45 44 20 3d 20 32 2c 0d 0a 09 4f 4c 45 43 4d 44 ED = 2,...OLECMD
07c0: 46 5f 4c 41 54 43 48 45 44 20 3d 20 34 2c 0d 0a F_LATCHED = 4,..
07d0: 09 4f 4c 45 43 4d 44 46 5f 4e 49 4e 43 48 45 44 .OLECMDF_NINCHED
07e0: 20 3d 20 38 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 = 8..}....enum
07f0: 4f 4c 45 43 4d 44 45 58 45 43 4f 50 54 20 7b 0d OLECMDEXECOPT {.
0800: 0a 09 4f 4c 45 43 4d 44 45 58 45 43 4f 50 54 5f ..OLECMDEXECOPT_
0810: 44 4f 44 45 46 41 55 4c 54 20 3d 20 30 2c 0d 0a DODEFAULT = 0,..
0820: 09 4f 4c 45 43 4d 44 45 58 45 43 4f 50 54 5f 50 .OLECMDEXECOPT_P
0830: 52 4f 4d 50 54 55 53 45 52 20 3d 20 31 2c 0d 0a ROMPTUSER = 1,..
0840: 09 4f 4c 45 43 4d 44 45 58 45 43 4f 50 54 5f 44 .OLECMDEXECOPT_D
0850: 4f 4e 54 50 52 4f 4d 50 54 55 53 45 52 20 3d 20 ONTPROMPTUSER =
0860: 32 2c 0d 0a 09 4f 4c 45 43 4d 44 45 58 45 43 4f 2,...OLECMDEXECO
0870: 50 54 5f 53 48 4f 57 48 45 4c 50 20 3d 20 33 0d PT_SHOWHELP = 3.
0880: 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 4f 4c 45 .}....struct OLE
0890: 43 4d 44 54 45 58 54 20 7b 0d 0a 09 44 57 4f 52 CMDTEXT {...DWOR
08a0: 44 20 63 6d 64 74 65 78 74 66 3b 0d 0a 09 55 4c D cmdtextf;...UL
08b0: 4f 4e 47 20 63 77 41 63 74 75 61 6c 3b 0d 0a 09 ONG cwActual;...
08c0: 55 4c 4f 4e 47 20 63 77 42 75 66 3b 0d 0a 09 77 ULONG cwBuf;...w
08d0: 63 68 61 72 5b 31 5d 20 72 67 77 7a 3b 0d 0a 7d char[1] rgwz;..}
08e0: 0d 0a 0d 0a 73 74 72 75 63 74 20 4f 4c 45 43 4d ....struct OLECM
08f0: 44 20 7b 0d 0a 09 55 4c 4f 4e 47 20 63 6d 64 49 D {...ULONG cmdI
0900: 44 3b 0d 0a 09 44 57 4f 52 44 20 63 6d 64 66 3b D;...DWORD cmdf;
0910: 0d 0a 7d 0d 0a 0d 0a 61 6c 69 61 73 20 49 4f 6c ..}....alias IOl
0920: 65 49 6e 50 6c 61 63 65 53 69 74 65 20 4c 50 4f eInPlaceSite LPO
0930: 4c 45 49 4e 50 4c 41 43 45 53 49 54 45 3b 0d 0a LEINPLACESITE;..
0940: 61 6c 69 61 73 20 49 45 6e 75 6d 4f 6c 65 44 6f alias IEnumOleDo
0950: 63 75 6d 65 6e 74 56 69 65 77 73 20 4c 50 45 4e cumentViews LPEN
0960: 55 4d 4f 4c 45 44 4f 43 55 4d 45 4e 54 56 49 45 UMOLEDOCUMENTVIE
0970: 57 53 3b 0d 0a 0d 0a 65 78 74 65 72 6e 20 28 43 WS;....extern (C
0980: 29 20 65 78 74 65 72 6e 20 63 6f 6e 73 74 20 49 ) extern const I
0990: 49 44 0d 0a 09 49 49 44 5f 49 43 6f 6e 74 69 6e ID...IID_IContin
09a0: 75 65 43 61 6c 6c 62 61 63 6b 2c 0d 0a 09 49 49 ueCallback,...II
09b0: 44 5f 49 45 6e 75 6d 4f 6c 65 44 6f 63 75 6d 65 D_IEnumOleDocume
09c0: 6e 74 56 69 65 77 73 2c 0d 0a 09 49 49 44 5f 49 ntViews,...IID_I
09d0: 50 72 69 6e 74 2c 0d 0a 09 49 49 44 5f 49 4f 6c Print,...IID_IOl
09e0: 65 44 6f 63 75 6d 65 6e 74 56 69 65 77 2c 0d 0a eDocumentView,..
09f0: 09 49 49 44 5f 49 4f 6c 65 44 6f 63 75 6d 65 6e .IID_IOleDocumen
0a00: 74 2c 0d 0a 09 49 49 44 5f 49 4f 6c 65 43 6f 6d t,...IID_IOleCom
0a10: 6d 61 6e 64 54 61 72 67 65 74 2c 0d 0a 09 49 49 mandTarget,...II
0a20: 44 5f 49 4f 6c 65 44 6f 63 75 6d 65 6e 74 53 69 D_IOleDocumentSi
0a30: 74 65 3b 0d 0a 0d 0a 0d 0a 69 6e 74 65 72 66 61 te;......interfa
0a40: 63 65 20 49 4f 6c 65 44 6f 63 75 6d 65 6e 74 56 ce IOleDocumentV
0a50: 69 65 77 20 3a 20 49 55 6e 6b 6e 6f 77 6e 20 7b iew : IUnknown {
0a60: 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 49 6e ...HRESULT SetIn
0a70: 50 6c 61 63 65 53 69 74 65 28 4c 50 4f 4c 45 49 PlaceSite(LPOLEI
0a80: 4e 50 4c 41 43 45 53 49 54 45 29 3b 0d 0a 09 48 NPLACESITE);...H
0a90: 52 45 53 55 4c 54 20 47 65 74 49 6e 50 6c 61 63 RESULT GetInPlac
0aa0: 65 53 69 74 65 28 4c 50 4f 4c 45 49 4e 50 4c 41 eSite(LPOLEINPLA
0ab0: 43 45 53 49 54 45 2a 29 3b 0d 0a 09 48 52 45 53 CESITE*);...HRES
0ac0: 55 4c 54 20 47 65 74 44 6f 63 75 6d 65 6e 74 28 ULT GetDocument(
0ad0: 49 55 6e 6b 6e 6f 77 6e 2a 29 3b 0d 0a 09 48 52 IUnknown*);...HR
0ae0: 45 53 55 4c 54 20 53 65 74 52 65 63 74 28 4c 50 ESULT SetRect(LP
0af0: 52 45 43 54 29 3b 0d 0a 09 48 52 45 53 55 4c 54 RECT);...HRESULT
0b00: 20 47 65 74 52 65 63 74 28 4c 50 52 45 43 54 29 GetRect(LPRECT)
0b10: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 53 65 74 52 ;...HRESULT SetR
0b20: 65 63 74 43 6f 6d 70 6c 65 78 28 4c 50 52 45 43 ectComplex(LPREC
0b30: 54 2c 20 4c 50 52 45 43 54 2c 20 4c 50 52 45 43 T, LPRECT, LPREC
0b40: 54 2c 20 4c 50 52 45 43 54 29 3b 0d 0a 09 48 52 T, LPRECT);...HR
0b50: 45 53 55 4c 54 20 53 68 6f 77 28 42 4f 4f 4c 29 ESULT Show(BOOL)
0b60: 3b 0d 0a 09 48 52 45 53 55 4c 54 20 55 49 41 63 ;...HRESULT UIAc
0b70: 74 69 76 61 74 65 28 42 4f 4f 4c 29 3b 0d 0a 09 tivate(BOOL);...
0b80: 48 52 45 53 55 4c 54 20 4f 70 65 6e 28 29 3b 0d HRESULT Open();.
0b90: 0a 09 48 52 45 53 55 4c 54 20 43 6c 6f 73 65 28 ..HRESULT Close(
0ba0: 44 57 4f 52 44 29 3b 0d 0a 09 48 52 45 53 55 4c DWORD);...HRESUL
0bb0: 54 20 53 61 76 65 56 69 65 77 53 74 61 74 65 28 T SaveViewState(
0bc0: 49 53 74 72 65 61 6d 29 3b 0d 0a 09 48 52 45 53 IStream);...HRES
0bd0: 55 4c 54 20 41 70 70 6c 79 56 69 65 77 53 74 61 ULT ApplyViewSta
0be0: 74 65 28 49 53 74 72 65 61 6d 29 3b 0d 0a 09 48 te(IStream);...H
0bf0: 52 45 53 55 4c 54 20 43 6c 6f 6e 65 28 4c 50 4f RESULT Clone(LPO
0c00: 4c 45 49 4e 50 4c 41 43 45 53 49 54 45 2c 20 49 LEINPLACESITE, I
0c10: 4f 6c 65 44 6f 63 75 6d 65 6e 74 56 69 65 77 2a OleDocumentView*
0c20: 29 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 65 72 66 61 );..}....interfa
0c30: 63 65 20 49 45 6e 75 6d 4f 6c 65 44 6f 63 75 6d ce IEnumOleDocum
0c40: 65 6e 74 56 69 65 77 73 20 3a 20 49 55 6e 6b 6e entViews : IUnkn
0c50: 6f 77 6e 20 7b 0d 0a 09 20 20 48 52 45 53 55 4c own {... HRESUL
0c60: 54 20 4e 65 78 74 28 55 4c 4f 4e 47 2c 20 49 4f T Next(ULONG, IO
0c70: 6c 65 44 6f 63 75 6d 65 6e 74 56 69 65 77 2c 20 leDocumentView,
0c80: 55 4c 4f 4e 47 2a 29 3b 0d 0a 09 20 20 48 52 45 ULONG*);... HRE
0c90: 53 55 4c 54 20 53 6b 69 70 28 55 4c 4f 4e 47 29 SULT Skip(ULONG)
0ca0: 3b 0d 0a 09 20 20 48 52 45 53 55 4c 54 20 52 65 ;... HRESULT Re
0cb0: 73 65 74 28 29 3b 0d 0a 09 20 20 48 52 45 53 55 set();... HRESU
0cc0: 4c 54 20 43 6c 6f 6e 65 28 49 45 6e 75 6d 4f 6c LT Clone(IEnumOl
0cd0: 65 44 6f 63 75 6d 65 6e 74 56 69 65 77 73 2a 29 eDocumentViews*)
0ce0: 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 65 72 66 61 63 ;..}....interfac
0cf0: 65 20 49 4f 6c 65 44 6f 63 75 6d 65 6e 74 20 3a e IOleDocument :
0d00: 20 49 55 6e 6b 6e 6f 77 6e 20 7b 0d 0a 09 48 52 IUnknown {...HR
0d10: 45 53 55 4c 54 20 43 72 65 61 74 65 56 69 65 77 ESULT CreateView
0d20: 28 4c 50 4f 4c 45 49 4e 50 4c 41 43 45 53 49 54 (LPOLEINPLACESIT
0d30: 45 2c 20 49 53 74 72 65 61 6d 2c 20 44 57 4f 52 E, IStream, DWOR
0d40: 44 2c 20 49 4f 6c 65 44 6f 63 75 6d 65 6e 74 56 D, IOleDocumentV
0d50: 69 65 77 2a 29 3b 0d 0a 09 48 52 45 53 55 4c 54 iew*);...HRESULT
0d60: 20 47 65 74 44 6f 63 4d 69 73 63 53 74 61 74 75 GetDocMiscStatu
0d70: 73 28 44 57 4f 52 44 2a 29 3b 0d 0a 09 48 52 45 s(DWORD*);...HRE
0d80: 53 55 4c 54 20 45 6e 75 6d 56 69 65 77 73 28 4c SULT EnumViews(L
0d90: 50 45 4e 55 4d 4f 4c 45 44 4f 43 55 4d 45 4e 54 PENUMOLEDOCUMENT
0da0: 56 49 45 57 53 2a 2c 20 49 4f 6c 65 44 6f 63 75 VIEWS*, IOleDocu
0db0: 6d 65 6e 74 56 69 65 77 2a 29 3b 0d 0a 7d 0d 0a mentView*);..}..
0dc0: 0d 0a 69 6e 74 65 72 66 61 63 65 20 49 4f 6c 65 ..interface IOle
0dd0: 43 6f 6d 6d 61 6e 64 54 61 72 67 65 74 20 3a 20 CommandTarget :
0de0: 49 55 6e 6b 6e 6f 77 6e 20 7b 0d 0a 09 48 52 45 IUnknown {...HRE
0df0: 53 55 4c 54 20 51 75 65 72 79 53 74 61 74 75 73 SULT QueryStatus
0e00: 28 63 6f 6e 73 74 28 47 55 49 44 29 2a 2c 20 55 (const(GUID)*, U
0e10: 4c 4f 4e 47 2c 20 4f 4c 45 43 4d 44 2a 2c 20 4f LONG, OLECMD*, O
0e20: 4c 45 43 4d 44 54 45 58 54 2a 29 3b 0d 0a 09 48 LECMDTEXT*);...H
0e30: 52 45 53 55 4c 54 20 45 78 65 63 28 63 6f 6e 73 RESULT Exec(cons
0e40: 74 28 47 55 49 44 29 2a 2c 20 44 57 4f 52 44 2c t(GUID)*, DWORD,
0e50: 20 44 57 4f 52 44 2c 20 56 41 52 49 41 4e 54 41 DWORD, VARIANTA
0e60: 52 47 2a 2c 20 56 41 52 49 41 4e 54 41 52 47 2a RG*, VARIANTARG*
0e70: 29 3b 0d 0a 7d 0d 0a 0d 0a 69 6e 74 65 72 66 61 );..}....interfa
0e80: 63 65 20 49 4f 6c 65 44 6f 63 75 6d 65 6e 74 53 ce IOleDocumentS
0e90: 69 74 65 20 3a 20 49 55 6e 6b 6e 6f 77 6e 20 7b ite : IUnknown {
0ea0: 0d 0a 09 48 52 45 53 55 4c 54 20 41 63 74 69 76 ...HRESULT Activ
0eb0: 61 74 65 4d 65 28 49 4f 6c 65 44 6f 63 75 6d 65 ateMe(IOleDocume
0ec0: 6e 74 56 69 65 77 29 3b 0d 0a 7d 0d 0a ntView);..}..