@@ -197,7 +197,7 @@ compat_fn_optional! {
197
197
pub fn WakeByAddressSingle ( address: * const c_void) ;
198
198
}
199
199
200
- #[ cfg( any( target_vendor = "win7" , target_vendor = "uwp" ) ) ]
200
+ #[ cfg( any( target_vendor = "win7" ) ) ]
201
201
compat_fn_with_fallback ! {
202
202
pub static NTDLL : & CStr = c"ntdll" ;
203
203
@@ -228,65 +228,14 @@ compat_fn_with_fallback! {
228
228
) -> NTSTATUS {
229
229
panic!( "keyed events not available" )
230
230
}
231
+ }
231
232
232
- // These functions are available on UWP when lazily loaded. They will fail WACK if loaded statically.
233
- #[ cfg( target_vendor = "uwp" ) ]
234
- pub fn NtCreateFile (
235
- filehandle: * mut HANDLE ,
236
- desiredaccess: FILE_ACCESS_RIGHTS ,
237
- objectattributes: * const OBJECT_ATTRIBUTES ,
238
- iostatusblock: * mut IO_STATUS_BLOCK ,
239
- allocationsize: * const i64 ,
240
- fileattributes: FILE_FLAGS_AND_ATTRIBUTES ,
241
- shareaccess: FILE_SHARE_MODE ,
242
- createdisposition: NTCREATEFILE_CREATE_DISPOSITION ,
243
- createoptions: NTCREATEFILE_CREATE_OPTIONS ,
244
- eabuffer: * const c_void,
245
- ealength: u32
246
- ) -> NTSTATUS {
247
- STATUS_NOT_IMPLEMENTED
248
- }
249
- #[ cfg( target_vendor = "uwp" ) ]
250
- pub fn NtOpenFile (
251
- filehandle: * mut HANDLE ,
252
- desiredaccess: u32 ,
253
- objectattributes: * const OBJECT_ATTRIBUTES ,
254
- iostatusblock: * mut IO_STATUS_BLOCK ,
255
- shareaccess: u32 ,
256
- openoptions: u32
257
- ) -> NTSTATUS {
258
- STATUS_NOT_IMPLEMENTED
259
- }
260
- #[ cfg( target_vendor = "uwp" ) ]
261
- pub fn NtReadFile (
262
- filehandle: HANDLE ,
263
- event: HANDLE ,
264
- apcroutine: PIO_APC_ROUTINE ,
265
- apccontext: * const c_void,
266
- iostatusblock: * mut IO_STATUS_BLOCK ,
267
- buffer: * mut c_void,
268
- length: u32 ,
269
- byteoffset: * const i64 ,
270
- key: * const u32
271
- ) -> NTSTATUS {
272
- STATUS_NOT_IMPLEMENTED
273
- }
274
- #[ cfg( target_vendor = "uwp" ) ]
275
- pub fn NtWriteFile (
276
- filehandle: HANDLE ,
277
- event: HANDLE ,
278
- apcroutine: PIO_APC_ROUTINE ,
279
- apccontext: * const c_void,
280
- iostatusblock: * mut IO_STATUS_BLOCK ,
281
- buffer: * const c_void,
282
- length: u32 ,
283
- byteoffset: * const i64 ,
284
- key: * const u32
285
- ) -> NTSTATUS {
286
- STATUS_NOT_IMPLEMENTED
287
- }
288
- #[ cfg( target_vendor = "uwp" ) ]
289
- pub fn RtlNtStatusToDosError ( Status : NTSTATUS ) -> u32 {
290
- Status as u32
233
+ cfg_if:: cfg_if! {
234
+ if #[ cfg( target_vendor = "uwp" ) ] {
235
+ windows_targets:: link_raw_dylib!( "ntdll.dll" "system" fn NtCreateFile ( filehandle : * mut HANDLE , desiredaccess : FILE_ACCESS_RIGHTS , objectattributes : * const OBJECT_ATTRIBUTES , iostatusblock : * mut IO_STATUS_BLOCK , allocationsize : * const i64 , fileattributes : FILE_FLAGS_AND_ATTRIBUTES , shareaccess : FILE_SHARE_MODE , createdisposition : NTCREATEFILE_CREATE_DISPOSITION , createoptions : NTCREATEFILE_CREATE_OPTIONS , eabuffer : * const core:: ffi:: c_void, ealength : u32 ) -> NTSTATUS ) ;
236
+ windows_targets:: link_raw_dylib!( "ntdll.dll" "system" fn NtOpenFile ( filehandle : * mut HANDLE , desiredaccess : u32 , objectattributes : * const OBJECT_ATTRIBUTES , iostatusblock : * mut IO_STATUS_BLOCK , shareaccess : u32 , openoptions : u32 ) -> NTSTATUS ) ;
237
+ windows_targets:: link_raw_dylib!( "ntdll.dll" "system" fn NtReadFile ( filehandle : HANDLE , event : HANDLE , apcroutine : PIO_APC_ROUTINE , apccontext : * const core:: ffi:: c_void, iostatusblock : * mut IO_STATUS_BLOCK , buffer : * mut core:: ffi:: c_void, length : u32 , byteoffset : * const i64 , key : * const u32 ) -> NTSTATUS ) ;
238
+ windows_targets:: link_raw_dylib!( "ntdll.dll" "system" fn NtWriteFile ( filehandle : HANDLE , event : HANDLE , apcroutine : PIO_APC_ROUTINE , apccontext : * const core:: ffi:: c_void, iostatusblock : * mut IO_STATUS_BLOCK , buffer : * const core:: ffi:: c_void, length : u32 , byteoffset : * const i64 , key : * const u32 ) -> NTSTATUS ) ;
239
+ windows_targets:: link_raw_dylib!( "ntdll.dll" "system" fn RtlNtStatusToDosError ( status : NTSTATUS ) -> u32 ) ;
291
240
}
292
241
}
0 commit comments