Purpose
Start monitoring a directory for changes.
Calling Sequence
int far pascal FS_FINDNOTIFYFIRST(pcdfsi, pcdfsd, pName, iCurDirEnd, attr, pHandle, pData, cbData, pcMatch, level, timeout) struct cdfsi far * pcdfsi; struct cdfsd far * pcdfsd; char far * pName; unsigned short iCurDirEnd; unsigned short attr; unsigned short far * pHandle; char far * pData; unsigned short cbData; unsigned short far * pMatch; unsigned short level; unsigned long timeout;
Where
pcdfsi is a pointer to the file-system-independent working directory structure.
pcdfsd is a pointer to the file-system-dependent working directory structure.
pName is a pointer to the ASCIIZ name of the file or directory.
Wildcard characters are allowed only in the last component. The FSD does not need to verify this pointer.
iCurDirEnd is the index of the end of the current directory in pName.
This is used to optimize FSD path processing. If iCurDirEnd == -1 there is no current directory relevant to the name text, that is, a device.
attr is the bit field that governs the match.
Any directory entry whose attribute bit mask is a subset of attr and whose name matches that in pName should be returned. See FS_FINDFIRST for an explanation.
pHandle is a pointer to the handle for the find-notify request.
The FSD allocates a handle for the find-notify request, that is, a handle to the directory monitoring continuation information, and stores it here. This handle is passed to FS_FINDNOTIFYNEXT to continue directory monitoring.
The FSD does not need to verify this pointer.
pData is the address of the application data area.
Addressing of this data area is not validated by the kernel (see FSH_PROBEBUF). The FSD fills in this area with a set of packed, variable- length structures that contain the requested data and matching file names.
cbData is the length of the application data area in bytes.
pcMatch is a pointer to the number of matching entries.
The FSD returns, at most, this number of entries. The FSD returns in this parameter the number of entries actually placed in the data area.
The FSD does not need to verify this pointer.
level is the information level to be returned.
Level selects among a series of data structures to be returned. See the description of DosFindNotifyFirst in the OS/2 Version 2.0 Control Program Programming Reference for more information.
The level passed to the FSD is valid.
timeout is the time-out in milliseconds.
The FSD waits until either the time-out has expired, the buffer is full, or the specified number of entries has been returned before returning to the caller.
Remarks
None.