3.2.4.4 NtFrsApi_Rpc_IsPathReplicated (Opnum 8)

This method is not used by FRS.

 unsigned long NtFrsApi_Rpc_IsPathReplicated(
   [in] handle_t Handle,
   [in, string, unique] PWCHAR Path,
   [in] unsigned long ReplicaSetTypeOfInterest,
   [out] unsigned long* Replicated,
   [out] unsigned long* Primary,
   [out] unsigned long* Root,
   [out] GUID* ReplicaSetGuid
 );

Handle: Binding handle obtained when the partner authenticates with the file replication service (FRS).

Path: Local path being queried.<63>

ReplicaSetTypeOfInterest: Replica set type identified by the path. The value MUST be one of the following.

Value

Meaning

0x00000000

Indicates any replica set.

FRS_RSTYPE_ENTERPRISE_SYSVOL

0x00000001

Indicates the replica set for the enterprise system volume (SYSVOL).

FRS_RSTYPE_DOMAIN_SYSVOL

0x00000002

Indicates the replica set for the domain SYSVOL.

FRS_RSTYPE_DFS

0x00000003

Indicates the replica set for the distributed file system, as specified in [MS-DFSNM].

FRS_RSTYPE_OTHER

0x00000004

Indicates none of the previous types.

Replicated: Boolean value that indicates if the replica set is replicated by the domain controller (DC). The value MUST be one of the following.

Value

Meaning

FALSE

0x00000000

The Path parameter is not part of a replica set of the type specified in ReplicaSetTypeOfInterest. If this value is returned, Primary, Root, and ReplicaSetGuid are set to NULL.

TRUE

0x00000001

The Path parameter is part of a replica set of the type specified in ReplicaSetTypeOfInterest.

Primary: Indicates if the computer is the first computer for the replica set for initial sync. The value MUST be one of the following.

Value

Meaning

0x00000000

Current computer is not the primary computer for the matching replica set.

0x00000001

Current computer is the primary computer for the matching replica set.

0x00000002

Matching replica set does not have a primary computer.

Root: A Boolean value that indicates if the path is the replica tree root for the replica set. The value MUST be one of the following.

Value

Meaning

FALSE

0x00000000

The Path parameter is not the replica tree root for the matching replica set.

TRUE

0x00000001

The Path parameter is the replica tree root for the matching replica set.

ReplicaSetGuid: GUID for the matching replica set.

Return Values: The method MUST return 0 on success or a nonzero error code on failure. All nonzero values MUST be treated as equivalent failures unless otherwise specified.

Return value/code

Description

0x00000000

ERROR_SUCCESS

The method completed successfully.

Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].

Validating the NtFrsApi_Rpc IsPathReplicated request: The server must validate the NtFrsApi_Rpc IsPathReplicated request by performing the following checks.

  • If IsPathReplicatedCheckEnabled is set to "None", the server MUST fail the call with an implementation-specific value.

  • If IsPathReplicatedCheckEnabled is set to "Disabled", the server MUST process the request without performing an access check.

  • If IsPathReplicatedCheckEnabled is set to "Enabled", the server MUST check whether the calling client is authorized to perform that function. If the calling client is not authorized to perform that function, the server MUST return ERROR_NOT_AUTHENTICATED.

    • If ReplicatedPathAccessRequired is set to "None", the server MUST fail the call with an implementation-specific value.

    • If ReplicatedPathAccessRequired is set to "Read", the server MUST check whether the caller has read access. If the caller does not have read access, the server MUST return FRS_ERR_INSUFFICIENT_PRIV.

    • If ReplicatedPathAccessRequired is set to "Write", the server MUST check whether the caller has write access. If the caller does not have write access, the server MUST return FRS_ERR_INSUFFICIENT_PRIV.

  • If the server is not able to verify the passed in parameters, then it MUST ignore the failure and succeed the call.

Actions Triggered: The NtFrsApi_Rpc_IsPathReplicated method MUST return a value that specifies if a Path is part of a replica set of the type specified in the ReplicaSetTypeOfInterest parameter. The method is not used in server-to-server interoperation.