282 lines
17 KiB
HTML
282 lines
17 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>Int 21/AH=11h
|
|
</TITLE>
|
|
<META NAME="Description" CONTENT="
|
|
Int 21/AH=11h - DOS 1+ - FIND FIRST MATCHING FILE USING FCB -
|
|
AH = 11h
|
|
DS:DX - unopened FCB (see #01345), may contain '?' wildcards
|
|
Return: AL = status
|
|
00h successful
|
|
[DTA] unopened FCB for first matching file
|
|
FFh no matching filename, or bad FCB
|
|
Notes: the type of the returned FCB depends on whether the input FCB was a
|
|
normal or an extended FCB
|
|
the data returned in the DTA (disk transfer area) is actually the
|
|
drive number (or extended FCB header and drive number) followed by
|
|
">
|
|
<META NAME="robots" CONTENT="none">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFD0A0">
|
|
<center>
|
|
<h2>Int 21/AH=11h
|
|
</h2>
|
|
</center><p>
|
|
<table border=1 cellpadding=3 cellspacing=1>
|
|
<td>
|
|
<a href="rb-2575.htm" tppabs="http://www.ctyme.com/intr/rb-2575.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-2577.htm" tppabs="http://www.ctyme.com/intr/rb-2577.htm">
|
|
<img src="ldown.gif" tppabs="http://graphics.ctyme.com/gif/ldown.gif" border=0 alt=Next></a>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/rbrown.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/rbrown.htm'" tppabs="http://www.ctyme.com/rbrown.htm">
|
|
<img src="lhome.gif" tppabs="http://graphics.ctyme.com/gif/lhome.gif" border=0 alt=Ralf Brown Page></a>
|
|
<td><a href="int.htm" tppabs="http://www.ctyme.com/intr/int.htm">Interrups</a></td>
|
|
<td><a href="cat.htm" tppabs="http://www.ctyme.com/intr/cat.htm">Categories</a></td>
|
|
<td><a href="alpha.htm" tppabs="http://www.ctyme.com/intr/alpha.htm">Contents</a></td>
|
|
</td></table><p>
|
|
<p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
<h3><font color=#C00040>DOS 1+ - FIND FIRST MATCHING FILE USING FCB</font></h3>
|
|
<PRE>
|
|
AH = 11h
|
|
DS:DX -> unopened FCB <a href="rb-2574.htm#Table1345" tppabs="http://www.ctyme.com/intr/rb-2574.htm#Table1345">(see #01345)</a>, may contain '?' wildcards<br>
|
|
<p><b>Return:</b><br>AL = status
|
|
00h successful
|
|
[DTA] unopened FCB for first matching file
|
|
FFh no matching filename, or bad FCB
|
|
</PRE>
|
|
<p><b>Notes:</b>
|
|
The type of the returned FCB depends on whether the input FCB was a
|
|
normal or an extended FCB.
|
|
The data returned in the DTA (disk transfer area) is actually the
|
|
drive number (or extended FCB header and drive number) followed by
|
|
the file's directory entry <a href="rb-2576.htm#Table1352" tppabs="http://www.ctyme.com/intr/rb-2576.htm#Table1352">(see #01352)</a>; this format happens to be
|
|
compatible with an unopened FCB.
|
|
For extended FCBs with search attribute 08h, the volume label (if any)
|
|
will be returned even if the current directory is not the root dir..
|
|
DOS 3.0+ also allows the '*' wildcard.
|
|
The search FCB at DS:DX must not be modified if AH=12h will be used to
|
|
continue searching; DOS 3.3 has set the following parts of the FCB:
|
|
0Ch BYTE ???
|
|
0Dh WORD directory entry number of matching file
|
|
0Fh WORD cluster number of current directory
|
|
11h 4 BYTEs ???
|
|
15h BYTE drive number (1=A:).
|
|
This function is used by many copy protection schemes to obtain the
|
|
starting cluster of a file
|
|
<p><b>BUG:</b>
|
|
Under Windows95, if a .EXE program ("MZ" header) rather than a true
|
|
.COM calls this function from a DOS box, the ten bytes of the
|
|
directory entry from 0Ch to 15h may be filled with zeros rather than
|
|
the additional file times
|
|
<p><b>See Also:</b>
|
|
<a href="rb-2577.htm" tppabs="http://www.ctyme.com/intr/rb-2577.htm">AH=12h</a> - <a href="rb-2589.htm" tppabs="http://www.ctyme.com/intr/rb-2589.htm">AH=1Ah</a> - <a href="rb-2977.htm" tppabs="http://www.ctyme.com/intr/rb-2977.htm">AH=4Eh</a> - <a href="rb-4332.htm" tppabs="http://www.ctyme.com/intr/rb-4332.htm">INT 2F/AX=111Bh</a>
|
|
<PRE>
|
|
<p>
|
|
Format of DOS directory entry:
|
|
<a name=table1352></a>
|
|
Offset Size Description (Table 01352)
|
|
00h 8 BYTEs blank-padded filename
|
|
first character is set to E5h for deleted files (05h for
|
|
pending delete files under Novell DOS / OpenDOS)
|
|
08h 3 BYTEs blank-padded file extension
|
|
0Bh BYTE attributes
|
|
0Ch 10 BYTEs (MS-DOS 1.0-6.22) reserved
|
|
(DR DOS) used to store file password / owner <a href="rb-2576.htm#Table1354" tppabs="http://www.ctyme.com/intr/rb-2576.htm#Table1354">(see #01354)</a>
|
|
(see also INT 21/AX=4302h)
|
|
(Novell DOS 7) DELWATCH data <a href="rb-2576.htm#Table1354" tppabs="http://www.ctyme.com/intr/rb-2576.htm#Table1354">(see #01354)</a>
|
|
(MS-DOS 7/Windows95) additional file times <a href="rb-2576.htm#Table1353" tppabs="http://www.ctyme.com/intr/rb-2576.htm#Table1353">(see #01353)</a>
|
|
16h WORD time of creation or last update <a href="javascript:if(confirm('http://www.ctyme.com/intr/rb-0000.htm \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/intr/rb-0000.htm#Table0'" tppabs="http://www.ctyme.com/intr/rb-0000.htm#Table0"></a>(see #01665 at AX=5700h)
|
|
18h WORD date of creation or last update <a href="javascript:if(confirm('http://www.ctyme.com/intr/rb-0000.htm \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/intr/rb-0000.htm#Table0'" tppabs="http://www.ctyme.com/intr/rb-0000.htm#Table0"></a>(see #01666 at AX=5700h)
|
|
1Ah WORD starting cluster number (see also AX=440Dh/CX=0871h)
|
|
(may not be set in INT 21/AH=11h return data for FAT32 drives)
|
|
1Ch DWORD file size
|
|
</PRE>
|
|
<p><b>See Also:</b>
|
|
#01355 - #02628 - #02629
|
|
<PRE>
|
|
<p>
|
|
Format of MS-DOS 7/Windows95 additional file times:
|
|
<a name=table1353></a>
|
|
Offset Size Description (Table 01353)
|
|
00h BYTE reserved
|
|
01h BYTE 10-millisecond units past creation time below
|
|
02h WORD file creation time
|
|
04h WORD file creation date
|
|
06h WORD last-access date
|
|
08h WORD (FAT32) high word of starting cluster number
|
|
</PRE>
|
|
<p><b>Note:</b>
|
|
This data is stored beginning at offset 0Ch in a standard directory
|
|
entry
|
|
<p><b>See Also:</b>
|
|
#01352
|
|
<PRE>
|
|
<p>
|
|
Format of DR DOS 6/Novell DOS 7 additional file information:
|
|
<a name=table1354></a>
|
|
Offset Size Description (Table 01354)
|
|
0Ch BYTE reserved (00h)
|
|
(DOSPLUS v1.2) user-defined attributes for CP/M compatibility
|
|
(bit 7 = F1,...,bit 4 = F4, bits 3-0 reserved (0))
|
|
0Dh BYTE first character of original filename for deleted file
|
|
0Eh WORD encrypted file/directory password
|
|
10h WORD reserved (00h)
|
|
(Novell DOS 7 DELWATCH) original file time
|
|
cleared when file is undeleted or purged
|
|
12h WORD (DR DOS 6) file owner ID
|
|
(Novell DOS 7 DELWATCH) original file date
|
|
cleared when file is undeleted or purged
|
|
14h WORD single/multiuser file/directory access rights (see AX=4302h)
|
|
---deleted files---
|
|
16h WORD (Novell DOS 7 DELWATCH) time of deletion
|
|
18h WORD (Novell DOS 7 DELWATCH) date of deletion
|
|
</PRE>
|
|
<p><b>Note:</b>
|
|
Offsets are within the full directory entry
|
|
<p><b>See Also:</b>
|
|
#01352
|
|
<PRE>
|
|
<p>
|
|
Format of MS-DOS 7/Windows95 long-filename directory entry:
|
|
<a name=table1355></a>
|
|
Offset Size Description (Table 01355)
|
|
00h BYTE LFN record sequence and flags
|
|
<p><b>bits 5-0:</b><br>Sequence number
|
|
<p><b>bit 6:</b><br>Set if last long-filename record for file
|
|
<p><b>bit 7:</b><br>Set if file deleted
|
|
01h 10 BYTEs long filename, first part
|
|
0Bh BYTE 0Fh (otherwise impossible file attribute, used as signature)
|
|
0Ch BYTE reserved??? (00h)
|
|
0Dh BYTE checksum for short filename
|
|
0Eh 12 BYTEs long filename, second part
|
|
1Ah WORD first cluster number (always 0000h for LFN records)
|
|
1Ch 4 BYTEs long filename, third part
|
|
</PRE>
|
|
<p><b>Notes:</b>
|
|
Long-filename entries are always stored in the directory just prior
|
|
to the short-name entry for a file.
|
|
Multiple LFN records are used if the long filename does not fit into
|
|
a single record.
|
|
The short-filename checksum byte is computed by adding up the
|
|
eleven bytes of the short filename, rotating the intermediate
|
|
sum right one bit before adding the next character.
|
|
The long filename is encoded as 16-bit Unicode characters; for most
|
|
filenames, this appears in the directory as the ASCII character
|
|
followed by 00h
|
|
<p><b>See Also:</b>
|
|
#01352 - <a href="rb-3000.htm" tppabs="http://www.ctyme.com/intr/rb-3000.htm">INT 21/AX=5704h</a> - <a href="rb-3194.htm" tppabs="http://www.ctyme.com/intr/rb-3194.htm">INT 21/AH=71h</a>
|
|
<p>
|
|
<b>Category: <a href="cat-010.htm" tppabs="http://www.ctyme.com/intr/cat-010.htm">
|
|
DOS Kernel</a>
|
|
- <a href="int-21.htm" tppabs="http://www.ctyme.com/intr/int-21.htm">
|
|
Int 21h</a>
|
|
- <a href="alpha-d.htm" tppabs="http://www.ctyme.com/intr/alpha-d.htm">
|
|
D</a>
|
|
</b><p><p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
<table border=1 cellpadding=3 cellspacing=1>
|
|
<td>
|
|
<a href="rb-2575.htm" tppabs="http://www.ctyme.com/intr/rb-2575.htm">
|
|
<img src="lup.gif" tppabs="http://graphics.ctyme.com/gif/lup.gif" border=0 alt=Prev></a>
|
|
<a href="rb-2577.htm" tppabs="http://www.ctyme.com/intr/rb-2577.htm">
|
|
<img src="ldown.gif" tppabs="http://graphics.ctyme.com/gif/ldown.gif" border=0 alt=Next></a>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/rbrown.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/rbrown.htm'" tppabs="http://www.ctyme.com/rbrown.htm">
|
|
<img src="lhome.gif" tppabs="http://graphics.ctyme.com/gif/lhome.gif" border=0 alt=Ralf Brown Page></a>
|
|
<td><a href="int.htm" tppabs="http://www.ctyme.com/intr/int.htm">Interrups</a></td>
|
|
<td><a href="cat.htm" tppabs="http://www.ctyme.com/intr/cat.htm">Categories</a></td>
|
|
<td><a href="alpha.htm" tppabs="http://www.ctyme.com/intr/alpha.htm">Contents</a></td>
|
|
</td></table><p>
|
|
|
|
<!-- Bottom Link Start -->
|
|
|
|
<center>
|
|
|
|
<p><table border=1 bgcolor="#ffff99"><tr><td>
|
|
<table border=0 height=80>
|
|
<tr align=center><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/sponsor.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/sponsor.htm'" tppabs="http://www.ctyme.com/sponsor.htm">
|
|
<img src="tip.gif" tppabs="http://graphics.ctyme.com/gif/tip.gif" ALT="Sponsors" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/sponsor.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/sponsor.htm'" tppabs="http://www.ctyme.com/sponsor.htm">Shopping</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://talk.ctyme.com/webx.cgi?13@@.ee6b2be \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://talk.ctyme.com/webx.cgi?13@@.ee6b2be'" tppabs="http://talk.ctyme.com/webx.cgi?13@@.ee6b2be">
|
|
<img src="comment.gif" tppabs="http://graphics.ctyme.com/gif/comment.gif" ALT="Forum" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://talk.ctyme.com/webx.cgi?13@@.ee6b2be \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://talk.ctyme.com/webx.cgi?13@@.ee6b2be'" tppabs="http://talk.ctyme.com/webx.cgi?13@@.ee6b2be">Forum</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/mail.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/mail.htm'" tppabs="http://www.ctyme.com/mail.htm">
|
|
<img src="mail.gif" tppabs="http://graphics.ctyme.com/gif/mail.gif" ALT="email" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/mail.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/mail.htm'" tppabs="http://www.ctyme.com/mail.htm">EMail</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/map.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/map.htm'" tppabs="http://www.ctyme.com/map.htm">
|
|
<img src="toc.gif" tppabs="http://graphics.ctyme.com/gif/toc.gif" ALT="Index" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/map.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/map.htm'" tppabs="http://www.ctyme.com/map.htm">Index</a>
|
|
|
|
</td><td width="65">
|
|
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/'" tppabs="http://www.ctyme.com/">
|
|
<img src="home.gif" tppabs="http://graphics.ctyme.com/gif/home.gif" ALT="Home" height="40" width="40"></a>
|
|
<br><a href="javascript:if(confirm('http://www.ctyme.com/ \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/'" tppabs="http://www.ctyme.com/">Home</a>
|
|
|
|
</td><td width="90">
|
|
|
|
<center>
|
|
<FORM ACTION="https://secure.paypal.com/cgi-bin/webscr" tppabs="https://secure.paypal.com/cgi-bin/webscr" METHOD="POST" traget="_blank">
|
|
<INPUT TYPE="hidden" NAME="cmd" VALUE="_xclick">
|
|
<INPUT TYPE="hidden" NAME="business" VALUE="marc@perkel.com">
|
|
<INPUT TYPE="hidden" NAME="return" VALUE="http://www.perkel.com">
|
|
<INPUT TYPE="hidden" NAME="item_name" VALUE="Donation To Support this Site">
|
|
<INPUT TYPE="hidden" NAME="no_intl" VALUE="1">
|
|
<INPUT TYPE="image" SRC="x-click-but7.gif" tppabs="http://images.paypal.com/images/x-click-but7.gif" vspace=9
|
|
NAME="submit" ALT="Make payments with PayPal - it's fast, free and secure!">
|
|
</FORM>
|
|
|
|
</td></tr></table></td></tr></table><p>
|
|
|
|
|
|
<center>
|
|
<p>
|
|
<a href="javascript:if(confirm('http://www.ctyme.com/hosting/index.htm \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address. \n\nDo you want to open it from the server?'))window.location='http://www.ctyme.com/hosting/index.htm'" tppabs="http://www.ctyme.com/hosting/index.htm" target="_blank">
|
|
<img src="ctymehost.gif" tppabs="http://graphics.ctyme.com/gif/ctymehost.gif"
|
|
border=3 height=60 width=468></a>
|
|
<p>
|
|
<!-- Ad End --->
|
|
|
|
</center>
|
|
<FORM ACTION="http://service.bfast.com/bfast/click" target="_blank">
|
|
<INPUT TYPE="hidden" NAME="siteid" VALUE="30472466" >
|
|
<INPUT TYPE="hidden" NAME="bfpage" VALUE="horizontal">
|
|
<INPUT TYPE="hidden" NAME="bfmid" VALUE="27253343" >
|
|
<INPUT TYPE="hidden" NAME="num" VALUE="30">
|
|
|
|
<table bgcolor=white border=3><tr><td>
|
|
<table bgcolor=white border=0>
|
|
<tr><td>
|
|
<IMG SRC="serve-bfmid=27253343&siteid=30472466&bfpage=horizontal.gif" tppabs="http://service.bfast.com/bfast/serve?bfmid=27253343&siteid=30472466&bfpage=horizontal" BORDER="0" WIDTH="1" HEIGHT="1" align=right NOSAVE >
|
|
<center><b>Search the web with Google</b></center>
|
|
</td></tr><tr><td>
|
|
<TABLE cellpadding=0 cellspacing=5 bgcolor="#FFFFFF">
|
|
<tr><td bgcolor="#0000cc"><IMG SRC="cleardot.gif" tppabs="http://www.google.com/images/cleardot.gif" height=1 border="0" ALT="Google"></td></tr><tr><td>
|
|
<IMG SRC="affiliate_logo.gif" tppabs="http://www.google.com/affiliates/affiliate_logo.gif" border="0" ALT="Google" align="center">
|
|
<INPUT TYPE=text name=q size=30 maxlength=255 value="">
|
|
<INPUT type=submit name=sa VALUE="Go">
|
|
</td></tr>
|
|
<tr><td bgcolor="#0000cc"><IMG SRC="cleardot.gif" tppabs="http://www.google.com/images/cleardot.gif" height=1 border="0" ALT="Google"></td></tr></TABLE>
|
|
</td></tr></table>
|
|
</tr></td></table>
|
|
</FORM>
|
|
|
|
</center>
|
|
|
|
|
|
<p><img src="rbline.gif" tppabs="http://graphics.ctyme.com/gif/rbline.gif" width="100%" alt="------"><p>
|
|
|
|
<!-- Bottom Link End -->
|
|
|
|
</BODY>
|
|
</HTML>
|