Jump to content

FS_FINDFROMNAME

From EDM2
Revision as of 02:35, 10 February 2020 by Ak120 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Find occurrence of a file name in a directory starting from a position or name.

Syntax

FS_FINDFROMNAME(pfsfsi, pfsfsd, pData, cbData, pcMatch, level, position, pName, flags)

Parameters

pfsfsi
is a pointer to the file-system-independent file search structure. The FSD should not update this structure.
pfsfsd
is a pointer to the file-system-dependent file search structure. The FSD may use this to store information about continuation of the search.
pData
is the address of the application data area.
Addressing of this data area has not been validated by the kernel (see FSH_ PROBEBUF). The FSD will fill in this area with a set of packed, variable-length structures that contain the requested data and matching file names in the format required for DosFindFirst/DosFindNext.
cbData
is the length of the application data area in bytes.
pcMatch
is a pointer to the number of matching entries. The FSD will return at most this number of entries. The FSD will store into it the number of entries actually placed in the data area. The FSD does not need to validate this pointer.
level
is the information level to be returned. Level selects among a series of structures of data to be returned. The level passed to the FSD is valid.
position
is the file-system-specific information about where to restart the search from. This information was returned by the FSD in the ResultBuf for an FS_FINDFIRST/FS_FINDNEXT/FS_FINDFROMNAME call.
pName
is the filename from which to continue the search. The FSD does not need to validate this pointer.
flags
indicates whether to return file position information. The flag passed to the FSD has a valid value.

Calling Sequence

int far pascal FS_FINDFROMNAME(pfsfsi, pfsfsd, pData, cbData, pcMatch, level,
                               position, pName, flags)

struct fsfsi far * pfsfsi;
struct fsfsd far * pfsfsd;
char far * pData;
unsigned short cbData;
unsigned short far * pcMatch;
unsigned short level;
unsigned long position;
char far * pName;
unsigned short flags;

Remarks

The FSD may use the position or filename to determine the position > from which to resume the directory search. The FSD need not return position if it uses name and vice versa.

For flags == 1, the FSD must store in the position field adequate information to allow the search to be resumed from the file by calling FS_FINDFROMNAME. See FS_FINDFIRST for a description of the data format.

The FSD must ensure that enough information is stored in the fsfsd data structure to enable it to continue the search.

Note
The FSD will be called with the FINDFIRST/FINDFROMNAME interface when the 32-bit DosFindFirst/DosFindNext APIs are called. THIS IS A CHANGE FROM 1.X IFS interface for redirector FSDs. The kernel will also be massaging the find records so that they appear the way the caller expects. Redirectors who have to resume searches should take this information into account. (i.e. You might want to reduce the size of the buffer sent to the server, so that the position fields can be added to the beginning of all the find records).