Source code of Windows XP (NT5)
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.

150 lines
4.4 KiB

  1. /*++
  2. Copyright (c) 1998 Microsoft Corporation
  3. Module Name:
  4. frsapi.idl
  5. Abstract:
  6. Define the application programmer's interface for NtFrs.
  7. Author:
  8. Billy J. Fuller 1-Jan-1998
  9. Environment:
  10. User mode winnt
  11. Comments:
  12. Important version information
  13. -------------------------------
  14. Whenever this interface is updated, the version number (a few lines
  15. below) MUST be changed. This insures that a the client and server remain
  16. synchronized, and that calls will succeed only if the client and server
  17. are compatible. The vesrion number is in the form of x.y where x is the
  18. major version number and y is the minor version number. If the changes
  19. to the interface are upwardly compatible, (i.e., a client calling
  20. through the old interface definition is allowed to connect to a server
  21. exposing the new interface definition), you should increase the minor
  22. version number (y) and maintain the same major version number. If the
  23. changes to the interface render it incompatible with the older clients,
  24. increase the major version (x) and reset the minor version number to 0.
  25. Note that the defines for the handle names must be changed also.
  26. --*/
  27. [
  28. uuid (D049B186-814F-11D1-9A3C-00C04FC9B232), version(1.1),
  29. pointer_default (unique)
  30. ] interface NtFrsApi
  31. {
  32. typedef unsigned long ULONG;
  33. typedef wchar_t WCHAR, *PWCHAR;
  34. //
  35. // VERSION 1.1
  36. //
  37. // Don't reorder.
  38. // Add new functions to end of idl and change version's minor number.
  39. //
  40. //
  41. // Seed the system volume (sysvol). Called during dcpromo.
  42. //
  43. ULONG
  44. NtFrsApi_Rpc_StartPromotionW(
  45. [in] handle_t Handle,
  46. [in, string, unique] PWCHAR ParentComputer,
  47. [in, string, unique] PWCHAR ParentAccount,
  48. [in, string, unique] PWCHAR ParentPassword,
  49. [in, string, unique] PWCHAR ReplicaSetName,
  50. [in, string, unique] PWCHAR ReplicaSetType,
  51. [in] ULONG ReplicaSetPrimary,
  52. [in, string, unique] PWCHAR ReplicaSetStage,
  53. [in, string, unique] PWCHAR ReplicaSetRoot
  54. );
  55. //
  56. // Status of sysvol seeding. Called during dcpromo.
  57. //
  58. ULONG
  59. NtFrsApi_Rpc_PromotionStatusW(
  60. [in] handle_t Handle,
  61. [in, string, unique] PWCHAR ReplicaSetName,
  62. [out] ULONG *ServiceState,
  63. [out] ULONG *ServiceWStatus,
  64. [out, string] PWCHAR *ServiceDisplay
  65. );
  66. //
  67. // Stop replicating the system volume (sysvol). Called during dcdemote.
  68. //
  69. ULONG
  70. NtFrsApi_Rpc_StartDemotionW(
  71. [in] handle_t Handle,
  72. [in, string, unique] PWCHAR ReplicaSetName
  73. );
  74. //
  75. // Commit the demotion of all demoted sysvols. Called during dcdemote.
  76. //
  77. ULONG
  78. NtFrsApi_Rpc_CommitDemotionW(
  79. [in] handle_t Handle
  80. );
  81. //
  82. // Set the interval and initiate a polling cycle
  83. //
  84. ULONG
  85. NtFrsApi_Rpc_Set_DsPollingIntervalW(
  86. [in] handle_t Handle,
  87. [in] ULONG UseShortInterval,
  88. [in] ULONG LongInterval,
  89. [in] ULONG ShortInterval
  90. );
  91. //
  92. // Get the current polling intervals
  93. //
  94. ULONG
  95. NtFrsApi_Rpc_Get_DsPollingIntervalW(
  96. [in] handle_t Handle,
  97. [out] ULONG *Interval,
  98. [out] ULONG *LongInterval,
  99. [out] ULONG *ShortInterval
  100. );
  101. //
  102. // VERSION 1.2
  103. //
  104. //
  105. // Verify that promotion seems likely; otherwise fail early
  106. //
  107. ULONG
  108. NtFrsApi_Rpc_VerifyPromotionW(
  109. [in] handle_t Handle,
  110. [in, string, unique] PWCHAR ParentComputer,
  111. [in, string, unique] PWCHAR ParentAccount,
  112. [in, string, unique] PWCHAR ParentPassword,
  113. [in, string, unique] PWCHAR ReplicaSetName,
  114. [in, string, unique] PWCHAR ReplicaSetType,
  115. [in] ULONG ReplicaSetPrimary,
  116. [in, string, unique] PWCHAR ReplicaSetStage,
  117. [in, string, unique] PWCHAR ReplicaSetRoot
  118. );
  119. //
  120. // VERSION 1.3
  121. //
  122. //
  123. // Get internal info (blob format)
  124. //
  125. ULONG
  126. NtFrsApi_Rpc_InfoW(
  127. [in] handle_t Handle,
  128. [in] ULONG BlobSize,
  129. [in, out, size_is(BlobSize), unique] unsigned char *Blob
  130. );
  131. }