en:docs:dos:api:int21:40

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:docs:dos:api:int21:40 [2021/04/30 04:17] – created prokusheven:docs:dos:api:int21:40 [2024/05/02 08:12] (current) prokushev
Line 31: Line 31:
  
  
-  if CX is zero, no data is written, and the file is truncated or +if CX is zero, no data is written, and the file is truncated or extended to the current position 
-          extended to the current position +           
-        data is written beginning at the current file position, and the file +data is written beginning at the current file position, and the file position is updated after a successful write 
-          position is updated after a successful write +           
-        for FAT32 drives, the file must have been opened with AX=6C00h with +for FAT32 drives, the file must have been opened with AX=6C00h with the "extended size" flag in order to expand the file beyond 2GB; otherwise the write will fail with error code 0005h (access denied) 
-          the "extended size" flag in order to expand the file beyond 2GB; +           
-          otherwise the write will fail with error code 0005h (access denied) +the usual cause for AX < CX on return is a full disk 
-        the usual cause for AX < CX on return is a full disk +         
-  BUG:    a write of zero bytes will appear to succeed when it actually failed +BUG:    a write of zero bytes will appear to succeed when it actually failed if the write is extending the file and there is not enough disk space for the expanded file (DOS 5.0-6.0); one should therefore check whether the file was in fact extended by seeking to 0 bytes from the end of the file (INT 21/AX=4202h/CX=0000h/DX=0000h) 
-          if the write is extending the file and there is not enough disk +         
-          space for the expanded file (DOS 5.0-6.0); one should therefore check +under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
-          whether the file was in fact extended by seeking to 0 bytes from +
-          the end of the file (INT 21/AX=4202h/CX=0000h/DX=0000h) +
-        under the FlashTek X-32 DOS extender, the pointer is in DS:EDX+
                      
 ===== See also ===== ===== See also =====
  
- AH=28h,AH=3Fh"DOS",AH=93h,INT 2F/AX=1109h+AH=[[en:docs:dos:api:int21:28|28h]],AH=[[en:docs:dos:api:int21:3f|3Fh]],INT 2F/AX=1109h
  
 ===== Note ===== ===== Note =====