1 // Copyright © 2015, Peter Atashian 2 // Licensed under the MIT License <LICENSE.md> 3 //! this ALWAYS GENERATED file contains the definitions for the interfaces 4 //8402 5 STRUCT!{struct BIND_OPTS { 6 cbStruct: ::DWORD, 7 grfFlags: ::DWORD, 8 grfMode: ::DWORD, 9 dwTickCountDeadline: ::DWORD, 10 }} 11 pub type LPBIND_OPTS = *mut BIND_OPTS; 12 //8479 13 RIDL!( 14 interface IBindCtx(IBindCtxVtbl): IUnknown(IUnknownVtbl) { 15 fn RegisterObjectBound(&mut self, punk: *mut ::IUnknown) -> ::HRESULT, 16 fn RevokeObjectBound(&mut self, punk: *mut ::IUnknown) -> ::HRESULT, 17 fn ReleaseBoundObjects(&mut self) -> ::HRESULT, 18 fn SetBindOptions(&mut self, pbindopts: *mut BIND_OPTS) -> ::HRESULT, 19 fn GetBindOptions(&mut self, pbindopts: *mut BIND_OPTS) -> ::HRESULT, 20 fn GetRunningObjectTable(&mut self, pprot: *mut *mut IRunningObjectTable) -> ::HRESULT, 21 fn RegisterObjectParam(&mut self, pszKey: ::LPOLESTR, punk: *mut ::IUnknown) -> ::HRESULT, 22 fn GetObjectParam(&mut self, pszKey: ::LPOLESTR, ppunk: *mut *mut ::IUnknown) -> ::HRESULT, 23 fn EnumObjectParam(&mut self, ppenum: *mut *mut ::IEnumString) -> ::HRESULT, 24 fn RevokeObjectParam(&mut self, pszKey: ::LPOLESTR) -> ::HRESULT 25 } 26 ); 27 //8681 28 pub type IEnumMoniker = ::IUnknown; // TODO 29 //8958 30 RIDL!( 31 interface IRunningObjectTable(IRunningObjectTableVtbl): IUnknown(IUnknownVtbl) { 32 fn Register( 33 &mut self, grfFlags: ::DWORD, punkObject: *mut ::IUnknown, pmkObjectName: *mut IMoniker, 34 pdwRegister: *mut ::DWORD 35 ) -> ::HRESULT, 36 fn Revoke(&mut self, dwRegister: ::DWORD) -> ::HRESULT, 37 fn IsRunning(&mut self, pmkObjectName: *mut IMoniker) -> ::HRESULT, 38 fn GetObject( 39 &mut self, pmkObjectName: *mut IMoniker, ppunkObject: *mut *mut ::IUnknown 40 ) -> ::HRESULT, 41 fn NoteChangeTime(&mut self, dwRegister: ::DWORD, pfiletime: *mut ::FILETIME) -> ::HRESULT, 42 fn GetTimeOfLastChange( 43 &mut self, pmkObjectName: *mut IMoniker, pfiletime: *mut ::FILETIME 44 ) -> ::HRESULT, 45 fn EnumRunning(&mut self, ppenumMoniker: *mut *mut IEnumMoniker) -> ::HRESULT 46 } 47 ); 48 //9350 49 pub type IMoniker = ::IUnknown; // TODO 50 pub type EOLE_AUTHENTICATION_CAPABILITIES = ::DWORD; 51 pub const EOAC_NONE: ::DWORD = 0; 52 pub const EOAC_MUTUAL_AUTH: ::DWORD = 0x1; 53 pub const EOAC_STATIC_CLOAKING: ::DWORD = 0x20; 54 pub const EOAC_DYNAMIC_CLOAKING: ::DWORD = 0x40; 55 pub const EOAC_ANY_AUTHORITY: ::DWORD = 0x80; 56 pub const EOAC_MAKE_FULLSIC: ::DWORD = 0x100; 57 pub const EOAC_DEFAULT: ::DWORD = 0x800; 58 pub const EOAC_SECURE_REFS: ::DWORD = 0x2; 59 pub const EOAC_ACCESS_CONTROL: ::DWORD = 0x4; 60 pub const EOAC_APPID: ::DWORD = 0x8; 61 pub const EOAC_DYNAMIC: ::DWORD = 0x10; 62 pub const EOAC_REQUIRE_FULLSIC: ::DWORD = 0x200; 63 pub const EOAC_AUTO_IMPERSONATE: ::DWORD = 0x400; 64 pub const EOAC_NO_CUSTOM_MARSHAL: ::DWORD = 0x2000; 65 pub const EOAC_DISABLE_AAA: ::DWORD = 0x1000; 66 STRUCT!{struct SOLE_AUTHENTICATION_SERVICE { 67 dwAuthnSvc: ::DWORD, 68 dwAuthzSvc: ::DWORD, 69 pPrincipalName: *mut ::OLECHAR, 70 hr: ::HRESULT, 71 }} 72 73 RIDL!( 74 interface IApartmentShutdown(IApartmentShutdownVtbl): IUnknown(IUnknownVtbl) { 75 fn OnUninitialize(&mut self, ui64ApartmentIdentifier: ::UINT64) -> ::VOID 76 } 77 ); 78 79 RIDL!( 80 interface IMarshal(IMarshalVtbl): IUnknown(IUnknownVtbl) { 81 fn GetUnmarshalClass( 82 &mut self, riid: ::REFIID, pv: *const ::VOID, dwDestContext: ::DWORD, 83 pvDestContext: *const ::VOID, mshlflags: ::DWORD, pCid: *mut ::CLSID 84 ) -> ::HRESULT, 85 fn GetMarshalSizeMax( 86 &mut self, riid: ::REFIID, pv: *const ::VOID, dwDestContext: ::DWORD, 87 pvDestContext: *const ::VOID, mshlflags: ::DWORD, pSize: *mut ::DWORD 88 ) -> ::HRESULT, 89 fn MarshalInterface( 90 &mut self, pStm: *const ::IStream, riid: ::REFIID, pv: *const ::VOID, 91 dwDestContext: ::DWORD, pvDestContext: *const ::VOID, 92 mshlflags: ::DWORD 93 ) -> ::HRESULT, 94 fn UnmarshalInterface( 95 &mut self, pStm: *const ::IStream, riid: ::REFIID, ppv: *mut *mut ::VOID 96 ) -> ::HRESULT, 97 fn ReleaseMarshalData(&mut self, pStm: *const ::IStream) -> ::HRESULT, 98 fn DisconnectObject(&mut self, dwReserved: ::DWORD) -> ::HRESULT 99 } 100 );