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 //! this ALWAYS GENERATED file contains the definitions for the interfaces 7 use shared::guiddef::GUID; 8 use shared::minwindef::{BYTE, USHORT}; 9 use um::winnt::LPCWSTR; 10 STRUCT!{#[repr(packed)] struct SHITEMID { 11 cb: USHORT, 12 abID: [BYTE; 1], 13 }} 14 pub type LPSHITEMID = *mut SHITEMID; 15 pub type LPCSHITEMID = *const SHITEMID; 16 STRUCT!{#[repr(packed)] struct ITEMIDLIST { 17 mkid: SHITEMID, 18 }} 19 pub type ITEMIDLIST_RELATIVE = ITEMIDLIST; 20 pub type ITEMID_CHILD = ITEMIDLIST; 21 pub type ITEMIDLIST_ABSOLUTE = ITEMIDLIST; 22 pub type LPITEMIDLIST = *mut ITEMIDLIST; 23 pub type LPCITEMIDLIST = *const ITEMIDLIST; 24 pub type PIDLIST_ABSOLUTE = *mut ITEMIDLIST_ABSOLUTE; 25 pub type PCIDLIST_ABSOLUTE = *const ITEMIDLIST_ABSOLUTE; 26 pub type PCUIDLIST_ABSOLUTE = *const ITEMIDLIST_ABSOLUTE; 27 pub type PIDLIST_RELATIVE = *mut ITEMIDLIST_RELATIVE; 28 pub type PCIDLIST_RELATIVE = *const ITEMIDLIST_RELATIVE; 29 pub type PUIDLIST_RELATIVE = *mut ITEMIDLIST_RELATIVE; 30 pub type PCUIDLIST_RELATIVE = *const ITEMIDLIST_RELATIVE; 31 pub type PITEMID_CHILD = *mut ITEMID_CHILD; 32 pub type PCITEMID_CHILD = *const ITEMID_CHILD; 33 pub type PUITEMID_CHILD = *mut ITEMID_CHILD; 34 pub type PCUITEMID_CHILD = *const ITEMID_CHILD; 35 pub type PCUITEMID_CHILD_ARRAY = *const PCUITEMID_CHILD; 36 pub type PCUIDLIST_RELATIVE_ARRAY = *const PCUIDLIST_RELATIVE; 37 pub type PCIDLIST_ABSOLUTE_ARRAY = *const PCIDLIST_ABSOLUTE; 38 pub type PCUIDLIST_ABSOLUTE_ARRAY = *const PCUIDLIST_ABSOLUTE; 39 STRUCT!{struct COMDLG_FILTERSPEC { 40 pszName: LPCWSTR, 41 pszSpec: LPCWSTR, 42 }} 43 pub type KNOWNFOLDERID = GUID; 44 pub type REFKNOWNFOLDERID = *const KNOWNFOLDERID; 45