|
|
#include "fdisk.h"
HANDLE hModule;
// IsDiskRemovable is an array of BOOLEANs each of which indicates
// whether the corresponding physical disk is removable.
PBOOLEAN IsDiskRemovable = NULL;
// RemovableDiskReservedDriveLetters is an array of CHARs which
// shows the reserved drive letter for each disk if that disk is
// removable.
PCHAR RemovableDiskReservedDriveLetters;
// This will be an array of pointers to DISKSTATE structures, indexed
// by disk number.
PDISKSTATE *Disks;
// BootDiskNumber is the number of the disk on which the boot partition
// (ie. the disk with the WinNt files) resides. BootPartitionNumber is
// the original partition number of this partition.
ULONG BootDiskNumber; ULONG BootPartitionNumber;
// window handles
HANDLE hwndFrame, hwndList;
// GDI objects
HBITMAP hBitmapSmallDisk; HBITMAP hBitmapRemovableDisk; HDC hDC; HFONT hFontGraph, hFontGraphBold; HBRUSH Brushes[BRUSH_ARRAY_SIZE]; HBRUSH hBrushFreeLogical, hBrushFreePrimary; HPEN hPenNull, hPenThinSolid; HCURSOR hcurWait, hcurNormal;
// initial stuff for the disk graphs, used when there is
// no info in win.ini.
int BrushHatches[BRUSH_ARRAY_SIZE] = { DEFAULT_HATCH_USEDPRIMARY, DEFAULT_HATCH_USEDLOGICAL, DEFAULT_HATCH_STRIPESET, DEFAULT_HATCH_MIRROR, DEFAULT_HATCH_VOLUMESET };
int BrushColors[BRUSH_ARRAY_SIZE] = { DEFAULT_COLOR_USEDPRIMARY, DEFAULT_COLOR_USEDLOGICAL, DEFAULT_COLOR_STRIPESET, DEFAULT_COLOR_MIRROR, DEFAULT_COLOR_VOLUMESET };
// colors and patterns available for the disk graphs
COLORREF AvailableColors[NUM_AVAILABLE_COLORS] = { RGB(0,0,0), // black
RGB(128,128,128), // dark gray
RGB(192,192,192), // light gray
RGB(255,255,255), // white
RGB(128,128,0), // dark yellow
RGB(128,0,128), // violet
RGB(128,0,0), // dark red
RGB(0,128,128), // dark cyan
RGB(0,128,0), // dark green
RGB(0,0,128), // dark blue
RGB(255,255,0), // yellow
RGB(255,0,255), // light violet
RGB(255,0,0), // red
RGB(0,255,255), // cyan
RGB(0,255,0), // green
RGB(0,0,255) // blue
};
int AvailableHatches[NUM_AVAILABLE_HATCHES] = { 2,3,4,5,6 };
// positions for various items in a disk graph
DWORD GraphWidth, GraphHeight; DWORD BarTopYOffset, BarBottomYOffset, BarHeight; DWORD dxDriveLetterStatusArea; DWORD dxBarTextMargin, dyBarTextLine; DWORD dxSmallDisk, dySmallDisk, xSmallDisk, ySmallDisk; DWORD dxRemovableDisk, dyRemovableDisk, xRemovableDisk, yRemovableDisk; DWORD BarLeftX, BarWidth;
// if a single disk region is selected, these vars describe the selection.
PDISKSTATE SingleSel; DWORD SingleSelIndex;
// name of help file
PTCHAR HelpFile; TCHAR WinHelpFile[] = TEXT("windisk.hlp"); TCHAR LanmanHelpFile[] = TEXT("windiska.hlp");
// number of hard disks attached to the system
unsigned DiskCount = 0;
// class name for frame window
TCHAR szFrame[] = TEXT("fdFrame");
// "Disk %u"
LPTSTR DiskN;
PWSTR wszUnformatted, wszNewUnformatted, wszUnknown;
// If the following is TRUE, the registry needs to be updated and the user will
// be prompted to save changed just as if he had made changes to any partitions.
BOOL RegistryChanged = FALSE;
// Restart required to make changes work.
BOOL RestartRequired = FALSE;
// If the following is TRUE, the main window will pass WM_ENTERIDLE
// messages on to the child dialog box; this will trigger the
// configuration search.
BOOL ConfigurationSearchIdleTrigger = FALSE;
// This flag indicates whether this is a Server
// or just regular Windows NT Workstation.
BOOL IsLanmanNt = FALSE;
// This flag indicates whether double space volume creation
// and deletion is allowed.
BOOL IsFullDoubleSpace = FALSE;
// Cdrom is present in the system.
ULONG AllowCdRom = FALSE;
|