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.

125 lines
2.7 KiB

  1. /*
  2. * LCRpc.idl
  3. *
  4. * Author: BreenH
  5. *
  6. * The RPC interface to the licensing core.
  7. */
  8. /*
  9. * LCRPC Interface Context Handle
  10. */
  11. typedef [context_handle] void *LCRPC_HANDLE;
  12. /*
  13. * Create some constants in the generated header. Note that the strings are
  14. * processed twice, therefore any "\" character, which should show up in the
  15. * header as "\\", needs to be written here as "\\\\".
  16. */
  17. cpp_quote("//")
  18. cpp_quote("// Constants")
  19. cpp_quote("//")
  20. cpp_quote("")
  21. cpp_quote("#define LC_RPC_UUID L\"2f59a331-bf7d-48cb-9e5c-7c090d76e8b8\"")
  22. cpp_quote("#define LC_RPC_LRPC_EP L\"LcRpc\"")
  23. cpp_quote("#define LC_RPC_MAX_THREADS 4")
  24. /*
  25. * LCRPC Interface
  26. */
  27. [
  28. uuid(2f59a331-bf7d-48cb-9e5c-7c090d76e8b8),
  29. version(1.0),
  30. pointer_default(unique),
  31. endpoint("ncalrpc:[LcRpc]")
  32. ]
  33. interface LCRPC
  34. {
  35. //
  36. // To include headers into the interface, it is necessary to include
  37. // through a separate IDL file.
  38. //
  39. import "lcimport.idl";
  40. //
  41. // RPC Open and Close Server Functions
  42. //
  43. BOOLEAN
  44. RpcLicensingOpenServer(
  45. [in] handle_t hBinding,
  46. [out] LCRPC_HANDLE *phServer,
  47. [out, ref] PLONG pStatus
  48. );
  49. void
  50. RpcLicensingCloseServer(
  51. [in, out] LCRPC_HANDLE *phServer
  52. );
  53. //
  54. // Policy Loading and Activation Functions
  55. //
  56. BOOLEAN
  57. RpcLicensingLoadPolicy(
  58. [in] LCRPC_HANDLE hServer,
  59. [in] ULONG ulPolicyId,
  60. [out, ref] PLONG pStatus
  61. );
  62. BOOLEAN
  63. RpcLicensingUnloadPolicy(
  64. [in] LCRPC_HANDLE hServer,
  65. [in] ULONG ulPolicyId,
  66. [out, ref] PLONG pStatus
  67. );
  68. LONG
  69. RpcLicensingSetPolicy(
  70. [in] LCRPC_HANDLE hServer,
  71. [in] ULONG ulPolicyId,
  72. [out, ref] PLONG pNewPolicyStatus
  73. );
  74. //
  75. // Administrative Functions
  76. //
  77. BOOLEAN
  78. RpcLicensingGetAvailablePolicyIds(
  79. [in] LCRPC_HANDLE hServer,
  80. [out, size_is(,*pcPolicies)] PULONG *ppulPolicyIds,
  81. [out, ref] PULONG pcPolicies,
  82. [out, ref] PLONG pStatus
  83. );
  84. BOOLEAN
  85. RpcLicensingGetPolicy(
  86. [in] LCRPC_HANDLE hServer,
  87. [out, ref] PULONG pulPolicyId,
  88. [out, ref] PLONG pStatus
  89. );
  90. BOOLEAN
  91. RpcLicensingGetPolicyInformation(
  92. [in] LCRPC_HANDLE hServer,
  93. [in] ULONG ulPolicyId,
  94. [in, out, ref] PULONG pulVersion,
  95. [out, size_is(,*pcbPolicyInfo)] PCHAR *ppPolicyInfo,
  96. [in, out, ref] PULONG pcbPolicyInfo,
  97. [out, ref] PLONG pStatus
  98. );
  99. BOOLEAN
  100. RpcLicensingDeactivateCurrentPolicy(
  101. [in] LCRPC_HANDLE hServer,
  102. [out, ref] PLONG pStatus
  103. );
  104. }