13 #if defined(WIN32) && !defined(_USE_MSI_COM) 52 #define LANG_NEUTRAL 0x00 54 #define LANG_AFRIKAANS 0x36 55 #define LANG_ALBANIAN 0x1c 56 #define LANG_ARABIC 0x01 57 #define LANG_ARMENIAN 0x2b 58 #define LANG_ASSAMESE 0x4d 59 #define LANG_AZERI 0x2c 60 #define LANG_BASQUE 0x2d 61 #define LANG_BELARUSIAN 0x23 62 #define LANG_BENGALI 0x45 63 #define LANG_BULGARIAN 0x02 64 #define LANG_CATALAN 0x03 65 #define LANG_CHINESE 0x04 66 #define LANG_CROATIAN 0x1a 67 #define LANG_CZECH 0x05 68 #define LANG_DANISH 0x06 69 #define LANG_DUTCH 0x13 70 #define LANG_ENGLISH 0x09 71 #define LANG_ESTONIAN 0x25 72 #define LANG_FAEROESE 0x38 73 #define LANG_FARSI 0x29 74 #define LANG_FINNISH 0x0b 75 #define LANG_FRENCH 0x0c 76 #define LANG_GEORGIAN 0x37 77 #define LANG_GERMAN 0x07 78 #define LANG_GREEK 0x08 79 #define LANG_GUJARATI 0x47 80 #define LANG_HEBREW 0x0d 81 #define LANG_HINDI 0x39 82 #define LANG_HUNGARIAN 0x0e 83 #define LANG_ICELANDIC 0x0f 84 #define LANG_INDONESIAN 0x21 85 #define LANG_ITALIAN 0x10 86 #define LANG_JAPANESE 0x11 87 #define LANG_KANNADA 0x4b 88 #define LANG_KASHMIRI 0x60 89 #define LANG_KAZAK 0x3f 90 #define LANG_KONKANI 0x57 91 #define LANG_KOREAN 0x12 92 #define LANG_LATVIAN 0x26 93 #define LANG_LITHUANIAN 0x27 94 #define LANG_MACEDONIAN 0x2f 95 #define LANG_MALAY 0x3e 96 #define LANG_MALAYALAM 0x4c 97 #define LANG_MANIPURI 0x58 98 #define LANG_MARATHI 0x4e 99 #define LANG_NEPALI 0x61 100 #define LANG_NORWEGIAN 0x14 101 #define LANG_ORIYA 0x48 102 #define LANG_POLISH 0x15 103 #define LANG_PORTUGUESE 0x16 104 #define LANG_PUNJABI 0x46 105 #define LANG_ROMANIAN 0x18 106 #define LANG_RUSSIAN 0x19 107 #define LANG_SANSKRIT 0x4f 108 #define LANG_SERBIAN 0x1a 109 #define LANG_SINDHI 0x59 110 #define LANG_SLOVAK 0x1b 111 #define LANG_SLOVENIAN 0x24 112 #define LANG_SPANISH 0x0a 113 #define LANG_SWAHILI 0x41 114 #define LANG_SWEDISH 0x1d 115 #define LANG_TAMIL 0x49 116 #define LANG_TATAR 0x44 117 #define LANG_TELUGU 0x4a 118 #define LANG_THAI 0x1e 119 #define LANG_TURKISH 0x1f 120 #define LANG_UKRAINIAN 0x22 121 #define LANG_URDU 0x20 122 #define LANG_UZBEK 0x43 123 #define LANG_VIETNAMESE 0x2a 133 #define SUBLANG_NEUTRAL 0x00 // language neutral 134 #define SUBLANG_DEFAULT 0x01 // user default 135 #define SUBLANG_SYS_DEFAULT 0x02 // system default 137 #define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 // Arabic (Saudi Arabia) 138 #define SUBLANG_ARABIC_IRAQ 0x02 // Arabic (Iraq) 139 #define SUBLANG_ARABIC_EGYPT 0x03 // Arabic (Egypt) 140 #define SUBLANG_ARABIC_LIBYA 0x04 // Arabic (Libya) 141 #define SUBLANG_ARABIC_ALGERIA 0x05 // Arabic (Algeria) 142 #define SUBLANG_ARABIC_MOROCCO 0x06 // Arabic (Morocco) 143 #define SUBLANG_ARABIC_TUNISIA 0x07 // Arabic (Tunisia) 144 #define SUBLANG_ARABIC_OMAN 0x08 // Arabic (Oman) 145 #define SUBLANG_ARABIC_YEMEN 0x09 // Arabic (Yemen) 146 #define SUBLANG_ARABIC_SYRIA 0x0a // Arabic (Syria) 147 #define SUBLANG_ARABIC_JORDAN 0x0b // Arabic (Jordan) 148 #define SUBLANG_ARABIC_LEBANON 0x0c // Arabic (Lebanon) 149 #define SUBLANG_ARABIC_KUWAIT 0x0d // Arabic (Kuwait) 150 #define SUBLANG_ARABIC_UAE 0x0e // Arabic (U.A.E) 151 #define SUBLANG_ARABIC_BAHRAIN 0x0f // Arabic (Bahrain) 152 #define SUBLANG_ARABIC_QATAR 0x10 // Arabic (Qatar) 153 #define SUBLANG_AZERI_LATIN 0x01 // Azeri (Latin) 154 #define SUBLANG_AZERI_CYRILLIC 0x02 // Azeri (Cyrillic) 155 #define SUBLANG_CHINESE_TRADITIONAL 0x01 // Chinese (Taiwan Region) 156 #define SUBLANG_CHINESE_SIMPLIFIED 0x02 // Chinese (PR China) 157 #define SUBLANG_CHINESE_HONGKONG 0x03 // Chinese (Hong Kong) 158 #define SUBLANG_CHINESE_SINGAPORE 0x04 // Chinese (Singapore) 159 #define SUBLANG_CHINESE_MACAU 0x05 // Chinese (Macau) 160 #define SUBLANG_DUTCH 0x01 // Dutch 161 #define SUBLANG_DUTCH_BELGIAN 0x02 // Dutch (Belgian) 162 #define SUBLANG_ENGLISH_US 0x01 // English (USA) 163 #define SUBLANG_ENGLISH_UK 0x02 // English (UK) 164 #define SUBLANG_ENGLISH_AUS 0x03 // English (Australian) 165 #define SUBLANG_ENGLISH_CAN 0x04 // English (Canadian) 166 #define SUBLANG_ENGLISH_NZ 0x05 // English (New Zealand) 167 #define SUBLANG_ENGLISH_EIRE 0x06 // English (Irish) 168 #define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 // English (South Africa) 169 #define SUBLANG_ENGLISH_JAMAICA 0x08 // English (Jamaica) 170 #define SUBLANG_ENGLISH_CARIBBEAN 0x09 // English (Caribbean) 171 #define SUBLANG_ENGLISH_BELIZE 0x0a // English (Belize) 172 #define SUBLANG_ENGLISH_TRINIDAD 0x0b // English (Trinidad) 173 #define SUBLANG_ENGLISH_ZIMBABWE 0x0c // English (Zimbabwe) 174 #define SUBLANG_ENGLISH_PHILIPPINES 0x0d // English (Philippines) 175 #define SUBLANG_FRENCH 0x01 // French 176 #define SUBLANG_FRENCH_BELGIAN 0x02 // French (Belgian) 177 #define SUBLANG_FRENCH_CANADIAN 0x03 // French (Canadian) 178 #define SUBLANG_FRENCH_SWISS 0x04 // French (Swiss) 179 #define SUBLANG_FRENCH_LUXEMBOURG 0x05 // French (Luxembourg) 180 #define SUBLANG_FRENCH_MONACO 0x06 // French (Monaco) 181 #define SUBLANG_GERMAN 0x01 // German 182 #define SUBLANG_GERMAN_SWISS 0x02 // German (Swiss) 183 #define SUBLANG_GERMAN_AUSTRIAN 0x03 // German (Austrian) 184 #define SUBLANG_GERMAN_LUXEMBOURG 0x04 // German (Luxembourg) 185 #define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 // German (Liechtenstein) 186 #define SUBLANG_ITALIAN 0x01 // Italian 187 #define SUBLANG_ITALIAN_SWISS 0x02 // Italian (Swiss) 188 #define SUBLANG_KASHMIRI_INDIA 0x02 // Kashmiri (India) 189 #define SUBLANG_KOREAN 0x01 // Korean (Extended Wansung) 190 #define SUBLANG_LITHUANIAN 0x01 // Lithuanian 191 #define SUBLANG_LITHUANIAN_CLASSIC 0x02 // Lithuanian (Classic) 192 #define SUBLANG_MALAY_MALAYSIA 0x01 // Malay (Malaysia) 193 #define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 // Malay (Brunei Darussalam) 194 #define SUBLANG_NEPALI_INDIA 0x02 // Nepali (India) 195 #define SUBLANG_NORWEGIAN_BOKMAL 0x01 // Norwegian (Bokmal) 196 #define SUBLANG_NORWEGIAN_NYNORSK 0x02 // Norwegian (Nynorsk) 197 #define SUBLANG_PORTUGUESE 0x02 // Portuguese 198 #define SUBLANG_PORTUGUESE_BRAZILIAN 0x01 // Portuguese (Brazilian) 199 #define SUBLANG_SERBIAN_LATIN 0x02 // Serbian (Latin) 200 #define SUBLANG_SERBIAN_CYRILLIC 0x03 // Serbian (Cyrillic) 201 #define SUBLANG_SPANISH 0x01 // Spanish (Castilian) 202 #define SUBLANG_SPANISH_MEXICAN 0x02 // Spanish (Mexican) 203 #define SUBLANG_SPANISH_MODERN 0x03 // Spanish (Modern) 204 #define SUBLANG_SPANISH_GUATEMALA 0x04 // Spanish (Guatemala) 205 #define SUBLANG_SPANISH_COSTA_RICA 0x05 // Spanish (Costa Rica) 206 #define SUBLANG_SPANISH_PANAMA 0x06 // Spanish (Panama) 207 #define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07 // Spanish (Dominican Republic) 208 #define SUBLANG_SPANISH_VENEZUELA 0x08 // Spanish (Venezuela) 209 #define SUBLANG_SPANISH_COLOMBIA 0x09 // Spanish (Colombia) 210 #define SUBLANG_SPANISH_PERU 0x0a // Spanish (Peru) 211 #define SUBLANG_SPANISH_ARGENTINA 0x0b // Spanish (Argentina) 212 #define SUBLANG_SPANISH_ECUADOR 0x0c // Spanish (Ecuador) 213 #define SUBLANG_SPANISH_CHILE 0x0d // Spanish (Chile) 214 #define SUBLANG_SPANISH_URUGUAY 0x0e // Spanish (Uruguay) 215 #define SUBLANG_SPANISH_PARAGUAY 0x0f // Spanish (Paraguay) 216 #define SUBLANG_SPANISH_BOLIVIA 0x10 // Spanish (Bolivia) 217 #define SUBLANG_SPANISH_EL_SALVADOR 0x11 // Spanish (El Salvador) 218 #define SUBLANG_SPANISH_HONDURAS 0x12 // Spanish (Honduras) 219 #define SUBLANG_SPANISH_NICARAGUA 0x13 // Spanish (Nicaragua) 220 #define SUBLANG_SPANISH_PUERTO_RICO 0x14 // Spanish (Puerto Rico) 221 #define SUBLANG_SWEDISH 0x01 // Swedish 222 #define SUBLANG_SWEDISH_FINLAND 0x02 // Swedish (Finland) 223 #define SUBLANG_URDU_PAKISTAN 0x01 // Urdu (Pakistan) 224 #define SUBLANG_URDU_INDIA 0x02 // Urdu (India) 225 #define SUBLANG_UZBEK_LATIN 0x01 // Uzbek (Latin) 226 #define SUBLANG_UZBEK_CYRILLIC 0x02 // Uzbek (Cyrillic) 232 #define SORT_DEFAULT 0x0 // sorting default 234 #define SORT_JAPANESE_XJIS 0x0 // Japanese XJIS order 235 #define SORT_JAPANESE_UNICODE 0x1 // Japanese Unicode order 237 #define SORT_CHINESE_BIG5 0x0 // Chinese BIG5 order 238 #define SORT_CHINESE_PRCP 0x0 // PRC Chinese Phonetic order 239 #define SORT_CHINESE_UNICODE 0x1 // Chinese Unicode order 240 #define SORT_CHINESE_PRC 0x2 // PRC Chinese Stroke Count order 241 #define SORT_CHINESE_BOPOMOFO 0x3 // Traditional Chinese Bopomofo order 243 #define SORT_KOREAN_KSC 0x0 // Korean KSC order 244 #define SORT_KOREAN_UNICODE 0x1 // Korean Unicode order 246 #define SORT_GERMAN_PHONE_BOOK 0x1 // German Phone Book order 248 #define SORT_HUNGARIAN_DEFAULT 0x0 // Hungarian Default order 249 #define SORT_HUNGARIAN_TECHNICAL 0x1 // Hungarian Technical order 251 #define SORT_GEORGIAN_TRADITIONAL 0x0 // Georgian Traditional order 252 #define SORT_GEORGIAN_MODERN 0x1 // Georgian Modern order 275 #define MAKELANGID(p, s) ((((WORD )(s)) << 10) | (WORD )(p)) 276 #define PRIMARYLANGID(lgid) ((WORD )(lgid) & 0x3ff) 277 #define SUBLANGID(lgid) ((WORD )(lgid) >> 10) 300 #define NLS_VALID_LOCALE_MASK 0x000fffff 302 #define MAKELCID(lgid, srtid) ((DWORD)((((DWORD)((WORD )(srtid))) << 16) | \ 303 ((DWORD)((WORD )(lgid))))) 304 #define MAKESORTLCID(lgid, srtid, ver) \ 305 ((DWORD)((MAKELCID(lgid, srtid)) | \ 306 (((DWORD)((WORD )(ver))) << 20))) 307 #define LANGIDFROMLCID(lcid) ((WORD )(lcid)) 308 #define SORTIDFROMLCID(lcid) ((WORD )((((DWORD)(lcid)) >> 16) & 0xf)) 309 #define SORTVERSIONFROMLCID(lcid) ((WORD )((((DWORD)(lcid)) >> 20) & 0xf)) 315 #define LANG_SYSTEM_DEFAULT (MAKELANGID(LANG_NEUTRAL, SUBLANG_SYS_DEFAULT)) 316 #define LANG_USER_DEFAULT (MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT)) 318 #define LOCALE_SYSTEM_DEFAULT (MAKELCID(LANG_SYSTEM_DEFAULT, SORT_DEFAULT)) 319 #define LOCALE_USER_DEFAULT (MAKELCID(LANG_USER_DEFAULT, SORT_DEFAULT)) 321 #define LOCALE_NEUTRAL \ 322 (MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), SORT_DEFAULT)) 324 #ifndef WIN32_NO_STATUS 326 #define STATUS_WAIT_0 ((DWORD )0x00000000L) 327 #define STATUS_ABANDONED_WAIT_0 ((DWORD )0x00000080L) 328 #define STATUS_USER_APC ((DWORD )0x000000C0L) 329 #define STATUS_TIMEOUT ((DWORD )0x00000102L) 330 #define STATUS_PENDING ((DWORD )0x00000103L) 331 #define STATUS_SEGMENT_NOTIFICATION ((DWORD )0x40000005L) 332 #define STATUS_GUARD_PAGE_VIOLATION ((DWORD )0x80000001L) 333 #define STATUS_DATATYPE_MISALIGNMENT ((DWORD )0x80000002L) 334 #define STATUS_BREAKPOINT ((DWORD )0x80000003L) 335 #define STATUS_SINGLE_STEP ((DWORD )0x80000004L) 336 #define STATUS_ACCESS_VIOLATION ((DWORD )0xC0000005L) 337 #define STATUS_IN_PAGE_ERROR ((DWORD )0xC0000006L) 338 #define STATUS_INVALID_HANDLE ((DWORD )0xC0000008L) 339 #define STATUS_NO_MEMORY ((DWORD )0xC0000017L) 340 #define STATUS_ILLEGAL_INSTRUCTION ((DWORD )0xC000001DL) 341 #define STATUS_NONCONTINUABLE_EXCEPTION ((DWORD )0xC0000025L) 342 #define STATUS_INVALID_DISPOSITION ((DWORD )0xC0000026L) 343 #define STATUS_ARRAY_BOUNDS_EXCEEDED ((DWORD )0xC000008CL) 344 #define STATUS_FLOAT_DENORMAL_OPERAND ((DWORD )0xC000008DL) 345 #define STATUS_FLOAT_DIVIDE_BY_ZERO ((DWORD )0xC000008EL) 346 #define STATUS_FLOAT_INEXACT_RESULT ((DWORD )0xC000008FL) 347 #define STATUS_FLOAT_INVALID_OPERATION ((DWORD )0xC0000090L) 348 #define STATUS_FLOAT_OVERFLOW ((DWORD )0xC0000091L) 349 #define STATUS_FLOAT_STACK_CHECK ((DWORD )0xC0000092L) 350 #define STATUS_FLOAT_UNDERFLOW ((DWORD )0xC0000093L) 351 #define STATUS_INTEGER_DIVIDE_BY_ZERO ((DWORD )0xC0000094L) 352 #define STATUS_INTEGER_OVERFLOW ((DWORD )0xC0000095L) 353 #define STATUS_PRIVILEGED_INSTRUCTION ((DWORD )0xC0000096L) 354 #define STATUS_STACK_OVERFLOW ((DWORD )0xC00000FDL) 355 #define STATUS_CONTROL_C_EXIT ((DWORD )0xC000013AL) 356 #define STATUS_FLOAT_MULTIPLE_FAULTS ((DWORD )0xC00002B4L) 357 #define STATUS_FLOAT_MULTIPLE_TRAPS ((DWORD )0xC00002B5L) 358 #define STATUS_ILLEGAL_VLM_REFERENCE ((DWORD )0xC00002C0L) 365 #define EVENTLOG_SUCCESS 0X0000 366 #define EVENTLOG_ERROR_TYPE 0x0001 367 #define EVENTLOG_WARNING_TYPE 0x0002 368 #define EVENTLOG_INFORMATION_TYPE 0x0004 369 #define EVENTLOG_AUDIT_SUCCESS 0x0008 370 #define EVENTLOG_AUDIT_FAILURE 0x0010 372 #define MEM_COMMIT 0x1000 373 #define MEM_RESERVE 0x2000 374 #define MEM_DECOMMIT 0x4000 375 #define MEM_RELEASE 0x8000 376 #define MEM_FREE 0x10000 377 #define MEM_PRIVATE 0x20000 378 #define MEM_MAPPED 0x40000 379 #define MEM_RESET 0x80000 380 #define MEM_TOP_DOWN 0x100000 381 #define MEM_4MB_PAGES 0x80000000 382 #define SEC_FILE 0x800000 383 #define SEC_IMAGE 0x1000000 384 #define SEC_VLM 0x2000000 385 #define SEC_RESERVE 0x4000000 386 #define SEC_COMMIT 0x8000000 387 #define SEC_NOCACHE 0x10000000 388 #define MEM_IMAGE SEC_IMAGE 390 #ifdef WIN32 //kxiao add for security subsytem on MSICOM Windows 392 typedef DWORD ACCESS_MASK;
393 typedef ACCESS_MASK *PACCESS_MASK;
397 #define KEY_QUERY_VALUE (0x0001) 398 #define KEY_SET_VALUE (0x0002) 399 #define KEY_CREATE_SUB_KEY (0x0004) 400 #define KEY_ENUMERATE_SUB_KEYS (0x0008) 401 #define KEY_NOTIFY (0x0010) 402 #define KEY_CREATE_LINK (0x0020) 403 #define KEY_WOW64_32KEY (0x0200) 404 #define KEY_WOW64_64KEY (0x0100) 405 #define KEY_WOW64_RES (0x0300) 407 #define KEY_READ ((STANDARD_RIGHTS_READ |\ 409 KEY_ENUMERATE_SUB_KEYS |\ 415 #define KEY_WRITE ((STANDARD_RIGHTS_WRITE |\ 417 KEY_CREATE_SUB_KEY) \ 421 #define KEY_EXECUTE ((KEY_READ) \ 425 #define KEY_ALL_ACCESS ((STANDARD_RIGHTS_ALL |\ 428 KEY_CREATE_SUB_KEY |\ 429 KEY_ENUMERATE_SUB_KEYS |\ 439 #define REG_OPTION_RESERVED (0x00000000L) // Parameter is reserved 441 #define REG_OPTION_NON_VOLATILE (0x00000000L) // Key is preserved 444 #define REG_OPTION_VOLATILE (0x00000001L) // Key is not preserved 447 #define REG_OPTION_CREATE_LINK (0x00000002L) // Created key is a 450 #define REG_OPTION_BACKUP_RESTORE (0x00000004L) // open for backup or restore 454 #define REG_OPTION_OPEN_LINK (0x00000008L) // Open symbolic link 456 #define REG_LEGAL_OPTION \ 457 (REG_OPTION_RESERVED |\ 458 REG_OPTION_NON_VOLATILE |\ 459 REG_OPTION_VOLATILE |\ 460 REG_OPTION_CREATE_LINK |\ 461 REG_OPTION_BACKUP_RESTORE |\ 462 REG_OPTION_OPEN_LINK) 468 #define REG_CREATED_NEW_KEY (0x00000001L) // New Registry Key created 469 #define REG_OPENED_EXISTING_KEY (0x00000002L) // Existing Key opened 474 #define REG_STANDARD_FORMAT 1 475 #define REG_LATEST_FORMAT 2 476 #define REG_NO_COMPRESSION 4 482 #define REG_WHOLE_HIVE_VOLATILE (0x00000001L) // Restore whole hive volatile 483 #define REG_REFRESH_HIVE (0x00000002L) // Unwind changes to last flush 484 #define REG_NO_LAZY_FLUSH (0x00000004L) // Never lazy flush this hive 485 #define REG_FORCE_RESTORE (0x00000008L) // Force the restore process even when we have open handles on subkeys 490 #define REG_FORCE_UNLOAD 1 497 #define REG_NOTIFY_CHANGE_NAME (0x00000001L) // Create or delete (child) 498 #define REG_NOTIFY_CHANGE_ATTRIBUTES (0x00000002L) 499 #define REG_NOTIFY_CHANGE_LAST_SET (0x00000004L) // time stamp 500 #define REG_NOTIFY_CHANGE_SECURITY (0x00000008L) 502 #define REG_LEGAL_CHANGE_FILTER \ 503 (REG_NOTIFY_CHANGE_NAME |\ 504 REG_NOTIFY_CHANGE_ATTRIBUTES |\ 505 REG_NOTIFY_CHANGE_LAST_SET |\ 506 REG_NOTIFY_CHANGE_SECURITY) 513 #define REG_NONE ( 0 ) // No value type 514 #define REG_SZ ( 1 ) // Unicode nul terminated string 515 #define REG_EXPAND_SZ ( 2 ) // Unicode nul terminated string 517 #define REG_BINARY ( 3 ) // Free form binary 518 #define REG_DWORD ( 4 ) // 32-bit number 519 #define REG_DWORD_LITTLE_ENDIAN ( 4 ) // 32-bit number (same as REG_DWORD) 520 #define REG_DWORD_BIG_ENDIAN ( 5 ) // 32-bit number 521 #define REG_LINK ( 6 ) // Symbolic Link (unicode) 522 #define REG_MULTI_SZ ( 7 ) // Multiple Unicode strings 523 #define REG_RESOURCE_LIST ( 8 ) // Resource list in the resource map 524 #define REG_FULL_RESOURCE_DESCRIPTOR ( 9 ) // Resource list in the hardware description 525 #define REG_RESOURCE_REQUIREMENTS_LIST ( 10 ) 526 #define REG_QWORD ( 11 ) // 64-bit number 527 #define REG_QWORD_LITTLE_ENDIAN ( 11 ) // 64-bit number (same as REG_QWORD) 537 #define FILE_READ_DATA ( 0x0001 ) // file & pipe 538 #define FILE_LIST_DIRECTORY ( 0x0001 ) // directory 540 #define FILE_WRITE_DATA ( 0x0002 ) // file & pipe 541 #define FILE_ADD_FILE ( 0x0002 ) // directory 543 #define FILE_APPEND_DATA ( 0x0004 ) // file 544 #define FILE_ADD_SUBDIRECTORY ( 0x0004 ) // directory 545 #define FILE_CREATE_PIPE_INSTANCE ( 0x0004 ) // named pipe 548 #define FILE_READ_EA ( 0x0008 ) // file & directory 550 #define FILE_WRITE_EA ( 0x0010 ) // file & directory 552 #define FILE_EXECUTE ( 0x0020 ) // file 553 #define FILE_TRAVERSE ( 0x0020 ) // directory 555 #define FILE_DELETE_CHILD ( 0x0040 ) // directory 557 #define FILE_READ_ATTRIBUTES ( 0x0080 ) // all 559 #define FILE_WRITE_ATTRIBUTES ( 0x0100 ) // all 561 #define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF) 563 #define FILE_GENERIC_READ (STANDARD_RIGHTS_READ |\ 565 FILE_READ_ATTRIBUTES |\ 570 #define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE |\ 572 FILE_WRITE_ATTRIBUTES |\ 578 #define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE |\ 579 FILE_READ_ATTRIBUTES |\ 583 #define FILE_SHARE_READ 0x00000001 584 #define FILE_SHARE_WRITE 0x00000002 585 #define FILE_SHARE_DELETE 0x00000004 586 #define FILE_ATTRIBUTE_READONLY 0x00000001 587 #define FILE_ATTRIBUTE_HIDDEN 0x00000002 588 #define FILE_ATTRIBUTE_SYSTEM 0x00000004 589 #define FILE_ATTRIBUTE_DIRECTORY 0x00000010 590 #define FILE_ATTRIBUTE_ARCHIVE 0x00000020 591 #define FILE_ATTRIBUTE_DEVICE 0x00000040 592 #define FILE_ATTRIBUTE_NORMAL 0x00000080 593 #define FILE_ATTRIBUTE_TEMPORARY 0x00000100 594 #define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200 595 #define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400 596 #define FILE_ATTRIBUTE_COMPRESSED 0x00000800 597 #define FILE_ATTRIBUTE_OFFLINE 0x00001000 598 #define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000 599 #define FILE_ATTRIBUTE_ENCRYPTED 0x00004000 600 #define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001 601 #define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002 602 #define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004 603 #define FILE_NOTIFY_CHANGE_SIZE 0x00000008 604 #define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010 605 #define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020 606 #define FILE_NOTIFY_CHANGE_CREATION 0x00000040 607 #define FILE_NOTIFY_CHANGE_SECURITY 0x00000100 608 #define FILE_ACTION_ADDED 0x00000001 609 #define FILE_ACTION_REMOVED 0x00000002 610 #define FILE_ACTION_MODIFIED 0x00000003 611 #define FILE_ACTION_RENAMED_OLD_NAME 0x00000004 612 #define FILE_ACTION_RENAMED_NEW_NAME 0x00000005 613 #define MAILSLOT_NO_MESSAGE ((DWORD)-1) 614 #define MAILSLOT_WAIT_FOREVER ((DWORD)-1) 615 #define FILE_CASE_SENSITIVE_SEARCH 0x00000001 616 #define FILE_CASE_PRESERVED_NAMES 0x00000002 617 #define FILE_UNICODE_ON_DISK 0x00000004 618 #define FILE_PERSISTENT_ACLS 0x00000008 619 #define FILE_FILE_COMPRESSION 0x00000010 620 #define FILE_VOLUME_QUOTAS 0x00000020 621 #define FILE_SUPPORTS_SPARSE_FILES 0x00000040 622 #define FILE_SUPPORTS_REPARSE_POINTS 0x00000080 623 #define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100 624 #define FILE_VOLUME_IS_COMPRESSED 0x00008000 625 #define FILE_SUPPORTS_OBJECT_IDS 0x00010000 626 #define FILE_SUPPORTS_ENCRYPTION 0x00020000 627 #define FILE_NAMED_STREAMS 0x00040000 628 #define FILE_READ_ONLY_VOLUME 0x00080000 630 #define GENERIC_READ (0x80000000L) 631 #define GENERIC_WRITE (0x40000000L) 632 #define GENERIC_EXECUTE (0x20000000L) 633 #define GENERIC_ALL (0x10000000L) 636 #define ANYSIZE_ARRAY 1 637 typedef struct _ACL {
650 typedef struct _LUID {
655 typedef PVOID PACCESS_TOKEN;
656 typedef PVOID PSECURITY_DESCRIPTOR;
658 typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
659 #define SECURITY_DESCRIPTOR_MIN_LENGTH (sizeof(SECURITY_DESCRIPTOR)) 660 typedef struct _SECURITY_DESCRIPTOR {
663 SECURITY_DESCRIPTOR_CONTROL Control;
669 } SECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR;
680 #include <pshpack4.h> 682 typedef struct _LUID_AND_ATTRIBUTES {
685 } LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES;
686 typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
687 typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY;
721 #ifndef SID_IDENTIFIER_AUTHORITY_DEFINED 722 #define SID_IDENTIFIER_AUTHORITY_DEFINED 723 typedef struct _SID_IDENTIFIER_AUTHORITY {
725 } SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;
730 typedef struct _SID {
732 BYTE SubAuthorityCount;
733 SID_IDENTIFIER_AUTHORITY IdentifierAuthority;
735 [size_is(SubAuthorityCount)]
DWORD SubAuthority[*];
737 DWORD SubAuthority[ANYSIZE_ARRAY];
742 #define SID_REVISION (1) // Current revision level 743 #define SID_MAX_SUB_AUTHORITIES (15) 744 #define SID_RECOMMENDED_SUB_AUTHORITIES (1) // Will change to around 6 747 typedef enum _SID_NAME_USE {
752 SidTypeWellKnownGroup,
753 SidTypeDeletedAccount,
757 } SID_NAME_USE, *PSID_NAME_USE;
759 typedef struct _SID_AND_ATTRIBUTES {
762 } SID_AND_ATTRIBUTES, * PSID_AND_ATTRIBUTES;
764 typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY];
765 typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY;
779 #define TOKEN_ASSIGN_PRIMARY (0x0001) 780 #define TOKEN_DUPLICATE (0x0002) 781 #define TOKEN_IMPERSONATE (0x0004) 782 #define TOKEN_QUERY (0x0008) 783 #define TOKEN_QUERY_SOURCE (0x0010) 784 #define TOKEN_ADJUST_PRIVILEGES (0x0020) 785 #define TOKEN_ADJUST_GROUPS (0x0040) 786 #define TOKEN_ADJUST_DEFAULT (0x0080) 787 #define TOKEN_ADJUST_SESSIONID (0x0100) 789 #define TOKEN_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\ 790 TOKEN_ASSIGN_PRIMARY |\ 794 TOKEN_QUERY_SOURCE |\ 795 TOKEN_ADJUST_PRIVILEGES |\ 796 TOKEN_ADJUST_GROUPS |\ 797 TOKEN_ADJUST_SESSIONID |\ 798 TOKEN_ADJUST_DEFAULT) 801 #define TOKEN_READ (STANDARD_RIGHTS_READ |\ 805 #define TOKEN_WRITE (STANDARD_RIGHTS_WRITE |\ 806 TOKEN_ADJUST_PRIVILEGES |\ 807 TOKEN_ADJUST_GROUPS |\ 808 TOKEN_ADJUST_DEFAULT) 810 #define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE) 818 typedef enum _TOKEN_TYPE {
822 typedef TOKEN_TYPE *PTOKEN_TYPE;
830 typedef enum _TOKEN_INFORMATION_CLASS {
839 TokenImpersonationLevel,
843 } TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;
850 typedef struct _TOKEN_USER {
851 SID_AND_ATTRIBUTES User;
852 } TOKEN_USER, *PTOKEN_USER;
854 typedef struct _TOKEN_GROUPS {
856 SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];
857 } TOKEN_GROUPS, *PTOKEN_GROUPS;
860 typedef struct _TOKEN_PRIVILEGES {
861 DWORD PrivilegeCount;
862 LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];
863 } TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;
866 typedef struct _TOKEN_OWNER {
868 } TOKEN_OWNER, *PTOKEN_OWNER;
871 typedef struct _TOKEN_PRIMARY_GROUP {
873 } TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;
876 typedef struct _TOKEN_DEFAULT_DACL {
878 } TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;
881 typedef struct _MEMORY_BASIC_INFORMATION {
883 PVOID AllocationBase;
884 DWORD AllocationProtect;
889 } MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION;
891 #define PAGE_NOACCESS 0x01 892 #define PAGE_READONLY 0x02 893 #define PAGE_READWRITE 0x04 894 #define PAGE_WRITECOPY 0x08 895 #define PAGE_EXECUTE 0x10 896 #define PAGE_EXECUTE_READ 0x20 897 #define PAGE_EXECUTE_READWRITE 0x40 898 #define PAGE_EXECUTE_WRITECOPY 0x80 899 #define PAGE_GUARD 0x100 900 #define PAGE_NOCACHE 0x200 901 #define PAGE_WRITECOMBINE 0x400 902 #define MEM_COMMIT 0x1000 903 #define MEM_RESERVE 0x2000 904 #define MEM_DECOMMIT 0x4000 905 #define MEM_RELEASE 0x8000 906 #define MEM_FREE 0x10000 907 #define MEM_PRIVATE 0x20000 908 #define MEM_MAPPED 0x40000 909 #define MEM_RESET 0x80000 910 #define MEM_TOP_DOWN 0x100000 911 #define MEM_WRITE_WATCH 0x200000 912 #define MEM_PHYSICAL 0x400000 913 #define MEM_LARGE_PAGES 0x20000000 914 #define MEM_4MB_PAGES 0x80000000 915 #define SEC_FILE 0x800000 916 #define SEC_IMAGE 0x1000000 917 #define SEC_RESERVE 0x4000000 918 #define SEC_COMMIT 0x8000000 919 #define SEC_NOCACHE 0x10000000 920 #define SEC_LARGE_PAGES 0x80000000 921 #define MEM_IMAGE SEC_IMAGE 922 #define WRITE_WATCH_FLAG_RESET 0x01 929 #define DELETE (0x00010000L) 930 #define READ_CONTROL (0x00020000L) 931 #define WRITE_DAC (0x00040000L) 932 #define WRITE_OWNER (0x00080000L) 933 #define SYNCHRONIZE (0x00100000L) 935 #define STANDARD_RIGHTS_REQUIRED (0x000F0000L) 937 #define STANDARD_RIGHTS_READ (READ_CONTROL) 938 #define STANDARD_RIGHTS_WRITE (READ_CONTROL) 939 #define STANDARD_RIGHTS_EXECUTE (READ_CONTROL) 941 #define STANDARD_RIGHTS_ALL (0x001F0000L) 943 #define SPECIFIC_RIGHTS_ALL (0x0000FFFFL) 945 #define SECTION_QUERY 0x0001 946 #define SECTION_MAP_WRITE 0x0002 947 #define SECTION_MAP_READ 0x0004 948 #define SECTION_MAP_EXECUTE 0x0008 949 #define SECTION_EXTEND_SIZE 0x0010 950 #define SECTION_MAP_EXECUTE_EXPLICIT 0x0020 // not included in SECTION_ALL_ACCESS 952 #define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY|\ 953 SECTION_MAP_WRITE | \ 955 SECTION_MAP_EXECUTE | \ 959 #define SE_DEBUG_NAME L"SeDebugPrivilege" 965 #define SE_PRIVILEGE_ENABLED_BY_DEFAULT (0x00000001L) 966 #define SE_PRIVILEGE_ENABLED (0x00000002L) 967 #define SE_PRIVILEGE_REMOVED (0X00000004L) 968 #define SE_PRIVILEGE_USED_FOR_ACCESS (0x80000000L) 970 #if defined(_M_MRX000) && !(defined(MIDL_PASS) || defined(RC_INVOKED)) && defined(ENABLE_RESTRICTED) 971 #define RESTRICTED_POINTER __restrict 973 #define RESTRICTED_POINTER 976 typedef struct _LIST_ENTRY {
977 struct _LIST_ENTRY *Flink;
978 struct _LIST_ENTRY *Blink;
979 } LIST_ENTRY, *PLIST_ENTRY, *RESTRICTED_POINTER PRLIST_ENTRY;
981 typedef struct _RTL_CRITICAL_SECTION_DEBUG {
983 WORD CreatorBackTraceIndex;
984 struct _RTL_CRITICAL_SECTION *CriticalSection;
985 LIST_ENTRY ProcessLocksList;
987 DWORD ContentionCount;
989 } RTL_CRITICAL_SECTION_DEBUG, *PRTL_CRITICAL_SECTION_DEBUG, RTL_RESOURCE_DEBUG, *PRTL_RESOURCE_DEBUG;
991 typedef struct _RTL_CRITICAL_SECTION {
992 PRTL_CRITICAL_SECTION_DEBUG DebugInfo;
1000 LONG RecursionCount;
1003 ULONG_PTR SpinCount;
1004 } RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION;
1006 typedef RTL_CRITICAL_SECTION CRITICAL_SECTION;
1011 #endif // WIN32 && !_USE_MSI_COM 1016 #endif // PDCwinnt_h PVOID PSID
Definition: PDCwtypes.h:200
unsigned char BYTE
Definition: PDCwtypes.h:108
unsigned long SIZE_T
Definition: Msi_objidl.h:17
void * HANDLE
Definition: PDCwtypes.h:306
long LONG
Definition: PDCwtypes.h:119
void __RPC_FAR * PVOID
Definition: PDCwtypes.h:149
unsigned short WORD
Definition: PDCwtypes.h:109
unsigned long DWORD
Definition: PDCwtypes.h:121