en:docs:dos:api:int21:41

Note: This API call is for DOS and Win16 personality only. Use Family API for portability.

2018/09/07 05:04 · prokushev · 0 Comments

Int 21H, AH=41H

Version

2 and higher

Brief

“UNLINK” - DELETE FILE

Family API

Input

      AH = 41h
      DS:DX -> ASCIZ filename (no wildcards, but see notes)
      CL = attribute mask for deletion (server call only, see notes)

Return

CF clear if successful

          AX destroyed (DOS 3.3) AL seems to be drive of deleted file
      CF set on error
          AX = error code (02h,03h,05h) (see #01680 at AH=59h/BX=0000h)

Notes

(DOS 3.1+) wildcards are allowed if invoked via AX=5D00h, in which case
        the filespec must be canonical (as returned by AH=60h), and only
        files matching the attribute mask in CL are deleted
      DR DOS 5.0-6.0 returns error code 03h if invoked via AX=5D00h; DR DOS
        3.41 crashes if called via AX=5D00h with wildcards
      DOS does not erase the file's data; it merely becomes inaccessible
        because the FAT chain for the file is cleared
      deleting a file which is currently open may lead to filesystem
        corruption.  Unless SHARE is loaded, DOS does not close the handles
        referencing the deleted file, thus allowing writes to a nonexistant
        file.
      under DR DOS and DR Multiuser DOS, this function will fail if the file
        is currently open
      under the FlashTek X-32 DOS extender, the pointer is in DS:EDX
BUG:    DR DOS 3.41 crashes if called via AX=5D00h
        

See also

AH=13h,AX=4301h,AX=4380h,AX=5D00h,AH=60h,AX=7141h,AX=F244h, INT 2F/AX=1113h

Note

2018/09/04 17:23 · prokushev · 0 Comments