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=5AH


3 and higher



Family API


AH = 5Ah
CX = file attribute (see #01420 at AX=4301h)
DS:DX -> ASCIZ path ending with a '\' + 13 zero bytes to receive the
	generated filename


CF clear if successful
    AX = file handle opened for read/write in compatibility mode
    DS:DX pathname extended with generated name for temporary file
CF set on error
    AX = error code (03h,04h,05h) (see #01680)


Desc: creates a file with a unique name which must be explicitly deleted Notes: under the FlashTek X-32 DOS extender, the path pointer is in DS:EDX

MS-DOS 3.0-4.0 and DR DOS 3.4-5.0 generate the filename as a sequence
  of hex digits based on the current date and time; MS-DOS 6+,
  DR DOS 6, and Novell DOS 7 use letters A-P in place of hex digits
MS-DOS 5.0 and DR DOS 3.41/5.0 will insert a missing trailing backslash
  before appending the generated filename, but due to this, an empty
  string results in a file in the root directory

BUGS: COMPAQ DOS 3.31 hangs if the pathname is at XXXXh:0000h; it apparently

  wraps around to the end of the segment
MS-DOS 5.00 revisions A and B and PC-DOS 5.00 revision A reportedly
  hang the system if the specified path is the root directory and the
  root directory is full (no free directory entries)
Mark Incley <mincley@krisalis.demon.co.uk> reports that this function
  hangs in MS-DOS 6.2x if the name includes two consecutive path
  separators (e.g. C:\\ )

See also



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