You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
183 lines
5.2 KiB
183 lines
5.2 KiB
/*++
|
|
|
|
Copyright (c) 1998 Microsoft Corporation
|
|
|
|
Module Name:
|
|
frsapi.idl
|
|
|
|
Abstract:
|
|
Define the application programmer's interface for NtFrs.
|
|
|
|
Author:
|
|
Billy J. Fuller 1-Jan-1998
|
|
|
|
Environment:
|
|
User mode winnt
|
|
|
|
Comments:
|
|
Important version information
|
|
-------------------------------
|
|
Whenever this interface is updated, the version number (a few lines
|
|
below) MUST be changed. This insures that a the client and server remain
|
|
synchronized, and that calls will succeed only if the client and server
|
|
are compatible. The vesrion number is in the form of x.y where x is the
|
|
major version number and y is the minor version number. If the changes
|
|
to the interface are upwardly compatible, (i.e., a client calling
|
|
through the old interface definition is allowed to connect to a server
|
|
exposing the new interface definition), you should increase the minor
|
|
version number (y) and maintain the same major version number. If the
|
|
changes to the interface render it incompatible with the older clients,
|
|
increase the major version (x) and reset the minor version number to 0.
|
|
Note that the defines for the handle names must be changed also.
|
|
|
|
--*/
|
|
|
|
import "guiddef.h";
|
|
[
|
|
uuid (D049B186-814F-11D1-9A3C-00C04FC9B232), version(1.1),
|
|
pointer_default (unique)
|
|
] interface NtFrsApi
|
|
{
|
|
typedef unsigned long ULONG;
|
|
typedef wchar_t WCHAR, *PWCHAR;
|
|
|
|
//
|
|
// VERSION 1.1
|
|
//
|
|
// Don't reorder.
|
|
// Add new functions to end of idl and change version's minor number.
|
|
//
|
|
|
|
//
|
|
// Seed the system volume (sysvol). Called during dcpromo.
|
|
//
|
|
ULONG
|
|
NtFrsApi_Rpc_StartPromotionW(
|
|
[in] handle_t Handle,
|
|
[in, string, unique] PWCHAR ParentComputer,
|
|
[in, string, unique] PWCHAR ParentAccount,
|
|
[in, string, unique] PWCHAR ParentPassword,
|
|
[in, string, unique] PWCHAR ReplicaSetName,
|
|
[in, string, unique] PWCHAR ReplicaSetType,
|
|
[in] ULONG ReplicaSetPrimary,
|
|
[in, string, unique] PWCHAR ReplicaSetStage,
|
|
[in, string, unique] PWCHAR ReplicaSetRoot
|
|
);
|
|
|
|
//
|
|
// Status of sysvol seeding. Called during dcpromo.
|
|
//
|
|
ULONG
|
|
NtFrsApi_Rpc_PromotionStatusW(
|
|
[in] handle_t Handle,
|
|
[in, string, unique] PWCHAR ReplicaSetName,
|
|
[out] ULONG *ServiceState,
|
|
[out] ULONG *ServiceWStatus,
|
|
[out, string] PWCHAR *ServiceDisplay
|
|
);
|
|
|
|
//
|
|
// Stop replicating the system volume (sysvol). Called during dcdemote.
|
|
//
|
|
ULONG
|
|
NtFrsApi_Rpc_StartDemotionW(
|
|
[in] handle_t Handle,
|
|
[in, string, unique] PWCHAR ReplicaSetName
|
|
);
|
|
|
|
//
|
|
// Commit the demotion of all demoted sysvols. Called during dcdemote.
|
|
//
|
|
ULONG
|
|
NtFrsApi_Rpc_CommitDemotionW(
|
|
[in] handle_t Handle
|
|
);
|
|
|
|
//
|
|
// Set the interval and initiate a polling cycle
|
|
//
|
|
ULONG
|
|
NtFrsApi_Rpc_Set_DsPollingIntervalW(
|
|
[in] handle_t Handle,
|
|
[in] ULONG UseShortInterval,
|
|
[in] ULONG LongInterval,
|
|
[in] ULONG ShortInterval
|
|
);
|
|
|
|
//
|
|
// Get the current polling intervals
|
|
//
|
|
ULONG
|
|
NtFrsApi_Rpc_Get_DsPollingIntervalW(
|
|
[in] handle_t Handle,
|
|
[out] ULONG *Interval,
|
|
[out] ULONG *LongInterval,
|
|
[out] ULONG *ShortInterval
|
|
);
|
|
|
|
|
|
//
|
|
// VERSION 1.2
|
|
//
|
|
|
|
//
|
|
// Verify that promotion seems likely; otherwise fail early
|
|
//
|
|
ULONG
|
|
NtFrsApi_Rpc_VerifyPromotionW(
|
|
[in] handle_t Handle,
|
|
[in, string, unique] PWCHAR ParentComputer,
|
|
[in, string, unique] PWCHAR ParentAccount,
|
|
[in, string, unique] PWCHAR ParentPassword,
|
|
[in, string, unique] PWCHAR ReplicaSetName,
|
|
[in, string, unique] PWCHAR ReplicaSetType,
|
|
[in] ULONG ReplicaSetPrimary,
|
|
[in, string, unique] PWCHAR ReplicaSetStage,
|
|
[in, string, unique] PWCHAR ReplicaSetRoot
|
|
);
|
|
|
|
//
|
|
// VERSION 1.3
|
|
//
|
|
|
|
//
|
|
// Get internal info (blob format)
|
|
//
|
|
ULONG
|
|
NtFrsApi_Rpc_InfoW(
|
|
[in] handle_t Handle,
|
|
[in, range(0,64 * 1024)] ULONG BlobSize,
|
|
[in, out, size_is(BlobSize), unique] unsigned char *Blob
|
|
);
|
|
|
|
//
|
|
// VERSION 1.4
|
|
//
|
|
|
|
//
|
|
// Find out if a give path is in a replica set
|
|
//
|
|
ULONG
|
|
NtFrsApi_Rpc_IsPathReplicated(
|
|
[in] handle_t Handle,
|
|
[in, string, unique] PWCHAR Path,
|
|
[in] ULONG ReplicaSetTypeOfInterest,
|
|
[out] ULONG *Replicated,
|
|
[out] ULONG *Primary,
|
|
[out] ULONG *Root,
|
|
[out] GUID *ReplicaSetGuid
|
|
);
|
|
|
|
//
|
|
// VERSION 1.5
|
|
//
|
|
|
|
//
|
|
// RPC interface to Freeze and thaw FRS
|
|
//
|
|
ULONG
|
|
NtFrsApi_Rpc_WriterCommand(
|
|
[in] handle_t Handle,
|
|
[in] ULONG Command
|
|
);
|
|
}
|