3.2.4.7 Application Requests Querying File Attributes

Processing of this event is handled as specified in [MS-CIFS] section 3.2.4.12, with the following additions:

Pass-through Information Levels

The extension adds support for pass-through Information Levels, as defined in section 2.2.2.3.5. If the CAP_INFOLEVEL_PASSTHRU bit in Client.Connection.ServerCapabilities is set, the client MUST increment the Information Level value by SMB_INFO_PASSTHROUGH (0x03e8) and place the resulting value in the InformationLevel field of a TRANS2_QUERY_FILE_INFORMATION or TRANS2_QUERY_PATH_INFORMATION request.

File Streams

A client can send a TRANS2_QUERY_FILE_INFORMATION subcommand of the SMB_COM_TRANSACTION2 request to the server with the InformationLevel field set to SMB_QUERY_FILE_STREAM_INFO (see [MS-CIFS] section 2.2.6.8). If the FID field in the client request is on an SMB share that does not support streams, then the server MUST fail the request with STATUS_INVALID_PARAMETER.

A client can send a TRANS2_QUERY_PATH_INFORMATION subcommand of the SMB_COM_TRANSACTION2 request to the server with the InformationLevel field set to SMB_QUERY_FILE_STREAM_INFO (see [MS-CIFS] section 2.2.6.6.2). If the FileName field in the client request is on an SMB share that does not support streams, then the server MUST fail the request with STATUS_INVALID_PARAMETER.

Previous Version Tokens

Because the TRANS2_QUERY_PATH_INFORMATION subcommand request is a path-based operation, the path SHOULD be scanned for previous version tokens by the client, as specified in section 3.2.4.1.1.