home *** CD-ROM | disk | FTP | other *** search
/ Hackers Magazine 57 / CdHackersMagazineNr57.iso / Software / Programming / nsis-2.46-setup.exe / Include / Win / WinNT.nsh < prev    next >
Encoding:
Text File  |  2009-02-04  |  9.5 KB  |  209 lines

  1. !ifndef __WIN_WINNT__INC
  2. !define __WIN_WINNT__INC
  3. !verbose push
  4. !verbose 3
  5. !ifndef __WIN_NOINC_WINNT
  6.  
  7.  
  8. #define MINCHAR  0x80        
  9. #define MAXCHAR  0x7f        
  10. !define MINSHORT 0x8000      
  11. !define MAXSHORT 0x7fff      
  12. !define MINLONG  0x80000000  
  13. !define MAXLONG  0x7fffffff  
  14. !define MAXBYTE  0xff        
  15. !define MAXWORD  0xffff      
  16. !define MAXDWORD 0xffffffff  
  17.  
  18. !ifndef WIN32_NO_STATUS 
  19. !define STATUS_WAIT_0                    0x00000000
  20. !define STATUS_ABANDONED_WAIT_0          0x00000080
  21. !define STATUS_USER_APC                  0x000000C0
  22. !define STATUS_TIMEOUT                   0x00000102
  23. !define STATUS_PENDING                   0x00000103
  24. !define DBG_EXCEPTION_HANDLED            0x00010001
  25. !define DBG_CONTINUE                     0x00010002
  26. !define STATUS_SEGMENT_NOTIFICATION      0x40000005
  27. !define DBG_TERMINATE_THREAD             0x40010003
  28. !define DBG_TERMINATE_PROCESS            0x40010004
  29. !define DBG_CONTROL_C                    0x40010005
  30. !define DBG_CONTROL_BREAK                0x40010008
  31. !define DBG_COMMAND_EXCEPTION            0x40010009
  32. !define STATUS_GUARD_PAGE_VIOLATION      0x80000001
  33. !define STATUS_DATATYPE_MISALIGNMENT     0x80000002
  34. !define STATUS_BREAKPOINT                0x80000003
  35. !define STATUS_SINGLE_STEP               0x80000004
  36. !define DBG_EXCEPTION_NOT_HANDLED        0x80010001
  37. !define STATUS_ACCESS_VIOLATION          0xC0000005
  38. !define STATUS_IN_PAGE_ERROR             0xC0000006
  39. !define STATUS_INVALID_HANDLE            0xC0000008
  40. !define STATUS_NO_MEMORY                 0xC0000017
  41. !define STATUS_ILLEGAL_INSTRUCTION       0xC000001D
  42. !define STATUS_NONCONTINUABLE_EXCEPTION  0xC0000025
  43. !define STATUS_INVALID_DISPOSITION       0xC0000026
  44. !define STATUS_ARRAY_BOUNDS_EXCEEDED     0xC000008C
  45. !define STATUS_FLOAT_DENORMAL_OPERAND    0xC000008D
  46. !define STATUS_FLOAT_DIVIDE_BY_ZERO      0xC000008E
  47. !define STATUS_FLOAT_INEXACT_RESULT      0xC000008F
  48. !define STATUS_FLOAT_INVALID_OPERATION   0xC0000090
  49. !define STATUS_FLOAT_OVERFLOW            0xC0000091
  50. !define STATUS_FLOAT_STACK_CHECK         0xC0000092
  51. !define STATUS_FLOAT_UNDERFLOW           0xC0000093
  52. !define STATUS_INTEGER_DIVIDE_BY_ZERO    0xC0000094
  53. !define STATUS_INTEGER_OVERFLOW          0xC0000095
  54. !define STATUS_PRIVILEGED_INSTRUCTION    0xC0000096
  55. !define STATUS_STACK_OVERFLOW            0xC00000FD
  56. !define STATUS_CONTROL_C_EXIT            0xC000013A
  57. !define STATUS_FLOAT_MULTIPLE_FAULTS     0xC00002B4
  58. !define STATUS_FLOAT_MULTIPLE_TRAPS      0xC00002B5
  59. !define STATUS_REG_NAT_CONSUMPTION       0xC00002C9
  60. !define STATUS_SXS_EARLY_DEACTIVATION    0xC015000F
  61. !define STATUS_SXS_INVALID_DEACTIVATION  0xC0150010
  62. !endif /*WIN32_NO_STATUS*/
  63.  
  64. #define MAXIMUM_WAIT_OBJECTS 64  
  65.  
  66. !define DELETE                   0x00010000
  67. !define READ_CONTROL             0x00020000
  68. !define WRITE_DAC                0x00040000
  69. !define WRITE_OWNER              0x00080000
  70. !define SYNCHRONIZE              0x00100000
  71. !define STANDARD_RIGHTS_REQUIRED 0x000F0000
  72. !define STANDARD_RIGHTS_READ     ${READ_CONTROL}
  73. !define STANDARD_RIGHTS_WRITE    ${READ_CONTROL}
  74. !define STANDARD_RIGHTS_EXECUTE  ${READ_CONTROL}
  75. !define STANDARD_RIGHTS_ALL      0x001F0000
  76. !define SPECIFIC_RIGHTS_ALL      0x0000FFFF
  77. !define ACCESS_SYSTEM_SECURITY   0x01000000
  78. !define MAXIMUM_ALLOWED          0x02000000
  79. !define GENERIC_READ             0x80000000
  80. !define GENERIC_WRITE            0x40000000
  81. !define GENERIC_EXECUTE          0x20000000
  82. !define GENERIC_ALL              0x10000000
  83.  
  84. !define SE_PRIVILEGE_ENABLED_BY_DEFAULT 0x00000001
  85. !define SE_PRIVILEGE_ENABLED            0x00000002
  86. !define SE_PRIVILEGE_REMOVED            0x00000004
  87. !define SE_PRIVILEGE_USED_FOR_ACCESS    0x80000000
  88.  
  89. !define SE_CREATE_TOKEN_NAME        "SeCreateTokenPrivilege"
  90. !define SE_ASSIGNPRIMARYTOKEN_NAME  "SeAssignPrimaryTokenPrivilege"
  91. !define SE_LOCK_MEMORY_NAME         "SeLockMemoryPrivilege"
  92. !define SE_INCREASE_QUOTA_NAME      "SeIncreaseQuotaPrivilege"
  93. !define SE_UNSOLICITED_INPUT_NAME   "SeUnsolicitedInputPrivilege"
  94. !define SE_MACHINE_ACCOUNT_NAME     "SeMachineAccountPrivilege"
  95. !define SE_TCB_NAME                 "SeTcbPrivilege"
  96. !define SE_SECURITY_NAME            "SeSecurityPrivilege"
  97. !define SE_TAKE_OWNERSHIP_NAME      "SeTakeOwnershipPrivilege"
  98. !define SE_LOAD_DRIVER_NAME         "SeLoadDriverPrivilege"
  99. !define SE_SYSTEM_PROFILE_NAME      "SeSystemProfilePrivilege"
  100. !define SE_SYSTEMTIME_NAME          "SeSystemtimePrivilege"
  101. !define SE_PROF_SINGLE_PROCESS_NAME "SeProfileSingleProcessPrivilege"
  102. !define SE_INC_BASE_PRIORITY_NAME   "SeIncreaseBasePriorityPrivilege"
  103. !define SE_CREATE_PAGEFILE_NAME     "SeCreatePagefilePrivilege"
  104. !define SE_CREATE_PERMANENT_NAME    "SeCreatePermanentPrivilege"
  105. !define SE_BACKUP_NAME              "SeBackupPrivilege"
  106. !define SE_RESTORE_NAME             "SeRestorePrivilege"
  107. !define SE_SHUTDOWN_NAME            "SeShutdownPrivilege"
  108. !define SE_DEBUG_NAME               "SeDebugPrivilege"
  109. !define SE_AUDIT_NAME               "SeAuditPrivilege"
  110. !define SE_SYSTEM_ENVIRONMENT_NAME  "SeSystemEnvironmentPrivilege"
  111. !define SE_CHANGE_NOTIFY_NAME       "SeChangeNotifyPrivilege"
  112. !define SE_REMOTE_SHUTDOWN_NAME     "SeRemoteShutdownPrivilege"
  113. !define SE_UNDOCK_NAME              "SeUndockPrivilege"
  114. !define SE_SYNC_AGENT_NAME          "SeSyncAgentPrivilege"
  115. !define SE_ENABLE_DELEGATION_NAME   "SeEnableDelegationPrivilege"
  116. !define SE_MANAGE_VOLUME_NAME       "SeManageVolumePrivilege"
  117. !define SE_IMPERSONATE_NAME         "SeImpersonatePrivilege"
  118. !define SE_CREATE_GLOBAL_NAME       "SeCreateGlobalPrivilege"
  119.  
  120. !define TOKEN_ASSIGN_PRIMARY    0x0001
  121. !define TOKEN_DUPLICATE         0x0002
  122. !define TOKEN_IMPERSONATE       0x0004
  123. !define TOKEN_QUERY             0x0008
  124. !define TOKEN_QUERY_SOURCE      0x0010
  125. !define TOKEN_ADJUST_PRIVILEGES 0x0020
  126. !define TOKEN_ADJUST_GROUPS     0x0040
  127. !define TOKEN_ADJUST_DEFAULT    0x0080
  128. !define TOKEN_ADJUST_SESSIONID  0x0100
  129. !define TOKEN_ALL_ACCESS_P     0xF00FF
  130. !define /math TOKEN_ALL_ACCESS  ${TOKEN_ALL_ACCESS_P} | ${TOKEN_ADJUST_SESSIONID}
  131. !define /math TOKEN_READ        ${STANDARD_RIGHTS_READ} | ${TOKEN_QUERY}
  132. !define TOKEN_WRITE      0x200E0 ;(STANDARD_RIGHTS_WRITE|TOKEN_ADJUST_PRIVILEGES|TOKEN_ADJUST_GROUPS|TOKEN_ADJUST_DEFAULT)
  133. !define TOKEN_EXECUTE    ${STANDARD_RIGHTS_EXECUTE}
  134.  
  135. !define PROCESS_TERMINATE         0x0001  
  136. !define PROCESS_CREATE_THREAD     0x0002  
  137. !define PROCESS_SET_SESSIONID     0x0004  
  138. !define PROCESS_VM_OPERATION      0x0008  
  139. !define PROCESS_VM_READ           0x0010  
  140. !define PROCESS_VM_WRITE          0x0020  
  141. !define PROCESS_DUP_HANDLE        0x0040  
  142. !define PROCESS_CREATE_PROCESS    0x0080  
  143. !define PROCESS_SET_QUOTA         0x0100  
  144. !define PROCESS_SET_INFORMATION   0x0200  
  145. !define PROCESS_QUERY_INFORMATION 0x0400  
  146. !define PROCESS_SUSPEND_RESUME    0x0800  
  147. !define PROCESS_ALL_ACCESS      0x1F0FFF ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF)
  148. !define THREAD_TERMINATE               0x0001  
  149. !define THREAD_SUSPEND_RESUME          0x0002  
  150. !define THREAD_GET_CONTEXT             0x0008  
  151. !define THREAD_SET_CONTEXT             0x0010  
  152. !define THREAD_SET_INFORMATION         0x0020  
  153. !define THREAD_QUERY_INFORMATION       0x0040  
  154. !define THREAD_SET_THREAD_TOKEN        0x0080
  155. !define THREAD_IMPERSONATE             0x0100
  156. !define THREAD_DIRECT_IMPERSONATION    0x0200
  157. !define THREAD_ALL_ACCESS            0x1F03FF ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF)
  158. !define JOB_OBJECT_ASSIGN_PROCESS           0x0001
  159. !define JOB_OBJECT_SET_ATTRIBUTES           0x0002
  160. !define JOB_OBJECT_QUERY                    0x0004
  161. !define JOB_OBJECT_TERMINATE                0x0008
  162. !define JOB_OBJECT_SET_SECURITY_ATTRIBUTES  0x0010
  163. !define JOB_OBJECT_ALL_ACCESS             0x1F001F ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1F )
  164. !define EVENT_MODIFY_STATE      0x0002  
  165. !define EVENT_ALL_ACCESS 0x1F0003 ;(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) 
  166. !define MUTANT_QUERY_STATE      0x0001
  167. !define MUTANT_ALL_ACCESS 0x1F0001 ;(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|MUTANT_QUERY_STATE)
  168.  
  169. !define FILE_SHARE_READ   0x00000001  
  170. !define FILE_SHARE_WRITE  0x00000002  
  171. !define FILE_SHARE_DELETE 0x00000004  
  172. !define FILE_ATTRIBUTE_READONLY             0x00000001  
  173. !define FILE_ATTRIBUTE_HIDDEN               0x00000002  
  174. !define FILE_ATTRIBUTE_SYSTEM               0x00000004  
  175. !define FILE_ATTRIBUTE_DIRECTORY            0x00000010  
  176. !define FILE_ATTRIBUTE_ARCHIVE              0x00000020  
  177. !define FILE_ATTRIBUTE_DEVICE               0x00000040  
  178. !define FILE_ATTRIBUTE_NORMAL               0x00000080  
  179. !define FILE_ATTRIBUTE_TEMPORARY            0x00000100  
  180. !define FILE_ATTRIBUTE_SPARSE_FILE          0x00000200  
  181. !define FILE_ATTRIBUTE_REPARSE_POINT        0x00000400  
  182. !define FILE_ATTRIBUTE_COMPRESSED           0x00000800  
  183. !define FILE_ATTRIBUTE_OFFLINE              0x00001000  
  184. !define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED  0x00002000  
  185. !define FILE_ATTRIBUTE_ENCRYPTED            0x00004000  
  186.  
  187. !define DUPLICATE_CLOSE_SOURCE 0x00000001  
  188. !define DUPLICATE_SAME_ACCESS  0x00000002  
  189.  
  190. !define VER_PLATFORM_WIN32s             0
  191. !define VER_PLATFORM_WIN32_WINDOWS      1
  192. !define VER_PLATFORM_WIN32_NT           2
  193.  
  194. !ifndef REG_SZ & NSIS_WINDOWS__NO_REGTYPES
  195. !define REG_NONE                 0
  196. !define REG_SZ                   1
  197. !define REG_EXPAND_SZ            2
  198. !define REG_BINARY               3
  199. !define REG_DWORD                4
  200. !define REG_DWORD_LITTLE_ENDIAN  4
  201. !define REG_DWORD_BIG_ENDIAN     5
  202. !define REG_LINK                 6
  203. !define REG_MULTI_SZ             7
  204. !endif
  205.  
  206.  
  207. !endif /* __WIN_NOINC_WINNT */
  208. !verbose pop
  209. !endif /* __WIN_WINNT__INC */