2.2.32.4.1 HASH_HEADER
All content information files MUST start with a valid format HASH_HEADER as follows.
Content information follows this header at an offset indicated by the HashBlobOffset field, if HashVersion is set to SRV_HASH_VER_1, the Content Information data structure is as specified in [MS-PCCRC] section 2.3; if HashVersion is set to SRV_HASH_VER_2, the Content Information data structure is as specified in [MS-PCCRC] section 2.4.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HashType |
|||||||||||||||||||||||||||||||
HashVersion |
|||||||||||||||||||||||||||||||
SourceFileChangeTime |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
SourceFileSize |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
HashBlobLength |
|||||||||||||||||||||||||||||||
HashBlobOffset |
|||||||||||||||||||||||||||||||
Dirty |
SourceFileNameLength |
||||||||||||||||||||||||||||||
SourceFileName (variable) |
|||||||||||||||||||||||||||||||
... |
HashType (4 bytes): The hash type indicates what the hash is used for. This field MUST be constructed using the following value.
-
Value
Meaning
SRV_HASH_TYPE_PEER_DIST
0x00000001
Indicates that the hash is used for branch caching as described in [MS-PCCRC].
HashVersion (4 bytes): The version number of the algorithm used to create the Content Information. This field MUST be constructed using one of the following values.
-
Value
Meaning
SRV_HASH_VER_1
0x00000001
Branch cache version 1.
SRV_HASH_VER_2
0x00000002
Branch cache version 2. This value is only applicable for servers that implement the SMB 3.x dialect family.
SourceFileChangeTime (8 bytes): The last update time for the source file from which the Content Information is generated, in FILETIME format as specified in [MS-DTYP] section 2.3.3.
SourceFileSize (8 bytes): The length, in bytes, of the source file from which the Content Information is generated.
HashBlobLength (4 bytes): The length, in bytes, of the Content Information.
HashBlobOffset (4 bytes): The offset of the Content Information, in bytes, from the beginning of the Content Information File.
Dirty (2 bytes): A flag that indicates whether the Content Information File is currently being updated. A nonzero value indicates TRUE.
SourceFileNameLength (2 bytes): The length, in bytes, of the source file full name.
SourceFileName (variable): A variable-length buffer that contains the source file full name, with length indicated by SourceFileNameLength.<70>