2.2.6.2.1 Request
The TRANS2_FIND_FIRST2 request and response formats are special cases of the SMB_COM_TRANSACTION2 (section 2.2.4.46) SMB. Only the TRANS2_FIND_FIRST2 specifics are described here.
SMB_Parameters
WordCount (1 byte): This field MUST be 0x0F.
Words (30 bytes):
-
-
TotalDataCount (2 bytes): If no Trans2_Data is supplied, this field MUST be 0x0000. If Trans2_Parameters.InformationLevel is SMB_INFO_QUERY_EAS_FROM_LIST (see following), this field MUST be the total size of the extended attribute list.
-
SetupCount (1 byte): This field MUST be 0x01.
-
Setup (2 bytes): This field MUST be TRANS2_FIND_FIRST2 (0x0001).
-
Trans2_Parameters
-
Trans2_Parameters { SMB_FILE_ATTRIBUTES SearchAttributes; USHORT SearchCount; USHORT Flags; USHORT InformationLevel; ULONG SearchStorageType; SMB_STRING FileName; }
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SearchAttributes |
SearchCount |
||||||||||||||||||||||||||||||
Flags |
InformationLevel |
||||||||||||||||||||||||||||||
SearchStorageType |
|||||||||||||||||||||||||||||||
FileName (variable) |
|||||||||||||||||||||||||||||||
... |
SearchAttributes (2 bytes): File attributes to apply as a constraint to the file search. Exclusive search attributes (see section 2.2.1.2.4) can also be set.
SearchCount (2 bytes): The server MUST NOT return more entries than indicated by the value of this field.
Flags (2 bytes): This bit field contains flags used to request that the server manage the state of the transaction based on how the client attempts to traverse the results.
-
Name and bitmask
Description
SMB_FIND_CLOSE_AFTER_REQUEST
0x0001
Close the search after this request.
SMB_FIND_CLOSE_AT_EOS
0x0002
Close search when end of search is reached.
SMB_FIND_RETURN_RESUME_KEYS
0x0004
Return resume keys for each entry found.
SMB_FIND_CONTINUE_FROM_LAST
0x0008
Continue search from previous ending place.
SMB_FIND_WITH_BACKUP_INTENT
0x0010
Find with backup intent.
InformationLevel (2 bytes): This field contains an information level code, which determines the information contained in the response. The list of valid information level codes is specified in section 2.2.2.3.1. A client that has not negotiated long names support MUST request only SMB_INFO_STANDARD. If a client that has not negotiated long names support requests an InformationLevel other than SMB_INFO_STANDARD, the server MUST return a status of STATUS_INVALID_PARAMETER (ERRDOS/ERRinvalidparam).
SearchStorageType (4 bytes): The client MUST set this field to zero and the server MUST ignore it on receipt.
FileName (variable): The file pattern to search for. This field MAY contain wildcard characters.
Trans2_Data
The following Trans2_Data structure MUST be included if the Trans2_Parameters.InformationLevel field is set to SMB_INFO_QUERY_EAS_FROM_LIST; otherwise, it MUST NOT be included.
-
Trans2_Data { SMB_GEA_LIST GetExtendedAttributeList; }
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
GetExtendedAttributeList (variable) |
|||||||||||||||||||||||||||||||
... |
GetExtendedAttributeList (variable): A list of extended attribute (EA) names. The value of the AttributeName fields MUST be used by the server to query the set of extended attributes that match the set of AttributeName values provided in this list.