[][src]Crate com

A helper crate for consuming and producing COM interfaces.

Example

To work with a COM interface it must first be declared:

/// Define an IAnimal interface wit
#[com::com_interface("EFF8970E-C50F-45E0-9284-291CE5A6F771")]
pub trait IAnimal: com::interfaces::IUnknown {
    unsafe fn eat(&self) -> com::sys::HRESULT;
}

Modules

interfaces

Common COM interfaces including IUknown and IClassFactory

runtime

COM runtime facilities

sys

Types for interacting with COM related system APIs

Macros

inproc_dll_module

A macro for declaring a COM server to the COM runtime

Structs

ComPtr

A transparent ptr to a COM interface.

ComRc

A reference counted COM interface.

Traits

CoClass

A COM compliant class

ComInterface

A COM compliant interface

ProductionComInterface

A COM interface that will be exposed in a COM server

Type Definitions

CLSID

A class ID

IID

An interface ID