Jump to content

DosNewSize: Difference between revisions

From EDM2
Created page with "==Description== This call changes the size of a file. ==Syntax== <PRE> DosNewSize (FileHandle, FileSize) </PRE> ==Parameters== ; FileHandle (HFILE) - input : Handle o..."
 
Ak120 (talk | contribs)
mNo edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==Description==
This call changes the size of a file.
This call changes the size of a file.


==Syntax==
==Syntax==
<PRE>
  DosNewSize (FileHandle, FileSize)
  DosNewSize
 
    (FileHandle, FileSize)
</PRE>


==Parameters==
==Parameters==
; FileHandle (HFILE) - input : Handle of the file whose size is being changed.  
;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
;rc (USHORT) - return:Return code descriptions are:
 
* 0 NO_ERROR
Return code descriptions are:
* 5 ERROR_ACCESS_DENIED
 
* 6 ERROR_INVALID_HANDLE
* 0       NO_ERROR  
*26 ERROR_NOT_DOS_DISK
* 5       ERROR_ACCESS_DENIED  
*33 ERROR_LOCK_VIOLATION
* 6       ERROR_INVALID_HANDLE  
*87 ERROR_INVALID_PARAMETER
* 26       ERROR_NOT_DOS_DISK  
*112 ERROR_DISK_FULL
* 33       ERROR_LOCK_VIOLATION  
* 87       ERROR_INVALID_PARAMETER  
* 112     ERROR_DISK_FULL


==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.


==Example Code==
== Bindings==
=== C Binding===
=== C ===
<PRE>
<PRE>
#define INCL_DOSFILEMGR
#define INCL_DOSFILEMGR
Line 39: Line 30:
USHORT  rc = DosNewSize(FileHandle, FileSize);
USHORT  rc = DosNewSize(FileHandle, FileSize);


HFILE           FileHandle;    /* File handle */
HFILE   FileHandle;    /* File handle */
ULONG           FileSize;      /* File's new size */
ULONG   FileSize;      /* File's new size */


USHORT           rc;            /* return code */
USHORT rc;            /* return code */
</PRE>
</PRE>


===MASM Binding===
===MASM===
<PRE>
<PRE>
EXTRN  DosNewSize:FAR
EXTRN  DosNewSize:FAR
Line 57: Line 48:
</PRE>
</PRE>


==Related Functions==
[[Category:Dos16]]
*
 
[[Category:The OS/2 API Project]]

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