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