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.

167 lines
6.7 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. dnssrv.idl
  5. Abstract:
  6. Domain Name System (DNS) Server
  7. DNS RPC API and type definitions.
  8. Author:
  9. Jim Gilroy (jamesg) April, 1997
  10. Revision History:
  11. --*/
  12. //
  13. // NT5 RPC Interface definition
  14. //
  15. [
  16. uuid(50abc2a4-574d-40b3-9d66-ee4fd5fba076),
  17. version(5.0),
  18. pointer_default(unique)
  19. ]
  20. interface DnsServer
  21. {
  22. import "imports.idl";
  23. typedef [handle] LPCWSTR DNSSRV_RPC_HANDLE;
  24. //
  25. // RPC API
  26. //
  27. DNS_STATUS
  28. R_DnssrvOperation(
  29. [in, unique, string] DNSSRV_RPC_HANDLE hServer,
  30. [in, unique, string] LPCSTR pszZone,
  31. [in] DWORD dwContext,
  32. [in, unique, string] LPCSTR pszOperation,
  33. [in] DWORD dwTypeId,
  34. [in, switch_is(dwTypeId)] DNSSRV_RPC_UNION pData
  35. );
  36. DNS_STATUS
  37. R_DnssrvQuery(
  38. [in, unique, string] DNSSRV_RPC_HANDLE hServer,
  39. [in, unique, string] LPCSTR pszZone,
  40. [in, unique, string] LPCSTR pszOperation,
  41. [out] PDWORD pdwTypeId,
  42. [out, switch_is(*pdwTypeId)] DNSSRV_RPC_UNION * ppData
  43. );
  44. DNS_STATUS
  45. R_DnssrvComplexOperation(
  46. [in, unique, string] DNSSRV_RPC_HANDLE hServer,
  47. [in, unique, string] LPCSTR pszZone,
  48. [in, unique, string] LPCSTR pszOperation,
  49. [in] DWORD dwTypeIn,
  50. [in, switch_is(dwTypeIn)] DNSSRV_RPC_UNION pDataIn,
  51. [out] PDWORD pdwTypeOut,
  52. [out, switch_is(*pdwTypeOut)] DNSSRV_RPC_UNION * ppDataOut
  53. );
  54. DNS_STATUS
  55. R_DnssrvEnumRecords(
  56. [in, unique, string] DNSSRV_RPC_HANDLE hServer,
  57. [in, unique, string] LPCSTR pszZone,
  58. [in, unique, string] LPCSTR pszNodeName,
  59. [in, unique, string] LPCSTR pszStartChild,
  60. [in] WORD wRecordType,
  61. [in] DWORD fSelectFlag,
  62. [in, unique, string] LPCSTR pszFilterStart,
  63. [in, unique, string] LPCSTR pszFilterStop,
  64. [out] PDWORD pdwBufferLength,
  65. [out, size_is(, *pdwBufferLength)] PBYTE * ppBuffer
  66. );
  67. DNS_STATUS
  68. R_DnssrvUpdateRecord(
  69. [in, unique, string] DNSSRV_RPC_HANDLE hServer,
  70. [in, unique, string] LPCSTR pszZone,
  71. [in, string] LPCSTR pszNodeName,
  72. [in, unique] PDNS_RPC_RECORD pAddRecord,
  73. [in, unique] PDNS_RPC_RECORD pDeleteRecord
  74. );
  75. DNS_STATUS
  76. R_DnssrvOperation2(
  77. [in] DWORD dwClientVersion,
  78. [in] DWORD dwSettingFlags,
  79. [in, unique, string] DNSSRV_RPC_HANDLE hServer,
  80. [in, unique, string] LPCSTR pszZone,
  81. [in] DWORD dwContext,
  82. [in, unique, string] LPCSTR pszOperation,
  83. [in] DWORD dwTypeId,
  84. [in, switch_is(dwTypeId)] DNSSRV_RPC_UNION pData
  85. );
  86. DNS_STATUS
  87. R_DnssrvQuery2(
  88. [in] DWORD dwClientVersion,
  89. [in] DWORD dwSettingFlags,
  90. [in, unique, string] DNSSRV_RPC_HANDLE hServer,
  91. [in, unique, string] LPCSTR pszZone,
  92. [in, unique, string] LPCSTR pszOperation,
  93. [out] PDWORD pdwTypeId,
  94. [out, switch_is(*pdwTypeId)] DNSSRV_RPC_UNION * ppData
  95. );
  96. DNS_STATUS
  97. R_DnssrvComplexOperation2(
  98. [in] DWORD dwClientVersion,
  99. [in] DWORD dwSettingFlags,
  100. [in, unique, string] DNSSRV_RPC_HANDLE hServer,
  101. [in, unique, string] LPCSTR pszZone,
  102. [in, unique, string] LPCSTR pszOperation,
  103. [in] DWORD dwTypeIn,
  104. [in, switch_is(dwTypeIn)] DNSSRV_RPC_UNION pDataIn,
  105. [out] PDWORD pdwTypeOut,
  106. [out, switch_is(*pdwTypeOut)] DNSSRV_RPC_UNION * ppDataOut
  107. );
  108. DNS_STATUS
  109. R_DnssrvEnumRecords2(
  110. [in] DWORD dwClientVersion,
  111. [in] DWORD dwSettingFlags,
  112. [in, unique, string] DNSSRV_RPC_HANDLE hServer,
  113. [in, unique, string] LPCSTR pszZone,
  114. [in, unique, string] LPCSTR pszNodeName,
  115. [in, unique, string] LPCSTR pszStartChild,
  116. [in] WORD wRecordType,
  117. [in] DWORD fSelectFlag,
  118. [in, unique, string] LPCSTR pszFilterStart,
  119. [in, unique, string] LPCSTR pszFilterStop,
  120. [out] PDWORD pdwBufferLength,
  121. [out, size_is(, *pdwBufferLength)] PBYTE * ppBuffer
  122. );
  123. DNS_STATUS
  124. R_DnssrvUpdateRecord2(
  125. [in] DWORD dwClientVersion,
  126. [in] DWORD dwSettingFlags,
  127. [in, unique, string] DNSSRV_RPC_HANDLE hServer,
  128. [in, unique, string] LPCSTR pszZone,
  129. [in, string] LPCSTR pszNodeName,
  130. [in, unique] PDNS_RPC_RECORD pAddRecord,
  131. [in, unique] PDNS_RPC_RECORD pDeleteRecord
  132. );
  133. }
  134. //
  135. // End of dnssrv.idl
  136. //