6 releases
0.2.1 | Feb 25, 2021 |
---|---|
0.2.0 | Jan 14, 2021 |
0.1.3 | Jan 22, 2020 |
0.1.2 | Jul 12, 2019 |
0.1.1 | Jun 9, 2019 |
#17 in #com-interface
Used in dxplr
10KB
197 lines
com_ptr
A smart pointer for Windows COM Interfaces
Example
Creates a ComPtr from CreateDXGIFactory1
function.
use winapi::shared::dxgi::*;
use winapi::um::winnt::HRESULT;
use winapi::Interface;
use com_ptr::{ComPtr, hresult};
fn create_dxgi_factory<T: Interface>() -> Result<ComPtr<T>, HRESULT> {
ComPtr::new(|| {
let mut obj = std::ptr::null_mut();
let res = unsafe { CreateDXGIFactory1(&T::uuidof(), &mut obj) };
hresult(obj as *mut T, res)
})
}
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~225KB