3.2.4.1 NtFrsApi_Rpc_Set_DsPollingIntervalW (Opnum 4)

The NtFrsApi_Rpc_Set_DsPollingIntervalW method adjusts the interval at which Active Directory is polled (see section 3.1.5.1) for updates unless both LongInterval and ShortInterval are 0, and then MUST initiate a polling cycle.

 unsigned long NtFrsApi_Rpc_Set_DsPollingIntervalW(
   [in] handle_t Handle,
   [in] unsigned long UseShortInterval,
   [in] unsigned long LongInterval,
   [in] unsigned long ShortInterval
 );

Handle: Binding handle obtained when the Partner authenticates with the file replication service.

UseShortInterval: If nonzero, requests that the server initiate a polling cycle using the short interval. If 0, requests that the server initiate a polling cycle using the long interval.

Value

Meaning

0x00000000

Value in LongInterval is used.

0x00000001 — 0xFFFFFFFF

Value in ShortInterval is used.

LongInterval: Long interval in minutes. A 0x00000000 value indicates that the LongInterval MUST NOT be modified by this call.<58>

ShortInterval: Short interval in minutes. A 0x00000000 value indicates that the ShortInterval MUST NOT be modified by this call. If both ShortInterval and LongInterval are set, then the minimum of both will be used as the ShortInterval value.<59>

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_Set_DsPollingIntervalW request: The server must validate the NtFrsApi_Rpc_Set_DsPollingIntervalW request by performing the following checks.

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

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

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

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

    • If SetDsPollingIntervalAccessRequired is set to "Read", the server MUST verify that the caller has read access. If the caller does not have read access, the server MUST return FRS_ERR_INSUFFICIENT_PRIV.

    • If SetDsPollingIntervalAccessRequired is set to "Write", the server MUST verify that the caller has write access. If the caller does not have write access, the server MUST return FRS_ERR_INSUFFICIENT_PRIV.

Actions Triggered: The local member MUST set the long and short polling intervals and kick off a new polling cycle. If both intervals are set, the new polling cycle MUST use the interval specified by UseShortInterval.

Note An Active Directory polling cycle MUST NOT be initiated if one is already in progress. An implementation can either return an error or wait for the in-progress polling cycle to complete.