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.

212 lines
4.2 KiB

  1. //=======================================================================
  2. //
  3. // Copyright (c) 1998-2000 Microsoft Corporation. All Rights Reserved.
  4. //
  5. // File: expression.h
  6. //
  7. // Author: Charles Ma
  8. // 2000.10.27
  9. //
  10. // Description:
  11. //
  12. // header file for expression related functions
  13. //
  14. //=======================================================================
  15. #ifndef __EXPRESSOIN_HEADER_INCLUDED__
  16. #include "iuengine.h"
  17. #include <msxml.h>
  18. //----------------------------------------------------------------------
  19. //
  20. // public function DetectExpression()
  21. // retrieve the data from the express node,
  22. // and do actual detection work
  23. //
  24. // Input:
  25. // expression node
  26. //
  27. // Return:
  28. // TRUE/FALSE, detection result
  29. //
  30. //----------------------------------------------------------------------
  31. HRESULT
  32. DetectExpression(
  33. IXMLDOMNode* pExpression, // expression node
  34. BOOL *pfResult
  35. );
  36. //----------------------------------------------------------------------
  37. //
  38. // Helper function DetectRegKeyExists()
  39. // retrieve the data from the node,
  40. // and do actual detection work
  41. //
  42. // Input:
  43. // RegKeyExists node
  44. //
  45. // Return:
  46. // TRUE/FALSE, detection result
  47. //
  48. //----------------------------------------------------------------------
  49. HRESULT
  50. DetectRegKeyExists(
  51. IXMLDOMNode* pRegKeyExistsNode,
  52. BOOL *pfResult
  53. );
  54. //----------------------------------------------------------------------
  55. //
  56. // Helper function DetectRegKeyValue()
  57. // retrieve the data from the node,
  58. // and do actual detection work
  59. //
  60. // Input:
  61. // RegKeyValue node
  62. //
  63. // Return:
  64. // detection result TRUE/FALSE
  65. //
  66. // Assumption:
  67. // input parameter not NULL
  68. //
  69. //----------------------------------------------------------------------
  70. HRESULT
  71. DetectRegKeyValue(
  72. IXMLDOMNode* pRegKeyValueNode,
  73. BOOL *pfResult
  74. );
  75. //----------------------------------------------------------------------
  76. //
  77. // Helper function DetectRegKeySubstring()
  78. // retrieve the data from the node,
  79. // and do actual detection work
  80. //
  81. // Input:
  82. // RegKeyValue node
  83. //
  84. // Return:
  85. // detection result TRUE/FALSE
  86. //
  87. // Assumption:
  88. // input parameter not NULL
  89. //
  90. //----------------------------------------------------------------------
  91. HRESULT
  92. DetectRegKeySubstring(
  93. IXMLDOMNode* pRegKeySubstringNode,
  94. BOOL *pfResult
  95. );
  96. //----------------------------------------------------------------------
  97. //
  98. // Helper function DetectRegVersion()
  99. // retrieve the data from the node,
  100. // and do actual detection work
  101. //
  102. // Input:
  103. // RegKeyValue node
  104. //
  105. // Return:
  106. // detection result TRUE/FALSE
  107. //
  108. // Assumption:
  109. // input parameter not NULL
  110. //
  111. //----------------------------------------------------------------------
  112. HRESULT
  113. DetectRegVersion(
  114. IXMLDOMNode* pRegKeyVersionNode,
  115. BOOL *pfResult
  116. );
  117. //----------------------------------------------------------------------
  118. //
  119. // Helper function DetectFileExists()
  120. // retrieve the data from the node,
  121. // and do actual detection work
  122. //
  123. // Input:
  124. // RegKeyValue node
  125. //
  126. // Return:
  127. // detection result TRUE/FALSE
  128. //
  129. // Assumption:
  130. // input parameter not NULL
  131. //
  132. //----------------------------------------------------------------------
  133. HRESULT
  134. DetectFileExists(
  135. IXMLDOMNode* pFileExistsNode,
  136. BOOL *pfResult
  137. );
  138. //----------------------------------------------------------------------
  139. //
  140. // Helper function DetectFileVersion()
  141. // retrieve the data from the node,
  142. // and do actual detection work
  143. //
  144. // Input:
  145. // RegKeyValue node
  146. //
  147. // Return:
  148. // detection result TRUE/FALSE
  149. //
  150. // Assumption:
  151. // input parameter not NULL
  152. //
  153. //----------------------------------------------------------------------
  154. HRESULT
  155. DetectFileVersion(
  156. IXMLDOMNode* pFileVersionNode,
  157. BOOL *pfResult
  158. );
  159. //----------------------------------------------------------------------
  160. //
  161. // Helper function DetectComputerSystem()
  162. // retrieve the data from the node,
  163. // and do actual detection work
  164. //
  165. // Input:
  166. // computerSystem node
  167. //
  168. // Return:
  169. // detection result TRUE/FALSE. Default is FALSE for
  170. // anything wrong inside this function, plus the return
  171. // code as error code
  172. //
  173. // Assumption:
  174. // input parameter not NULL
  175. //
  176. //----------------------------------------------------------------------
  177. HRESULT
  178. DetectComputerSystem(
  179. IXMLDOMNode* pComputerSystemNode,
  180. BOOL *pfResult
  181. );
  182. #define __EXPRESSOIN_HEADER_INCLUDED__
  183. #endif