NativeConstants.cs 52 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067
  1. using System;
  2. namespace PaintDotNet.SystemLayer
  3. {
  4. internal static class NativeConstants
  5. {
  6. public const int MAX_PATH = 260;
  7. public const int CSIDL_DESKTOP_DIRECTORY = 0x0010; // C:\Users\[user]\Desktop\
  8. public const int CSIDL_MYPICTURES = 0x0027;
  9. public const int CSIDL_PERSONAL = 0x0005;
  10. public const int CSIDL_PROGRAM_FILES = 0x0026; // C:\Program Files\
  11. public const int CSIDL_APPDATA = 0x001a; // C:\Users\[user]\AppData\Roaming\
  12. public const int CSIDL_LOCAL_APPDATA = 0x001c; // C:\Users\[user]\AppData\Local\
  13. public const int CSIDL_COMMON_DESKTOPDIRECTORY = 0x0019; // C:\Users\All Users\Desktop
  14. public const int CSIDL_FLAG_CREATE = 0x8000; // new for Win2K, or this in to force creation of folder
  15. public const uint SHGFP_TYPE_CURRENT = 0;
  16. public const uint SHGFP_TYPE_DEFAULT = 1;
  17. public const int BP_COMMANDLINK = 6;
  18. public const int CMDLS_NORMAL = 1;
  19. public const int CMDLS_HOT = 2;
  20. public const int CMDLS_PRESSED = 3;
  21. public const int CMDLS_DISABLED = 4;
  22. public const int CMDLS_DEFAULTED = 5;
  23. public const int CMDLS_DEFAULTED_ANIMATING = 6;
  24. public enum SECURITY_IMPERSONATION_LEVEL
  25. {
  26. SecurityAnonymous = 0,
  27. SecurityIdentification = 1,
  28. SecurityImpersonation = 2,
  29. SecurityDelegation = 3
  30. }
  31. public enum TOKEN_TYPE
  32. {
  33. TokenPrimary = 1,
  34. TokenImpersonation = 2
  35. }
  36. public const uint TOKEN_ASSIGN_PRIMARY = 0x0001;
  37. public const uint TOKEN_DUPLICATE = 0x0002;
  38. public const uint TOKEN_IMPERSONATE = 0x0004;
  39. public const uint TOKEN_QUERY = 0x0008;
  40. public const uint TOKEN_QUERY_SOURCE = 0x0010;
  41. public const uint TOKEN_ADJUST_PRIVILEGES = 0x0020;
  42. public const uint TOKEN_ADJUST_GROUPS = 0x0040;
  43. public const uint TOKEN_ADJUST_DEFAULT = 0x0080;
  44. public const uint TOKEN_ADJUST_SESSIONID = 0x0100;
  45. public const uint TOKEN_ALL_ACCESS_P =
  46. STANDARD_RIGHTS_REQUIRED |
  47. TOKEN_ASSIGN_PRIMARY |
  48. TOKEN_DUPLICATE |
  49. TOKEN_IMPERSONATE |
  50. TOKEN_QUERY |
  51. TOKEN_QUERY_SOURCE |
  52. TOKEN_ADJUST_PRIVILEGES |
  53. TOKEN_ADJUST_GROUPS |
  54. TOKEN_ADJUST_DEFAULT;
  55. public const uint TOKEN_ALL_ACCESS = TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID;
  56. public const uint TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY;
  57. public const uint TOKEN_WRITE = STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT;
  58. public const uint TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE;
  59. public const uint MAXIMUM_ALLOWED = 0x02000000;
  60. public const uint PROCESS_TERMINATE = 0x0001;
  61. public const uint PROCESS_CREATE_THREAD = 0x0002;
  62. public const uint PROCESS_SET_SESSIONID = 0x0004;
  63. public const uint PROCESS_VM_OPERATION = 0x0008;
  64. public const uint PROCESS_VM_READ = 0x0010;
  65. public const uint PROCESS_VM_WRITE = 0x0020;
  66. public const uint PROCESS_DUP_HANDLE = 0x0040;
  67. public const uint PROCESS_CREATE_PROCESS = 0x0080;
  68. public const uint PROCESS_SET_QUOTA = 0x0100;
  69. public const uint PROCESS_SET_INFORMATION = 0x0200;
  70. public const uint PROCESS_QUERY_INFORMATION = 0x0400;
  71. public const uint PROCESS_SUSPEND_RESUME = 0x0800;
  72. public const uint PROCESS_QUERY_LIMITED_INFORMATION = 0x1000;
  73. public const uint PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFFF;
  74. public const uint PF_NX_ENABLED = 12;
  75. public const uint PF_XMMI_INSTRUCTIONS_AVAILABLE = 6;
  76. public const uint PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10;
  77. public const uint PF_SSE3_INSTRUCTIONS_AVAILABLE = 13;
  78. public const uint CF_ENHMETAFILE = 14;
  79. public static Guid BHID_Stream
  80. {
  81. get
  82. {
  83. return new Guid(0x1cebb3ab, 0x7c10, 0x499a, 0xa4, 0x17, 0x92, 0xca, 0x16, 0xc4, 0xcb, 0x83);
  84. }
  85. }
  86. public const string IID_IOleWindow = "00000114-0000-0000-C000-000000000046";
  87. public const string IID_IModalWindow = "b4db1657-70d7-485e-8e3e-6fcb5a5c1802";
  88. public const string IID_IFileDialog = "42f85136-db7e-439c-85f1-e4075d135fc8";
  89. public const string IID_IFileOpenDialog = "d57c7288-d4ad-4768-be02-9d969532d960";
  90. public const string IID_IFileSaveDialog = "84bccd23-5fde-4cdb-aea4-af64b83d78ab";
  91. public const string IID_IFileDialogEvents = "973510DB-7D7F-452B-8975-74A85828D354";
  92. public const string IID_IFileDialogControlEvents = "36116642-D713-4b97-9B83-7484A9D00433";
  93. public const string IID_IFileDialogCustomize = "8016b7b3-3d49-4504-a0aa-2a37494e606f";
  94. public const string IID_IShellItem = "43826D1E-E718-42EE-BC55-A1E261C37BFE";
  95. public const string IID_IShellItemArray = "B63EA76D-1F85-456F-A19C-48159EFA858B";
  96. public const string IID_IKnownFolder = "38521333-6A87-46A7-AE10-0F16706816C3";
  97. public const string IID_IKnownFolderManager = "44BEAAEC-24F4-4E90-B3F0-23D258FBB146";
  98. public const string IID_IPropertyStore = "886D8EEB-8CF2-4446-8D02-CDBA1DBDCF99";
  99. public const string IID_ISequentialStream = "0c733a30-2a1c-11ce-ade5-00aa0044773d";
  100. public const string IID_IStream = "0000000C-0000-0000-C000-000000000046";
  101. public const string IID_IFileOperation = "947aab5f-0a5c-4c13-b4d6-4bf7836fc9f8";
  102. public const string IID_IFileOperationProgressSink = "04b0f1a7-9490-44bc-96e1-4296a31252e2";
  103. public const string CLSID_FileOpenDialog = "DC1C5A9C-E88A-4dde-A5A1-60F82A20AEF7";
  104. public const string CLSID_FileSaveDialog = "C0B4E2F3-BA21-4773-8DBA-335EC946EB8B";
  105. public const string CLSID_KnownFolderManager = "4df0c730-df9d-4ae3-9153-aa6b82e9795a";
  106. public const string CLSID_FileOperation = "3ad05575-8857-4850-9277-11b85bdb8e09";
  107. public enum FOF
  108. : uint
  109. {
  110. FOF_MULTIDESTFILES = 0x0001,
  111. FOF_CONFIRMMOUSE = 0x0002,
  112. FOF_SILENT = 0x0004, // don't display progress UI (confirm prompts may be displayed still)
  113. FOF_RENAMEONCOLLISION = 0x0008, // automatically rename the source files to avoid the collisions
  114. FOF_NOCONFIRMATION = 0x0010, // don't display confirmation UI, assume "yes" for cases that can be bypassed, "no" for those that can not
  115. FOF_WANTMAPPINGHANDLE = 0x0020, // Fill in SHFILEOPSTRUCT.hNameMappings
  116. // Must be freed using SHFreeNameMappings
  117. FOF_ALLOWUNDO = 0x0040, // enable undo including Recycle behavior for IFileOperation::Delete()
  118. FOF_FILESONLY = 0x0080, // only operate on the files (non folders), both files and folders are assumed without this
  119. FOF_SIMPLEPROGRESS = 0x0100, // means don't show names of files
  120. FOF_NOCONFIRMMKDIR = 0x0200, // don't dispplay confirmatino UI before making any needed directories, assume "Yes" in these cases
  121. FOF_NOERRORUI = 0x0400, // don't put up error UI, other UI may be displayed, progress, confirmations
  122. FOF_NOCOPYSECURITYATTRIBS = 0x0800, // dont copy file security attributes (ACLs)
  123. FOF_NORECURSION = 0x1000, // don't recurse into directories for operations that would recurse
  124. FOF_NO_CONNECTED_ELEMENTS = 0x2000, // don't operate on connected elements ("xxx_files" folders that go with .htm files)
  125. FOF_WANTNUKEWARNING = 0x4000, // during delete operation, warn if nuking instead of recycling (partially overrides FOF_NOCONFIRMATION)
  126. FOF_NORECURSEREPARSE = 0x8000, // deprecated; the operations engine always does the right thing on FolderLink objects (symlinks, reparse points, folder shortcuts)
  127. FOF_NO_UI = (FOF_SILENT | FOF_NOCONFIRMATION | FOF_NOERRORUI | FOF_NOCONFIRMMKDIR), // don't display any UI at all
  128. FOFX_NOSKIPJUNCTIONS = 0x00010000, // Don't avoid binding to junctions (like Task folder, Recycle-Bin)
  129. FOFX_PREFERHARDLINK = 0x00020000, // Create hard link if possible
  130. FOFX_SHOWELEVATIONPROMPT = 0x00040000, // Show elevation prompts when error UI is disabled (use with FOF_NOERRORUI)
  131. FOFX_EARLYFAILURE = 0x00100000, // Fail operation as soon as a single error occurs rather than trying to process other items (applies only when using FOF_NOERRORUI)
  132. FOFX_PRESERVEFILEEXTENSIONS = 0x00200000, // Rename collisions preserve file extns (use with FOF_RENAMEONCOLLISION)
  133. FOFX_KEEPNEWERFILE = 0x00400000, // Keep newer file on naming conflicts
  134. FOFX_NOCOPYHOOKS = 0x00800000, // Don't use copy hooks
  135. FOFX_NOMINIMIZEBOX = 0x01000000, // Don't allow minimizing the progress dialog
  136. FOFX_MOVEACLSACROSSVOLUMES = 0x02000000, // Copy security information when performing a cross-volume move operation
  137. FOFX_DONTDISPLAYSOURCEPATH = 0x04000000, // Don't display the path of source file in progress dialog
  138. FOFX_DONTDISPLAYDESTPATH = 0x08000000, // Don't display the path of destination file in progress dialog
  139. }
  140. public enum STATFLAG
  141. : uint
  142. {
  143. STATFLAG_DEFAULT = 0,
  144. STATFLAG_NONAME = 1,
  145. STATFLAG_NOOPEN = 2
  146. }
  147. public enum STGTY
  148. : uint
  149. {
  150. STGTY_STORAGE = 1,
  151. STGTY_STREAM = 2,
  152. STGTY_LOCKBYTES = 3,
  153. STGTY_PROPERTY = 4
  154. }
  155. [Flags]
  156. public enum STGC
  157. : uint
  158. {
  159. STGC_DEFAULT = 0,
  160. STGC_OVERWRITE = 1,
  161. STGC_ONLYIFCURRENT = 2,
  162. STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4,
  163. STGC_CONSOLIDATE = 8
  164. }
  165. public enum CDCONTROLSTATE
  166. {
  167. CDCS_INACTIVE = 0x00000000,
  168. CDCS_ENABLED = 0x00000001,
  169. CDCS_VISIBLE = 0x00000002
  170. }
  171. public enum FFFP_MODE
  172. {
  173. FFFP_EXACTMATCH,
  174. FFFP_NEARESTPARENTMATCH
  175. }
  176. public enum SIATTRIBFLAGS
  177. {
  178. SIATTRIBFLAGS_AND = 0x00000001, // if multiple items and the attirbutes together.
  179. SIATTRIBFLAGS_OR = 0x00000002, // if multiple items or the attributes together.
  180. SIATTRIBFLAGS_APPCOMPAT = 0x00000003, // Call GetAttributes directly on the ShellFolder for multiple attributes
  181. }
  182. public enum SIGDN : uint
  183. {
  184. SIGDN_NORMALDISPLAY = 0x00000000, // SHGDN_NORMAL
  185. SIGDN_PARENTRELATIVEPARSING = 0x80018001, // SHGDN_INFOLDER | SHGDN_FORPARSING
  186. SIGDN_DESKTOPABSOLUTEPARSING = 0x80028000, // SHGDN_FORPARSING
  187. SIGDN_PARENTRELATIVEEDITING = 0x80031001, // SHGDN_INFOLDER | SHGDN_FOREDITING
  188. SIGDN_DESKTOPABSOLUTEEDITING = 0x8004c000, // SHGDN_FORPARSING | SHGDN_FORADDRESSBAR
  189. SIGDN_FILESYSPATH = 0x80058000, // SHGDN_FORPARSING
  190. SIGDN_URL = 0x80068000, // SHGDN_FORPARSING
  191. SIGDN_PARENTRELATIVEFORADDRESSBAR = 0x8007c001, // SHGDN_INFOLDER | SHGDN_FORPARSING | SHGDN_FORADDRESSBAR
  192. SIGDN_PARENTRELATIVE = 0x80080001 // SHGDN_INFOLDER
  193. }
  194. public const uint DROPEFFECT_COPY = 1;
  195. public const uint DROPEFFECT_MOVE = 2;
  196. public const uint DROPEFFECT_LINK = 4;
  197. [Flags]
  198. public enum SFGAO : uint
  199. {
  200. SFGAO_CANCOPY = DROPEFFECT_COPY, // Objects can be copied (0x1)
  201. SFGAO_CANMOVE = DROPEFFECT_MOVE, // Objects can be moved (0x2)
  202. SFGAO_CANLINK = DROPEFFECT_LINK, // Objects can be linked (0x4)
  203. SFGAO_STORAGE = 0x00000008, // supports BindToObject(IID_IStorage)
  204. SFGAO_CANRENAME = 0x00000010, // Objects can be renamed
  205. SFGAO_CANDELETE = 0x00000020, // Objects can be deleted
  206. SFGAO_HASPROPSHEET = 0x00000040, // Objects have property sheets
  207. SFGAO_DROPTARGET = 0x00000100, // Objects are drop target
  208. SFGAO_CAPABILITYMASK = 0x00000177,
  209. SFGAO_ENCRYPTED = 0x00002000, // Object is encrypted (use alt color)
  210. SFGAO_ISSLOW = 0x00004000, // 'Slow' object
  211. SFGAO_GHOSTED = 0x00008000, // Ghosted icon
  212. SFGAO_LINK = 0x00010000, // Shortcut (link)
  213. SFGAO_SHARE = 0x00020000, // Shared
  214. SFGAO_READONLY = 0x00040000, // Read-only
  215. SFGAO_HIDDEN = 0x00080000, // Hidden object
  216. SFGAO_DISPLAYATTRMASK = 0x000FC000,
  217. SFGAO_FILESYSANCESTOR = 0x10000000, // May contain children with SFGAO_FILESYSTEM
  218. SFGAO_FOLDER = 0x20000000, // Support BindToObject(IID_IShellFolder)
  219. SFGAO_FILESYSTEM = 0x40000000, // Is a win32 file system object (file/folder/root)
  220. SFGAO_HASSUBFOLDER = 0x80000000, // May contain children with SFGAO_FOLDER (may be slow)
  221. SFGAO_CONTENTSMASK = 0x80000000,
  222. SFGAO_VALIDATE = 0x01000000, // Invalidate cached information (may be slow)
  223. SFGAO_REMOVABLE = 0x02000000, // Is this removeable media?
  224. SFGAO_COMPRESSED = 0x04000000, // Object is compressed (use alt color)
  225. SFGAO_BROWSABLE = 0x08000000, // Supports IShellFolder, but only implements CreateViewObject() (non-folder view)
  226. SFGAO_NONENUMERATED = 0x00100000, // Is a non-enumerated object (should be hidden)
  227. SFGAO_NEWCONTENT = 0x00200000, // Should show bold in explorer tree
  228. SFGAO_STREAM = 0x00400000, // Supports BindToObject(IID_IStream)
  229. SFGAO_CANMONIKER = 0x00400000, // Obsolete
  230. SFGAO_HASSTORAGE = 0x00400000, // Obsolete
  231. SFGAO_STORAGEANCESTOR = 0x00800000, // May contain children with SFGAO_STORAGE or SFGAO_STREAM
  232. SFGAO_STORAGECAPMASK = 0x70C50008, // For determining storage capabilities, ie for open/save semantics
  233. SFGAO_PKEYSFGAOMASK = 0x81044010 // Attributes that are masked out for PKEY_SFGAOFlags because they are considered to cause slow calculations or lack context (SFGAO_VALIDATE | SFGAO_ISSLOW | SFGAO_HASSUBFOLDER and others)
  234. }
  235. public enum FDE_OVERWRITE_RESPONSE
  236. {
  237. FDEOR_DEFAULT = 0x00000000,
  238. FDEOR_ACCEPT = 0x00000001,
  239. FDEOR_REFUSE = 0x00000002
  240. }
  241. public enum FDE_SHAREVIOLATION_RESPONSE
  242. {
  243. FDESVR_DEFAULT = 0x00000000,
  244. FDESVR_ACCEPT = 0x00000001,
  245. FDESVR_REFUSE = 0x00000002
  246. }
  247. public enum FDAP
  248. {
  249. FDAP_BOTTOM = 0x00000000,
  250. FDAP_TOP = 0x00000001,
  251. }
  252. [Flags]
  253. public enum FOS : uint
  254. {
  255. FOS_OVERWRITEPROMPT = 0x00000002,
  256. FOS_STRICTFILETYPES = 0x00000004,
  257. FOS_NOCHANGEDIR = 0x00000008,
  258. FOS_PICKFOLDERS = 0x00000020,
  259. FOS_FORCEFILESYSTEM = 0x00000040, // Ensure that items returned are filesystem items.
  260. FOS_ALLNONSTORAGEITEMS = 0x00000080, // Allow choosing items that have no storage.
  261. FOS_NOVALIDATE = 0x00000100,
  262. FOS_ALLOWMULTISELECT = 0x00000200,
  263. FOS_PATHMUSTEXIST = 0x00000800,
  264. FOS_FILEMUSTEXIST = 0x00001000,
  265. FOS_CREATEPROMPT = 0x00002000,
  266. FOS_SHAREAWARE = 0x00004000,
  267. FOS_NOREADONLYRETURN = 0x00008000,
  268. FOS_NOTESTFILECREATE = 0x00010000,
  269. FOS_HIDEMRUPLACES = 0x00020000,
  270. FOS_HIDEPINNEDPLACES = 0x00040000,
  271. FOS_NODEREFERENCELINKS = 0x00100000,
  272. FOS_DONTADDTORECENT = 0x02000000,
  273. FOS_FORCESHOWHIDDEN = 0x10000000,
  274. FOS_DEFAULTNOMINIMODE = 0x20000000
  275. }
  276. public enum KF_CATEGORY
  277. {
  278. KF_CATEGORY_VIRTUAL = 0x00000001,
  279. KF_CATEGORY_FIXED = 0x00000002,
  280. KF_CATEGORY_COMMON = 0x00000003,
  281. KF_CATEGORY_PERUSER = 0x00000004
  282. }
  283. [Flags]
  284. public enum KF_DEFINITION_FLAGS
  285. {
  286. KFDF_PERSONALIZE = 0x00000001,
  287. KFDF_LOCAL_REDIRECT_ONLY = 0x00000002,
  288. KFDF_ROAMABLE = 0x00000004,
  289. }
  290. public const uint DWMWA_NCRENDERING_ENABLED = 1; // [get] Is non-client rendering enabled/disabled
  291. public const uint DWMWA_NCRENDERING_POLICY = 2; // [set] Non-client rendering policy
  292. public const uint DWMWA_TRANSITIONS_FORCEDISABLED = 3; // [set] Potentially enable/forcibly disable transitions
  293. public const uint DWMWA_ALLOW_NCPAINT = 4; // [set] Allow contents rendered in the non-client area to be visible on the DWM-drawn frame.
  294. public const uint DWMWA_CAPTION_BUTTON_BOUNDS = 5; // [get] Bounds of the caption button area in window-relative space.
  295. public const uint DWMWA_NONCLIENT_RTL_LAYOUT = 6; // [set] Is non-client content RTL mirrored
  296. public const uint DWMWA_FORCE_ICONIC_REPRESENTATION = 7; // [set] Force this window to display iconic thumbnails.
  297. public const uint DWMWA_FLIP3D_POLICY = 8; // [set] Designates how Flip3D will treat the window.
  298. public const uint DWMWA_EXTENDED_FRAME_BOUNDS = 9; // [get] Gets the extended frame bounds rectangle in screen space
  299. public const uint DWMWA_LAST = 10;
  300. public const uint DWMNCRP_USEWINDOWSTYLE = 0;
  301. public const uint DWMNCRP_DISABLED = 1;
  302. public const uint DWMNCRP_ENABLED = 2;
  303. public const uint DWMNCRP_LAST = 3;
  304. public const byte VER_EQUAL = 1;
  305. public const byte VER_GREATER = 2;
  306. public const byte VER_GREATER_EQUAL = 3;
  307. public const byte VER_LESS = 4;
  308. public const byte VER_LESS_EQUAL = 5;
  309. public const byte VER_AND = 6;
  310. public const byte VER_OR = 7;
  311. public const uint VER_CONDITION_MASK = 7;
  312. public const uint VER_NUM_BITS_PER_CONDITION_MASK = 3;
  313. public const uint VER_MINORVERSION = 0x0000001;
  314. public const uint VER_MAJORVERSION = 0x0000002;
  315. public const uint VER_BUILDNUMBER = 0x0000004;
  316. public const uint VER_PLATFORMID = 0x0000008;
  317. public const uint VER_SERVICEPACKMINOR = 0x0000010;
  318. public const uint VER_SERVICEPACKMAJOR = 0x0000020;
  319. public const uint VER_SUITENAME = 0x0000040;
  320. public const uint VER_PRODUCT_TYPE = 0x0000080;
  321. public const uint VER_PLATFORM_WIN32s = 0;
  322. public const uint VER_PLATFORM_WIN32_WINDOWS = 1;
  323. public const uint VER_PLATFORM_WIN32_NT = 2;
  324. public const int THREAD_MODE_BACKGROUND_BEGIN = 0x10000;
  325. public const int THREAD_MODE_BACKGROUND_END = 0x20000;
  326. private static uint CTL_CODE(uint deviceType, uint function, uint method, uint access)
  327. {
  328. return (deviceType << 16) | (access << 14) | (function << 2) | method;
  329. }
  330. public const uint FILE_DEVICE_FILE_SYSTEM = 0x00000009;
  331. public const uint METHOD_BUFFERED = 0;
  332. public static readonly uint FSCTL_SET_COMPRESSION =
  333. CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA);
  334. public static ushort COMPRESSION_FORMAT_DEFAULT = 1;
  335. public const int SW_HIDE = 0;
  336. public const int SW_SHOWNORMAL = 1;
  337. public const int SW_NORMAL = 1;
  338. public const int SW_SHOWMINIMIZED = 2;
  339. public const int SW_SHOWMAXIMIZED = 3;
  340. public const int SW_MAXIMIZE = 3;
  341. public const int SW_SHOWNOACTIVATE = 4;
  342. public const int SW_SHOW = 5;
  343. public const int SW_MINIMIZE = 6;
  344. public const int SW_SHOWMINNOACTIVE = 7;
  345. public const int SW_SHOWNA = 8;
  346. public const int SW_RESTORE = 9;
  347. public const int SW_SHOWDEFAULT = 10;
  348. public const int SW_FORCEMINIMIZE = 11;
  349. public const int SW_MAX = 11;
  350. public const uint MF_BYCOMMAND = 0;
  351. public const uint MF_GRAYED = 1;
  352. public const uint MF_DISABLED = 2;
  353. public const uint SC_CLOSE = 0xf060;
  354. public const uint SEE_MASK_CLASSNAME = 0x00000001;
  355. public const uint SEE_MASK_CLASSKEY = 0x00000003;
  356. public const uint SEE_MASK_IDLIST = 0x00000004;
  357. public const uint SEE_MASK_INVOKEIDLIST = 0x0000000c;
  358. public const uint SEE_MASK_ICON = 0x00000010;
  359. public const uint SEE_MASK_HOTKEY = 0x00000020;
  360. public const uint SEE_MASK_NOCLOSEPROCESS = 0x00000040;
  361. public const uint SEE_MASK_CONNECTNETDRV = 0x00000080;
  362. public const uint SEE_MASK_FLAG_DDEWAIT = 0x00000100;
  363. public const uint SEE_MASK_DOENVSUBST = 0x00000200;
  364. public const uint SEE_MASK_FLAG_NO_UI = 0x00000400;
  365. public const uint SEE_MASK_UNICODE = 0x00004000;
  366. public const uint SEE_MASK_NO_CONSOLE = 0x00008000;
  367. public const uint SEE_MASK_ASYNCOK = 0x00100000;
  368. public const uint SEE_MASK_HMONITOR = 0x00200000;
  369. public const uint SEE_MASK_NOZONECHECKS = 0x00800000;
  370. public const uint SEE_MASK_NOQUERYCLASSSTORE = 0x01000000;
  371. public const uint SEE_MASK_WAITFORINPUTIDLE = 0x02000000;
  372. public const uint SEE_MASK_FLAG_LOG_USAGE = 0x04000000;
  373. public const uint SHARD_PIDL = 0x00000001;
  374. public const uint SHARD_PATHA = 0x00000002;
  375. public const uint SHARD_PATHW = 0x00000003;
  376. public const uint VER_NT_WORKSTATION = 0x0000001;
  377. public const uint VER_NT_DOMAIN_CONTROLLER = 0x0000002;
  378. public const uint VER_NT_SERVER = 0x0000003;
  379. public const uint LWA_COLORKEY = 0x00000001;
  380. public const uint LWA_ALPHA = 0x00000002;
  381. public const uint WS_EX_LAYERED = 0x00080000;
  382. public const ushort PROCESSOR_ARCHITECTURE_INTEL = 0;
  383. public const ushort PROCESSOR_ARCHITECTURE_IA64 = 6;
  384. public const ushort PROCESSOR_ARCHITECTURE_AMD64 = 9;
  385. public const ushort PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF;
  386. public const uint SHVIEW_THUMBNAIL = 0x702d;
  387. public const uint MA_ACTIVATE = 1;
  388. public const uint MA_ACTIVATEANDEAT = 2;
  389. public const uint MA_NOACTIVATE = 3;
  390. public const uint MA_NOACTIVATEANDEAT = 4;
  391. public const uint IDI_APPLICATION = 32512;
  392. public const int ERROR_SUCCESS = 0;
  393. public const int ERROR_ALREADY_EXISTS = 183;
  394. public const int ERROR_CANCELLED = 1223;
  395. public const int ERROR_IO_PENDING = 0x3e5;
  396. public const int ERROR_NO_MORE_ITEMS = 259;
  397. public const int ERROR_TIMEOUT = 1460;
  398. public const uint DIGCF_PRESENT = 2;
  399. public const int GWL_STYLE = -16;
  400. public const int GWL_EXSTYLE = -20;
  401. public const int GWLP_WNDPROC = -4;
  402. public const int GWLP_HINSTANCE = -6;
  403. public const int GWLP_HWNDPARENT = -8;
  404. public const int GWLP_USERDATA = -21;
  405. public const int GWLP_ID = -12;
  406. public const uint PBS_SMOOTH = 0x01;
  407. public const uint PBS_MARQUEE = 0x08;
  408. public const int PBM_SETMARQUEE = WM_USER + 10;
  409. public const int SBM_SETPOS = 0x00E0;
  410. public const int SBM_SETRANGE = 0x00E2;
  411. public const int SBM_SETRANGEREDRAW = 0x00E6;
  412. public const int SBM_SETSCROLLINFO = 0x00E9;
  413. public const int BCM_FIRST = 0x1600;
  414. public const int BCM_SETSHIELD = BCM_FIRST + 0x000C;
  415. public const int CB_SHOWDROPDOWN = 0x014f;
  416. public const uint WM_COMMAND = 0x111;
  417. public const uint WM_MOUSEACTIVATE = 0x21;
  418. public const uint WM_COPYDATA = 0x004a;
  419. public const uint SMTO_NORMAL = 0x0000;
  420. public const uint SMTO_BLOCK = 0x0001;
  421. public const uint SMTO_ABORTIFHUNG = 0x0002;
  422. public const uint SMTO_NOTIMEOUTIFNOTHUNG = 0x0008;
  423. public const int WM_USER = 0x400;
  424. public const int WM_HSCROLL = 0x114;
  425. public const int WM_VSCROLL = 0x115;
  426. public const int WM_SETFOCUS = 7;
  427. public const int WM_QUERYENDSESSION = 0x0011;
  428. public const int WM_ACTIVATE = 0x006;
  429. public const int WM_ACTIVATEAPP = 0x01C;
  430. public const int WM_PAINT = 0x000f;
  431. public const int WM_NCPAINT = 0x0085;
  432. public const int WM_NCACTIVATE = 0x086;
  433. public const int WM_SETREDRAW = 0x000B;
  434. public const uint WS_VSCROLL = 0x00200000;
  435. public const uint WS_HSCROLL = 0x00100000;
  436. public const uint BS_MULTILINE = 0x00002000;
  437. public const uint ANSI_CHARSET = 0;
  438. public const uint DEFAULT_CHARSET = 1;
  439. public const uint SYMBOL_CHARSET = 2;
  440. public const uint SHIFTJIS_CHARSET = 128;
  441. public const uint HANGEUL_CHARSET = 129;
  442. public const uint HANGUL_CHARSET = 129;
  443. public const uint GB2312_CHARSET = 134;
  444. public const uint CHINESEBIG5_CHARSET = 136;
  445. public const uint OEM_CHARSET = 255;
  446. public const uint JOHAB_CHARSET = 130;
  447. public const uint HEBREW_CHARSET = 177;
  448. public const uint ARABIC_CHARSET = 178;
  449. public const uint GREEK_CHARSET = 161;
  450. public const uint TURKISH_CHARSET = 162;
  451. public const uint VIETNAMESE_CHARSET = 163;
  452. public const uint THAI_CHARSET = 222;
  453. public const uint EASTEUROPE_CHARSET = 238;
  454. public const uint RUSSIAN_CHARSET = 204;
  455. public const uint MAC_CHARSET = 77;
  456. public const uint BALTIC_CHARSET = 186;
  457. public const uint SPI_GETBEEP = 0x0001;
  458. public const uint SPI_SETBEEP = 0x0002;
  459. public const uint SPI_GETMOUSE = 0x0003;
  460. public const uint SPI_SETMOUSE = 0x0004;
  461. public const uint SPI_GETBORDER = 0x0005;
  462. public const uint SPI_SETBORDER = 0x0006;
  463. public const uint SPI_GETKEYBOARDSPEED = 0x000A;
  464. public const uint SPI_SETKEYBOARDSPEED = 0x000B;
  465. public const uint SPI_LANGDRIVER = 0x000C;
  466. public const uint SPI_ICONHORIZONTALSPACING = 0x000D;
  467. public const uint SPI_GETSCREENSAVETIMEOUT = 0x000E;
  468. public const uint SPI_SETSCREENSAVETIMEOUT = 0x000F;
  469. public const uint SPI_GETSCREENSAVEACTIVE = 0x0010;
  470. public const uint SPI_SETSCREENSAVEACTIVE = 0x0011;
  471. public const uint SPI_GETGRIDGRANULARITY = 0x0012;
  472. public const uint SPI_SETGRIDGRANULARITY = 0x0013;
  473. public const uint SPI_SETDESKWALLPAPER = 0x0014;
  474. public const uint SPI_SETDESKPATTERN = 0x0015;
  475. public const uint SPI_GETKEYBOARDDELAY = 0x0016;
  476. public const uint SPI_SETKEYBOARDDELAY = 0x0017;
  477. public const uint SPI_ICONVERTICALSPACING = 0x0018;
  478. public const uint SPI_GETICONTITLEWRAP = 0x0019;
  479. public const uint SPI_SETICONTITLEWRAP = 0x001A;
  480. public const uint SPI_GETMENUDROPALIGNMENT = 0x001B;
  481. public const uint SPI_SETMENUDROPALIGNMENT = 0x001C;
  482. public const uint SPI_SETDOUBLECLKWIDTH = 0x001D;
  483. public const uint SPI_SETDOUBLECLKHEIGHT = 0x001E;
  484. public const uint SPI_GETICONTITLELOGFONT = 0x001F;
  485. public const uint SPI_SETDOUBLECLICKTIME = 0x0020;
  486. public const uint SPI_SETMOUSEBUTTONSWAP = 0x0021;
  487. public const uint SPI_SETICONTITLELOGFONT = 0x0022;
  488. public const uint SPI_GETFASTTASKSWITCH = 0x0023;
  489. public const uint SPI_SETFASTTASKSWITCH = 0x0024;
  490. public const uint SPI_SETDRAGFULLWINDOWS = 0x0025;
  491. public const uint SPI_GETDRAGFULLWINDOWS = 0x0026;
  492. public const uint SPI_GETNONCLIENTMETRICS = 0x0029;
  493. public const uint SPI_SETNONCLIENTMETRICS = 0x002A;
  494. public const uint SPI_GETMINIMIZEDMETRICS = 0x002B;
  495. public const uint SPI_SETMINIMIZEDMETRICS = 0x002C;
  496. public const uint SPI_GETICONMETRICS = 0x002D;
  497. public const uint SPI_SETICONMETRICS = 0x002E;
  498. public const uint SPI_SETWORKAREA = 0x002F;
  499. public const uint SPI_GETWORKAREA = 0x0030;
  500. public const uint SPI_SETPENWINDOWS = 0x0031;
  501. public const uint SPI_GETHIGHCONTRAST = 0x0042;
  502. public const uint SPI_SETHIGHCONTRAST = 0x0043;
  503. public const uint SPI_GETKEYBOARDPREF = 0x0044;
  504. public const uint SPI_SETKEYBOARDPREF = 0x0045;
  505. public const uint SPI_GETSCREENREADER = 0x0046;
  506. public const uint SPI_SETSCREENREADER = 0x0047;
  507. public const uint SPI_GETANIMATION = 0x0048;
  508. public const uint SPI_SETANIMATION = 0x0049;
  509. public const uint SPI_GETFONTSMOOTHING = 0x004A;
  510. public const uint SPI_SETFONTSMOOTHING = 0x004B;
  511. public const uint SPI_SETDRAGWIDTH = 0x004C;
  512. public const uint SPI_SETDRAGHEIGHT = 0x004D;
  513. public const uint SPI_SETHANDHELD = 0x004E;
  514. public const uint SPI_GETLOWPOWERTIMEOUT = 0x004F;
  515. public const uint SPI_GETPOWEROFFTIMEOUT = 0x0050;
  516. public const uint SPI_SETLOWPOWERTIMEOUT = 0x0051;
  517. public const uint SPI_SETPOWEROFFTIMEOUT = 0x0052;
  518. public const uint SPI_GETLOWPOWERACTIVE = 0x0053;
  519. public const uint SPI_GETPOWEROFFACTIVE = 0x0054;
  520. public const uint SPI_SETLOWPOWERACTIVE = 0x0055;
  521. public const uint SPI_SETPOWEROFFACTIVE = 0x0056;
  522. public const uint SPI_SETCURSORS = 0x0057;
  523. public const uint SPI_SETICONS = 0x0058;
  524. public const uint SPI_GETDEFAULTINPUTLANG = 0x0059;
  525. public const uint SPI_SETDEFAULTINPUTLANG = 0x005A;
  526. public const uint SPI_SETLANGTOGGLE = 0x005B;
  527. public const uint SPI_GETWINDOWSEXTENSION = 0x005C;
  528. public const uint SPI_SETMOUSETRAILS = 0x005D;
  529. public const uint SPI_GETMOUSETRAILS = 0x005E;
  530. public const uint SPI_SETSCREENSAVERRUNNING = 0x0061;
  531. public const uint SPI_SCREENSAVERRUNNING = SPI_SETSCREENSAVERRUNNING;
  532. public const uint SPI_GETFILTERKEYS = 0x0032;
  533. public const uint SPI_SETFILTERKEYS = 0x0033;
  534. public const uint SPI_GETTOGGLEKEYS = 0x0034;
  535. public const uint SPI_SETTOGGLEKEYS = 0x0035;
  536. public const uint SPI_GETMOUSEKEYS = 0x0036;
  537. public const uint SPI_SETMOUSEKEYS = 0x0037;
  538. public const uint SPI_GETSHOWSOUNDS = 0x0038;
  539. public const uint SPI_SETSHOWSOUNDS = 0x0039;
  540. public const uint SPI_GETSTICKYKEYS = 0x003A;
  541. public const uint SPI_SETSTICKYKEYS = 0x003B;
  542. public const uint SPI_GETACCESSTIMEOUT = 0x003C;
  543. public const uint SPI_SETACCESSTIMEOUT = 0x003D;
  544. public const uint SPI_GETSERIALKEYS = 0x003E;
  545. public const uint SPI_SETSERIALKEYS = 0x003F;
  546. public const uint SPI_GETSOUNDSENTRY = 0x0040;
  547. public const uint SPI_SETSOUNDSENTRY = 0x0041;
  548. public const uint SPI_GETSNAPTODEFBUTTON = 0x005F;
  549. public const uint SPI_SETSNAPTODEFBUTTON = 0x0060;
  550. public const uint SPI_GETMOUSEHOVERWIDTH = 0x0062;
  551. public const uint SPI_SETMOUSEHOVERWIDTH = 0x0063;
  552. public const uint SPI_GETMOUSEHOVERHEIGHT = 0x0064;
  553. public const uint SPI_SETMOUSEHOVERHEIGHT = 0x0065;
  554. public const uint SPI_GETMOUSEHOVERTIME = 0x0066;
  555. public const uint SPI_SETMOUSEHOVERTIME = 0x0067;
  556. public const uint SPI_GETWHEELSCROLLLINES = 0x0068;
  557. public const uint SPI_SETWHEELSCROLLLINES = 0x0069;
  558. public const uint SPI_GETMENUSHOWDELAY = 0x006A;
  559. public const uint SPI_SETMENUSHOWDELAY = 0x006B;
  560. public const uint SPI_GETSHOWIMEUI = 0x006E;
  561. public const uint SPI_SETSHOWIMEUI = 0x006F;
  562. public const uint SPI_GETMOUSESPEED = 0x0070;
  563. public const uint SPI_SETMOUSESPEED = 0x0071;
  564. public const uint SPI_GETSCREENSAVERRUNNING = 0x0072;
  565. public const uint SPI_GETDESKWALLPAPER = 0x0073;
  566. public const uint SPI_GETACTIVEWINDOWTRACKING = 0x1000;
  567. public const uint SPI_SETACTIVEWINDOWTRACKING = 0x1001;
  568. public const uint SPI_GETMENUANIMATION = 0x1002;
  569. public const uint SPI_SETMENUANIMATION = 0x1003;
  570. public const uint SPI_GETCOMBOBOXANIMATION = 0x1004;
  571. public const uint SPI_SETCOMBOBOXANIMATION = 0x1005;
  572. public const uint SPI_GETLISTBOXSMOOTHSCROLLING = 0x1006;
  573. public const uint SPI_SETLISTBOXSMOOTHSCROLLING = 0x1007;
  574. public const uint SPI_GETGRADIENTCAPTIONS = 0x1008;
  575. public const uint SPI_SETGRADIENTCAPTIONS = 0x1009;
  576. public const uint SPI_GETKEYBOARDCUES = 0x100A;
  577. public const uint SPI_SETKEYBOARDCUES = 0x100B;
  578. public const uint SPI_GETMENUUNDERLINES = SPI_GETKEYBOARDCUES;
  579. public const uint SPI_SETMENUUNDERLINES = SPI_SETKEYBOARDCUES;
  580. public const uint SPI_GETACTIVEWNDTRKZORDER = 0x100C;
  581. public const uint SPI_SETACTIVEWNDTRKZORDER = 0x100D;
  582. public const uint SPI_GETHOTTRACKING = 0x100E;
  583. public const uint SPI_SETHOTTRACKING = 0x100F;
  584. public const uint SPI_GETMENUFADE = 0x1012;
  585. public const uint SPI_SETMENUFADE = 0x1013;
  586. public const uint SPI_GETSELECTIONFADE = 0x1014;
  587. public const uint SPI_SETSELECTIONFADE = 0x1015;
  588. public const uint SPI_GETTOOLTIPANIMATION = 0x1016;
  589. public const uint SPI_SETTOOLTIPANIMATION = 0x1017;
  590. public const uint SPI_GETTOOLTIPFADE = 0x1018;
  591. public const uint SPI_SETTOOLTIPFADE = 0x1019;
  592. public const uint SPI_GETCURSORSHADOW = 0x101A;
  593. public const uint SPI_SETCURSORSHADOW = 0x101B;
  594. public const uint SPI_GETMOUSESONAR = 0x101C;
  595. public const uint SPI_SETMOUSESONAR = 0x101D;
  596. public const uint SPI_GETMOUSECLICKLOCK = 0x101E;
  597. public const uint SPI_SETMOUSECLICKLOCK = 0x101F;
  598. public const uint SPI_GETMOUSEVANISH = 0x1020;
  599. public const uint SPI_SETMOUSEVANISH = 0x1021;
  600. public const uint SPI_GETFLATMENU = 0x1022;
  601. public const uint SPI_SETFLATMENU = 0x1023;
  602. public const uint SPI_GETDROPSHADOW = 0x1024;
  603. public const uint SPI_SETDROPSHADOW = 0x1025;
  604. public const uint SPI_GETBLOCKSENDINPUTRESETS = 0x1026;
  605. public const uint SPI_SETBLOCKSENDINPUTRESETS = 0x1027;
  606. public const uint SPI_GETUIEFFECTS = 0x103E;
  607. public const uint SPI_SETUIEFFECTS = 0x103F;
  608. public const uint SPI_GETFOREGROUNDLOCKTIMEOUT = 0x2000;
  609. public const uint SPI_SETFOREGROUNDLOCKTIMEOUT = 0x2001;
  610. public const uint SPI_GETACTIVEWNDTRKTIMEOUT = 0x2002;
  611. public const uint SPI_SETACTIVEWNDTRKTIMEOUT = 0x2003;
  612. public const uint SPI_GETFOREGROUNDFLASHCOUNT = 0x2004;
  613. public const uint SPI_SETFOREGROUNDFLASHCOUNT = 0x2005;
  614. public const uint SPI_GETCARETWIDTH = 0x2006;
  615. public const uint SPI_SETCARETWIDTH = 0x2007;
  616. public const uint SPI_GETMOUSECLICKLOCKTIME = 0x2008;
  617. public const uint SPI_SETMOUSECLICKLOCKTIME = 0x2009;
  618. public const uint SPI_GETFONTSMOOTHINGTYPE = 0x200A;
  619. public const uint SPI_SETFONTSMOOTHINGTYPE = 0x200B;
  620. public const uint SPI_GETFONTSMOOTHINGCONTRAST = 0x200C;
  621. public const uint SPI_SETFONTSMOOTHINGCONTRAST = 0x200D;
  622. public const uint SPI_GETFOCUSBORDERWIDTH = 0x200E;
  623. public const uint SPI_SETFOCUSBORDERWIDTH = 0x200F;
  624. public const uint SPI_GETFOCUSBORDERHEIGHT = 0x2010;
  625. public const uint SPI_SETFOCUSBORDERHEIGHT = 0x2011;
  626. public const uint SPI_GETFONTSMOOTHINGORIENTATION = 0x2012;
  627. public const uint SPI_SETFONTSMOOTHINGORIENTATION = 0x2013;
  628. public const uint INFINITE = 0xffffffff;
  629. public const uint STATUS_WAIT_0 = 0;
  630. public const uint STATUS_ABANDONED_WAIT_0 = 0x80;
  631. public const uint WAIT_FAILED = 0xffffffff;
  632. public const uint WAIT_TIMEOUT = 258;
  633. public const uint WAIT_ABANDONED = STATUS_ABANDONED_WAIT_0 + 0;
  634. public const uint WAIT_OBJECT_0 = STATUS_WAIT_0 + 0;
  635. public const uint WAIT_ABANDONED_0 = STATUS_ABANDONED_WAIT_0 + 0;
  636. public const uint STATUS_USER_APC = 0x000000C0;
  637. public const uint WAIT_IO_COMPLETION = STATUS_USER_APC;
  638. public const int SM_REMOTESESSION = 0x1000;
  639. public const int WM_WTSSESSION_CHANGE = 0x2b1;
  640. public const int WM_MOVING = 0x0216;
  641. public const uint NOTIFY_FOR_ALL_SESSIONS = 1;
  642. public const uint NOTIFY_FOR_THIS_SESSION = 0;
  643. public const int BP_PUSHBUTTON = 1;
  644. public const int PBS_NORMAL = 1;
  645. public const int PBS_HOT = 2;
  646. public const int PBS_PRESSED = 3;
  647. public const int PBS_DISABLED = 4;
  648. public const int PBS_DEFAULTED = 5;
  649. public const int PS_SOLID = 0;
  650. public const int PS_DASH = 1; /* ------- */
  651. public const int PS_DOT = 2; /* ....... */
  652. public const int PS_DASHDOT = 3; /* _._._._ */
  653. public const int PS_DASHDOTDOT = 4; /* _.._.._ */
  654. public const int PS_NULL = 5;
  655. public const int PS_INSIDEFRAME = 6;
  656. public const int PS_USERSTYLE = 7;
  657. public const int PS_ALTERNATE = 8;
  658. public const int PS_ENDCAP_ROUND = 0x00000000;
  659. public const int PS_ENDCAP_SQUARE = 0x00000100;
  660. public const int PS_ENDCAP_FLAT = 0x00000200;
  661. public const int PS_ENDCAP_MASK = 0x00000F00;
  662. public const int PS_JOIN_ROUND = 0x00000000;
  663. public const int PS_JOIN_BEVEL = 0x00001000;
  664. public const int PS_JOIN_MITER = 0x00002000;
  665. public const int PS_JOIN_MASK = 0x0000F000;
  666. public const int PS_COSMETIC = 0x00000000;
  667. public const int PS_GEOMETRIC = 0x00010000;
  668. public const int PS_TYPE_MASK = 0x000F0000;
  669. public const int BS_SOLID = 0;
  670. public const int BS_NULL = 1;
  671. public const int BS_HOLLOW = BS_NULL;
  672. public const int BS_HATCHED = 2;
  673. public const int BS_PATTERN = 3;
  674. public const int BS_INDEXED = 4;
  675. public const int BS_DIBPATTERN = 5;
  676. public const int BS_DIBPATTERNPT = 6;
  677. public const int BS_PATTERN8X8 = 7;
  678. public const int BS_DIBPATTERN8X8 = 8;
  679. public const int BS_MONOPATTERN = 9;
  680. public const uint SRCCOPY = 0x00CC0020; /* dest = source */
  681. public const uint SRCPAINT = 0x00EE0086; /* dest = source OR dest */
  682. public const uint SRCAND = 0x008800C6; /* dest = source AND dest */
  683. public const uint SRCINVERT = 0x00660046; /* dest = source XOR dest */
  684. public const uint SRCERASE = 0x00440328; /* dest = source AND (NOT dest ) */
  685. public const uint NOTSRCCOPY = 0x00330008; /* dest = (NOT source) */
  686. public const uint NOTSRCERASE = 0x001100A6; /* dest = (NOT src) AND (NOT dest) */
  687. public const uint MERGECOPY = 0x00C000CA; /* dest = (source AND pattern) */
  688. public const uint MERGEPAINT = 0x00BB0226; /* dest = (NOT source) OR dest */
  689. public const uint PATCOPY = 0x00F00021; /* dest = pattern */
  690. public const uint PATPAINT = 0x00FB0A09; /* dest = DPSnoo */
  691. public const uint PATINVERT = 0x005A0049; /* dest = pattern XOR dest */
  692. public const uint DSTINVERT = 0x00550009; /* dest = (NOT dest) */
  693. public const uint BLACKNESS = 0x00000042; /* dest = BLACK */
  694. public const uint WHITENESS = 0x00FF0062; /* dest = WHITE */
  695. public const uint NOMIRRORBITMAP = 0x80000000; /* Do not Mirror the bitmap in this call */
  696. public const uint CAPTUREBLT = 0x40000000; /* Include layered windows */
  697. // StretchBlt() Modes
  698. public const int BLACKONWHITE = 1;
  699. public const int WHITEONBLACK = 2;
  700. public const int COLORONCOLOR = 3;
  701. public const int HALFTONE = 4;
  702. public const int MAXSTRETCHBLTMODE = 4;
  703. public const int HeapCompatibilityInformation = 0;
  704. public const uint HEAP_NO_SERIALIZE = 0x00000001;
  705. public const uint HEAP_GROWABLE = 0x00000002;
  706. public const uint HEAP_GENERATE_EXCEPTIONS = 0x00000004;
  707. public const uint HEAP_ZERO_MEMORY = 0x00000008;
  708. public const uint HEAP_REALLOC_IN_PLACE_ONLY = 0x00000010;
  709. public const uint HEAP_TAIL_CHECKING_ENABLED = 0x00000020;
  710. public const uint HEAP_FREE_CHECKING_ENABLED = 0x00000040;
  711. public const uint HEAP_DISABLE_COALESCE_ON_FREE = 0x00000080;
  712. public const uint HEAP_CREATE_ALIGN_16 = 0x00010000;
  713. public const uint HEAP_CREATE_ENABLE_TRACING = 0x00020000;
  714. public const uint HEAP_MAXIMUM_TAG = 0x0FFF;
  715. public const uint HEAP_PSEUDO_TAG_FLAG = 0x8000;
  716. public const uint HEAP_TAG_SHIFT = 18;
  717. public const int SM_TABLETPC = 86;
  718. public const uint MONITOR_DEFAULTTONULL = 0x00000000;
  719. public const uint MONITOR_DEFAULTTOPRIMARY = 0x00000001;
  720. public const uint MONITOR_DEFAULTTONEAREST = 0x00000002;
  721. public const uint WTD_UI_ALL = 1;
  722. public const uint WTD_UI_NONE = 2;
  723. public const uint WTD_UI_NOBAD = 3;
  724. public const uint WTD_UI_NOGOOD = 4;
  725. public const uint WTD_REVOKE_NONE = 0;
  726. public const uint WTD_REVOKE_WHOLECHAIN = 1;
  727. public const uint WTD_CHOICE_FILE = 1;
  728. public const uint WTD_CHOICE_CATALOG = 2;
  729. public const uint WTD_CHOICE_BLOB = 3;
  730. public const uint WTD_CHOICE_SIGNER = 4;
  731. public const uint WTD_CHOICE_CERT = 5;
  732. public const uint WTD_STATEACTION_IGNORE = 0;
  733. public const uint WTD_STATEACTION_VERIFY = 1;
  734. public const uint WTD_STATEACTION_CLOSE = 2;
  735. public const uint WTD_STATEACTION_AUTO_CACHE = 3;
  736. public const uint WTD_STATEACTION_AUTO_CACHE_FLUSH = 4;
  737. public const uint WTD_PROV_FLAGS_MASK = 0x0000FFFF;
  738. public const uint WTD_USE_IE4_TRUST_FLAG = 0x00000001;
  739. public const uint WTD_NO_IE4_CHAIN_FLAG = 0x00000002;
  740. public const uint WTD_NO_POLICY_USAGE_FLAG = 0x00000004;
  741. public const uint WTD_REVOCATION_CHECK_NONE = 0x00000010;
  742. public const uint WTD_REVOCATION_CHECK_END_CERT = 0x00000020;
  743. public const uint WTD_REVOCATION_CHECK_CHAIN = 0x00000040;
  744. public const uint WTD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT = 0x00000080;
  745. public const uint WTD_SAFER_FLAG = 0x00000100;
  746. public const uint WTD_HASH_ONLY_FLAG = 0x00000200;
  747. public const uint WTD_USE_DEFAULT_OSVER_CHECK = 0x00000400;
  748. public const uint WTD_LIFETIME_SIGNING_FLAG = 0x00000800;
  749. public const uint WTD_CACHE_ONLY_URL_RETRIEVAL = 0x00001000;
  750. public static Guid WINTRUST_ACTION_GENERIC_VERIFY_V2
  751. {
  752. get
  753. {
  754. return new Guid(0xaac56b, 0xcd44, 0x11d0, 0x8c, 0xc2, 0x0, 0xc0, 0x4f, 0xc2, 0x95, 0xee);
  755. }
  756. }
  757. public const uint FILE_SHARE_READ = 0x00000001;
  758. public const uint FILE_SHARE_WRITE = 0x00000002;
  759. public const uint FILE_SHARE_DELETE = 0x00000004;
  760. public const uint FILE_READ_DATA = 0x0001;
  761. public const uint FILE_LIST_DIRECTORY = 0x0001;
  762. public const uint FILE_WRITE_DATA = 0x0002;
  763. public const uint FILE_ADD_FILE = 0x0002;
  764. public const uint FILE_APPEND_DATA = 0x0004;
  765. public const uint FILE_ADD_SUBDIRECTORY = 0x0004;
  766. public const uint FILE_CREATE_PIPE_INSTANCE = 0x0004;
  767. public const uint FILE_READ_EA = 0x0008;
  768. public const uint FILE_WRITE_EA = 0x0010;
  769. public const uint FILE_EXECUTE = 0x0020;
  770. public const uint FILE_TRAVERSE = 0x0020;
  771. public const uint FILE_DELETE_CHILD = 0x0040;
  772. public const uint FILE_READ_ATTRIBUTES = 0x0080;
  773. public const uint FILE_WRITE_ATTRIBUTES = 0x0100;
  774. public const uint FILE_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF);
  775. public const uint FILE_GENERIC_READ = (STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE);
  776. public const uint FILE_GENERIC_WRITE = (STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE);
  777. public const uint FILE_GENERIC_EXECUTE = (STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE);
  778. public const uint READ_CONTROL = 0x00020000;
  779. public const uint SYNCHRONIZE = 0x00100000;
  780. public const uint STANDARD_RIGHTS_READ = READ_CONTROL;
  781. public const uint STANDARD_RIGHTS_WRITE = READ_CONTROL;
  782. public const uint STANDARD_RIGHTS_EXECUTE = READ_CONTROL;
  783. public const uint STANDARD_RIGHTS_REQUIRED = 0x000F0000;
  784. public const uint GENERIC_READ = 0x80000000;
  785. public const uint GENERIC_WRITE = 0x40000000;
  786. public const uint GENERIC_EXECUTE = 0x20000000;
  787. public const uint CREATE_NEW = 1;
  788. public const uint CREATE_ALWAYS = 2;
  789. public const uint OPEN_EXISTING = 3;
  790. public const uint OPEN_ALWAYS = 4;
  791. public const uint TRUNCATE_EXISTING = 5;
  792. public const uint FILE_ATTRIBUTE_READONLY = 0x00000001;
  793. public const uint FILE_ATTRIBUTE_HIDDEN = 0x00000002;
  794. public const uint FILE_ATTRIBUTE_SYSTEM = 0x00000004;
  795. public const uint FILE_ATTRIBUTE_DIRECTORY = 0x00000010;
  796. public const uint FILE_ATTRIBUTE_ARCHIVE = 0x00000020;
  797. public const uint FILE_ATTRIBUTE_DEVICE = 0x00000040;
  798. public const uint FILE_ATTRIBUTE_NORMAL = 0x00000080;
  799. public const uint FILE_ATTRIBUTE_TEMPORARY = 0x00000100;
  800. public const uint FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200;
  801. public const uint FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400;
  802. public const uint FILE_ATTRIBUTE_COMPRESSED = 0x00000800;
  803. public const uint FILE_ATTRIBUTE_OFFLINE = 0x00001000;
  804. public const uint FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000;
  805. public const uint FILE_ATTRIBUTE_ENCRYPTED = 0x00004000;
  806. public const uint FILE_FLAG_WRITE_THROUGH = 0x80000000;
  807. public const uint FILE_FLAG_OVERLAPPED = 0x40000000;
  808. public const uint FILE_FLAG_NO_BUFFERING = 0x20000000;
  809. public const uint FILE_FLAG_RANDOM_ACCESS = 0x10000000;
  810. public const uint FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000;
  811. public const uint FILE_FLAG_DELETE_ON_CLOSE = 0x04000000;
  812. public const uint FILE_FLAG_BACKUP_SEMANTICS = 0x02000000;
  813. public const uint FILE_FLAG_POSIX_SEMANTICS = 0x01000000;
  814. public const uint FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000;
  815. public const uint FILE_FLAG_OPEN_NO_RECALL = 0x00100000;
  816. public const uint FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000;
  817. public const uint FILE_BEGIN = 0;
  818. public const uint FILE_CURRENT = 1;
  819. public const uint FILE_END = 2;
  820. public static readonly IntPtr INVALID_HANDLE_VALUE = new IntPtr(-1);
  821. public const uint HANDLE_FLAG_INHERIT = 0x1;
  822. public const uint HANDLE_FLAG_PROTECT_FROM_CLOSE = 0x2;
  823. public const uint MEM_COMMIT = 0x1000;
  824. public const uint MEM_RESERVE = 0x2000;
  825. public const uint MEM_DECOMMIT = 0x4000;
  826. public const uint MEM_RELEASE = 0x8000;
  827. public const uint MEM_RESET = 0x80000;
  828. public const uint MEM_TOP_DOWN = 0x100000;
  829. public const uint MEM_PHYSICAL = 0x400000;
  830. public const uint PAGE_NOACCESS = 0x01;
  831. public const uint PAGE_READONLY = 0x02;
  832. public const uint PAGE_READWRITE = 0x04;
  833. public const uint PAGE_WRITECOPY = 0x08;
  834. public const uint PAGE_EXECUTE = 0x10;
  835. public const uint PAGE_EXECUTE_READ = 0x20;
  836. public const uint PAGE_EXECUTE_READWRITE = 0x40;
  837. public const uint PAGE_EXECUTE_WRITECOPY = 0x80;
  838. public const uint PAGE_GUARD = 0x100;
  839. public const uint PAGE_NOCACHE = 0x200;
  840. public const uint PAGE_WRITECOMBINE = 0x400;
  841. public const uint SEC_IMAGE = 0x1000000;
  842. public const uint SEC_RESERVE = 0x4000000;
  843. public const uint SEC_COMMIT = 0x8000000;
  844. public const uint SEC_NOCACHE = 0x10000000;
  845. public const uint SECTION_QUERY = 0x0001;
  846. public const uint SECTION_MAP_WRITE = 0x0002;
  847. public const uint SECTION_MAP_READ = 0x0004;
  848. public const uint SECTION_MAP_EXECUTE_EXPLICIT = 0x0020;
  849. public const uint FILE_MAP_COPY = SECTION_QUERY;
  850. public const uint FILE_MAP_WRITE = SECTION_MAP_WRITE;
  851. public const uint FILE_MAP_READ = SECTION_MAP_READ;
  852. public const uint FILE_MAP_EXECUTE = SECTION_MAP_EXECUTE_EXPLICIT;
  853. public const uint GMEM_FIXED = 0x0000;
  854. public const uint GMEM_MOVEABLE = 0x0002;
  855. public const uint GMEM_ZEROINIT = 0x0040;
  856. public const uint GHND = 0x0042;
  857. public const uint GPTR = 0x0040;
  858. public const uint DIB_RGB_COLORS = 0; /* color table in RGBs */
  859. public const uint DIB_PAL_COLORS = 1; /* color table in palette indices */
  860. public const uint BI_RGB = 0;
  861. public const uint BI_RLE8 = 1;
  862. public const uint BI_RLE4 = 2;
  863. public const uint BI_BITFIELDS = 3;
  864. public const uint BI_JPEG = 4;
  865. public const uint BI_PNG = 5;
  866. public const uint DT_TOP = 0x00000000;
  867. public const uint DT_LEFT = 0x00000000;
  868. public const uint DT_CENTER = 0x00000001;
  869. public const uint DT_RIGHT = 0x00000002;
  870. public const uint DT_VCENTER = 0x00000004;
  871. public const uint DT_BOTTOM = 0x00000008;
  872. public const uint DT_WORDBREAK = 0x00000010;
  873. public const uint DT_SINGLELINE = 0x00000020;
  874. public const uint DT_EXPANDTABS = 0x00000040;
  875. public const uint DT_TABSTOP = 0x00000080;
  876. public const uint DT_NOCLIP = 0x00000100;
  877. public const uint DT_EXTERNALLEADING = 0x00000200;
  878. public const uint DT_CALCRECT = 0x00000400;
  879. public const uint DT_NOPREFIX = 0x00000800;
  880. public const uint DT_public = 0x00001000;
  881. public const uint DT_EDITCONTROL = 0x00002000;
  882. public const uint DT_PATH_ELLIPSIS = 0x00004000;
  883. public const uint DT_END_ELLIPSIS = 0x00008000;
  884. public const uint DT_MODIFYSTRING = 0x00010000;
  885. public const uint DT_RTLREADING = 0x00020000;
  886. public const uint DT_WORD_ELLIPSIS = 0x00040000;
  887. public const uint DT_NOFULLWIDTHCHARBREAK = 0x00080000;
  888. public const uint DT_HIDEPREFIX = 0x00100000;
  889. public const uint DT_PREFIXONLY = 0x00200000;
  890. public const uint FW_DONTCARE = 0;
  891. public const uint FW_THIN = 100;
  892. public const uint FW_EXTRALIGHT = 200;
  893. public const uint FW_LIGHT = 300;
  894. public const uint FW_NORMAL = 400;
  895. public const uint FW_MEDIUM = 500;
  896. public const uint FW_SEMIBOLD = 600;
  897. public const uint FW_BOLD = 700;
  898. public const uint FW_EXTRABOLD = 800;
  899. public const uint FW_HEAVY = 900;
  900. public const uint OUT_DEFAULT_PRECIS = 0;
  901. public const uint OUT_STRING_PRECIS = 1;
  902. public const uint OUT_CHARACTER_PRECIS = 2;
  903. public const uint OUT_STROKE_PRECIS = 3;
  904. public const uint OUT_TT_PRECIS = 4;
  905. public const uint OUT_DEVICE_PRECIS = 5;
  906. public const uint OUT_RASTER_PRECIS = 6;
  907. public const uint OUT_TT_ONLY_PRECIS = 7;
  908. public const uint OUT_OUTLINE_PRECIS = 8;
  909. public const uint OUT_SCREEN_OUTLINE_PRECIS = 9;
  910. public const uint OUT_PS_ONLY_PRECIS = 10;
  911. public const uint CLIP_DEFAULT_PRECIS = 0;
  912. public const uint CLIP_CHARACTER_PRECIS = 1;
  913. public const uint CLIP_STROKE_PRECIS = 2;
  914. public const uint CLIP_MASK = 0xf;
  915. public const uint CLIP_LH_ANGLES = (1 << 4);
  916. public const uint CLIP_TT_ALWAYS = (2 << 4);
  917. public const uint CLIP_EMBEDDED = (8 << 4);
  918. public const uint DEFAULT_QUALITY = 0;
  919. public const uint DRAFT_QUALITY = 1;
  920. public const uint PROOF_QUALITY = 2;
  921. public const uint NONANTIALIASED_QUALITY = 3;
  922. public const uint ANTIALIASED_QUALITY = 4;
  923. public const uint CLEARTYPE_QUALITY = 5;
  924. public const uint CLEARTYPE_NATURAL_QUALITY = 6;
  925. public const uint DEFAULT_PITCH = 0;
  926. public const uint FIXED_PITCH = 1;
  927. public const uint VARIABLE_PITCH = 2;
  928. public const uint MONO_FONT = 8;
  929. public const uint FF_DONTCARE = (0 << 4);
  930. public const uint FF_ROMAN = (1 << 4);
  931. public const uint FF_SWISS = (2 << 4);
  932. public const uint FF_MODERN = (3 << 4);
  933. public const uint FF_SCRIPT = (4 << 4);
  934. public const uint FF_DECORATIVE = (5 << 4);
  935. public const int SB_HORZ = 0;
  936. public const int SB_VERT = 1;
  937. public const int S_OK = 0;
  938. public const int S_FALSE = 1;
  939. public const int E_NOTIMPL = unchecked((int)0x80004001);
  940. }
  941. }