]> git.proxmox.com Git - rustc.git/blame - vendor/winapi/src/winrt/winstring.rs
New upstream version 1.41.1+dfsg1
[rustc.git] / vendor / winapi / src / winrt / winstring.rs
CommitLineData
ff7c6d11
XL
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.
6use shared::basetsd::{INT32, UINT32, UINT_PTR};
7use shared::minwindef::{BOOL, BYTE, UCHAR, ULONG, USHORT};
8use um::winnt::{HRESULT, PCWSTR, VOID, WCHAR};
9use winrt::hstring::{HSTRING, HSTRING_BUFFER, HSTRING_HEADER};
10extern "system" {
11 pub fn WindowsCreateString(
12 sourceString: PCWSTR,
13 length: UINT32,
14 string: *mut HSTRING,
15 ) -> HRESULT;
16 pub fn WindowsCreateStringReference(
17 sourceString: PCWSTR,
18 length: UINT32,
19 hstringHeader: *mut HSTRING_HEADER,
20 string: *mut HSTRING,
21 ) -> HRESULT;
22 pub fn WindowsDeleteString(
23 string: HSTRING,
24 ) -> HRESULT;
25 pub fn WindowsDuplicateString(
26 string: HSTRING,
27 newString: *mut HSTRING,
28 ) -> HRESULT;
29 pub fn WindowsGetStringLen(
30 string: HSTRING,
31 ) -> UINT32;
32 pub fn WindowsGetStringRawBuffer(
33 string: HSTRING,
34 length: *mut UINT32,
35 ) -> PCWSTR;
36 pub fn WindowsIsStringEmpty(
37 string: HSTRING,
38 ) -> BOOL;
39 pub fn WindowsStringHasEmbeddedNull(
40 string: HSTRING,
41 hasEmbedNull: *mut BOOL,
42 ) -> HRESULT;
43 pub fn WindowsCompareStringOrdinal(
44 string1: HSTRING,
45 string2: HSTRING,
46 result: *mut INT32,
47 ) -> HRESULT;
48 pub fn WindowsSubstring(
49 string: HSTRING,
50 startIndex: UINT32,
51 newString: *mut HSTRING,
52 ) -> HSTRING;
53 pub fn WindowsSubstringWithSpecifiedLength(
54 string: HSTRING,
55 startIndex: UINT32,
56 length: UINT32,
57 newString: *mut HSTRING,
58 ) -> HRESULT;
59 pub fn WindowsConcatString(
60 string1: HSTRING,
61 string2: HSTRING,
62 newString: *mut HSTRING,
63 ) -> HRESULT;
64 pub fn WindowsReplaceString(
65 string: HSTRING,
66 stringReplaced: HSTRING,
67 stringReplaceWith: HSTRING,
60c5eb7d 68 newString: *mut HSTRING,
ff7c6d11
XL
69 ) -> HRESULT;
70 pub fn WindowsTrimStringStart(
71 string: HSTRING,
72 trimString: HSTRING,
73 newString: *mut HSTRING,
74 ) -> HRESULT;
75 pub fn WindowsTrimStringEnd(
76 string: HSTRING,
77 trimString: HSTRING,
78 newString: *mut HSTRING,
79 ) -> HRESULT;
80 pub fn WindowsPreallocateStringBuffer(
81 length: UINT32,
82 charBuffer: *mut *mut WCHAR,
83 bufferHandle: *mut HSTRING_BUFFER,
84 ) -> HRESULT;
85 pub fn WindowsPromoteStringBuffer(
86 bufferHandle: HSTRING_BUFFER,
87 string: *mut HSTRING,
88 ) -> HRESULT;
89 pub fn WindowsDeleteStringBuffer(
90 bufferHandle: HSTRING_BUFFER,
91 ) -> HRESULT;
92}
93FN!{stdcall PINSPECT_HSTRING_CALLBACK(
94 *const VOID,
95 UINT_PTR,
96 UINT32,
97 *mut BYTE,
98) -> HRESULT}
99extern "system" {
100 pub fn WindowsInspectString(
101 targetHString: UINT_PTR,
102 machine: USHORT,
103 callback: PINSPECT_HSTRING_CALLBACK,
104 context: *const VOID,
105 length: *mut UINT32,
106 targetStringAddress: *mut UINT_PTR,
107 ) -> HRESULT;
108 pub fn HSTRING_UserSize(
109 pFlags: *const ULONG,
110 StartingSize: ULONG,
111 ppidl: *const HSTRING,
112 ) -> ULONG;
113 pub fn HSTRING_UserMarshal(
114 pFlags: *const ULONG,
115 pBuffer: *mut UCHAR,
116 ppidl: *const HSTRING,
117 ) -> *mut UCHAR;
118 pub fn HSTRING_UserUnmarshal(
119 pFlags: *const ULONG,
120 pBuffer: *const UCHAR,
121 ppidl: *mut HSTRING,
122 ) -> *mut UCHAR;
123 pub fn HSTRING_UserFree(
124 pFlags: *const ULONG,
125 ppidl: *const HSTRING,
126 );
127 #[cfg(target_arch = "x86_64")]
128 pub fn HSTRING_UserSize64(
129 pFlags: *const ULONG,
130 StartingSize: ULONG,
131 ppidl: *const HSTRING,
132 ) -> ULONG;
133 #[cfg(target_arch = "x86_64")]
134 pub fn HSTRING_UserMarshal64(
135 pFlags: *const ULONG,
136 pBuffer: *mut UCHAR,
137 ppidl: *const HSTRING,
138 ) -> *mut UCHAR;
139 #[cfg(target_arch = "x86_64")]
140 pub fn HSTRING_UserUnmarshal64(
141 pFlags: *const ULONG,
142 pBuffer: *const UCHAR,
143 ppidl: *mut HSTRING,
144 ) -> *mut UCHAR;
145 #[cfg(target_arch = "x86_64")]
146 pub fn HSTRING_UserFree64(
147 pFlags: *const ULONG,
148 ppidl: *const HSTRING,
149 );
150}