TRANS2_SET_FILE_INFORMATION: Set File Attributes Given FID

This request is used to set information about a specific file or subdirectory given a handle to the file or subdirectory.

Client Request
==========================
Value
==========================================
WordCount 15
MaxSetupCount 0
SetupCount 1
Setup[0] TRANS2_SET_FILE_INFORMATION
Parameter Block Encoding
==========================
Description
==========================================
USHORT Fid; Handle of file for request
USHORT InformationLevel; Level of information requested
USHORT Reserved; Ignored by the server

The following informationlevels may be set:

Information Level
================================
Value
=====
SMB_INFO_STANDARD 1
SMB_INFO_QUERY_EA_SIZE 2
SMB_SET_FILE_BASIC_INFO 0x101
SMB_SET_FILE_DISPOSITION_INFO 0x102
SMB_SET_FILE_ALLOCATION_INFO 0x103
SMB_SET_FILE_END_OF_FILE_INFO 0x104

The two levels below 0x101 are as described in the NT_SET_PATH_INFORMATION transaction. The requested information is placed in the Data portion of the transaction response. For the information levels greater than 0x100, the transaction response has 1 parameter word which should be ignored by the client.

SMB_FILE_DISPOSITION_INFO

typedef struct {
    BOOLEAN DeleteFile;
} FILE_DISPOSITION_INFORMATION;

SMB_FILE_ALLOCATION_INFO

typedef struct {
    LARGE_INTEGER AllocationSize;
} FILE_ALLOCATION_INFORMATION;

SMB_FILE_END_OF_FILE_INFO

typedef struct {
    LARGE_INTEGER EndOfFile;
} FILE_END_OF_FILE_INFORMATION,