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.

146 lines
3.4 KiB

  1. /*++
  2. Copyright (c) 1997-2000 Microsoft Corporation
  3. Module Name:
  4. dnsrsvlr.idl
  5. Abstract:
  6. This is the IDL file that describes the RPC interface for the
  7. DNS Caching Resolver Service internal APIs.
  8. Author:
  9. Glenn Curtis (glennc) 25-Feb-1997
  10. Revision History:
  11. Jim Gilroy (jamesg) June 2000 -- start cleaning the mess
  12. --*/
  13. //
  14. // Interface Attributes
  15. //
  16. [
  17. uuid(45776b01-5956-4485-9f80-f428f7d60129),
  18. version(2.0),
  19. pointer_default(unique)
  20. ]
  21. //
  22. // Interface Keyword
  23. //
  24. interface DnsResolver
  25. //
  26. // Interface Body
  27. //
  28. {
  29. import "imports.idl";
  30. //
  31. // Handle types
  32. //
  33. typedef [handle] wchar_t * DNS_RPC_HANDLE;
  34. //
  35. // Function prototypes
  36. //
  37. DNS_STATUS
  38. CRrReadCache(
  39. [in,string,unique] DNS_RPC_HANDLE Reserved,
  40. [out] PDNS_RPC_CACHE_TABLE * ppCacheTable
  41. );
  42. DNS_STATUS
  43. CRrReadCacheEntry(
  44. [in,string,unique] DNS_RPC_HANDLE Reserved,
  45. [in,string] wchar_t * Name,
  46. [in] WORD Type,
  47. [out] PDNS_RECORD * ppRRSet
  48. );
  49. DNS_STATUS
  50. CRrGetHashTableStats(
  51. [in,string,unique] DNS_RPC_HANDLE Reserved,
  52. [out] LPDWORD pdwCacheHashTableSize,
  53. [out] LPDWORD pdwCacheHashTableBucketSize,
  54. [out] LPDWORD pdwNumberOfCacheEntries,
  55. [out] LPDWORD pdwNumberOfRecords,
  56. [out] LPDWORD pdwNumberOfExpiredRecords,
  57. [out] PDNS_STATS_TABLE * ppStatsTable
  58. );
  59. //
  60. // New functions
  61. //
  62. // Most of the above is either useless or poorly designed.
  63. // Instead of separate IDL, build the new functions here
  64. // one by one.
  65. //
  66. void
  67. R_ResolverGetConfig(
  68. [in,string,unique] DNS_RPC_HANDLE Handle,
  69. [in] DWORD Cookie,
  70. [out] PDNS_NETINFO * ppNetInfo,
  71. [out] PDNS_GLOBALS_BLOB * ppGlobals
  72. );
  73. DNS_STATUS
  74. R_ResolverFlushCache(
  75. [in,string,unique] DNS_RPC_HANDLE Handle
  76. );
  77. DNS_STATUS
  78. R_ResolverFlushCacheEntry(
  79. [in,string,unique] DNS_RPC_HANDLE Handle,
  80. [in,string,unique] LPWSTR pwsName,
  81. [in] WORD wType
  82. );
  83. DNS_STATUS
  84. R_ResolverRegisterCluster(
  85. [in,string,unique] DNS_RPC_HANDLE Handle,
  86. [in] DWORD Tag,
  87. [in,string,unique] PWSTR pwsName,
  88. [in] PDNS_ADDR pAddr,
  89. [in] DWORD Flag
  90. );
  91. DNS_STATUS
  92. R_ResolverQuery(
  93. [in,string,unique] DNS_RPC_HANDLE Handle,
  94. [in,string,unique] LPWSTR pwsName,
  95. [in] WORD wType,
  96. [in] DWORD Flags,
  97. [out] PDNS_RECORD * ppResultRecords
  98. );
  99. DNS_STATUS
  100. R_ResolverEnumCache(
  101. [in,string,unique] DNS_RPC_HANDLE Handle,
  102. [in] PDNS_CACHE_ENUM_REQUEST pRequest,
  103. [out] PDNS_CACHE_ENUM * ppEnum
  104. );
  105. void
  106. R_ResolverPoke(
  107. [in,string,unique] DNS_RPC_HANDLE Handle,
  108. [in] DWORD Tag,
  109. [in] DWORD Id
  110. );
  111. }