DosNewSize: Difference between revisions
Appearance
m Ak120 moved page DosNewSize (Legacy) to DosNewSize |
mNo edit summary |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
This call changes the size of a file. | This call changes the size of a file. | ||
==Syntax== | ==Syntax== | ||
DosNewSize (FileHandle, FileSize) | |||
DosNewSize | |||
==Parameters== | ==Parameters== | ||
; | ;FileHandle (HFILE) - input : Handle of the file whose size is being changed. | ||
;FileSize (ULONG) - input : File's new size in bytes. | |||
; FileSize (ULONG) - input : File's new size in bytes. | |||
==Return Code== | ==Return Code== | ||
;rc (USHORT) - return:Return code descriptions are: | |||
* 0 NO_ERROR | |||
Return code descriptions are: | * 5 ERROR_ACCESS_DENIED | ||
* 6 ERROR_INVALID_HANDLE | |||
* 0 | *26 ERROR_NOT_DOS_DISK | ||
* 5 | *33 ERROR_LOCK_VIOLATION | ||
* 6 | *87 ERROR_INVALID_PARAMETER | ||
* 26 | *112 ERROR_DISK_FULL | ||
* 33 | |||
* 87 | |||
* 112 | |||
==Remarks== | ==Remarks== | ||
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. | 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. | 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. | ||
== | == Bindings== | ||
=== C | === C === | ||
<PRE> | <PRE> | ||
#define INCL_DOSFILEMGR | #define INCL_DOSFILEMGR | ||
Line 43: | Line 30: | ||
USHORT rc = DosNewSize(FileHandle, FileSize); | USHORT rc = DosNewSize(FileHandle, FileSize); | ||
HFILE | HFILE FileHandle; /* File handle */ | ||
ULONG | ULONG FileSize; /* File's new size */ | ||
USHORT | USHORT rc; /* return code */ | ||
</PRE> | </PRE> | ||
===MASM | ===MASM=== | ||
<PRE> | <PRE> | ||
EXTRN DosNewSize:FAR | EXTRN DosNewSize:FAR | ||
Line 61: | Line 48: | ||
</PRE> | </PRE> | ||
[[Category:Dos16]] | |||
[[Category: |
Latest revision as of 02:11, 20 February 2023
This call changes the size of a file.
Syntax
DosNewSize (FileHandle, FileSize)
Parameters
- FileHandle (HFILE) - input
- Handle of the file whose size is being changed.
- FileSize (ULONG) - input
- File's new size in bytes.
Return Code
- 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
Remarks
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.
Bindings
C
#define INCL_DOSFILEMGR USHORT rc = DosNewSize(FileHandle, FileSize); HFILE FileHandle; /* File handle */ ULONG FileSize; /* File's new size */ USHORT rc; /* return code */
MASM
EXTRN DosNewSize:FAR INCL_DOSFILEMGR EQU 1 PUSH WORD FileHandle ;File handle PUSH DWORD FileSize ;File's new size CALL DosNewSize Returns WORD