6.2 Appendix A.2: frsrpc.idl

The IDL definition for this interface imports the "ms-dtyp.idl" file, as specified in [MS-DTYP] section 5.

 import "ms-dtyp.idl";
  
 [
     uuid (F5CC59B4-4264-101A-8C59-08002B2F8426), version(1.1),
     pointer_default (unique)
 ] interface frsrpc
 {
     typedef struct _COMM_PACKET {
         unsigned long   Major;
         unsigned long   Minor;
         unsigned long   CsId;
         unsigned long   MemLen;
         [range(0, 256 * 1024)]  unsigned long   PktLen;
         unsigned long   UpkLen;
         [size_is(PktLen)]      unsigned char  *Pkt;
         [ignore]               void   *DataName;
         [ignore]               void   *DataHandle;
     } COMM_PACKET, *PCOMM_PACKET;
  
     unsigned long
     FrsRpcSendCommPkt(
             [in] handle_t Handle,
             [in] PCOMM_PACKET CommPkt
         );
  
     unsigned long
     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] unsigned long PartnerAuthLevel,
         [in] unsigned long GuidSize
         );
  
     unsigned long
     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] unsigned long PartnerAuthLevel,
         [in,  range(sizeof(GUID),sizeof(GUID))] unsigned long GuidSize,
         [in,  size_is(GuidSize), unique] unsigned char *CxtionGuid,
         [in,  size_is(GuidSize), unique] unsigned char *PartnerGuid,
         [in, out, size_is(GuidSize), unique] unsigned char *ParentGuid
         );
  
     unsigned long FrsNOP();
  
     // This method is not implemented
     unsigned long Opnum4NotUsedOnWire(
         void
         );
  
     // This method is not implemented
     unsigned long Opnum5NotUsedOnWire(
         void
         );
  
     // This method is not implemented
     unsigned long Opnum6NotUsedOnWire(
         void
         );
  
     // This method is not implemented
     unsigned long Opnum7NotUsedOnWire(
         void
         );
  
     // This method is not implemented
     unsigned long Opnum8NotUsedOnWire(
         void
         );
  
     // This method is not implemented
     unsigned long Opnum9NotUsedOnWire(
         void
         );
  
     // This method is not implemented
     unsigned long Opnum10NotUsedOnWire(
         void
         );
 }