Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

117 lines
1.8 KiB

//////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2002-2004 Microsoft Corporation
//
// Module Name: volutil.h
//
// Description:
// Utility functions for handling volumes
//
// Author: Jim Benton (jbenton) 30-Apr-2002
//
//////////////////////////////////////////////////////////////////////////////
#pragma once
#define GLOBALROOT_SIZE 14 // \\?\GLOBALROOT
BOOL
GetVolumeDrive(
IN WCHAR* pwszVolumePath,
IN DWORD cchDriveName,
OUT WCHAR* pwszDriveNameBuf
);
BOOL
VolumeSupportsQuotas(
IN WCHAR* pwszVolume
);
BOOL
VolumeIsValid(
IN WCHAR* pwszVolume
);
DWORD
VolumeIsDirty(
IN WCHAR* pwszVolume,
OUT BOOL* pfDirty
);
BOOL
VolumeIsMountable(
IN WCHAR* pwszVolume
);
BOOL
VolumeHasMountPoints(
IN WCHAR* pwszVolume
);
BOOL
VolumeIsReady(
IN WCHAR* pwszVolume
);
BOOL
VolumeIsFloppy(
IN WCHAR* pwszVolume
);
BOOL
VolumeIsSystem(
IN WCHAR* pwszVolume
);
BOOL
VolumeHoldsPagefile(
IN WCHAR* pwszVolume
);
DWORD
GetDeviceName(
IN WCHAR* pwszVolume,
OUT WCHAR wszDeviceName[MAX_PATH+GLOBALROOT_SIZE]
);
BOOL
VolumeMountPointExists(
IN WCHAR* pwszVolume,
IN WCHAR* pwszDirectory
);
void
DeleteVolumeDriveLetter(
IN WCHAR* pwszVolume,
IN WCHAR* pwszDrivePath
);
HRESULT
DeleteDriveLetterFromDB(
IN WCHAR* pwszDriveLetter
);
DWORD
LockVolume(
IN HANDLE hVolume
);
BOOL IsDriveLetterAvailable (
IN WCHAR* pwszDriveLetter
);
BOOL
IsDriveLetterSticky(
IN WCHAR* pwszDriveLetter
);
BOOL
IsBootDrive(
IN WCHAR* pwszDriveLetter
);
BOOL
DeleteNetworkShare(
IN WCHAR* pwszDriveRoot
);