2.3.3.1.1.2 DFSRootOrLinkIDBLOB

This BLOB contains name and other information about the DFS namespace root or the DFS link.

  • If the PKT_ENTRY_TYPE_REFERRAL_SVC (0x00000080) bit is set in the Type field, then this BLOB describes the DFS root and is, hence, part of the DFSNamespaceRootBLOB.

  • If the PKT_ENTRY_TYPE_REFERRAL_SVC (0x00000080) bit is not set in the Type field, then this BLOB describes a link and is, hence, part of the DFSNamespaceLinkBLOB.


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

RootOrLinkGuid (16 bytes)

...

...

PrefixSize

Prefix (variable)

...

ShortPrefixSize

ShortPrefix (variable)

...

Type

State

CommentSize

Comment (variable)

...

PrefixTimeStamp

...

StateTimeStamp

...

CommentTimeStamp

...

Version

RootOrLinkGuid (16 bytes): A GUID that identifies the DFS root or the DFS link. It is used to generate the name "\<domainroot>\<GUIDString>" in the BLOBName field of the DFSNamespaceLinkBLOB, where <GUIDString> represents the string form of the GUID, as specified in [RFC4122], section 3.

PrefixSize (2 bytes): The size, in bytes, of the Prefix field, stored as an unsigned, 16-bit, little-endian integer.

Prefix (variable): The name of the DFS namespace root or the DFS link. The Prefix is stored as a string of Unicode characters and MUST be a UNC path string with one leading backslash, instead of the usual two, without a null termination.

ShortPrefixSize (2 bytes): The size, in bytes, of the ShortPrefix field, stored as an unsigned, 16-bit, little-endian integer.

ShortPrefix (variable): The name of the DFS namespace root or the DFS link, stored as a string of Unicode characters. This MUST be a UNC path string with one leading backslash, instead of the usual two, without a null termination. The string MAY be the same as that in the Prefix field or its 8.3 name.<12>

Type (4 bytes): A bit field, stored as 32-bits in little-endian order, which describes this BLOB.

For domainv1 roots, the Type field parallels the functionality of the msDFS-Propertiesv2 attribute used for domainv2-based DFS namespaces (see section 2.3.4.2) and domainv2-based DFS links (see section 2.3.4.3).

Value

Meaning

PKT_ENTRY_TYPE_DFS

0x00000001

This value is reserved and the Type field MUST always be set with this value.

PKT_ENTRY_TYPE_OUTSIDE_MY_DOM

0x00000010

The DFS interlink property. This MUST be set only when at least one DFS link target points to another DFS namespace. This MUST NOT be set for a DFS root.

PKT_ENTRY_TYPE_INSITE_ONLY

0x00000020

The DFS in-site referral mode property. When set, instructs the DFS server to enable the DFS in-site referral mode.

PKT_ENTRY_TYPE_COST_BASED_SITE_SELECTION

0x00000040

The DFS referral site costing property. Enables DFS referral site costing. This SHOULD be supported.<13>

PKT_ENTRY_TYPE_REFERRAL_SVC

0x00000080

This identifies the DFS namespace root.

PKT_ENTRY_TYPE_ROOT_SCALABILITY

0x00000200

The DFS root scalability mode property. This enables DFS root scalability mode. This SHOULD be supported.<14>

PKT_ENTRY_TYPE_TARGET_FAILBACK

0x00008000

The DFS client target failback property. This enables DFS client target failback for targets of this root or link. This SHOULD be supported.<15>

Undefined bit positions MUST be set to 0 on writes and ignored on reads.

State (4 bytes): The status of the DFS root or DFS link stored as an unsigned, 32-bit, little-endian integer. The DFS_VOLUME_STATES bitmask (0x0000000F) MUST be used to access the following DFS root or DFS link state from this field. For more information about some of these states, see section 2.2.2.13.

Value

Meaning

DFS_VOLUME_STATE_OK

0x00000001

The DFS root or DFS link state is okay.

RESERVED

0x00000002

This value is reserved and MUST NOT be used.

DFS_VOLUME_STATE_OFFLINE

0x00000003

The DFS link is offline and not available for use.

DFS_VOLUME_STATE_ONLINE

0x00000004

The DFS link is online and available for use.

Undefined bit positions of this field MUST be set to 0 on writes and ignored on reads.

CommentSize (2 bytes): The size, in bytes, of the Comment field and stored as an unsigned, 16-bit, little-endian integer.

Comment (variable): A string of Unicode characters whose size in bytes is specified by the CommentSize field. The Comment field is associated with the namespace root or link and is for informational purposes. The comment is meant for human consumption and does not affect server functionality.

PrefixTimeStamp (8 bytes): The time of the last Prefix field modification, stored as FILETIME, as specified in [MS-DTYP] section 2.3.3. This SHOULD be set to the last modification time of this BLOB.

StateTimeStamp (8 bytes): The time of the last State field modification, stored as FILETIME, as specified in [MS-DTYP] section 2.3.3. This SHOULD be set to the last modification time of this BLOB.

CommentTimeStamp (8 bytes): The time of the last Comment field modification, stored as FILETIME, as specified in [MS-DTYP] section 2.3.3. This SHOULD be set to the last modification time of this BLOB.

Version (4 bytes): The version number of DFSRootOrLinkIDBLOB, stored as an unsigned, 32-bit, little-endian integer. When creating a new DFSRootOrLinkIDBLOB, this MUST be set to 0x00000003. When updating an existing DFSRootOrLinkIDBLOB, the existing value MUST be preserved.