]> git.proxmox.com Git - cargo.git/blob - vendor/winapi-0.3.3/src/um/unknwnbase.rs
New upstream version 0.24.0
[cargo.git] / vendor / winapi-0.3.3 / src / um / unknwnbase.rs
1 // Copyright © 2016-2017 winapi-rs developers
2 // Licensed under the Apache License, Version 2.0
3 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
4 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
5 // All files in the project carrying such notice may not be copied, modified, or distributed
6 // except according to those terms.
7 use ctypes::c_void;
8 use shared::guiddef::REFIID;
9 use shared::minwindef::{BOOL, ULONG};
10 use um::winnt::HRESULT;
11 RIDL!{#[uuid(0x00000000, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)]
12 interface IUnknown(IUnknownVtbl) {
13 fn QueryInterface(
14 riid: REFIID,
15 ppvObject: *mut *mut c_void,
16 ) -> HRESULT,
17 fn AddRef() -> ULONG,
18 fn Release() -> ULONG,
19 }}
20 pub type LPUNKNOWN = *mut IUnknown;
21 RIDL!{#[uuid(0x000e0000, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)]
22 interface AsyncIUnknown(AsyncIUnknownVtbl): IUnknown(IUnknownVtbl) {
23 fn Begin_QueryInterface(
24 riid: REFIID,
25 ) -> HRESULT,
26 fn Finish_QueryInterface(
27 ppvObject: *mut *mut c_void,
28 ) -> HRESULT,
29 fn Begin_AddRef() -> HRESULT,
30 fn Finish_AddRef() -> ULONG,
31 fn Begin_Release() -> HRESULT,
32 fn Finish_Release() -> ULONG,
33 }}
34 RIDL!{#[uuid(0x00000001, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46)]
35 interface IClassFactory(IClassFactoryVtbl): IUnknown(IUnknownVtbl) {
36 fn CreateInstance(
37 pUnkOuter: *mut IUnknown,
38 riid: REFIID,
39 ppvObject: *mut *mut c_void,
40 ) -> HRESULT,
41 fn LockServer(
42 fLock: BOOL,
43 ) -> HRESULT,
44 }}