/// <summary> /// Sets file size to the specified value -- DOES NOT reset file seek pointer to original location /// </summary> /// <param name="size"></param> /// <returns></returns> public bool SetFileSize(long size) { if (enablePrivileges) { return(Native32.SetFileSize(logHandle, size)); } else { int lodist = (int)size; int hidist = (int)(size >> 32); Native32.SetFilePointer(logHandle, lodist, ref hidist, Native32.EMoveMethod.Begin); if (!Native32.SetEndOfFile(logHandle)) { return(false); } return(true); } }
/// Sets file size to the specified value. /// Does not reset file seek pointer to original location. private bool SetFileSize(string filename, SafeFileHandle logHandle, long size) { if (segmentSize <= 0) { return(false); } if (Native32.EnableVolumePrivileges(filename, logHandle)) { return(Native32.SetFileSize(logHandle, size)); } int lodist = (int)size; int hidist = (int)(size >> 32); Native32.SetFilePointer(logHandle, lodist, ref hidist, Native32.EMoveMethod.Begin); if (!Native32.SetEndOfFile(logHandle)) { return(false); } return(true); }