Sha256: cbf8b251e2758d98bf6bbd7c73b20a2e31e60e0d006b2febc51e247c039fab85

Contents?: true

Size: 1.19 KB

Versions: 19

Compression:

Stored size: 1.19 KB

Contents

use crate::ComInterface;

// A streamlined version of the IActivationFactory interface used by WinRT class factories used internally by the windows crate
// to simplify code generation. Components should implement the `IActivationFactory` interface published by the windows crate.
#[repr(transparent)]
#[derive(Clone, PartialEq, Eq)]
pub struct IGenericFactory(crate::IUnknown);

impl IGenericFactory {
    pub fn ActivateInstance<I: crate::ComInterface>(&self) -> crate::Result<I> {
        unsafe {
            let mut result__ = std::mem::zeroed();
            (crate::Interface::vtable(self).ActivateInstance)(std::mem::transmute_copy(self), &mut result__ as *mut _ as *mut _).from_abi::<crate::IInspectable>(result__)?.cast()
        }
    }
}

#[repr(C)]
pub struct IGenericFactory_Vtbl {
    pub base__: crate::IInspectable_Vtbl,
    pub ActivateInstance: unsafe extern "system" fn(this: *mut std::ffi::c_void, instance: *mut *mut std::ffi::c_void) -> crate::HRESULT,
}

unsafe impl crate::Interface for IGenericFactory {
    type Vtable = IGenericFactory_Vtbl;
}

unsafe impl crate::ComInterface for IGenericFactory {
    const IID: crate::GUID = crate::GUID::from_u128(0x00000035_0000_0000_c000_000000000046);
}

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
wasmtime-29.0.0 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-28.0.0 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-27.0.0 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-26.0.0 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-25.0.2 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-25.0.1 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-25.0.0 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-24.0.0 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-23.0.2 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-22.0.0 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-21.0.1 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-20.0.2 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-20.0.0 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-18.0.3 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-17.0.1 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-17.0.0 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-16.0.0 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-15.0.1 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs
wasmtime-15.0.0 ./ext/cargo-vendor/windows-core-0.52.0/src/imp/generic_factory.rs