Int 21/AH=5Ah

Prev Next Ralf Interrups Categories Contents

------

DOS 3.0+ - CREATE TEMPORARY FILE

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

Return:
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 reports that this function hangs in MS-DOS 6.2x if the name includes two consecutive path separators (e.g. C:\\ )

See Also: AH=3Ch - AH=5Bh

Category: DOS Kernel - Int 21h - D

------

Prev Next Ralf Interrups Categories Contents