/Constant Classes/CLSCTX.ahk

http://github.com/maul-esel/COM-Classes · AutoHotKey · 191 lines · 44 code · 25 blank · 122 comment · 0 complexity · d4126581aa597a7934348dd6d767f461 MD5 · raw file

  1. /*
  2. class: CLSCTX
  3. an enumeration class containing flags that values that are used in activation calls to indicate the execution contexts in which an object is to be run.
  4. Authors:
  5. - maul.esel (https://github.com/maul-esel)
  6. License:
  7. - *LGPL* (http://www.gnu.org/licenses/lpgl-2.1.txt)
  8. Documentation:
  9. - *class documentation* (http://maul-esel.github.com/COM-Classes/master/CLSCTX)
  10. - *msdn* (http://msdn.microsoft.com/en-us/library/windows/desktop/ms693716)
  11. Requirements:
  12. AutoHotkey - AHK v2 alpha
  13. OS - Windows 2000 Professional / Windows 2000 Server or higher
  14. */
  15. class CLSCTX
  16. {
  17. /*
  18. Field: INPROC_SERVER
  19. The code that creates and manages objects of this class is a DLL that runs in the same process as the caller of the function specifying the class context.
  20. */
  21. static INPROC_SERVER := 0x1
  22. /*
  23. Field: INPROC_HANDLER
  24. The code that manages objects of this class is an in-process handler. This is a DLL that runs in the client process and implements client-side structures of this class when instances of the class are accessed remotely.
  25. */
  26. static INPROC_HANDLER := 0x2
  27. /*
  28. Field: LOCAL_SERVER
  29. The EXE code that creates and manages objects of this class runs on same machine but is loaded in a separate process space.
  30. */
  31. static LOCAL_SERVER := 0x4
  32. /*
  33. Field: INPROC_SERVER16
  34. Obsolete.
  35. */
  36. static INPROC_SERVER16 := 0x8
  37. /*
  38. Field: REMOTE_SERVER
  39. A remote context. The LocalServer32 or LocalService code that creates and manages objects of this class is run on a different computer.
  40. */
  41. static REMOTE_SERVER := 0x10
  42. /*
  43. Field: INPROC_HANDLER16
  44. Obsolete.
  45. */
  46. static INPROC_HANDLER16 := 0x20
  47. /*
  48. Field: RESERVED1
  49. Reserved.
  50. */
  51. static RESERVED1 := 0x40
  52. /*
  53. Field: RESERVED2
  54. Reserved.
  55. */
  56. static RESERVED2 := 0x80
  57. /*
  58. Field: RESERVED3
  59. Reserved.
  60. */
  61. static RESERVED3 := 0x100
  62. /*
  63. Field: RESERVED4
  64. Reserved.
  65. */
  66. static RESERVED4 := 0x100
  67. /*
  68. Field: NO_CODE_DOWNLOAD
  69. Disaables the downloading of code from the directory service or the Internet. This flag cannot be set at the same time as <ENABLE_CODE_DOWNLOAD>.
  70. */
  71. static NO_CODE_DOWNLOAD := 0x400
  72. /*
  73. Field: RESERVED5
  74. Reserved.
  75. */
  76. static RESERVED5 := 0x800
  77. /*
  78. Field: NO_CUSTOM_MARSHAL
  79. Specify if you want the activation to fail if it uses custom marshalling.
  80. */
  81. static NO_CUSTOM_MARSHAL := 0x1000
  82. /*
  83. Field: ENABLE_CODE_DOWNLOAD
  84. Enables the downloading of code from the directory service or the Internet. This flag cannot be set at the same time as <NO_CODE_DOWNLOAD>.
  85. */
  86. static ENABLE_CODE_DOWNLOAD := 0x2000
  87. /*
  88. Field: NO_FAILURE_LOG
  89. Can be used to override the logging of failures in CoCreateInstanceEx.
  90. */
  91. static NO_FAILURE_LOG := 0x4000
  92. /*
  93. Field: DISABLE_AAA
  94. Disables activate-as-activator (AAA) activations for this activation only.
  95. */
  96. static DISABLE_AAA := 0x8000
  97. /*
  98. Field: ENABLE_AAA
  99. Enables activate-as-activator (AAA) activations for this activation only.
  100. */
  101. static ENABLE_AAA := 0x10000
  102. /*
  103. Field: FROM_DEFAULT_CONTEXT
  104. Begin this activation from the default context of the current apartment.
  105. */
  106. static FROM_DEFAULT_CONTEXT := 0x20000
  107. /*
  108. Field: ACTIVATE_32_BIT_SERVER
  109. Activate or connect to a 32-bit version of the server; fail if one is not registered.
  110. */
  111. static ACTIVATE_32_BIT_SERVER := 0x40000
  112. /*
  113. Field: ACTIVATE_64_BIT_SERVER
  114. Activate or connect to a 64 bit version of the server; fail if one is not registered.
  115. */
  116. static ACTIVATE_64_BIT_SERVER := 0x80000
  117. /*
  118. Field: ENABLE_CLOAKING
  119. *Windows Vista or later:* When this flag is specified, COM uses the impersonation token of the thread, if one is present, for the activation request made by the thread. When this flag is not specified or if the thread does not have an impersonation token, COM uses the process token of the thread's process for the activation request made by the thread.
  120. */
  121. static ENABLE_CLOAKING := 0x100000
  122. /*
  123. Field: PS_DLL
  124. *[TBD]*
  125. */
  126. static PS_DLL := 0x80000000
  127. /*
  128. Field: VALID_MASK
  129. A combination of all (not reserved) flags.
  130. */
  131. static VALID_MASK := CLSCTX.INPROC_SERVER
  132. | CLSCTX.INPROC_HANDLER
  133. | CLSCTX.LOCAL_SERVER
  134. | CLSCTX.INPROC_SERVER16
  135. | CLSCTX.REMOTE_SERVER
  136. | CLSCTX.NO_CODE_DOWNLOAD
  137. | CLSCTX.NO_CUSTOM_MARSHAL
  138. | CLSCTX.ENABLE_CODE_DOWNLOAD
  139. | CLSCTX.NO_FAILURE_LOG
  140. | CLSCTX.DISABLE_AAA
  141. | CLSCTX.ENABLE_AAA
  142. | CLSCTX.FROM_DEFAULT_CONTEXT
  143. | CLSCTX.ACTIVATE_32_BIT_SERVER
  144. | CLSCTX.ACTIVATE_64_BIT_SERVER
  145. | CLSCTX.ENABLE_CLOAKING
  146. | CLSCTX.PS_DLL
  147. /*
  148. Field: INPROC
  149. Combines <INPROC_SERVER> and <INPROC_HANDLER>.
  150. */
  151. static INPROC := CLSCTX.INPROC_SERVER|CLSCTX.INPROC_HANDLER
  152. /*
  153. Field: ALL
  154. Indicates all class contexts. This is a combination of <INPROC_SERVER>, <INPROC_HANDLER>, <LOCAL_SERVER> and <REMOTE_SERVER>.
  155. */
  156. static ALL := CLSCTX.INPROC_SERVER|CLSCTX.INPROC_HANDLER|CLSCTX.LOCAL_SERVER|CLSCTX.REMOTE_SERVER
  157. /*
  158. Field: SERVER
  159. Indicates server code, whether in-process, local, or remote. This is a combination of <INPROC_SERVER>, <LOCAL_SERVER> and <REMOTE_SERVER>.
  160. */
  161. static SERVER := CLSCTX.INPROC_SERVER|CLSCTX.LOCAL_SERVER|CLSCTX.REMOTE_SERVER
  162. }