2.2.5.2.3.1 File Descriptor (CLIPRDR_FILEDESCRIPTOR)

The CLIPRDR_FILEDESCRIPTOR structure describes the properties of a file.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

flags

reserved1 (32 bytes)

...

...

fileAttributes

reserved2 (16 bytes)

...

...

lastWriteTime

...

fileSizeHigh

fileSizeLow

fileName (520 bytes)

...

...

flags (4 bytes): An unsigned 32-bit integer that specifies which fields contain valid data and the usage of progress UI during a copy operation.

Value

Meaning

FD_ATTRIBUTES

0x00000004

The fileAttributes field contains valid data.

FD_FILESIZE

0x00000040

The fileSizeHigh and fileSizeLow fields contain valid data.

FD_WRITESTIME

0x00000020

The lastWriteTime field contains valid data.

FD_SHOWPROGRESSUI

0x00004000

A progress indicator SHOULD be shown when copying the file.

reserved1 (32 bytes): An array of 32 bytes. This field MUST be initialized with zeros when sent and MUST be ignored on receipt.

fileAttributes (4 bytes): An unsigned 32-bit integer that specifies file attribute flags.

Value

Meaning

FILE_ATTRIBUTE_READONLY

0x00000001

A file that is read-only. Applications can read the file, but cannot write to it or delete it.

FILE_ATTRIBUTE_HIDDEN

0x00000002

The file or directory is hidden. It is not included in an ordinary directory listing.

FILE_ATTRIBUTE_SYSTEM

0x00000004

A file or directory that the operating system uses a part of, or uses exclusively.

FILE_ATTRIBUTE_DIRECTORY

0x00000010

Identifies a directory.

FILE_ATTRIBUTE_ARCHIVE

0x00000020

A file or directory that is an archive file or directory. Applications typically use this attribute to mark files for backup or removal.

FILE_ATTRIBUTE_NORMAL

0x00000080

A file that does not have other attributes set. This attribute is valid only when used alone.

reserved2 (16 bytes): An array of 16 bytes. This field MUST be initialized with zeros when sent and MUST be ignored on receipt.

lastWriteTime (8 bytes): An unsigned 64-bit integer that specifies the number of 100-nanoseconds intervals that have elapsed since 1 January 1601 to the time of the last write operation on the file.

fileSizeHigh (4 bytes): An unsigned 32-bit integer that contains the most significant 4 bytes of the file size.

fileSizeLow (4 bytes): An unsigned 32-bit integer that contains the least significant 4 bytes of the file size.

fileName (520 bytes): A null-terminated 260 character Unicode string that contains the name of the file.