Alexandre Julliard
e36a9c459d
kernel32: Move volume functions to kernelbase.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-05 20:53:02 +02:00
Zebediah Figura
928d1e6447
kernel32: Implement GetVolumeInformationByHandleW().
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 09:12:03 +02:00
Alexandre Julliard
e71ffcde30
kernel32: Avoid using memchrW().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-01 10:30:13 +02:00
Zebediah Figura
9b80443a8f
kernel32: Reimplement GetVolumePathName() using NtQueryInformationFile(FileAttributeTagInformation).
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-23 12:14:07 +01:00
Zebediah Figura
3641983714
kernel32: Reimplement DefineDosDevice() on top of NT symbolic links.
...
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-27 23:34:51 +01:00
Paul Gofman
4907f2626c
kernel32: Output a message in GetVolumeInformationW() when device has no read access.
...
A lot of applications fail to install from CDs or mounted ISO images when Wine does
not return correct volume label from GetVolumeInformation() repeatedly asking to
insert correct disk. Most of the time it happens because the block device is read only
for user (which is typical default behaviour) and FS info cannot be read.
It looks like the hint about what went wrong will simplify things in this common case.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 20:18:46 +01:00
Alexandre Julliard
14fbecee65
kernel32: Add set_ntstatus() helper.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 09:43:27 +02:00
Alexandre Julliard
59e1d114a4
kernel32: Use strncmpiW instead of memicmpW for strings without embedded nulls.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-07 11:31:05 -05:00
Michael Stefaniuc
fe70e0e58f
kernel32: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:15:59 +02:00
Mark White
d37d9860a1
kernel32: Fix forward slash path handling to GetVolumePathNameW.
...
Signed-off-by: Mark White <chopinbig2@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-26 12:13:15 +02:00
Alexandre Julliard
d23815827d
kernel32: Rely solely on the DosDevices symbolic links in QueryDosDevice.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-03 11:50:02 +02:00
Austin English
ad6c781eb2
kernel32: Add GetVolumeInformationByHandleW stub.
...
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:52:04 +01:00
Francois Gouget
c8d1fbc6d2
kernel32: Fix typos in a couple of comments.
...
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-04 11:01:42 +09:00
Jacek Caban
8294722142
kernel32: Pass SYNCHRONIZE flag to NtOpenFile.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-30 21:01:59 +09:00
Marcus Meissner
c1d262f66d
kernel32: GetCurrentDirectoryW gets characters, not bytes.
2015-06-26 20:35:06 +09:00
Erich E. Hoover
ed151a5efc
kernel32: Handle device paths in GetVolumePathName.
...
NT-style paths that have a device prefix (\??\) also return the drive
of the current working directory (even if they're valid devices).
2015-06-23 20:46:08 +09:00
Erich E. Hoover
5a84969f39
kernel32: Handle bogus DOS paths in GetVolumePathName.
...
Paths that are not NT and not even close to DOS don't actually fail
catastrophically. Even though MSDN suggests that it returns the boot
drive in this case, tests indicate that it returns the drive of the
current working directory.
2015-06-23 20:46:07 +09:00
Erich E. Hoover
e8e13308ea
kernel32: Handle semi-DOS paths in GetVolumePathName.
...
Add support for "semi-DOS" paths, these paths revert to the drive
letter specified in the first character.
2015-06-23 20:46:03 +09:00
Erich E. Hoover
f6c7e247ad
kernel32: Implement GetVolumePathName.
...
The purpose of this function is to return the most fundamental path
without leaving a filesystem. Steam uses this so that it can use inode
searches, without this functionality some installations/validations will
fail if the Steam Library is not on the same drive as Steam
itself (symlink'd to another location).
2015-06-23 20:44:21 +09:00
Alexandre Julliard
c4fb1f617d
kernel32: Get rid of the hardcoded NUL device in QueryDosDeviceW.
2015-05-21 17:37:42 +09:00
Alexandre Julliard
f32600d3c1
kernel32: Check NT symlink first for all devices in QueryDosDeviceW.
2015-05-21 17:37:14 +09:00
Michael Müller
f556d0e936
kernel32: Return correct device type for cd devices without medium.
2015-05-19 19:24:20 +09:00
Austin English
295f194804
kernel32: Add SetVolumeMountPointA/W stubs.
2015-02-12 22:12:22 +09:00
Thomas Faber
7865b1a277
kernel32: Do not omit mandatory argument to DeviceIoControl.
2014-07-21 11:55:35 +02:00
Bruno Jesus
3465646d44
kernel32: Fix parameters checking for GetVolumePathName().
2013-09-09 22:09:59 +02:00
Nikolay Sivov
9bf8a5ec6f
kernel32: Simplify constant string length calculation.
2013-08-28 11:09:16 +02:00
Andrew Talbot
ac79a3f9d3
kernel32: Avoid signed-unsigned integer comparisons.
2013-02-12 10:17:08 +01:00
Alexandre Goujon
d0001e357a
kernel32: Use the FSD sector location to compute the serial of a UDF volume.
2012-12-11 20:45:43 +01:00
Erich Hoover
6e0d43811b
kernel32: Report FILE_PERSISTENT_ACLS flag for NTFS volumes.
2012-09-20 19:58:50 +02:00
Alexandre Goujon
4d7f510bef
kernel32: Reimplement GetLogicalDrives using Nt{Open, Query}DirectoryObject.
2012-07-30 17:57:50 +02:00
Austin English
729afb18fe
kernel32: Add more tracing to GetDiskFreeSpaceW.
2012-06-25 10:39:36 +02:00
Austin English
1726427113
kernel32: Add stubs for DeleteVolumeMountPointA/W.
2012-03-14 17:30:18 +01:00
Andrew Talbot
d5ad5ca91c
kernel32: Remove extraneous braces from switch statement.
2011-11-07 11:53:52 +01:00
Marcus Meissner
df69fa186f
kernel32: Make sure we reference stack data still in scope (Coverity).
2011-11-02 16:07:00 +01:00
Francois Gouget
f8c315e052
kernel32: Add parentheses to clarify the precedence between '&' and '||'.
2011-09-09 16:09:52 +02:00
Alexandre Goujon
73f4e23938
kernel32: Add UDF support.
...
Based on Steven Wallace work.
2011-09-06 12:23:55 +02:00
Hans Leidekker
552715f0c1
kernel32: Implement and test GetVolumePathNamesForVolumeName.
2011-03-29 15:41:11 +02:00
André Hentschel
78160d4fe1
kernel32: Add stub for GetVolumePathNamesForVolumeNameA.
2011-03-10 12:52:48 +01:00
Marcus Meissner
a91b65960f
kernel32: Avoid shadowing "status" variable.
2011-02-28 11:07:06 +01:00
Alexandre Julliard
332361c1bb
kernel32: Fix a trace to print the correct error code.
2010-11-04 16:43:21 +01:00
Alexandre Julliard
1379269587
kernel32: Fix a FAT format sanity check for floppies.
2010-10-25 13:52:51 +02:00
Alexandre Julliard
1455604704
kernel32: Fix last error code in GetVolumeInformationW when an explicit subdir is requested.
2010-10-20 12:29:45 +02:00
Alexandre Julliard
357b50600b
kernel32: Use the NT name to retrieve label and serial in GetVolumeInformationW.
2010-10-20 12:26:54 +02:00
Alexandre Julliard
5820f40862
kernel32: Use the NT name to open the root directory in GetVolumeInformationW.
2010-10-20 12:25:32 +02:00
Alexandre Julliard
732534f954
kernel32: Use the NT name to open the device in GetVolumeInformationW.
2010-10-20 12:23:00 +02:00
Alexandre Julliard
ee0f0da69b
kernel32: Use RtlDosPathNameToNtPathName_U to validate the path in GetVolumeInformationW.
2010-10-20 12:19:59 +02:00
Louis Lenders
3c92b6c5e4
kernel32: Add stub for GetVolumePathNamesForVolumeNameW.
2009-10-23 12:38:31 +02:00
Alexandre Julliard
985dd53712
kernel32: Store the symlink target directly into the correct buffer in GetVolumeNameForVolumeMountPointW.
2009-10-22 14:57:24 +02:00
Alexandre Julliard
f18276fe0b
kernel32: Fetch more information from the DosDevices directory for QueryDosDevice.
2009-07-24 11:01:41 +02:00
Guy Albertelli
c1f161a678
kernel32: Fix GetVolumeNameForVolumeMountPointW to match Mountmgr.
2009-05-26 15:36:53 +02:00