2.2.6.6.1 Request

The TRANS2_QUERY_PATH_INFORMATION request and response formats are special cases of SMB_COM_TRANSACTION2 (section 2.2.4.46) SMB. Only the TRANS2_QUERY_PATH_INFORMATION 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[0] (2 bytes): This field MUST be TRANS2_QUERY_PATH_INFORMATION (0x0005).

Trans2_Parameters:

 Trans2_Parameters
   {
   USHORT     InformationLevel;
   ULONG      Reserved;
   SMB_STRING FileName;
   }

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.3. 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 of (ERRDOS/ERRinvalidparam).

Reserved (4 bytes): This field is reserved and MUST be zero (0x0000).

FileName (variable): The file name or directory name for which to retrieve the information.

Trans2_Data: The Trans2_Data field MUST be included if the Trans2_Parameters.InformationLevel field is set to SMB_INFO_QUERY_EAS_FROM_LIST; else, it MUST NOT be included.

 Trans2_Data
   {
  
   SMB_GEA_LIST GetExtendedAttributeList;
   }

GetExtendedAttributeList (variable): A list of extended attribute (EA) names. The server MUST return only those extended attributes that have an AttributeName matching one of the AttributeName values in the list.