nanocom 0.2.1

Nano-COM, extremly small subset of cross-platform COM
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use crate::{hresult::HRESULT, Object, GUID};

#[allow(non_snake_case)]
#[repr(C)]
pub struct IUnknown<I: 'static> {
    pub QueryInterface: unsafe extern "system" fn(
        this: &Object<I>,
        riid: &GUID,
        ppv_object: &mut *const Object,
    ) -> HRESULT,
    pub AddRef: unsafe extern "system" fn(this: &Object<I>) -> u32,
    pub Release: unsafe extern "system" fn(this: &Object<I>) -> u32,
}