]> git.proxmox.com Git - rustc.git/blame - vendor/windows-sys/src/Windows/Win32/Storage/ProjectedFileSystem/mod.rs
New upstream version 1.62.1+dfsg1
[rustc.git] / vendor / windows-sys / src / Windows / Win32 / Storage / ProjectedFileSystem / mod.rs
CommitLineData
5e7ed085
FG
1#![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2#[link(name = "windows")]
3extern "system" {
04454e1e 4 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 5 pub fn PrjAllocateAlignedBuffer(namespacevirtualizationcontext: PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT, size: usize) -> *mut ::core::ffi::c_void;
04454e1e 6 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 7 pub fn PrjClearNegativePathCache(namespacevirtualizationcontext: PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT, totalentrynumber: *mut u32) -> ::windows_sys::core::HRESULT;
04454e1e 8 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 9 pub fn PrjCompleteCommand(namespacevirtualizationcontext: PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT, commandid: i32, completionresult: ::windows_sys::core::HRESULT, extendedparameters: *const PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS) -> ::windows_sys::core::HRESULT;
04454e1e
FG
10 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
11 pub fn PrjDeleteFile(namespacevirtualizationcontext: PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT, destinationfilename: ::windows_sys::core::PCWSTR, updateflags: PRJ_UPDATE_TYPES, failurereason: *mut PRJ_UPDATE_FAILURE_CAUSES) -> ::windows_sys::core::HRESULT;
12 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085 13 #[cfg(feature = "Win32_Foundation")]
04454e1e
FG
14 pub fn PrjDoesNameContainWildCards(filename: ::windows_sys::core::PCWSTR) -> super::super::Foundation::BOOLEAN;
15 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
16 pub fn PrjFileNameCompare(filename1: ::windows_sys::core::PCWSTR, filename2: ::windows_sys::core::PCWSTR) -> i32;
17 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085 18 #[cfg(feature = "Win32_Foundation")]
04454e1e
FG
19 pub fn PrjFileNameMatch(filenametocheck: ::windows_sys::core::PCWSTR, pattern: ::windows_sys::core::PCWSTR) -> super::super::Foundation::BOOLEAN;
20 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085 21 #[cfg(feature = "Win32_Foundation")]
04454e1e
FG
22 pub fn PrjFillDirEntryBuffer(filename: ::windows_sys::core::PCWSTR, filebasicinfo: *const PRJ_FILE_BASIC_INFO, direntrybufferhandle: PRJ_DIR_ENTRY_BUFFER_HANDLE) -> ::windows_sys::core::HRESULT;
23 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085 24 #[cfg(feature = "Win32_Foundation")]
04454e1e
FG
25 pub fn PrjFillDirEntryBuffer2(direntrybufferhandle: PRJ_DIR_ENTRY_BUFFER_HANDLE, filename: ::windows_sys::core::PCWSTR, filebasicinfo: *const PRJ_FILE_BASIC_INFO, extendedinfo: *const PRJ_EXTENDED_INFO) -> ::windows_sys::core::HRESULT;
26 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 27 pub fn PrjFreeAlignedBuffer(buffer: *const ::core::ffi::c_void);
04454e1e
FG
28 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
29 pub fn PrjGetOnDiskFileState(destinationfilename: ::windows_sys::core::PCWSTR, filestate: *mut PRJ_FILE_STATE) -> ::windows_sys::core::HRESULT;
30 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 31 pub fn PrjGetVirtualizationInstanceInfo(namespacevirtualizationcontext: PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT, virtualizationinstanceinfo: *mut PRJ_VIRTUALIZATION_INSTANCE_INFO) -> ::windows_sys::core::HRESULT;
04454e1e
FG
32 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
33 pub fn PrjMarkDirectoryAsPlaceholder(rootpathname: ::windows_sys::core::PCWSTR, targetpathname: ::windows_sys::core::PCWSTR, versioninfo: *const PRJ_PLACEHOLDER_VERSION_INFO, virtualizationinstanceid: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT;
34 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085 35 #[cfg(feature = "Win32_Foundation")]
04454e1e
FG
36 pub fn PrjStartVirtualizing(virtualizationrootpath: ::windows_sys::core::PCWSTR, callbacks: *const PRJ_CALLBACKS, instancecontext: *const ::core::ffi::c_void, options: *const PRJ_STARTVIRTUALIZING_OPTIONS, namespacevirtualizationcontext: *mut PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT) -> ::windows_sys::core::HRESULT;
37 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 38 pub fn PrjStopVirtualizing(namespacevirtualizationcontext: PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT);
04454e1e 39 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085 40 #[cfg(feature = "Win32_Foundation")]
04454e1e
FG
41 pub fn PrjUpdateFileIfNeeded(namespacevirtualizationcontext: PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT, destinationfilename: ::windows_sys::core::PCWSTR, placeholderinfo: *const PRJ_PLACEHOLDER_INFO, placeholderinfosize: u32, updateflags: PRJ_UPDATE_TYPES, failurereason: *mut PRJ_UPDATE_FAILURE_CAUSES) -> ::windows_sys::core::HRESULT;
42 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 43 pub fn PrjWriteFileData(namespacevirtualizationcontext: PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT, datastreamid: *const ::windows_sys::core::GUID, buffer: *const ::core::ffi::c_void, byteoffset: u64, length: u32) -> ::windows_sys::core::HRESULT;
04454e1e 44 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085 45 #[cfg(feature = "Win32_Foundation")]
04454e1e
FG
46 pub fn PrjWritePlaceholderInfo(namespacevirtualizationcontext: PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT, destinationfilename: ::windows_sys::core::PCWSTR, placeholderinfo: *const PRJ_PLACEHOLDER_INFO, placeholderinfosize: u32) -> ::windows_sys::core::HRESULT;
47 #[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085 48 #[cfg(feature = "Win32_Foundation")]
04454e1e 49 pub fn PrjWritePlaceholderInfo2(namespacevirtualizationcontext: PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT, destinationfilename: ::windows_sys::core::PCWSTR, placeholderinfo: *const PRJ_PLACEHOLDER_INFO, placeholderinfosize: u32, extendedinfo: *const PRJ_EXTENDED_INFO) -> ::windows_sys::core::HRESULT;
5e7ed085
FG
50}
51#[repr(C)]
04454e1e 52#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
53#[cfg(feature = "Win32_Foundation")]
54pub struct PRJ_CALLBACKS {
55 pub StartDirectoryEnumerationCallback: PRJ_START_DIRECTORY_ENUMERATION_CB,
56 pub EndDirectoryEnumerationCallback: PRJ_END_DIRECTORY_ENUMERATION_CB,
57 pub GetDirectoryEnumerationCallback: PRJ_GET_DIRECTORY_ENUMERATION_CB,
58 pub GetPlaceholderInfoCallback: PRJ_GET_PLACEHOLDER_INFO_CB,
59 pub GetFileDataCallback: PRJ_GET_FILE_DATA_CB,
60 pub QueryFileNameCallback: PRJ_QUERY_FILE_NAME_CB,
61 pub NotificationCallback: PRJ_NOTIFICATION_CB,
62 pub CancelCommandCallback: PRJ_CANCEL_COMMAND_CB,
63}
64#[cfg(feature = "Win32_Foundation")]
65impl ::core::marker::Copy for PRJ_CALLBACKS {}
66#[cfg(feature = "Win32_Foundation")]
67impl ::core::clone::Clone for PRJ_CALLBACKS {
68 fn clone(&self) -> Self {
69 *self
70 }
71}
72#[repr(C)]
04454e1e 73#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
74pub struct PRJ_CALLBACK_DATA {
75 pub Size: u32,
76 pub Flags: PRJ_CALLBACK_DATA_FLAGS,
77 pub NamespaceVirtualizationContext: PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT,
78 pub CommandId: i32,
79 pub FileId: ::windows_sys::core::GUID,
80 pub DataStreamId: ::windows_sys::core::GUID,
04454e1e 81 pub FilePathName: ::windows_sys::core::PCWSTR,
5e7ed085
FG
82 pub VersionInfo: *mut PRJ_PLACEHOLDER_VERSION_INFO,
83 pub TriggeringProcessId: u32,
04454e1e 84 pub TriggeringProcessImageFileName: ::windows_sys::core::PCWSTR,
5e7ed085
FG
85 pub InstanceContext: *mut ::core::ffi::c_void,
86}
5e7ed085 87impl ::core::marker::Copy for PRJ_CALLBACK_DATA {}
5e7ed085
FG
88impl ::core::clone::Clone for PRJ_CALLBACK_DATA {
89 fn clone(&self) -> Self {
90 *self
91 }
92}
04454e1e 93#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 94pub type PRJ_CALLBACK_DATA_FLAGS = i32;
04454e1e 95#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 96pub const PRJ_CB_DATA_FLAG_ENUM_RESTART_SCAN: PRJ_CALLBACK_DATA_FLAGS = 1i32;
04454e1e 97#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 98pub const PRJ_CB_DATA_FLAG_ENUM_RETURN_SINGLE_ENTRY: PRJ_CALLBACK_DATA_FLAGS = 2i32;
04454e1e 99#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
100pub type PRJ_CANCEL_COMMAND_CB = ::core::option::Option<unsafe extern "system" fn(callbackdata: *const PRJ_CALLBACK_DATA)>;
101#[repr(C)]
04454e1e 102#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
103pub struct PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS {
104 pub CommandType: PRJ_COMPLETE_COMMAND_TYPE,
105 pub Anonymous: PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS_0,
106}
107impl ::core::marker::Copy for PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS {}
108impl ::core::clone::Clone for PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS {
109 fn clone(&self) -> Self {
110 *self
111 }
112}
113#[repr(C)]
04454e1e 114#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
115pub union PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS_0 {
116 pub Notification: PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS_0_1,
117 pub Enumeration: PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS_0_0,
118}
119impl ::core::marker::Copy for PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS_0 {}
120impl ::core::clone::Clone for PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS_0 {
121 fn clone(&self) -> Self {
122 *self
123 }
124}
125#[repr(C)]
04454e1e 126#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
127pub struct PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS_0_0 {
128 pub DirEntryBufferHandle: PRJ_DIR_ENTRY_BUFFER_HANDLE,
129}
130impl ::core::marker::Copy for PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS_0_0 {}
131impl ::core::clone::Clone for PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS_0_0 {
132 fn clone(&self) -> Self {
133 *self
134 }
135}
136#[repr(C)]
04454e1e 137#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
138pub struct PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS_0_1 {
139 pub NotificationMask: PRJ_NOTIFY_TYPES,
140}
141impl ::core::marker::Copy for PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS_0_1 {}
142impl ::core::clone::Clone for PRJ_COMPLETE_COMMAND_EXTENDED_PARAMETERS_0_1 {
143 fn clone(&self) -> Self {
144 *self
145 }
146}
04454e1e 147#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 148pub type PRJ_COMPLETE_COMMAND_TYPE = i32;
04454e1e 149#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 150pub const PRJ_COMPLETE_COMMAND_TYPE_NOTIFICATION: PRJ_COMPLETE_COMMAND_TYPE = 1i32;
04454e1e 151#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
152pub const PRJ_COMPLETE_COMMAND_TYPE_ENUMERATION: PRJ_COMPLETE_COMMAND_TYPE = 2i32;
153pub type PRJ_DIR_ENTRY_BUFFER_HANDLE = isize;
04454e1e 154#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
155pub type PRJ_END_DIRECTORY_ENUMERATION_CB = ::core::option::Option<unsafe extern "system" fn(callbackdata: *const PRJ_CALLBACK_DATA, enumerationid: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT>;
156#[repr(C)]
04454e1e 157#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
158pub struct PRJ_EXTENDED_INFO {
159 pub InfoType: PRJ_EXT_INFO_TYPE,
160 pub NextInfoOffset: u32,
161 pub Anonymous: PRJ_EXTENDED_INFO_0,
162}
5e7ed085 163impl ::core::marker::Copy for PRJ_EXTENDED_INFO {}
5e7ed085
FG
164impl ::core::clone::Clone for PRJ_EXTENDED_INFO {
165 fn clone(&self) -> Self {
166 *self
167 }
168}
169#[repr(C)]
04454e1e 170#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
171pub union PRJ_EXTENDED_INFO_0 {
172 pub Symlink: PRJ_EXTENDED_INFO_0_0,
173}
5e7ed085 174impl ::core::marker::Copy for PRJ_EXTENDED_INFO_0 {}
5e7ed085
FG
175impl ::core::clone::Clone for PRJ_EXTENDED_INFO_0 {
176 fn clone(&self) -> Self {
177 *self
178 }
179}
180#[repr(C)]
04454e1e 181#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 182pub struct PRJ_EXTENDED_INFO_0_0 {
04454e1e 183 pub TargetName: ::windows_sys::core::PCWSTR,
5e7ed085 184}
5e7ed085 185impl ::core::marker::Copy for PRJ_EXTENDED_INFO_0_0 {}
5e7ed085
FG
186impl ::core::clone::Clone for PRJ_EXTENDED_INFO_0_0 {
187 fn clone(&self) -> Self {
188 *self
189 }
190}
04454e1e 191#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 192pub type PRJ_EXT_INFO_TYPE = i32;
04454e1e 193#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
194pub const PRJ_EXT_INFO_TYPE_SYMLINK: PRJ_EXT_INFO_TYPE = 1i32;
195#[repr(C)]
04454e1e 196#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
197#[cfg(feature = "Win32_Foundation")]
198pub struct PRJ_FILE_BASIC_INFO {
199 pub IsDirectory: super::super::Foundation::BOOLEAN,
200 pub FileSize: i64,
201 pub CreationTime: i64,
202 pub LastAccessTime: i64,
203 pub LastWriteTime: i64,
204 pub ChangeTime: i64,
205 pub FileAttributes: u32,
206}
207#[cfg(feature = "Win32_Foundation")]
208impl ::core::marker::Copy for PRJ_FILE_BASIC_INFO {}
209#[cfg(feature = "Win32_Foundation")]
210impl ::core::clone::Clone for PRJ_FILE_BASIC_INFO {
211 fn clone(&self) -> Self {
212 *self
213 }
214}
04454e1e 215#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 216pub type PRJ_FILE_STATE = u32;
04454e1e 217#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 218pub const PRJ_FILE_STATE_PLACEHOLDER: PRJ_FILE_STATE = 1u32;
04454e1e 219#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 220pub const PRJ_FILE_STATE_HYDRATED_PLACEHOLDER: PRJ_FILE_STATE = 2u32;
04454e1e 221#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 222pub const PRJ_FILE_STATE_DIRTY_PLACEHOLDER: PRJ_FILE_STATE = 4u32;
04454e1e 223#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 224pub const PRJ_FILE_STATE_FULL: PRJ_FILE_STATE = 8u32;
04454e1e 225#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 226pub const PRJ_FILE_STATE_TOMBSTONE: PRJ_FILE_STATE = 16u32;
04454e1e
FG
227#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
228pub type PRJ_GET_DIRECTORY_ENUMERATION_CB = ::core::option::Option<unsafe extern "system" fn(callbackdata: *const PRJ_CALLBACK_DATA, enumerationid: *const ::windows_sys::core::GUID, searchexpression: ::windows_sys::core::PCWSTR, direntrybufferhandle: PRJ_DIR_ENTRY_BUFFER_HANDLE) -> ::windows_sys::core::HRESULT>;
229#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 230pub type PRJ_GET_FILE_DATA_CB = ::core::option::Option<unsafe extern "system" fn(callbackdata: *const PRJ_CALLBACK_DATA, byteoffset: u64, length: u32) -> ::windows_sys::core::HRESULT>;
04454e1e 231#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
232pub type PRJ_GET_PLACEHOLDER_INFO_CB = ::core::option::Option<unsafe extern "system" fn(callbackdata: *const PRJ_CALLBACK_DATA) -> ::windows_sys::core::HRESULT>;
233pub type PRJ_NAMESPACE_VIRTUALIZATION_CONTEXT = isize;
04454e1e 234#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 235pub type PRJ_NOTIFICATION = i32;
04454e1e 236#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 237pub const PRJ_NOTIFICATION_FILE_OPENED: PRJ_NOTIFICATION = 2i32;
04454e1e 238#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 239pub const PRJ_NOTIFICATION_NEW_FILE_CREATED: PRJ_NOTIFICATION = 4i32;
04454e1e 240#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 241pub const PRJ_NOTIFICATION_FILE_OVERWRITTEN: PRJ_NOTIFICATION = 8i32;
04454e1e 242#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 243pub const PRJ_NOTIFICATION_PRE_DELETE: PRJ_NOTIFICATION = 16i32;
04454e1e 244#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 245pub const PRJ_NOTIFICATION_PRE_RENAME: PRJ_NOTIFICATION = 32i32;
04454e1e 246#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 247pub const PRJ_NOTIFICATION_PRE_SET_HARDLINK: PRJ_NOTIFICATION = 64i32;
04454e1e 248#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 249pub const PRJ_NOTIFICATION_FILE_RENAMED: PRJ_NOTIFICATION = 128i32;
04454e1e 250#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 251pub const PRJ_NOTIFICATION_HARDLINK_CREATED: PRJ_NOTIFICATION = 256i32;
04454e1e 252#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 253pub const PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_NO_MODIFICATION: PRJ_NOTIFICATION = 512i32;
04454e1e 254#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 255pub const PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_MODIFIED: PRJ_NOTIFICATION = 1024i32;
04454e1e 256#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 257pub const PRJ_NOTIFICATION_FILE_HANDLE_CLOSED_FILE_DELETED: PRJ_NOTIFICATION = 2048i32;
04454e1e 258#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 259pub const PRJ_NOTIFICATION_FILE_PRE_CONVERT_TO_FULL: PRJ_NOTIFICATION = 4096i32;
04454e1e 260#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085 261#[cfg(feature = "Win32_Foundation")]
04454e1e 262pub type PRJ_NOTIFICATION_CB = ::core::option::Option<unsafe extern "system" fn(callbackdata: *const PRJ_CALLBACK_DATA, isdirectory: super::super::Foundation::BOOLEAN, notification: PRJ_NOTIFICATION, destinationfilename: ::windows_sys::core::PCWSTR, operationparameters: *mut PRJ_NOTIFICATION_PARAMETERS) -> ::windows_sys::core::HRESULT>;
5e7ed085 263#[repr(C)]
04454e1e 264#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
265pub struct PRJ_NOTIFICATION_MAPPING {
266 pub NotificationBitMask: PRJ_NOTIFY_TYPES,
04454e1e 267 pub NotificationRoot: ::windows_sys::core::PCWSTR,
5e7ed085 268}
5e7ed085 269impl ::core::marker::Copy for PRJ_NOTIFICATION_MAPPING {}
5e7ed085
FG
270impl ::core::clone::Clone for PRJ_NOTIFICATION_MAPPING {
271 fn clone(&self) -> Self {
272 *self
273 }
274}
275#[repr(C)]
04454e1e 276#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
277#[cfg(feature = "Win32_Foundation")]
278pub union PRJ_NOTIFICATION_PARAMETERS {
279 pub PostCreate: PRJ_NOTIFICATION_PARAMETERS_2,
280 pub FileRenamed: PRJ_NOTIFICATION_PARAMETERS_1,
281 pub FileDeletedOnHandleClose: PRJ_NOTIFICATION_PARAMETERS_0,
282}
283#[cfg(feature = "Win32_Foundation")]
284impl ::core::marker::Copy for PRJ_NOTIFICATION_PARAMETERS {}
285#[cfg(feature = "Win32_Foundation")]
286impl ::core::clone::Clone for PRJ_NOTIFICATION_PARAMETERS {
287 fn clone(&self) -> Self {
288 *self
289 }
290}
291#[repr(C)]
04454e1e 292#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
293#[cfg(feature = "Win32_Foundation")]
294pub struct PRJ_NOTIFICATION_PARAMETERS_0 {
295 pub IsFileModified: super::super::Foundation::BOOLEAN,
296}
297#[cfg(feature = "Win32_Foundation")]
298impl ::core::marker::Copy for PRJ_NOTIFICATION_PARAMETERS_0 {}
299#[cfg(feature = "Win32_Foundation")]
300impl ::core::clone::Clone for PRJ_NOTIFICATION_PARAMETERS_0 {
301 fn clone(&self) -> Self {
302 *self
303 }
304}
305#[repr(C)]
04454e1e 306#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
307#[cfg(feature = "Win32_Foundation")]
308pub struct PRJ_NOTIFICATION_PARAMETERS_1 {
309 pub NotificationMask: PRJ_NOTIFY_TYPES,
310}
311#[cfg(feature = "Win32_Foundation")]
312impl ::core::marker::Copy for PRJ_NOTIFICATION_PARAMETERS_1 {}
313#[cfg(feature = "Win32_Foundation")]
314impl ::core::clone::Clone for PRJ_NOTIFICATION_PARAMETERS_1 {
315 fn clone(&self) -> Self {
316 *self
317 }
318}
319#[repr(C)]
04454e1e 320#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
321#[cfg(feature = "Win32_Foundation")]
322pub struct PRJ_NOTIFICATION_PARAMETERS_2 {
323 pub NotificationMask: PRJ_NOTIFY_TYPES,
324}
325#[cfg(feature = "Win32_Foundation")]
326impl ::core::marker::Copy for PRJ_NOTIFICATION_PARAMETERS_2 {}
327#[cfg(feature = "Win32_Foundation")]
328impl ::core::clone::Clone for PRJ_NOTIFICATION_PARAMETERS_2 {
329 fn clone(&self) -> Self {
330 *self
331 }
332}
04454e1e 333#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 334pub type PRJ_NOTIFY_TYPES = u32;
04454e1e 335#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 336pub const PRJ_NOTIFY_NONE: PRJ_NOTIFY_TYPES = 0u32;
04454e1e 337#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 338pub const PRJ_NOTIFY_SUPPRESS_NOTIFICATIONS: PRJ_NOTIFY_TYPES = 1u32;
04454e1e 339#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 340pub const PRJ_NOTIFY_FILE_OPENED: PRJ_NOTIFY_TYPES = 2u32;
04454e1e 341#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 342pub const PRJ_NOTIFY_NEW_FILE_CREATED: PRJ_NOTIFY_TYPES = 4u32;
04454e1e 343#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 344pub const PRJ_NOTIFY_FILE_OVERWRITTEN: PRJ_NOTIFY_TYPES = 8u32;
04454e1e 345#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 346pub const PRJ_NOTIFY_PRE_DELETE: PRJ_NOTIFY_TYPES = 16u32;
04454e1e 347#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 348pub const PRJ_NOTIFY_PRE_RENAME: PRJ_NOTIFY_TYPES = 32u32;
04454e1e 349#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 350pub const PRJ_NOTIFY_PRE_SET_HARDLINK: PRJ_NOTIFY_TYPES = 64u32;
04454e1e 351#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 352pub const PRJ_NOTIFY_FILE_RENAMED: PRJ_NOTIFY_TYPES = 128u32;
04454e1e 353#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 354pub const PRJ_NOTIFY_HARDLINK_CREATED: PRJ_NOTIFY_TYPES = 256u32;
04454e1e 355#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 356pub const PRJ_NOTIFY_FILE_HANDLE_CLOSED_NO_MODIFICATION: PRJ_NOTIFY_TYPES = 512u32;
04454e1e 357#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 358pub const PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_MODIFIED: PRJ_NOTIFY_TYPES = 1024u32;
04454e1e 359#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 360pub const PRJ_NOTIFY_FILE_HANDLE_CLOSED_FILE_DELETED: PRJ_NOTIFY_TYPES = 2048u32;
04454e1e 361#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 362pub const PRJ_NOTIFY_FILE_PRE_CONVERT_TO_FULL: PRJ_NOTIFY_TYPES = 4096u32;
04454e1e 363#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 364pub const PRJ_NOTIFY_USE_EXISTING_MASK: PRJ_NOTIFY_TYPES = 4294967295u32;
04454e1e 365#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 366pub type PRJ_PLACEHOLDER_ID = i32;
04454e1e 367#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
368pub const PRJ_PLACEHOLDER_ID_LENGTH: PRJ_PLACEHOLDER_ID = 128i32;
369#[repr(C)]
04454e1e 370#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
371#[cfg(feature = "Win32_Foundation")]
372pub struct PRJ_PLACEHOLDER_INFO {
373 pub FileBasicInfo: PRJ_FILE_BASIC_INFO,
374 pub EaInformation: PRJ_PLACEHOLDER_INFO_0,
375 pub SecurityInformation: PRJ_PLACEHOLDER_INFO_1,
376 pub StreamsInformation: PRJ_PLACEHOLDER_INFO_2,
377 pub VersionInfo: PRJ_PLACEHOLDER_VERSION_INFO,
378 pub VariableData: [u8; 1],
379}
380#[cfg(feature = "Win32_Foundation")]
381impl ::core::marker::Copy for PRJ_PLACEHOLDER_INFO {}
382#[cfg(feature = "Win32_Foundation")]
383impl ::core::clone::Clone for PRJ_PLACEHOLDER_INFO {
384 fn clone(&self) -> Self {
385 *self
386 }
387}
388#[repr(C)]
04454e1e 389#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
390#[cfg(feature = "Win32_Foundation")]
391pub struct PRJ_PLACEHOLDER_INFO_0 {
392 pub EaBufferSize: u32,
393 pub OffsetToFirstEa: u32,
394}
395#[cfg(feature = "Win32_Foundation")]
396impl ::core::marker::Copy for PRJ_PLACEHOLDER_INFO_0 {}
397#[cfg(feature = "Win32_Foundation")]
398impl ::core::clone::Clone for PRJ_PLACEHOLDER_INFO_0 {
399 fn clone(&self) -> Self {
400 *self
401 }
402}
403#[repr(C)]
04454e1e 404#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
405#[cfg(feature = "Win32_Foundation")]
406pub struct PRJ_PLACEHOLDER_INFO_1 {
407 pub SecurityBufferSize: u32,
408 pub OffsetToSecurityDescriptor: u32,
409}
410#[cfg(feature = "Win32_Foundation")]
411impl ::core::marker::Copy for PRJ_PLACEHOLDER_INFO_1 {}
412#[cfg(feature = "Win32_Foundation")]
413impl ::core::clone::Clone for PRJ_PLACEHOLDER_INFO_1 {
414 fn clone(&self) -> Self {
415 *self
416 }
417}
418#[repr(C)]
04454e1e 419#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`, `\"Win32_Foundation\"`*"]
5e7ed085
FG
420#[cfg(feature = "Win32_Foundation")]
421pub struct PRJ_PLACEHOLDER_INFO_2 {
422 pub StreamsInfoBufferSize: u32,
423 pub OffsetToFirstStreamInfo: u32,
424}
425#[cfg(feature = "Win32_Foundation")]
426impl ::core::marker::Copy for PRJ_PLACEHOLDER_INFO_2 {}
427#[cfg(feature = "Win32_Foundation")]
428impl ::core::clone::Clone for PRJ_PLACEHOLDER_INFO_2 {
429 fn clone(&self) -> Self {
430 *self
431 }
432}
433#[repr(C)]
04454e1e 434#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
435pub struct PRJ_PLACEHOLDER_VERSION_INFO {
436 pub ProviderID: [u8; 128],
437 pub ContentID: [u8; 128],
438}
439impl ::core::marker::Copy for PRJ_PLACEHOLDER_VERSION_INFO {}
440impl ::core::clone::Clone for PRJ_PLACEHOLDER_VERSION_INFO {
441 fn clone(&self) -> Self {
442 *self
443 }
444}
04454e1e 445#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 446pub type PRJ_QUERY_FILE_NAME_CB = ::core::option::Option<unsafe extern "system" fn(callbackdata: *const PRJ_CALLBACK_DATA) -> ::windows_sys::core::HRESULT>;
04454e1e 447#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 448pub type PRJ_STARTVIRTUALIZING_FLAGS = u32;
04454e1e 449#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 450pub const PRJ_FLAG_NONE: PRJ_STARTVIRTUALIZING_FLAGS = 0u32;
04454e1e 451#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
452pub const PRJ_FLAG_USE_NEGATIVE_PATH_CACHE: PRJ_STARTVIRTUALIZING_FLAGS = 1u32;
453#[repr(C)]
04454e1e 454#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
455pub struct PRJ_STARTVIRTUALIZING_OPTIONS {
456 pub Flags: PRJ_STARTVIRTUALIZING_FLAGS,
457 pub PoolThreadCount: u32,
458 pub ConcurrentThreadCount: u32,
459 pub NotificationMappings: *mut PRJ_NOTIFICATION_MAPPING,
460 pub NotificationMappingsCount: u32,
461}
5e7ed085 462impl ::core::marker::Copy for PRJ_STARTVIRTUALIZING_OPTIONS {}
5e7ed085
FG
463impl ::core::clone::Clone for PRJ_STARTVIRTUALIZING_OPTIONS {
464 fn clone(&self) -> Self {
465 *self
466 }
467}
04454e1e 468#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 469pub type PRJ_START_DIRECTORY_ENUMERATION_CB = ::core::option::Option<unsafe extern "system" fn(callbackdata: *const PRJ_CALLBACK_DATA, enumerationid: *const ::windows_sys::core::GUID) -> ::windows_sys::core::HRESULT>;
04454e1e 470#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 471pub type PRJ_UPDATE_FAILURE_CAUSES = u32;
04454e1e 472#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 473pub const PRJ_UPDATE_FAILURE_CAUSE_NONE: PRJ_UPDATE_FAILURE_CAUSES = 0u32;
04454e1e 474#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 475pub const PRJ_UPDATE_FAILURE_CAUSE_DIRTY_METADATA: PRJ_UPDATE_FAILURE_CAUSES = 1u32;
04454e1e 476#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 477pub const PRJ_UPDATE_FAILURE_CAUSE_DIRTY_DATA: PRJ_UPDATE_FAILURE_CAUSES = 2u32;
04454e1e 478#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 479pub const PRJ_UPDATE_FAILURE_CAUSE_TOMBSTONE: PRJ_UPDATE_FAILURE_CAUSES = 4u32;
04454e1e 480#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 481pub const PRJ_UPDATE_FAILURE_CAUSE_READ_ONLY: PRJ_UPDATE_FAILURE_CAUSES = 8u32;
04454e1e 482#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 483pub type PRJ_UPDATE_TYPES = u32;
04454e1e 484#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 485pub const PRJ_UPDATE_NONE: PRJ_UPDATE_TYPES = 0u32;
04454e1e 486#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 487pub const PRJ_UPDATE_ALLOW_DIRTY_METADATA: PRJ_UPDATE_TYPES = 1u32;
04454e1e 488#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 489pub const PRJ_UPDATE_ALLOW_DIRTY_DATA: PRJ_UPDATE_TYPES = 2u32;
04454e1e 490#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 491pub const PRJ_UPDATE_ALLOW_TOMBSTONE: PRJ_UPDATE_TYPES = 4u32;
04454e1e 492#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 493pub const PRJ_UPDATE_RESERVED1: PRJ_UPDATE_TYPES = 8u32;
04454e1e 494#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 495pub const PRJ_UPDATE_RESERVED2: PRJ_UPDATE_TYPES = 16u32;
04454e1e 496#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085 497pub const PRJ_UPDATE_ALLOW_READ_ONLY: PRJ_UPDATE_TYPES = 32u32;
04454e1e 498#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
499pub const PRJ_UPDATE_MAX_VAL: PRJ_UPDATE_TYPES = 64u32;
500#[repr(C)]
04454e1e 501#[doc = "*Required features: `\"Win32_Storage_ProjectedFileSystem\"`*"]
5e7ed085
FG
502pub struct PRJ_VIRTUALIZATION_INSTANCE_INFO {
503 pub InstanceID: ::windows_sys::core::GUID,
504 pub WriteAlignment: u32,
505}
506impl ::core::marker::Copy for PRJ_VIRTUALIZATION_INSTANCE_INFO {}
507impl ::core::clone::Clone for PRJ_VIRTUALIZATION_INSTANCE_INFO {
508 fn clone(&self) -> Self {
509 *self
510 }
511}