pub struct ITypeInfo(/* private fields */);
Implementations§
§impl ITypeInfo
impl ITypeInfo
pub unsafe fn GetTypeAttr(&self) -> Result<*mut TYPEATTR>
pub unsafe fn GetTypeComp(&self) -> Result<ITypeComp>
pub unsafe fn GetFuncDesc(&self, index: u32) -> Result<*mut FUNCDESC>
pub unsafe fn GetVarDesc(&self, index: u32) -> Result<*mut VARDESC>
pub unsafe fn GetNames( &self, memid: i32, rgbstrnames: &mut [BSTR], pcnames: *mut u32, ) -> Result<()>
pub unsafe fn GetRefTypeOfImplType(&self, index: u32) -> Result<u32>
pub unsafe fn GetImplTypeFlags(&self, index: u32) -> Result<IMPLTYPEFLAGS>
pub unsafe fn GetIDsOfNames( &self, rgsznames: *const PCWSTR, cnames: u32, pmemid: *mut i32, ) -> Result<()>
pub unsafe fn Invoke( &self, pvinstance: *const c_void, memid: i32, wflags: DISPATCH_FLAGS, pdispparams: *mut DISPPARAMS, pvarresult: *mut VARIANT, pexcepinfo: *mut EXCEPINFO, puargerr: *mut u32, ) -> Result<()>
pub unsafe fn GetDocumentation( &self, memid: i32, pbstrname: Option<*mut BSTR>, pbstrdocstring: Option<*mut BSTR>, pdwhelpcontext: *mut u32, pbstrhelpfile: Option<*mut BSTR>, ) -> Result<()>
pub unsafe fn GetDllEntry( &self, memid: i32, invkind: INVOKEKIND, pbstrdllname: Option<*mut BSTR>, pbstrname: Option<*mut BSTR>, pwordinal: *mut u16, ) -> Result<()>
pub unsafe fn GetRefTypeInfo(&self, hreftype: u32) -> Result<ITypeInfo>
pub unsafe fn AddressOfMember( &self, memid: i32, invkind: INVOKEKIND, ppv: *mut *mut c_void, ) -> Result<()>
pub unsafe fn CreateInstance<P0, T>(&self, punkouter: P0) -> Result<T>where
P0: Param<IUnknown>,
T: Interface,
pub unsafe fn GetMops(&self, memid: i32) -> Result<BSTR>
pub unsafe fn GetContainingTypeLib( &self, pptlib: *mut Option<ITypeLib>, pindex: *mut u32, ) -> Result<()>
pub unsafe fn ReleaseTypeAttr(&self, ptypeattr: *const TYPEATTR)
pub unsafe fn ReleaseFuncDesc(&self, pfuncdesc: *const FUNCDESC)
pub unsafe fn ReleaseVarDesc(&self, pvardesc: *const VARDESC)
Trait Implementations§
§impl From<&ITypeInfo2> for &ITypeInfo
impl From<&ITypeInfo2> for &ITypeInfo
§fn from(value: &ITypeInfo2) -> Self
fn from(value: &ITypeInfo2) -> Self
Converts to this type from the input type.
§impl From<ITypeInfo2> for ITypeInfo
impl From<ITypeInfo2> for ITypeInfo
§fn from(value: ITypeInfo2) -> Self
fn from(value: ITypeInfo2) -> Self
Converts to this type from the input type.
§impl Interface for ITypeInfo
impl Interface for ITypeInfo
§fn as_raw(&self) -> *mut c_void
fn as_raw(&self) -> *mut c_void
Returns the raw COM interface pointer. The resulting pointer continues to be owned by the
Interface
implementation.§fn into_raw(self) -> *mut c_void
fn into_raw(self) -> *mut c_void
Returns the raw COM interface pointer and releases ownership. It the caller’s responsibility to release the COM interface pointer.
§fn cast<T>(&self) -> Result<T, Error>where
T: Interface,
fn cast<T>(&self) -> Result<T, Error>where
T: Interface,
Attempts to cast the current interface to another interface using
QueryInterface
. Read more§fn cast_to_any<T>(&self) -> Result<&(dyn Any + 'static), Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
fn cast_to_any<T>(&self) -> Result<&(dyn Any + 'static), Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
This casts the given COM interface to [
&dyn Any
]. Read more§fn is_object<T>(&self) -> boolwhere
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
fn is_object<T>(&self) -> boolwhere
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
§fn cast_object_ref<T>(&self) -> Result<&<T as ComObjectInner>::Outer, Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
fn cast_object_ref<T>(&self) -> Result<&<T as ComObjectInner>::Outer, Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
This casts the given COM interface to [
&dyn Any
]. It returns a reference to the “outer”
object, e.g. &MyApp_Impl
, not the inner &MyApp
object. Read more§fn cast_object<T>(&self) -> Result<ComObject<T>, Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
fn cast_object<T>(&self) -> Result<ComObject<T>, Error>where
T: ComObjectInner,
<T as ComObjectInner>::Outer: Any + 'static + IUnknownImpl<Impl = T>,
This casts the given COM interface to [
&dyn Any
]. It returns a reference to the “outer”
object, e.g. MyApp_Impl
, not the inner MyApp
object. Read more§fn downgrade(&self) -> Result<Weak<Self>, Error>
fn downgrade(&self) -> Result<Weak<Self>, Error>
Attempts to create a [
Weak
] reference to this object.impl Eq for ITypeInfo
impl StructuralPartialEq for ITypeInfo
Auto Trait Implementations§
impl Freeze for ITypeInfo
impl RefUnwindSafe for ITypeInfo
impl !Send for ITypeInfo
impl !Sync for ITypeInfo
impl Unpin for ITypeInfo
impl UnwindSafe for ITypeInfo
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)