1 // Copyright © 2016-2017 winapi-rs developers 2 // Licensed under the Apache License, Version 2.0 3 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 4 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. 5 // All files in the project carrying such notice may not be copied, modified, or distributed 6 // except according to those terms. 7 //! this ALWAYS GENERATED file contains the definitions for the interfaces 8 use ctypes::c_void; 9 use shared::basetsd::UINT64; 10 use shared::guiddef::{CLSID, REFIID}; 11 use shared::minwindef::{BOOL, DWORD, FILETIME, ULONG}; 12 use shared::wtypesbase::{LPOLESTR, OLECHAR}; 13 use um::objidlbase::{IEnumString, IStream}; 14 use um::unknwnbase::{IUnknown, IUnknownVtbl}; 15 use um::winnt::{HRESULT, ULARGE_INTEGER}; 16 //8402 17 STRUCT!{struct BIND_OPTS { 18 cbStruct: DWORD, 19 grfFlags: DWORD, 20 grfMode: DWORD, 21 dwTickCountDeadline: DWORD, 22 }} 23 pub type LPBIND_OPTS = *mut BIND_OPTS; 24 //8479 25 RIDL!( 26 #[uuid(0x0000000e, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] 27 interface IBindCtx(IBindCtxVtbl): IUnknown(IUnknownVtbl) { 28 fn RegisterObjectBound( 29 punk: *mut IUnknown, 30 ) -> HRESULT, 31 fn RevokeObjectBound( 32 punk: *mut IUnknown, 33 ) -> HRESULT, 34 fn ReleaseBoundObjects() -> HRESULT, 35 fn SetBindOptions( 36 pbindopts: *mut BIND_OPTS, 37 ) -> HRESULT, 38 fn GetBindOptions( 39 pbindopts: *mut BIND_OPTS, 40 ) -> HRESULT, 41 fn GetRunningObjectTable( 42 pprot: *mut *mut IRunningObjectTable, 43 ) -> HRESULT, 44 fn RegisterObjectParam( 45 pszKey: LPOLESTR, 46 punk: *mut IUnknown, 47 ) -> HRESULT, 48 fn GetObjectParam( 49 pszKey: LPOLESTR, 50 ppunk: *mut *mut IUnknown, 51 ) -> HRESULT, 52 fn EnumObjectParam( 53 ppenum: *mut *mut IEnumString, 54 ) -> HRESULT, 55 fn RevokeObjectParam( 56 pszKey: LPOLESTR, 57 ) -> HRESULT, 58 } 59 ); 60 //8681 61 RIDL!( 62 #[uuid(0x00000102, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] 63 interface IEnumMoniker(IEnumMonikerVtbl): IUnknown(IUnknownVtbl) { 64 fn Next( 65 celt: ULONG, 66 rgelt: *mut *mut IMoniker, 67 pceltFetched: *mut ULONG, 68 ) -> HRESULT, 69 fn Skip( 70 celt: ULONG, 71 ) -> HRESULT, 72 fn Reset() -> HRESULT, 73 fn Clone( 74 ppenum: *mut *mut IEnumMoniker, 75 ) -> HRESULT, 76 } 77 ); 78 //8958 79 RIDL!( 80 #[uuid(0x00000010, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] 81 interface IRunningObjectTable(IRunningObjectTableVtbl): IUnknown(IUnknownVtbl) { 82 fn Register( 83 grfFlags: DWORD, 84 punkObject: *mut IUnknown, 85 pmkObjectName: *mut IMoniker, 86 pdwRegister: *mut DWORD, 87 ) -> HRESULT, 88 fn Revoke( 89 dwRegister: DWORD, 90 ) -> HRESULT, 91 fn IsRunning( 92 pmkObjectName: *mut IMoniker, 93 ) -> HRESULT, 94 fn GetObject( 95 pmkObjectName: *mut IMoniker, 96 ppunkObject: *mut *mut IUnknown, 97 ) -> HRESULT, 98 fn NoteChangeTime( 99 dwRegister: DWORD, 100 pfiletime: *mut FILETIME, 101 ) -> HRESULT, 102 fn GetTimeOfLastChange( 103 pmkObjectName: *mut IMoniker, 104 pfiletime: *mut FILETIME, 105 ) -> HRESULT, 106 fn EnumRunning( 107 ppenumMoniker: *mut *mut IEnumMoniker, 108 ) -> HRESULT, 109 } 110 ); 111 //9125 112 RIDL!( 113 #[uuid(0x0000010c, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] 114 interface IPersist(IPersistVtbl): IUnknown(IUnknownVtbl) { 115 fn GetClassID( 116 pClassID: *mut CLSID, 117 ) -> HRESULT, 118 } 119 ); 120 //9207 121 RIDL!( 122 #[uuid(0x00000109, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] 123 interface IPersistStream(IPersistStreamVtbl): IPersist(IPersistVtbl) { 124 fn IsDirty() -> HRESULT, 125 fn Load( 126 pStm: *mut IStream, 127 ) -> HRESULT, 128 fn Save( 129 pStm: *mut IStream, 130 fClearDirty: BOOL, 131 ) -> HRESULT, 132 fn GetSizeMax( 133 pcbSize: *mut ULARGE_INTEGER, 134 ) -> HRESULT, 135 } 136 ); 137 //9350 138 RIDL!( 139 #[uuid(0x0000000f, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] 140 interface IMoniker(IMonikerVtbl): IPersistStream(IPersistStreamVtbl) { 141 fn BindToObject( 142 pbc: *mut IBindCtx, 143 pmkToLeft: *mut IMoniker, 144 riidResult: REFIID, 145 ppvResult: *mut *mut c_void, 146 ) -> HRESULT, 147 fn BindToStorage( 148 pbc: *mut IBindCtx, 149 pmkToLeft: *mut IMoniker, 150 riid: REFIID, 151 ppvObj: *mut *mut c_void, 152 ) -> HRESULT, 153 fn Reduce( 154 pbc: *mut IBindCtx, 155 dwReduceHowFar: DWORD, 156 ppmkToLeft: *mut *mut IMoniker, 157 ppmkReduced: *mut *mut IMoniker, 158 ) -> HRESULT, 159 fn ComposeWith( 160 pmkRight: *mut IMoniker, 161 fOnlyIfNotGeneric: BOOL, 162 ppmkComposite: *mut *mut IMoniker, 163 ) -> HRESULT, 164 fn Enum( 165 fForward: BOOL, 166 ppenumMoniker: *mut *mut IEnumMoniker, 167 ) -> HRESULT, 168 fn IsEqual( 169 pmkOtherMoniker: *mut IMoniker, 170 ) -> HRESULT, 171 fn Hash( 172 pdwHash: *mut DWORD, 173 ) -> HRESULT, 174 fn IsRunning( 175 pbc: *mut IBindCtx, 176 pmkToLeft: *mut IMoniker, 177 pmkNewlyRunning: *mut IMoniker, 178 ) -> HRESULT, 179 fn GetTimeOfLastChange( 180 pbc: *mut IBindCtx, 181 pmkToLeft: *mut IMoniker, 182 pFileTime: *mut FILETIME, 183 ) -> HRESULT, 184 fn Inverse( 185 ppmk: *mut *mut IMoniker, 186 ) -> HRESULT, 187 fn CommonPrefixWith( 188 pmkOther: *mut IMoniker, 189 ppmkPrefix: *mut *mut IMoniker, 190 ) -> HRESULT, 191 fn RelativePathTo( 192 pmkOther: *mut IMoniker, 193 ppmkRelPath: *mut *mut IMoniker, 194 ) -> HRESULT, 195 fn GetDisplayName( 196 pbc: *mut IBindCtx, 197 pmkToLeft: *mut IMoniker, 198 ppszDisplayName: *mut LPOLESTR, 199 ) -> HRESULT, 200 fn ParseDisplayName( 201 pbc: *mut IBindCtx, 202 pmkToLeft: *mut IMoniker, 203 pszDisplayName: LPOLESTR, 204 pchEaten: *mut ULONG, 205 ppmkOut: *mut *mut IMoniker, 206 ) -> HRESULT, 207 fn IsSystemMoniker( 208 pdwMksys: *mut DWORD, 209 ) -> HRESULT, 210 } 211 ); 212 ENUM!{enum EOLE_AUTHENTICATION_CAPABILITIES { 213 EOAC_NONE = 0, 214 EOAC_MUTUAL_AUTH = 0x1, 215 EOAC_STATIC_CLOAKING = 0x20, 216 EOAC_DYNAMIC_CLOAKING = 0x40, 217 EOAC_ANY_AUTHORITY = 0x80, 218 EOAC_MAKE_FULLSIC = 0x100, 219 EOAC_DEFAULT = 0x800, 220 EOAC_SECURE_REFS = 0x2, 221 EOAC_ACCESS_CONTROL = 0x4, 222 EOAC_APPID = 0x8, 223 EOAC_DYNAMIC = 0x10, 224 EOAC_REQUIRE_FULLSIC = 0x200, 225 EOAC_AUTO_IMPERSONATE = 0x400, 226 EOAC_NO_CUSTOM_MARSHAL = 0x2000, 227 EOAC_DISABLE_AAA = 0x1000, 228 }} 229 STRUCT!{struct SOLE_AUTHENTICATION_SERVICE { 230 dwAuthnSvc: DWORD, 231 dwAuthzSvc: DWORD, 232 pPrincipalName: *mut OLECHAR, 233 hr: HRESULT, 234 }} 235 RIDL!( 236 #[uuid(0xa2f05a09, 0x27a2, 0x42b5, 0xbc, 0x0e, 0xac, 0x16, 0x3e, 0xf4, 0x9d, 0x9b)] 237 interface IApartmentShutdown(IApartmentShutdownVtbl): IUnknown(IUnknownVtbl) { 238 fn OnUninitialize( 239 ui64ApartmentIdentifier: UINT64, 240 ) -> (), 241 } 242 ); 243 RIDL!( 244 #[uuid(0x00000003, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)] 245 interface IMarshal(IMarshalVtbl): IUnknown(IUnknownVtbl) { 246 fn GetUnmarshalClass( 247 riid: REFIID, 248 pv: *mut c_void, 249 dwDestContext: DWORD, 250 pvDestContext: *mut c_void, 251 mshlflags: DWORD, 252 pCid: *mut CLSID, 253 ) -> HRESULT, 254 fn GetMarshalSizeMax( 255 riid: REFIID, 256 pv: *mut c_void, 257 dwDestContext: DWORD, 258 pvDestContext: *mut c_void, 259 mshlflags: DWORD, 260 pSize: *mut DWORD, 261 ) -> HRESULT, 262 fn MarshalInterface( 263 pStm: *mut IStream, 264 riid: REFIID, 265 pv: *mut c_void, 266 dwDestContext: DWORD, 267 pvDestContext: *mut c_void, 268 mshlflags: DWORD, 269 ) -> HRESULT, 270 fn UnmarshalInterface( 271 pStm: *mut IStream, 272 riid: REFIID, 273 ppv: *mut *mut c_void, 274 ) -> HRESULT, 275 fn ReleaseMarshalData( 276 pStm: *mut IStream, 277 ) -> HRESULT, 278 fn DisconnectObject( 279 dwReserved: DWORD, 280 ) -> HRESULT, 281 } 282 ); 283