Commit 4907f262 authored by Paul Gofman's avatar Paul Gofman Committed by Alexandre Julliard

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: 's avatarPaul Gofman <gofmanp@gmail.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent fcc01c30
...@@ -772,8 +772,12 @@ BOOL WINAPI GetVolumeInformationW( LPCWSTR root, LPWSTR label, DWORD label_len, ...@@ -772,8 +772,12 @@ BOOL WINAPI GetVolumeInformationW( LPCWSTR root, LPWSTR label, DWORD label_len,
CloseHandle( handle ); CloseHandle( handle );
goto fill_fs_info; goto fill_fs_info;
} }
else TRACE( "cannot open device %s: %x\n", debugstr_w(nt_name.Buffer), status ); else
{
TRACE( "cannot open device %s: %x\n", debugstr_w(nt_name.Buffer), status );
if (status == STATUS_ACCESS_DENIED)
MESSAGE( "wine: Read access denied for device %s, FS volume label and serial are not available.\n", debugstr_w(nt_name.Buffer) );
}
/* we couldn't open the device, fallback to default strategy */ /* we couldn't open the device, fallback to default strategy */
if (!set_ntstatus( NtOpenFile( &handle, SYNCHRONIZE, &attr, &io, 0, if (!set_ntstatus( NtOpenFile( &handle, SYNCHRONIZE, &attr, &io, 0,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment