/*++ Copyright (c) 1997 Microsoft Corporation Module Name: frsrpc.idl Abstract: Define the frsrpc interface. Author: Billy J. Fuller 20-Mar-1997 (From Jim McNelis) 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 (F5CC59B4-4264-101A-8C59-08002B2F8426), version(1.1), pointer_default (unique) ] interface frsrpc { // // VERSION 1.1 // // Don't reorder. // Add new functions to end of file. Up version's minor number. // typedef unsigned long ULONG; typedef unsigned char UCHAR; typedef wchar_t WCHAR, *PWCHAR; #include // // Send a Comm Packet (actually, a blob) // ULONG FrsRpcSendCommPkt( [in] handle_t Handle, [in] PCOMM_PACKET CommPkt ); // // Verify the account on the parent computer used for seeding sysvol // ULONG FrsRpcVerifyPromotionParent( [in] handle_t Handle, [in, string, unique] PWCHAR ParentAccount, [in, string, unique] PWCHAR ParentPassword, [in, string, unique] PWCHAR ReplicaSetName, [in, string, unique] PWCHAR ReplicaSetType, [in] ULONG PartnerAuthLevel, [in] ULONG GuidSize ); // // Verify the account on the parent computer used for seeding sysvol // ULONG FrsRpcStartPromotionParent( [in] handle_t Handle, [in, string, unique] PWCHAR ParentAccount, [in, string, unique] PWCHAR ParentPassword, [in, string, unique] PWCHAR ReplicaSetName, [in, string, unique] PWCHAR ReplicaSetType, [in, string, unique] PWCHAR CxtionName, [in, string, unique] PWCHAR PartnerName, [in, string, unique] PWCHAR PartnerPrincName, [in] ULONG PartnerAuthLevel, [in, range(sizeof(GUID),sizeof(GUID))] ULONG GuidSize, [in, size_is(GuidSize), unique] UCHAR *CxtionGuid, [in, size_is(GuidSize), unique] UCHAR *PartnerGuid, [in, out, size_is(GuidSize), unique] UCHAR *ParentGuid ); // // A NOP function for pinging a server. // ULONG FrsNOP(); // // NOT IMPLEMENTED - Enumerate the replica sets // ULONG FrsEnumerateReplicaPathnames(); // // NOT IMPLEMENTED - Just a placeholder, it won't really be part of // the RPC interface but rather a function in the client-side dll. // ULONG FrsFreeReplicaPathnames(); // // NOT IMPLEMENTED - Prepare for backup // ULONG FrsPrepareForBackup(); // // NOT IMPLEMENTED - Prepare for backup // ULONG FrsBackupComplete(); // // NOT IMPLEMENTED - backup is complete; reset state // ULONG FrsPrepareForRestore(); // // NOT IMPLEMENTED - restore is complete; reset state // ULONG FrsRestoreComplete(); // // VERSION 1.2 // // // Verify the account on the parent computer used for seeding sysvol // ULONG FrsRpcVerifyPromotionParentEx( [in] handle_t Handle, [in, string, unique] PWCHAR ParentAccount, [in, string, unique] PWCHAR ParentPassword, [in, string, unique] PWCHAR ReplicaSetName, [in, string, unique] PWCHAR ReplicaSetType, [in, string, unique] PWCHAR CxtionName, [in, string, unique] PWCHAR PartnerName, [in, string, unique] PWCHAR PartnerPrincName, [in, string, unique] PWCHAR ParentPrincName, [in] ULONG PartnerAuthLevel, [in] ULONG GuidSize ); }