1 // Licensed under the Apache License, Version 2.0 2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. 4 // All files in the project carrying such notice may not be copied, modified, or distributed 5 // except according to those terms. 6 use ctypes::wchar_t; 7 use shared::guiddef::GUID; 8 use shared::minwindef::{DWORD, ULONG}; 9 use um::oaidl::VARIANT; 10 use um::unknwnbase::{IUnknown, IUnknownVtbl}; 11 use um::winnt::HRESULT; 12 ENUM!{enum OLECMDF { 13 OLECMDF_SUPPORTED = 0x1, 14 OLECMDF_ENABLED = 0x2, 15 OLECMDF_LATCHED = 0x4, 16 OLECMDF_NINCHED = 0x8, 17 OLECMDF_INVISIBLE = 0x10, 18 OLECMDF_DEFHIDEONCTXTMENU = 0x20, 19 }} 20 STRUCT!{struct OLECMD { 21 cmdID: ULONG, 22 cmdf: DWORD, 23 }} 24 STRUCT!{struct OLECMDTEXT { 25 cmdtextf: DWORD, 26 cwActual: ULONG, 27 cwBuf: ULONG, 28 rgwz: [wchar_t; 1], 29 }} 30 ENUM!{enum OLECMDEXECOPT { 31 OLECMDEXECOPT_DODEFAULT = 0, 32 OLECMDEXECOPT_PROMPTUSER = 1, 33 OLECMDEXECOPT_DONTPROMPTUSER = 2, 34 OLECMDEXECOPT_SHOWHELP = 3, 35 }} 36 ENUM!{enum OLECMDID { 37 OLECMDID_OPEN = 1, 38 OLECMDID_NEW = 2, 39 OLECMDID_SAVE = 3, 40 OLECMDID_SAVEAS = 4, 41 OLECMDID_SAVECOPYAS = 5, 42 OLECMDID_PRINT = 6, 43 OLECMDID_PRINTPREVIEW = 7, 44 OLECMDID_PAGESETUP = 8, 45 OLECMDID_SPELL = 9, 46 OLECMDID_PROPERTIES = 10, 47 OLECMDID_CUT = 11, 48 OLECMDID_COPY = 12, 49 OLECMDID_PASTE = 13, 50 OLECMDID_PASTESPECIAL = 14, 51 OLECMDID_UNDO = 15, 52 OLECMDID_REDO = 16, 53 OLECMDID_SELECTALL = 17, 54 OLECMDID_CLEARSELECTION = 18, 55 OLECMDID_ZOOM = 19, 56 OLECMDID_GETZOOMRANGE = 20, 57 OLECMDID_UPDATECOMMANDS = 21, 58 OLECMDID_REFRESH = 22, 59 OLECMDID_STOP = 23, 60 OLECMDID_HIDETOOLBARS = 24, 61 OLECMDID_SETPROGRESSMAX = 25, 62 OLECMDID_SETPROGRESSPOS = 26, 63 OLECMDID_SETPROGRESSTEXT = 27, 64 OLECMDID_SETTITLE = 28, 65 OLECMDID_SETDOWNLOADSTATE = 29, 66 OLECMDID_STOPDOWNLOAD = 30, 67 OLECMDID_ONTOOLBARACTIVATED = 31, 68 OLECMDID_FIND = 32, 69 OLECMDID_DELETE = 33, 70 OLECMDID_HTTPEQUIV = 34, 71 OLECMDID_HTTPEQUIV_DONE = 35, 72 OLECMDID_ENABLE_INTERACTION = 36, 73 OLECMDID_ONUNLOAD = 37, 74 OLECMDID_PROPERTYBAG2 = 38, 75 OLECMDID_PREREFRESH = 39, 76 OLECMDID_SHOWSCRIPTERROR = 40, 77 OLECMDID_SHOWMESSAGE = 41, 78 OLECMDID_SHOWFIND = 42, 79 OLECMDID_SHOWPAGESETUP = 43, 80 OLECMDID_SHOWPRINT = 44, 81 OLECMDID_CLOSE = 45, 82 OLECMDID_ALLOWUILESSSAVEAS = 46, 83 OLECMDID_DONTDOWNLOADCSS = 47, 84 OLECMDID_UPDATEPAGESTATUS = 48, 85 OLECMDID_PRINT2 = 49, 86 OLECMDID_PRINTPREVIEW2 = 50, 87 OLECMDID_SETPRINTTEMPLATE = 51, 88 OLECMDID_GETPRINTTEMPLATE = 52, 89 OLECMDID_PAGEACTIONBLOCKED = 55, 90 OLECMDID_PAGEACTIONUIQUERY = 56, 91 OLECMDID_FOCUSVIEWCONTROLS = 57, 92 OLECMDID_FOCUSVIEWCONTROLSQUERY = 58, 93 OLECMDID_SHOWPAGEACTIONMENU = 59, 94 OLECMDID_ADDTRAVELENTRY = 60, 95 OLECMDID_UPDATETRAVELENTRY = 61, 96 OLECMDID_UPDATEBACKFORWARDSTATE = 62, 97 OLECMDID_OPTICAL_ZOOM = 63, 98 OLECMDID_OPTICAL_GETZOOMRANGE = 64, 99 OLECMDID_WINDOWSTATECHANGED = 65, 100 OLECMDID_ACTIVEXINSTALLSCOPE = 66, 101 OLECMDID_UPDATETRAVELENTRY_DATARECOVERY = 67, 102 OLECMDID_SHOWTASKDLG = 68, 103 OLECMDID_POPSTATEEVENT = 69, 104 OLECMDID_VIEWPORT_MODE = 70, 105 OLECMDID_LAYOUT_VIEWPORT_WIDTH = 71, 106 OLECMDID_VISUAL_VIEWPORT_EXCLUDE_BOTTOM = 72, 107 OLECMDID_USER_OPTICAL_ZOOM = 73, 108 OLECMDID_PAGEAVAILABLE = 74, 109 OLECMDID_GETUSERSCALABLE = 75, 110 OLECMDID_UPDATE_CARET = 76, 111 OLECMDID_ENABLE_VISIBILITY = 77, 112 OLECMDID_MEDIA_PLAYBACK = 78, 113 OLECMDID_SETFAVICON = 79, 114 OLECMDID_SET_HOST_FULLSCREENMODE = 80, 115 OLECMDID_EXITFULLSCREEN = 81, 116 OLECMDID_SCROLLCOMPLETE = 82, 117 OLECMDID_ONBEFOREUNLOAD = 83, 118 OLECMDID_SHOWMESSAGE_BLOCKABLE = 84, 119 OLECMDID_SHOWTASKDLG_BLOCKABLE = 85, 120 }} 121 RIDL!{#[uuid(0xb722bccb, 0x4e68, 0x101b, 0xa2, 0xbc, 0x00, 0xaa, 0x00, 0x40, 0x47, 0x70)] 122 interface IOleCommandTarget(IOleCommandTargetVtbl): IUnknown(IUnknownVtbl) { 123 fn QueryStatus( 124 pguidCmdGroup: *const GUID, 125 cCmds: ULONG, 126 prgCmds: *mut OLECMD, 127 pCmdText: *mut OLECMDTEXT, 128 ) -> HRESULT, 129 fn Exec( 130 pguidCmdGroup: *const GUID, 131 nCmdID: DWORD, 132 nCmdexecopt: DWORD, 133 pvaIn: *mut VARIANT, 134 pvaOut: *mut VARIANT, 135 ) -> HRESULT, 136 }} 137