/* **------------------------------------------------------------------------------ ** Module: Disk Space Cleanup Property Sheets ** File: diskutil.h ** ** Purpose: General Disk utility functions ** Notes: ** Mod Log: Created by Jason Cobb (2/97) ** ** Copyright (c)1997 Microsoft Corporation, All Rights Reserved **------------------------------------------------------------------------------ */ #ifndef DISKUTIL_H #define DISKUTIL_H /* **------------------------------------------------------------------------------ ** Project include files **------------------------------------------------------------------------------ */ #ifndef COMMON_H #include "common.h" #endif /* **------------------------------------------------------------------------------ ** Defines **------------------------------------------------------------------------------ */ #ifndef cb1MEG #define cb1MEG ((ULONG)1048576L) #define cb2MEG (cb1MEG * 2L) #define cb5MEG (cb1MEG * 5L) #define cb10MEG (cb1MEG * 10L) #define cb50MEG (cb1MEG * 50L) #define cb100MEG (cb1MEG * 100L) #endif #ifndef DRENUM #define DRENUM typedef enum { Drive_A = 0, Drive_B, Drive_C, Drive_D, Drive_E, Drive_F, Drive_G, Drive_H, Drive_I, Drive_J, Drive_K, Drive_L, Drive_M, Drive_N, Drive_O, Drive_P, Drive_Q, Drive_R, Drive_S, Drive_T, Drive_U, Drive_V, Drive_W, Drive_X, Drive_Y, Drive_Z, Drive_INV, Drive_ALL } drenum; #endif // DRENUM typedef enum { hwUnknown, hwINVALID, hwRemoveable, hwFixed, hwNetwork, hwCDROM, hwRamDrive, hwFloppy } hardware; typedef enum { vtINVALID, vtDoubleSpace, vtDriveSpace, vtFrosting, vtMixed, vtFuture } volumetype; typedef struct _DEVIOCTL_REGISTERS { DWORD reg_EBX; DWORD reg_EDX; DWORD reg_ECX; DWORD reg_EAX; DWORD reg_EDI; DWORD reg_ESI; DWORD reg_Flags; } DEVIOCTL_REGISTERS, *PDEVIOCTL_REGISTERS; /* **------------------------------------------------------------------------------ ** Global function prototypes **------------------------------------------------------------------------------ */ BOOL fIsSingleDrive( LPTSTR lpDrive ); BOOL fIsValidDriveString( const TCHAR * szDrive ); BOOL GetDriveFromString( const TCHAR * szDrive, drenum & dre ); BOOL CreateStringFromDrive( drenum dre, TCHAR * szDrive, ULONG cLen ); HICON GetDriveIcon( drenum dre, BOOL bSmallIcon ); BOOL GetDriveDescription( drenum dre, TCHAR *psz, size_t cch ); BOOL GetHardwareType( drenum dre, hardware &hwType ); ULARGE_INTEGER GetFreeSpaceRatio( WORD dwDrive, ULARGE_INTEGER cbTotal ); #endif