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.

252 lines
5.3 KiB

  1. enum DESCRIPTOR_TYPE
  2. {
  3. TYPE_FILE,
  4. TYPE_INTERFACE,
  5. TYPE_EVAL,
  6. TYPE_ENUM,
  7. TYPE_CLASS,
  8. TYPE_IMPLEMENTS,
  9. TYPE_PROPERTY,
  10. TYPE_METHOD,
  11. TYPE_METHOD_ARG,
  12. TYPE_REFPROP,
  13. TYPE_REFMETHOD,
  14. TYPE_EVENT,
  15. TYPE_IMPORT,
  16. TYPE_TEAROFF,
  17. TYPE_TEAROFFMETHOD,
  18. TYPE_STRUCT,
  19. TYPE_STRUCTMEMBER,
  20. NUM_DESCRIPTOR_TYPES
  21. };
  22. enum
  23. {
  24. FILE_TAG
  25. };
  26. enum
  27. {
  28. INTERFACE_NAME,
  29. INTERFACE_SUPER,
  30. INTERFACE_GUID,
  31. INTERFACE_ABSTRACT,
  32. INTERFACE_CUSTOM,
  33. INTERFACE_NOPRIMARYTEAROFF
  34. };
  35. enum
  36. {
  37. EVAL_NAME,
  38. EVAL_VALUE,
  39. EVAL_STRING,
  40. EVAL_ODLNAME
  41. };
  42. enum
  43. {
  44. ENUM_NAME,
  45. ENUM_PREFIX,
  46. ENUM_GUID,
  47. ENUM_HIDDEN
  48. };
  49. enum
  50. {
  51. CLASS_NAME,
  52. CLASS_SUPER,
  53. CLASS_INTERFACE,
  54. CLASS_GUID,
  55. CLASS_ABSTRACT,
  56. CLASS_COCLASSNAME,
  57. CLASS_EVENTS,
  58. CLASS_CASCADEDMETHODS,
  59. CLASS_NOAAMETHODS,
  60. CLASS_KEEPNOPERSIST,
  61. CLASS_NOCPC,
  62. CLASS_CONTROL,
  63. CLASS_MONDOGUID,
  64. CLASS_NONPRIMARYEVENTS1,
  65. CLASS_NONPRIMARYEVENTS2,
  66. CLASS_NONPRIMARYEVENTS3,
  67. CLASS_NONPRIMARYEVENTS4,
  68. };
  69. enum
  70. {
  71. IMPLEMENTS_NAME,
  72. IMPLEMENTS_GUID
  73. };
  74. enum
  75. {
  76. PROPERTY_NAME,
  77. PROPERTY_ATYPE,
  78. PROPERTY_DISPID,
  79. PROPERTY_TYPE,
  80. PROPERTY_MEMBER,
  81. PROPERTY_GET,
  82. PROPERTY_SET,
  83. PROPERTY_BINDABLE,
  84. PROPERTY_DISPLAYBIND,
  85. PROPERTY_DWFLAGS,
  86. PROPERTY_ABSTRACT,
  87. PROPERTY_PPFLAGS,
  88. PROPERTY_NOTPRESENTDEFAULT,
  89. PROPERTY_NOTSETDEFAULT,
  90. PROPERTY_MIN,
  91. PROPERTY_MAX,
  92. PROPERTY_GETSETMETHODS,
  93. PROPERTY_HELP,
  94. PROPERTY_VT,
  95. PROPERTY_CAA,
  96. PROPERTY_OBJECT,
  97. PROPERTY_INDEX,
  98. PROPERTY_INDEX1,
  99. PROPERTY_INDEXTYPE,
  100. PROPERTY_INDEXTYPE1,
  101. PROPERTY_SZATTRIBUTE,
  102. PROPERTY_HIDDEN,
  103. PROPERTY_NONBROWSABLE,
  104. PROPERTY_RESTRICTED,
  105. PROPERTY_SUBOBJECT,
  106. PROPERTY_PARAM1,
  107. PROPERTY_PRECALLFUNCTION,
  108. PROPERTY_ENUMREF,
  109. PROPERTY_VIRTUAL,
  110. PROPERTY_GETAA,
  111. PROPERTY_SETAAHR,
  112. PROPERTY_SOURCE,
  113. PROPERTY_MINOUT,
  114. PROPERTY_CASCADED,
  115. PROPERTY_UPDATECOLLECTION,
  116. PROPERTY_SCRIPTLET,
  117. PROPERTY_CLEARCACHES,
  118. PROPERTY_STYLEPROP,
  119. PROPERTY_DONTUSENOTASSIGN,
  120. PROPERTY_RESIZE, // parent calls calcsize
  121. PROPERTY_REMEASURE, // remeasure your contents
  122. PROPERTY_REMEASUREALL, // remeasure self and all nested layouts
  123. PROPERTY_SITEREDRAW,
  124. PROPERTY_SETDESIGNMODE, // Writeable only at Design time
  125. PROPERTY_INVALIDASNOASSIGN,
  126. PROPERTY_NOTPRESENTASDEFAULT,
  127. PROPERTY_THUNKCONTEXT,
  128. PROPERTY_THUNKNODECONTEXT,
  129. PROPERTY_BASEIMPLEMENTATION,
  130. PROPERTY_NOPERSIST, // replaces PPFLAGS:PROPPARAM_NOPERSIST
  131. PROPERTY_INTERNAL, // Don't include in propertydesc array
  132. PROPERTY_REFDTOCLASS, // Internal to remember the class that the refprop is to.
  133. PROPERTY_MAXSTRLEN, // Used in vtable computation.
  134. PROPERTY_NOPROPDESC, // indicates this property doesn't participate in the mondo
  135. PROPERTY_EXCLUSIVETOSCRIPT, // expose this property on primary interface if any name clashes in
  136. // other supported interfaces.
  137. PROPERTY_SZINTERFACEEXPOSE, // Expose this method name for the interface should be used in
  138. // conjunction with nopropdesc.
  139. PROPERTY_DATAEVENT, // non-abstract property calls put_DataEvent instead of put_Variant
  140. PROPERTY_ACCESSIBILITYSTATE,// the property is an accessibility state.
  141. PROPERTY_CUSTOMENUM // enum property - becomes a string treated as an url
  142. };
  143. enum
  144. {
  145. METHODARG_NAME, // Never used
  146. METHODARG_ATYPE,
  147. METHODARG_TYPE,
  148. METHODARG_IN,
  149. METHODARG_OUT,
  150. METHODARG_ARGNAME,
  151. METHODARG_RETURNVALUE,
  152. METHODARG_DEFAULTVALUE,
  153. METHODARG_OPTIONAL
  154. };
  155. enum
  156. {
  157. METHOD_NAME, // Name of the Method
  158. METHOD_RETURNTYPE,
  159. METHOD_DISPID,
  160. METHOD_ABSTRACT,
  161. METHOD_VIRTUAL,
  162. // This slot is used internaly to store the class that was refproped.
  163. // Whether the method is refd to a class or not - need this for
  164. // DISPID Generation. Also, for vtable computation.
  165. METHOD_REFDTOCLASS,
  166. METHOD_VARARG,
  167. METHOD_CANCELABLE,
  168. METHOD_BUBBLING,
  169. METHOD_RESTRICTED,
  170. METHOD_THUNKCONTEXT,
  171. METHOD_THUNKNODECONTEXT,
  172. METHOD_MAXSTRLEN,
  173. METHOD_NOPROPDESC, // indicates this method isn't exposed in DISPInterface or primary interface.
  174. METHOD_EXCLUSIVETOSCRIPT, // expose this property on primary interface if any name clashes in
  175. // other supported interfaces.
  176. METHOD_SZINTERFACEEXPOSE // Expose this method name for the interface should be used in
  177. // conjunction with nopropdesc.
  178. };
  179. enum
  180. {
  181. REFPROP_NAME, // Never used
  182. REFPROP_CLASSNAME,
  183. REFPROP_PROPERTYNAME
  184. };
  185. enum
  186. {
  187. REFMETHOD_NAME, // Never used
  188. REFMETHOD_CLASSNAME,
  189. REFMETHOD_METHODNAME
  190. };
  191. enum
  192. {
  193. EVENT_NAME,
  194. EVENT_SUPER,
  195. EVENT_GUID,
  196. EVENT_ABSTRACT
  197. };
  198. enum
  199. {
  200. IMPORT_NAME
  201. };
  202. enum
  203. {
  204. TEAROFF_NAME,
  205. TEAROFF_INTERFACE,
  206. TEAROFF_BASEIMPL
  207. };
  208. enum
  209. {
  210. TEAROFFMETHOD_NAME,
  211. TEAROFFMETHOD_MAPTO
  212. };
  213. enum
  214. {
  215. STRUCT_NAME,
  216. };
  217. enum
  218. {
  219. STRUCTMEMBER_NAME,
  220. STRUCTMEMBER_TYPE
  221. };
  222. extern AssociateDataType DataTypes[];
  223. extern Associate vt[];
  224. extern TokenDescriptor *AllDescriptors[ NUM_DESCRIPTOR_TYPES ];
  225. extern TokenDescriptor MethodArgDescriptor;
  226. extern CCachedAttrArrayInfo rgCachedAttrArrayInfo[];