Add this page to your book
Remove this page from your book
Table of Contents
This is part of Family API which allow to create dual-os version of program runs under OS/2 and DOS
Note: This is legacy API call. It is recommended to use 32-bit equivalent
This call changes the size of a file.
DosNewSize (FileHandle, FileSize)
rc (USHORT) - return
Return code descriptions are:
- 0 NO_ERROR
- 5 ERROR_ACCESS_DENIED
- 6 ERROR_INVALID_HANDLE
- 26 ERROR_NOT_DOS_DISK
- 33 ERROR_LOCK_VIOLATION
- 87 ERROR_INVALID_PARAMETER
- 112 ERROR_DISK_FULL
When DosNewSize is called, the file must be open in a mode that allows write access. If the file is a read-only file, its read-only status must be changed with DosSetFileMode before you can open the file for write access.
The open file can be truncated or extended in size. If the file is being extended, the file system makes a reasonable attempt to allocate the additional bytes for the file in a contiguous (or nearly contiguous) space on the medium. The value of the new bytes is undefined.
#define INCL_DOSFILEMGR USHORT rc = DosNewSize(FileHandle, FileSize); HFILE FileHandle; /* File handle */ ULONG FileSize; /* File's new size */ USHORT rc; /* return code */
EXTRN DosNewSize:FAR INCL_DOSFILEMGR EQU 1 PUSH WORD FileHandle ;File handle PUSH DWORD FileSize ;File's new size CALL DosNewSize
Text based on http://www.edm2.com/index.php/DosNewSize