Leaked source code of windows server 2003
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

/*++
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
);
}