109 lines
2.3 KiB
C
109 lines
2.3 KiB
C
/**************************************************************************************************
|
|
|
|
FILENAME: BootOptimizeNtfs.h
|
|
|
|
COPYRIGHT© 2001 Microsoft Corporation and Executive Software International, Inc.
|
|
|
|
DESCRIPTION:
|
|
Boot Optimize.
|
|
|
|
**************************************************************************************************/
|
|
//
|
|
// Prototype for NtFsControlFile and data structures
|
|
// used in its definition
|
|
//
|
|
#ifndef _BOOTOPTIMIZE_H_
|
|
#define _BOOTOPTIMIZE_H_
|
|
|
|
typedef struct _FILE_LIST_ENTRY *PFILE_LIST_ENTRY;
|
|
typedef struct _FREE_SPACE_ENTRY *PFREE_SPACE_ENTRY;
|
|
|
|
BOOL
|
|
InitialiseBootOptimise(
|
|
IN CONST BOOL bIsNtfs
|
|
);
|
|
|
|
|
|
DWORD
|
|
ProcessBootOptimise();
|
|
|
|
BOOL
|
|
UpdateInBootOptimiseList(
|
|
IN PFILE_LIST_ENTRY pFileListEntry = NULL
|
|
);
|
|
|
|
DWORD BootOptimize(
|
|
IN HANDLE hVolumeHandle,
|
|
IN LONGLONG BitmapSize,
|
|
IN LONGLONG BytesPerSector,
|
|
IN LONGLONG TotalClusters,
|
|
IN BOOL IsNtfs,
|
|
IN ULONGLONG MftZoneStart,
|
|
IN ULONGLONG MftZoneEnd,
|
|
IN TCHAR tDrive
|
|
);
|
|
BOOL LoadOptimizeFileList(
|
|
IN TCHAR* cBootOptimzePath,
|
|
IN BOOL IsNtfs,
|
|
IN TCHAR tDrive,
|
|
IN UINT uNumberofRecords
|
|
);
|
|
VOID FreeFileList();
|
|
LONGLONG GetSizeInformationAboutFiles();
|
|
|
|
LONGLONG GetFileSizeInfo(
|
|
IN HANDLE hBootOptimizeFileHandle
|
|
);
|
|
|
|
BOOL MoveFilesInOrder(
|
|
IN ULONGLONG lMoveFileHere,
|
|
IN ULONGLONG lEndOfFreeSpace,
|
|
IN HANDLE hBootVolumeHandle
|
|
);
|
|
|
|
BOOL GetBootOptimizeFileStreams(
|
|
IN HANDLE hBootOptimizeFileHandle,
|
|
IN TCHAR* tBootOptimizeFile,
|
|
IN UINT uNumberofRecords
|
|
);
|
|
static PTCHAR ParseStreamName(
|
|
IN PTCHAR StreamName
|
|
);
|
|
HANDLE GetFileHandle(
|
|
IN LPCTSTR lpFilePath
|
|
);
|
|
|
|
BOOL GetRegistryEntires(
|
|
OUT TCHAR cBootOptimzePath[MAX_PATH]
|
|
);
|
|
VOID SetRegistryEntires(
|
|
IN LONGLONG lLcnStartLocation,
|
|
IN LONGLONG lLcnEndLocation
|
|
);
|
|
BOOL CloseFileHandle(
|
|
IN HANDLE hBootOptimizeFileHandle
|
|
);
|
|
BOOL OpenReadBootOptimeFileIntoList(
|
|
IN TCHAR* cBootOptimzePath,
|
|
IN BOOL IsNtfs,
|
|
IN TCHAR tDrive
|
|
);
|
|
BOOL IsAValidFile(
|
|
IN TCHAR pBootOptimizeFileName[MAX_PATH+1],
|
|
IN TCHAR tDrive
|
|
);
|
|
VOID SaveErrorInRegistry(
|
|
TCHAR* tComplete,
|
|
TCHAR* tErrorString
|
|
);
|
|
LONGLONG GetStartingEndLncLocations(
|
|
IN PTCHAR pRegKey
|
|
);
|
|
BOOL CheckDateTimeStampInputFile(
|
|
IN TCHAR cBootOptimzePath[MAX_PATH]
|
|
);
|
|
|
|
|
|
|
|
#endif // #define _BOOTOPTIMIZE_H_
|