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 interface definition contains typedefs for Windows Runtime data types. 7 use ctypes::c_char; 8 use um::winnt::PVOID; 9 DECLARE_HANDLE!{HSTRING, HSTRING__} 10 #[cfg(target_pointer_width = "32")] 11 UNION!{union HSTRING_HEADER_Reserved { 12 [u32; 5], 13 Reserved1 Reserved1_mut: PVOID, 14 Reserved2 Reserved2_mut: [c_char; 20], 15 }} 16 #[cfg(target_pointer_width = "64")] 17 UNION!{union HSTRING_HEADER_Reserved { 18 [u64; 3], 19 Reserved1 Reserved1_mut: PVOID, 20 Reserved2 Reserved2_mut: [c_char; 24], 21 }} 22 STRUCT!{struct HSTRING_HEADER { 23 Reserved: HSTRING_HEADER_Reserved, 24 }} 25 DECLARE_HANDLE!{HSTRING_BUFFER, HSTRING_BUFFER__} 26