pub struct ComItf<T> where
T: ?Sized, { /* private fields */ }
Expand description
An incoming COM interface pointer.
Intercom will implement the various [com_interface]
traits for the
corresponding ComItf<T>
type.
This applies only to the pure interfaces. Implicit interfaces created
through #[com_interface] impl MyStruct
constructs are not supported for
ComItf<T>
.
Implementations
sourceimpl<T: ?Sized> ComItf<T>
impl<T: ?Sized> ComItf<T>
sourcepub fn new(
automation: InterfacePtr<AutomationTypeSystem, T>,
raw: InterfacePtr<RawTypeSystem, T>
) -> ComItf<T>
pub fn new(
automation: InterfacePtr<AutomationTypeSystem, T>,
raw: InterfacePtr<RawTypeSystem, T>
) -> ComItf<T>
Creates a ComItf<T>
from a raw type system COM interface pointer..
sourcepub fn maybe_new(
automation: Option<InterfacePtr<AutomationTypeSystem, T>>,
raw: Option<InterfacePtr<RawTypeSystem, T>>
) -> Option<ComItf<T>>
pub fn maybe_new(
automation: Option<InterfacePtr<AutomationTypeSystem, T>>,
raw: Option<InterfacePtr<RawTypeSystem, T>>
) -> Option<ComItf<T>>
Creates a ComItf<T>
from a raw type system COM interface pointer..
sourcepub unsafe fn wrap<TS: TypeSystem>(ptr: InterfacePtr<TS, T>) -> ComItf<T>
pub unsafe fn wrap<TS: TypeSystem>(ptr: InterfacePtr<TS, T>) -> ComItf<T>
Creates a ComItf<T>
from a raw type system COM interface pointer..
Safety
The ComItf
must not outlast the reference owned by the provided pointer.
sourcepub fn ptr<TS: TypeSystem>(this: &Self) -> Option<InterfacePtr<TS, T>>
pub fn ptr<TS: TypeSystem>(this: &Self) -> Option<InterfacePtr<TS, T>>
Gets the raw COM pointer from the ComItf<T>
.
pub fn as_raw_iunknown(&self) -> &ComItf<dyn RawIUnknown>
pub fn as_iunknown(&self) -> &ComItf<dyn IUnknown>
sourceimpl<T: ComInterface + ?Sized> ComItf<T>
impl<T: ComInterface + ?Sized> ComItf<T>
Trait Implementations
sourceimpl<T: ComInterface + ?Sized> Deref for ComItf<T>
impl<T: ComInterface + ?Sized> Deref for ComItf<T>
sourceimpl<'a, TS: TypeSystem, I: ComInterface + ?Sized> ExternInput<TS> for &'a ComItf<I> where
I: ForeignType,
impl<'a, TS: TypeSystem, I: ComInterface + ?Sized> ExternInput<TS> for &'a ComItf<I> where
I: ForeignType,
type Lease = ()
sourceunsafe fn into_foreign_parameter(
self
) -> ComResult<(Self::ForeignType, Self::Lease)>
unsafe fn into_foreign_parameter(
self
) -> ComResult<(Self::ForeignType, Self::Lease)>
Safety Read more
type Owned = ComItf<I>
sourceunsafe fn from_foreign_parameter(
source: Self::ForeignType
) -> ComResult<Self::Owned>
unsafe fn from_foreign_parameter(
source: Self::ForeignType
) -> ComResult<Self::Owned>
Safety Read more
sourceimpl<'a, TS: TypeSystem, I: ComInterface + ?Sized> ExternType<TS> for &'a ComItf<I> where
I: ForeignType,
impl<'a, TS: TypeSystem, I: ComInterface + ?Sized> ExternType<TS> for &'a ComItf<I> where
I: ForeignType,
type ForeignType = Option<InterfacePtr<TS, I>>
sourceimpl<I: ComInterface + IAllocator + ?Sized> IAllocator for ComItf<I>
impl<I: ComInterface + IAllocator + ?Sized> IAllocator for ComItf<I>
sourceunsafe fn alloc(&self, len: usize) -> *mut c_void
unsafe fn alloc(&self, len: usize) -> *mut c_void
Allocates a segment of memory that is safe to pass through intercom interfaces. Read more
sourceunsafe fn alloc_bstr(&self, text: *const u16, len: u32) -> BSTR
unsafe fn alloc_bstr(&self, text: *const u16, len: u32) -> BSTR
Allocates a new BSTR based on an existing string value. Read more
sourceimpl<I: ComInterface + IClassFactory + ?Sized> IClassFactory for ComItf<I>
impl<I: ComInterface + IClassFactory + ?Sized> IClassFactory for ComItf<I>
sourceimpl<I: ComInterface + IErrorInfo + ?Sized> IErrorInfo for ComItf<I>
impl<I: ComInterface + IErrorInfo + ?Sized> IErrorInfo for ComItf<I>
fn get_description(&self) -> ComResult<String>
fn get_guid(&self) -> ComResult<GUID>
fn get_help_context(&self) -> ComResult<u32>
fn get_help_file(&self) -> ComResult<String>
fn get_source(&self) -> ComResult<String>
sourceimpl<I: ComInterface + IErrorStore + ?Sized> IErrorStore for ComItf<I>
impl<I: ComInterface + IErrorStore + ?Sized> IErrorStore for ComItf<I>
fn get_error_info(&self) -> ComResult<Option<ComRc<dyn IErrorInfo>>>
fn set_error_info(&self, info: &ComItf<dyn IErrorInfo>) -> ComResult<()>
fn set_error_message(&self, msg: &str) -> ComResult<()>
sourceimpl<I: ComInterface + IIntercomCoClass + ?Sized> IIntercomCoClass for ComItf<I>
impl<I: ComInterface + IIntercomCoClass + ?Sized> IIntercomCoClass for ComItf<I>
sourceimpl<I: ComInterface + IIntercomInterface + ?Sized> IIntercomInterface for ComItf<I>
impl<I: ComInterface + IIntercomInterface + ?Sized> IIntercomInterface for ComItf<I>
fn get_name(&self) -> ComResult<String>
fn get_options(&self) -> ComResult<InterfaceOptions>
fn get_variant(
&self,
idx: u32
) -> ComResult<ComRc<dyn IIntercomInterfaceVariant>>
fn get_variant_count(&self) -> ComResult<u32>
sourceimpl<I: ComInterface + IIntercomInterfaceVariant + ?Sized> IIntercomInterfaceVariant for ComItf<I>
impl<I: ComInterface + IIntercomInterfaceVariant + ?Sized> IIntercomInterfaceVariant for ComItf<I>
fn get_iid(&self) -> ComResult<GUID>
fn get_method(&self, idx: u32) -> ComResult<ComRc<dyn IIntercomMethod>>
fn get_method_count(&self) -> ComResult<u32>
fn get_type_system(&self) -> ComResult<TypeSystemName>
sourceimpl<I: ComInterface + IIntercomMethod + ?Sized> IIntercomMethod for ComItf<I>
impl<I: ComInterface + IIntercomMethod + ?Sized> IIntercomMethod for ComItf<I>
sourceimpl<I: ComInterface + IIntercomTypeInfo + ?Sized> IIntercomTypeInfo for ComItf<I>
impl<I: ComInterface + IIntercomTypeInfo + ?Sized> IIntercomTypeInfo for ComItf<I>
sourceimpl<I: ComInterface + IIntercomTypeLib + ?Sized> IIntercomTypeLib for ComItf<I>
impl<I: ComInterface + IIntercomTypeLib + ?Sized> IIntercomTypeLib for ComItf<I>
sourceimpl<I: ComInterface + ISupportErrorInfo + ?Sized> ISupportErrorInfo for ComItf<I>
impl<I: ComInterface + ISupportErrorInfo + ?Sized> ISupportErrorInfo for ComItf<I>
sourcefn interface_supports_error_info(&self, riid: REFIID) -> HRESULT
fn interface_supports_error_info(&self, riid: REFIID) -> HRESULT
Informs the current COM class supports IErrorInfo
for a specific
interface. Read more
sourceimpl<I: ComInterface + RawIUnknown + ?Sized> RawIUnknown for ComItf<I>
impl<I: ComInterface + RawIUnknown + ?Sized> RawIUnknown for ComItf<I>
sourcefn query_interface(&self, riid: REFIID) -> RawComResult<RawComPtr>
fn query_interface(&self, riid: REFIID) -> RawComResult<RawComPtr>
Tries to get a different COM interface for the current object. Read more
sourceimpl<T: ComInterface + ?Sized> ToOwned for ComItf<T>
impl<T: ComInterface + ?Sized> ToOwned for ComItf<T>
impl<I: ComInterface + IUnknown + ?Sized> IUnknown for ComItf<I>
Auto Trait Implementations
impl<T: ?Sized> RefUnwindSafe for ComItf<T> where
T: RefUnwindSafe,
impl<T> !Send for ComItf<T>
impl<T> !Sync for ComItf<T>
impl<T: ?Sized> Unpin for ComItf<T> where
T: Unpin,
impl<T: ?Sized> UnwindSafe for ComItf<T> where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ExternDefault for T
impl<T> ExternDefault for T
sourceunsafe fn extern_default() -> T
unsafe fn extern_default() -> T
Safety Read more