| Client Request ================================== | Value ================================== | 
| WordCount | 15 | 
| TotalDataCount | Total size of extended attribute list | 
| SetupCount | 1 | 
| Setup[0] | TRANS2_FIND_FIRST2 | 
| Parameter Block Encoding ================================== | Description ================================== | 
| USHORT SearchAttributes; | |
| USHORT SearchCount; | Maximum number of entries to return | 
| USHORT Flags; | Additional information: | 
| Bit 0 - close search after this request | |
| Bit 1 - close search if end of search reached | |
| Bit 2 - return resume keys for each entry found | |
| Bit 3 - continue search from previous ending place | |
| Bit 4 - find with backup intent | |
| USHORT InformationLevel; | See below | 
| ULONG SearchStorageType; | |
| STRING FileName; | Pattern for the search | 
| UCHAR Data[ TotalDataCount ] | FEAList if InformationLevel is QUERY_EAS_FROM_LIST | 
| Response Parameter Block ================================== | Description ================================== | 
| USHORT Sid; | Search handle | 
| USHORT SearchCount; | Number of entries returned | 
| USHORT EndOfSearch; | Was last entry returned? | 
| USHORT EaErrorOffset; | Offset into EA list if EA error | 
| USHORT LastNameOffset; | Offset into data to file name of last entry, if server needs it to resume search; else 0 | 
| UCHAR Data[ TotalDataCount ] | Level dependent info about the matches found in the search | 
This request allows the client to search for the file(s) which match the file specification.  The search can be continued if necessary with TRANS2_FIND_NEXT2. There are numerous levels of information which may be obtained for the returned files, the desired level is specified in the InformationLevel field of the request.
| InformationLevel Name ================================= | Value ==================== | 
| SMB_INFO_STANDARD | 1 | 
| SMB_INFO_QUERY_EA_SIZE | 2 | 
| SMB_INFO_QUERY_EAS_FROM_LIST | 3 | 
| SMB_FIND_FILE_DIRECTORY_INFO | 0x101 | 
| SMB_FIND_FILE_FULL_DIRECTORY_INFO | 0x102 | 
| SMB_FIND_FILE_NAMES_INFO | 0x103 | 
| SMB_FIND_FILE_BOTH_DIRECTORY_INFO | 0x104 | 
The following sections detail the data returned for each InformationLevel. The requested information is placed in the data portion of the transaction response. Note: a client which does not support long names can only request SMB_INFO_STANDARD.  
| Response Field ================================ | Description ================================== | 
| SMB_DATE CreationDate; | Date when file was created | 
| SMB_TIME CreationTime; | Time when file was created | 
| SMB_DATE LastAccessDate; | Date of last file access | 
| SMB_TIME LastAccessTime; | Time of last file access | 
| SMB_DATE LastWriteDate; | Date of last write to the file | 
| SMB_TIME LastWriteTime; | Time of last write to the file | 
| ULONG DataSize; | File Size | 
| ULONG AllocationSize; | Size of filesystem allocation unit | 
| USHORT Attributes; | File Attributes | 
| UCHAR FileNameLength; | Length of filename in bytes | 
| STRING FileName; | Name of found file | 
| Response Field ================================= | Description ================================== | 
| SMB_DATE CreationDate; | Date when file was created | 
| SMB_TIME CreationTime; | Time when file was created | 
| SMB_DATE LastAccessDate; | Date of last file access | 
| SMB_TIME LastAccessTime; | Time of last file access | 
| SMB_DATE LastWriteDate; | Date of last write to the file | 
| SMB_TIME LastWriteTime; | Time of last write to the file | 
| ULONG DataSize; | File Size | 
| ULONG AllocationSize; | Size of filesystem allocation unit | 
| USHORT Attributes; | File Attributes | 
| ULONG EaSize; | Size of file's EA information | 
| UCHAR FileNameLength; | Length of filename in bytes | 
| STRING FileName; | Name of found file | 
This request returns the same information as SMB_INFO_QUERY_EA_SIZE, but only for files which have an EA list which match the EA information in the data part of the request.
| Response Field ================================= | Description ================================== | 
| ULONG NextEntryOffset; | Offset from this structure to beginning of next one | 
| ULONG FileIndex; | |
| LARGE_INTEGER CreationTime; | file creation time | 
| LARGE_INTEGER LastAccessTime; | last access time | 
| LARGE_INTEGER LastWriteTime; | last write time | 
| LARGE_INTEGER ChangeTime; | last attribute change time | 
| LARGE_INTEGER EndOfFile; | file size | 
| LARGE_INTEGER AllocationSize; | size of filesystem allocation information | 
| ULONG ExtFileAttributes; | Extended file attributes (see section 3.11) | 
| ULONG FileNameLength; | Length of filename in bytes | 
| STRING FileName; | Name of the file | 
| Response Field ================================= | Description ================================== | 
| ULONG NextEntryOffset; | Offset from this structure to beginning of next one | 
| ULONG FileIndex; | |
| LARGE_INTEGER CreationTime; | file creation time | 
| LARGE_INTEGER LastAccessTime; | last access time | 
| LARGE_INTEGER LastWriteTime; | last write time | 
| LARGE_INTEGER ChangeTime; | last attribute change time | 
| LARGE_INTEGER EndOfFile; | file size | 
| LARGE_INTEGER AllocationSize; | size of filesystem allocation information | 
| ULONG ExtFileAttributes; | Extended file attributes (see section 3.11) | 
| ULONG FileNameLength; | Length of filename in bytes | 
| ULONG EaSize; | Size of file's extended attributes | 
| STRING FileName; | Name of the file | 
| Response Field ================================= | Description ================================== | 
| ULONG NextEntryOffset; | Offset from this structure to beginning of next one | 
| ULONG FileIndex; | |
| LARGE_INTEGER CreationTime; | file creation time | 
| LARGE_INTEGER LastAccessTime; | last access time | 
| LARGE_INTEGER LastWriteTime; | last write time | 
| LARGE_INTEGER ChangeTime; | last attribute change time | 
| LARGE_INTEGER EndOfFile; | file size | 
| LARGE_INTEGER AllocationSize; | size of filesystem allocation information | 
| ULONG ExtFileAttributes; | Extended file attributes (see section 3.11) | 
| ULONG FileNameLength; | Length of FileName in bytes | 
| ULONG EaSize; | Size of file's extended attributes | 
| UCHAR ShortNameLength; | Length of file's short name in bytes | 
| UCHAR Reserved | |
| WCHAR ShortName[12]; | File's 8.3 conformant name in Unicode | 
| STRING FileName; | Files full length name | 
| Response Field ================================= | Description ================================== | 
| ULONG NextEntryOffset; | Offset from this structure to beginning of next one | 
| ULONG FileIndex; | |
| ULONG FileNameLength; | Length of FileName in bytes | 
| STRING FileName; | Files full length name |