Function openFileW [src]

Same as openFile but Windows-only and the path parameter is WTF-16 encoded.

Prototype

pub fn openFileW(self: Dir, sub_path_w: []const u16, flags: File.OpenFlags) File.OpenError!File

Parameters

self: Dirsub_path_w: []const u16flags: File.OpenFlags

Source

pub fn openFileW(self: Dir, sub_path_w: []const u16, flags: File.OpenFlags) File.OpenError!File { const w = windows; const file: File = .{ .handle = try w.OpenFile(sub_path_w, .{ .dir = self.fd, .access_mask = w.SYNCHRONIZE | (if (flags.isRead()) @as(u32, w.GENERIC_READ) else 0) | (if (flags.isWrite()) @as(u32, w.GENERIC_WRITE) else 0), .creation = w.FILE_OPEN, }), }; errdefer file.close(); var io: w.IO_STATUS_BLOCK = undefined; const range_off: w.LARGE_INTEGER = 0; const range_len: w.LARGE_INTEGER = 1; const exclusive = switch (flags.lock) { .none => return file, .shared => false, .exclusive => true, }; try w.LockFile( file.handle, null, null, null, &io, &range_off, &range_len, null, @intFromBool(flags.lock_nonblocking), @intFromBool(exclusive), ); return file; }