├── .github └── workflows │ └── ci-workflow.yml ├── .gitignore ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE ├── README.md ├── SECURITY.md ├── docs ├── basic-usage.md └── safety.md ├── examples ├── basic │ ├── Cargo.toml │ ├── README.md │ ├── client │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ └── src │ │ │ └── main.rs │ ├── interface │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── ianimal.rs │ │ │ ├── icat.rs │ │ │ ├── icat_class.rs │ │ │ ├── idomesticanimal.rs │ │ │ ├── iexample.rs │ │ │ └── lib.rs │ ├── server │ │ ├── .gitignore │ │ ├── Cargo.toml │ │ └── src │ │ │ ├── british_short_hair_cat.rs │ │ │ └── lib.rs │ └── src │ │ └── main.rs ├── d2d-clock │ ├── Cargo.toml │ └── src │ │ ├── clock.rs │ │ └── main.rs ├── no_std_com │ ├── Cargo.toml │ └── src │ │ └── lib.rs └── webview2.rs ├── macros ├── Cargo.toml ├── src │ └── lib.rs └── support │ ├── Cargo.toml │ └── src │ ├── class │ ├── class.rs │ ├── class_constructor.rs │ ├── class_factory.rs │ ├── iunknown_impl.rs │ ├── mod.rs │ └── tests.rs │ ├── interface │ ├── iid.rs │ ├── interface.rs │ ├── interface_impl.rs │ ├── interfaces.rs │ ├── mod.rs │ ├── vptr.rs │ └── vtable.rs │ ├── lib.rs │ ├── test_utils.rs │ ├── test_utils │ └── rustfmt.rs │ └── utils │ ├── idents.rs │ └── mod.rs ├── src ├── abi_transferable.rs ├── interface.rs ├── interfaces │ ├── iclass_factory.rs │ ├── iunknown.rs │ └── mod.rs ├── lib.rs ├── param.rs ├── production.rs ├── production │ ├── class.rs │ └── registration.rs ├── refcounting.rs ├── runtime.rs └── sys.rs └── tests ├── progress.rs └── ui ├── fail ├── no_supertrait.rs ├── no_supertrait.stderr ├── non_string_guid.rs └── non_string_guid.stderr └── pass ├── class_fields.rs ├── interface_chains.rs ├── interface_eq.rs ├── multiversion.rs ├── refcounting.rs └── supertrait_path.rs /.github/workflows/ci-workflow.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/.github/workflows/ci-workflow.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/.gitignore -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/SECURITY.md -------------------------------------------------------------------------------- /docs/basic-usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/docs/basic-usage.md -------------------------------------------------------------------------------- /docs/safety.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/docs/safety.md -------------------------------------------------------------------------------- /examples/basic/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/Cargo.toml -------------------------------------------------------------------------------- /examples/basic/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/README.md -------------------------------------------------------------------------------- /examples/basic/client/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | -------------------------------------------------------------------------------- /examples/basic/client/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/client/Cargo.toml -------------------------------------------------------------------------------- /examples/basic/client/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/client/src/main.rs -------------------------------------------------------------------------------- /examples/basic/interface/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | Cargo.lock 4 | -------------------------------------------------------------------------------- /examples/basic/interface/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/interface/Cargo.toml -------------------------------------------------------------------------------- /examples/basic/interface/src/ianimal.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/interface/src/ianimal.rs -------------------------------------------------------------------------------- /examples/basic/interface/src/icat.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/interface/src/icat.rs -------------------------------------------------------------------------------- /examples/basic/interface/src/icat_class.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/interface/src/icat_class.rs -------------------------------------------------------------------------------- /examples/basic/interface/src/idomesticanimal.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/interface/src/idomesticanimal.rs -------------------------------------------------------------------------------- /examples/basic/interface/src/iexample.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/interface/src/iexample.rs -------------------------------------------------------------------------------- /examples/basic/interface/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/interface/src/lib.rs -------------------------------------------------------------------------------- /examples/basic/server/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | **/*.rs.bk 3 | Cargo.lock 4 | -------------------------------------------------------------------------------- /examples/basic/server/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/server/Cargo.toml -------------------------------------------------------------------------------- /examples/basic/server/src/british_short_hair_cat.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/server/src/british_short_hair_cat.rs -------------------------------------------------------------------------------- /examples/basic/server/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/server/src/lib.rs -------------------------------------------------------------------------------- /examples/basic/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/basic/src/main.rs -------------------------------------------------------------------------------- /examples/d2d-clock/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/d2d-clock/Cargo.toml -------------------------------------------------------------------------------- /examples/d2d-clock/src/clock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/d2d-clock/src/clock.rs -------------------------------------------------------------------------------- /examples/d2d-clock/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/d2d-clock/src/main.rs -------------------------------------------------------------------------------- /examples/no_std_com/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/no_std_com/Cargo.toml -------------------------------------------------------------------------------- /examples/no_std_com/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/no_std_com/src/lib.rs -------------------------------------------------------------------------------- /examples/webview2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/examples/webview2.rs -------------------------------------------------------------------------------- /macros/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/Cargo.toml -------------------------------------------------------------------------------- /macros/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/src/lib.rs -------------------------------------------------------------------------------- /macros/support/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/Cargo.toml -------------------------------------------------------------------------------- /macros/support/src/class/class.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/class/class.rs -------------------------------------------------------------------------------- /macros/support/src/class/class_constructor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/class/class_constructor.rs -------------------------------------------------------------------------------- /macros/support/src/class/class_factory.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/class/class_factory.rs -------------------------------------------------------------------------------- /macros/support/src/class/iunknown_impl.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/class/iunknown_impl.rs -------------------------------------------------------------------------------- /macros/support/src/class/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/class/mod.rs -------------------------------------------------------------------------------- /macros/support/src/class/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/class/tests.rs -------------------------------------------------------------------------------- /macros/support/src/interface/iid.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/interface/iid.rs -------------------------------------------------------------------------------- /macros/support/src/interface/interface.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/interface/interface.rs -------------------------------------------------------------------------------- /macros/support/src/interface/interface_impl.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/interface/interface_impl.rs -------------------------------------------------------------------------------- /macros/support/src/interface/interfaces.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/interface/interfaces.rs -------------------------------------------------------------------------------- /macros/support/src/interface/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/interface/mod.rs -------------------------------------------------------------------------------- /macros/support/src/interface/vptr.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/interface/vptr.rs -------------------------------------------------------------------------------- /macros/support/src/interface/vtable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/interface/vtable.rs -------------------------------------------------------------------------------- /macros/support/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/lib.rs -------------------------------------------------------------------------------- /macros/support/src/test_utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/test_utils.rs -------------------------------------------------------------------------------- /macros/support/src/test_utils/rustfmt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/test_utils/rustfmt.rs -------------------------------------------------------------------------------- /macros/support/src/utils/idents.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/utils/idents.rs -------------------------------------------------------------------------------- /macros/support/src/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/macros/support/src/utils/mod.rs -------------------------------------------------------------------------------- /src/abi_transferable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/src/abi_transferable.rs -------------------------------------------------------------------------------- /src/interface.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/src/interface.rs -------------------------------------------------------------------------------- /src/interfaces/iclass_factory.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/src/interfaces/iclass_factory.rs -------------------------------------------------------------------------------- /src/interfaces/iunknown.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/src/interfaces/iunknown.rs -------------------------------------------------------------------------------- /src/interfaces/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/src/interfaces/mod.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/param.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/src/param.rs -------------------------------------------------------------------------------- /src/production.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/src/production.rs -------------------------------------------------------------------------------- /src/production/class.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/src/production/class.rs -------------------------------------------------------------------------------- /src/production/registration.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/src/production/registration.rs -------------------------------------------------------------------------------- /src/refcounting.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/src/refcounting.rs -------------------------------------------------------------------------------- /src/runtime.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/src/runtime.rs -------------------------------------------------------------------------------- /src/sys.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/src/sys.rs -------------------------------------------------------------------------------- /tests/progress.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/tests/progress.rs -------------------------------------------------------------------------------- /tests/ui/fail/no_supertrait.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/tests/ui/fail/no_supertrait.rs -------------------------------------------------------------------------------- /tests/ui/fail/no_supertrait.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/tests/ui/fail/no_supertrait.stderr -------------------------------------------------------------------------------- /tests/ui/fail/non_string_guid.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/tests/ui/fail/non_string_guid.rs -------------------------------------------------------------------------------- /tests/ui/fail/non_string_guid.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/tests/ui/fail/non_string_guid.stderr -------------------------------------------------------------------------------- /tests/ui/pass/class_fields.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/tests/ui/pass/class_fields.rs -------------------------------------------------------------------------------- /tests/ui/pass/interface_chains.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/tests/ui/pass/interface_chains.rs -------------------------------------------------------------------------------- /tests/ui/pass/interface_eq.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/tests/ui/pass/interface_eq.rs -------------------------------------------------------------------------------- /tests/ui/pass/multiversion.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/tests/ui/pass/multiversion.rs -------------------------------------------------------------------------------- /tests/ui/pass/refcounting.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/tests/ui/pass/refcounting.rs -------------------------------------------------------------------------------- /tests/ui/pass/supertrait_path.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/microsoft/com-rs/HEAD/tests/ui/pass/supertrait_path.rs --------------------------------------------------------------------------------