[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Int 21 Fn 67 - DOS 3.3+ - Set Handle Count [D]
AH = 67h
BX = size of new file handle table for process
Return: CF clear if successful
CF set on error
AX = error code (see AH=59h)
Desc: adjust the size of the per-process open file table, thus raising or
lowering the limit on the number of files the caller can open
simultaneously
Notes: if BX <= 20, no action is taken if the handle limit has not yet been
increased, and the table is copied back into the PSP if the limit
is currently > 20 handles
for file handle tables of > 20 handles, DOS 3.30 never reuses the
same memory block, even if the limit is being reduced; this can lead
to memory fragmentation as a new block is allocated and the existing
one freed
only the first 20 handles are copied to child processes in DOS 3.3-6.0
increasing the file handles here will not, in general, increase the
number of files that can be opened using the runtime library of a
high-level language such as C
BUGS: the original release of DOS 3.30 allocates a full 64K for the handle
table on requests for an even number of handles
DR-DOS 3.41 and 5.0 will lose track of any open file handles beyond
the portion of the JFT retained after the call; MS-DOS will indicate
error 04h if any of the JFT entries to be removed are open
See Also: AH=26h,AH=86h
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson