[<<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