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.

138 lines
3.3 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1999 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // dnsdomain.h
  7. //
  8. // Implementation File:
  9. // dnscache.cpp
  10. //
  11. // Description:
  12. // Definition of the CDnsDomain class.
  13. //
  14. // Author:
  15. // Henry Wang (Henrywa) March 8, 2000
  16. //
  17. // Notes:
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #pragma once
  21. #include "dnsbase.h"
  22. class CObjPath;
  23. class CDnsResourceRecord : CDnsBase
  24. {
  25. public:
  26. CDnsResourceRecord();
  27. CDnsResourceRecord(
  28. const WCHAR*,
  29. CWbemServices*,
  30. const char*
  31. );
  32. ~CDnsResourceRecord();
  33. CDnsResourceRecord(
  34. WCHAR*,
  35. char*);
  36. SCODE EnumInstance(
  37. long lFlags,
  38. IWbemContext * pCtx,
  39. IWbemObjectSink * pHandler);
  40. SCODE GetObject(
  41. CObjPath & ObjectPath,
  42. long lFlags,
  43. IWbemContext * pCtx,
  44. IWbemObjectSink * pHandler
  45. );
  46. SCODE ExecuteMethod(
  47. CObjPath & objPath,
  48. WCHAR * wzMethodName,
  49. long lFlag,
  50. IWbemClassObject * pInArgs,
  51. IWbemObjectSink * pHandler
  52. ) ;
  53. SCODE ExecQuery(
  54. CSqlEval * pSqlEval,
  55. long lFlags,
  56. IWbemContext * pCtx,
  57. IWbemObjectSink * pHandler
  58. );
  59. SCODE PutInstance(
  60. IWbemClassObject * pInst ,
  61. long lFlags,
  62. IWbemContext* pCtx ,
  63. IWbemObjectSink * pHandler
  64. );
  65. SCODE DeleteInstance(
  66. CObjPath & ObjectPath,
  67. long lFlags,
  68. IWbemContext * pCtx,
  69. IWbemObjectSink * pHandler
  70. );
  71. static CDnsBase* CreateThis(
  72. const WCHAR * wszName, //class name
  73. CWbemServices * pNamespace, //namespace
  74. const char * szType //str type id
  75. );
  76. static SCODE InstanceFilter(
  77. CDomainNode & ParentDomain,
  78. PVOID pFilter,
  79. CDnsRpcNode * pNode,
  80. IWbemClassObject * pClass,
  81. CWbemInstanceMgr & InstMgr
  82. );
  83. static SCODE GetObjectFilter(
  84. CDomainNode & ParentDomain,
  85. PVOID pFilter,
  86. CDnsRpcNode * pNode,
  87. IWbemClassObject * pClass,
  88. CWbemInstanceMgr & InstMgr
  89. );
  90. static SCODE QueryFilter(
  91. CDomainNode & ParentDomain,
  92. PVOID pFilter,
  93. CDnsRpcNode * pNode,
  94. IWbemClassObject * pClass,
  95. CWbemInstanceMgr & InstMgr
  96. );
  97. protected:
  98. SCODE Modify(
  99. CObjPath& objPath,
  100. IWbemClassObject* pInArgs,
  101. IWbemClassObject* pOutParams,
  102. IWbemObjectSink* pHandler
  103. );
  104. SCODE CreateInstanceFromText(
  105. IWbemClassObject * pInArgs,
  106. IWbemClassObject * pOutParams,
  107. IWbemObjectSink * pHandler
  108. );
  109. SCODE CreateInstanceFromProperty(
  110. IWbemClassObject * pInArgs,
  111. IWbemClassObject * pOutParams,
  112. IWbemObjectSink * pHandler
  113. );
  114. SCODE GetObjectFromText(
  115. IWbemClassObject * pInArgs,
  116. IWbemClassObject * pOutParams,
  117. IWbemObjectSink * pHandler
  118. ) ;
  119. SCODE GetDomainNameFromZoneAndOwner(
  120. string & InZone,
  121. string & InOwner,
  122. string & OutNode
  123. ) ;
  124. wstring m_wstrClassName;
  125. WORD m_wType;
  126. };