1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 // TODO:It is a minimal implementation.
7 use ctypes::c_void;
8 use shared::basetsd::UINT32;
9 use shared::guiddef::{GUID, REFGUID, REFIID};
10 use shared::ntdef::HRESULT;
11 use um::unknwnbase::{IUnknown, IUnknownVtbl};
12 RIDL!{#[uuid(0x1b8efec4, 0x3019, 0x4c27, 0x96, 0x4e, 0x36, 0x72, 0x02, 0x15, 0x69, 0x06)]
13 interface IPrintDocumentPackageTarget(IPrintDocumentPackageTargetVtbl): IUnknown(IUnknownVtbl) {
14     fn GetPackageTargetTypes(
15         targetCount: *mut UINT32,
16         targetTypes: *mut *mut GUID,
17     ) -> HRESULT,
18     fn GetPackageTarget(
19         guidTargetType: REFGUID,
20         riid: REFIID,
21         ppvTarget: *mut *mut c_void,
22     ) -> HRESULT,
23     fn Cancel() -> HRESULT,
24 }}
25