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, INT 2F/AX=1113h

Note

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