From a107656402146593c25f23897fd900e12f16c31f Mon Sep 17 00:00:00 2001 From: Clement Rouault Date: Tue, 4 Apr 2017 09:55:35 +0200 Subject: [PATCH] Add SACL/DACL related struct to func/def/structs + some winerror + some crypto func + utility func --- ctypes_generation/definitions/windef.txt | 30 +- .../definitions/windef_error.txt | 498 +++++++++++++++++ ctypes_generation/definitions/winfunc.txt | 119 +++- ctypes_generation/definitions/winstruct.txt | 99 +++- .../definitions/wintrust_crypt_def.txt | 26 + .../definitions/wintrust_crypt_func.txt | 9 + ctypes_generation/dummy_wintypes.py | 2 +- ctypes_generation/generate.py | 3 + windows/generated_def/windef.py | 526 +++++++++++++++++- windows/generated_def/winfuncs.py | 74 ++- windows/generated_def/winstructs.py | 122 ++++ 11 files changed, 1501 insertions(+), 7 deletions(-) create mode 100644 ctypes_generation/definitions/windef_error.txt diff --git a/ctypes_generation/definitions/windef.txt b/ctypes_generation/definitions/windef.txt index df557dc..2932cc2 100644 --- a/ctypes_generation/definitions/windef.txt +++ b/ctypes_generation/definitions/windef.txt @@ -1005,4 +1005,32 @@ #define IMAGE_SCN_MEM_SHARED 0x10000000 #define IMAGE_SCN_MEM_EXECUTE 0x20000000 #define IMAGE_SCN_MEM_READ 0x40000000 -#define IMAGE_SCN_MEM_WRITE 0x80000000 \ No newline at end of file +#define IMAGE_SCN_MEM_WRITE 0x80000000 + + +#define ACCESS_MIN_MS_ACE_TYPE (0x0) +#define ACCESS_ALLOWED_ACE_TYPE (0x0) +#define ACCESS_DENIED_ACE_TYPE (0x1) +#define SYSTEM_AUDIT_ACE_TYPE (0x2) +#define SYSTEM_ALARM_ACE_TYPE (0x3) +#define ACCESS_MAX_MS_V2_ACE_TYPE (0x3) +#define ACCESS_ALLOWED_COMPOUND_ACE_TYPE (0x4) +#define ACCESS_MAX_MS_V3_ACE_TYPE (0x4) +#define ACCESS_MIN_MS_OBJECT_ACE_TYPE (0x5) +#define ACCESS_ALLOWED_OBJECT_ACE_TYPE (0x5) +#define ACCESS_DENIED_OBJECT_ACE_TYPE (0x6) +#define SYSTEM_AUDIT_OBJECT_ACE_TYPE (0x7) +#define SYSTEM_ALARM_OBJECT_ACE_TYPE (0x8) +#define ACCESS_MAX_MS_OBJECT_ACE_TYPE (0x8) +#define ACCESS_MAX_MS_V4_ACE_TYPE (0x8) +#define ACCESS_MAX_MS_ACE_TYPE (0x8) +#define ACCESS_ALLOWED_CALLBACK_ACE_TYPE (0x9) +#define ACCESS_DENIED_CALLBACK_ACE_TYPE (0xA) +#define ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE (0xB) +#define ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE (0xC) +#define SYSTEM_AUDIT_CALLBACK_ACE_TYPE (0xD) +#define SYSTEM_ALARM_CALLBACK_ACE_TYPE (0xE) +#define SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE (0xF) +#define SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE (0x10) +#define SYSTEM_MANDATORY_LABEL_ACE_TYPE (0x11) +#define ACCESS_MAX_MS_V5_ACE_TYPE (0x11) diff --git a/ctypes_generation/definitions/windef_error.txt b/ctypes_generation/definitions/windef_error.txt new file mode 100644 index 0000000..ae67ccd --- /dev/null +++ b/ctypes_generation/definitions/windef_error.txt @@ -0,0 +1,498 @@ +#define ERROR_SUCCESS 0L +#define ERROR_INVALID_FUNCTION 1L +#define ERROR_FILE_NOT_FOUND 2L +#define ERROR_PATH_NOT_FOUND 3L +#define ERROR_TOO_MANY_OPEN_FILES 4L +#define ERROR_ACCESS_DENIED 5L +#define ERROR_INVALID_HANDLE 6L +#define ERROR_ARENA_TRASHED 7L +#define ERROR_NOT_ENOUGH_MEMORY 8L +#define ERROR_INVALID_BLOCK 9L +#define ERROR_BAD_ENVIRONMENT 10L +#define ERROR_BAD_FORMAT 11L +#define ERROR_INVALID_ACCESS 12L +#define ERROR_INVALID_DATA 13L +#define ERROR_OUTOFMEMORY 14L +#define ERROR_INVALID_DRIVE 15L +#define ERROR_CURRENT_DIRECTORY 16L +#define ERROR_NOT_SAME_DEVICE 17L +#define ERROR_NO_MORE_FILES 18L +#define ERROR_WRITE_PROTECT 19L +#define ERROR_BAD_UNIT 20L +#define ERROR_NOT_READY 21L +#define ERROR_BAD_COMMAND 22L +#define ERROR_CRC 23L +#define ERROR_BAD_LENGTH 24L +#define ERROR_SEEK 25L +#define ERROR_NOT_DOS_DISK 26L +#define ERROR_SECTOR_NOT_FOUND 27L +#define ERROR_OUT_OF_PAPER 28L +#define ERROR_WRITE_FAULT 29L +#define ERROR_READ_FAULT 30L +#define ERROR_GEN_FAILURE 31L +#define ERROR_SHARING_VIOLATION 32L +#define ERROR_LOCK_VIOLATION 33L +#define ERROR_WRONG_DISK 34L +#define ERROR_SHARING_BUFFER_EXCEEDED 36L +#define ERROR_HANDLE_EOF 38L +#define ERROR_HANDLE_DISK_FULL 39L +#define ERROR_NOT_SUPPORTED 50L +#define ERROR_REM_NOT_LIST 51L +#define ERROR_DUP_NAME 52L +#define ERROR_BAD_NETPATH 53L +#define ERROR_NETWORK_BUSY 54L +#define ERROR_DEV_NOT_EXIST 55L +#define ERROR_TOO_MANY_CMDS 56L +#define ERROR_ADAP_HDW_ERR 57L +#define ERROR_BAD_NET_RESP 58L +#define ERROR_UNEXP_NET_ERR 59L +#define ERROR_BAD_REM_ADAP 60L +#define ERROR_PRINTQ_FULL 61L +#define ERROR_NO_SPOOL_SPACE 62L +#define ERROR_PRINT_CANCELLED 63L +#define ERROR_NETNAME_DELETED 64L +#define ERROR_NETWORK_ACCESS_DENIED 65L +#define ERROR_BAD_DEV_TYPE 66L +#define ERROR_BAD_NET_NAME 67L +#define ERROR_TOO_MANY_NAMES 68L +#define ERROR_TOO_MANY_SESS 69L +#define ERROR_SHARING_PAUSED 70L +#define ERROR_REQ_NOT_ACCEP 71L +#define ERROR_REDIR_PAUSED 72L +#define ERROR_FILE_EXISTS 80L +#define ERROR_CANNOT_MAKE 82L +#define ERROR_FAIL_I24 83L +#define ERROR_OUT_OF_STRUCTURES 84L +#define ERROR_ALREADY_ASSIGNED 85L +#define ERROR_INVALID_PASSWORD 86L +#define ERROR_INVALID_PARAMETER 87L +#define ERROR_NET_WRITE_FAULT 88L +#define ERROR_NO_PROC_SLOTS 89L +#define ERROR_TOO_MANY_SEMAPHORES 100L +#define ERROR_EXCL_SEM_ALREADY_OWNED 101L +#define ERROR_SEM_IS_SET 102L +#define ERROR_TOO_MANY_SEM_REQUESTS 103L +#define ERROR_INVALID_AT_INTERRUPT_TIME 104L +#define ERROR_SEM_OWNER_DIED 105L +#define ERROR_SEM_USER_LIMIT 106L +#define ERROR_DISK_CHANGE 107L +#define ERROR_DRIVE_LOCKED 108L +#define ERROR_BROKEN_PIPE 109L +#define ERROR_OPEN_FAILED 110L +#define ERROR_BUFFER_OVERFLOW 111L +#define ERROR_DISK_FULL 112L +#define ERROR_NO_MORE_SEARCH_HANDLES 113L +#define ERROR_INVALID_TARGET_HANDLE 114L +#define ERROR_INVALID_CATEGORY 117L +#define ERROR_INVALID_VERIFY_SWITCH 118L +#define ERROR_BAD_DRIVER_LEVEL 119L +#define ERROR_CALL_NOT_IMPLEMENTED 120L +#define ERROR_SEM_TIMEOUT 121L +#define ERROR_INSUFFICIENT_BUFFER 122L +#define ERROR_INVALID_NAME 123L +#define ERROR_INVALID_LEVEL 124L +#define ERROR_NO_VOLUME_LABEL 125L +#define ERROR_MOD_NOT_FOUND 126L +#define ERROR_PROC_NOT_FOUND 127L +#define ERROR_WAIT_NO_CHILDREN 128L +#define ERROR_CHILD_NOT_COMPLETE 129L +#define ERROR_DIRECT_ACCESS_HANDLE 130L +#define ERROR_NEGATIVE_SEEK 131L +#define ERROR_SEEK_ON_DEVICE 132L +#define ERROR_IS_JOIN_TARGET 133L +#define ERROR_IS_JOINED 134L +#define ERROR_IS_SUBSTED 135L +#define ERROR_NOT_JOINED 136L +#define ERROR_NOT_SUBSTED 137L +#define ERROR_JOIN_TO_JOIN 138L +#define ERROR_SUBST_TO_SUBST 139L +#define ERROR_JOIN_TO_SUBST 140L +#define ERROR_SUBST_TO_JOIN 141L +#define ERROR_BUSY_DRIVE 142L +#define ERROR_SAME_DRIVE 143L +#define ERROR_DIR_NOT_ROOT 144L +#define ERROR_DIR_NOT_EMPTY 145L +#define ERROR_IS_SUBST_PATH 146L +#define ERROR_IS_JOIN_PATH 147L +#define ERROR_PATH_BUSY 148L +#define ERROR_IS_SUBST_TARGET 149L +#define ERROR_SYSTEM_TRACE 150L +#define ERROR_INVALID_EVENT_COUNT 151L +#define ERROR_TOO_MANY_MUXWAITERS 152L +#define ERROR_INVALID_LIST_FORMAT 153L +#define ERROR_LABEL_TOO_LONG 154L +#define ERROR_TOO_MANY_TCBS 155L +#define ERROR_SIGNAL_REFUSED 156L +#define ERROR_DISCARDED 157L +#define ERROR_NOT_LOCKED 158L +#define ERROR_BAD_THREADID_ADDR 159L +#define ERROR_BAD_ARGUMENTS 160L +#define ERROR_BAD_PATHNAME 161L +#define ERROR_SIGNAL_PENDING 162L +#define ERROR_MAX_THRDS_REACHED 164L +#define ERROR_LOCK_FAILED 167L +#define ERROR_BUSY 170L +#define ERROR_CANCEL_VIOLATION 173L +#define ERROR_ATOMIC_LOCKS_NOT_SUPPORTED 174L +#define ERROR_INVALID_SEGMENT_NUMBER 180L +#define ERROR_INVALID_ORDINAL 182L +#define ERROR_ALREADY_EXISTS 183L +#define ERROR_INVALID_FLAG_NUMBER 186L +#define ERROR_SEM_NOT_FOUND 187L +#define ERROR_INVALID_STARTING_CODESEG 188L +#define ERROR_INVALID_STACKSEG 189L +#define ERROR_INVALID_MODULETYPE 190L +#define ERROR_INVALID_EXE_SIGNATURE 191L +#define ERROR_EXE_MARKED_INVALID 192L +#define ERROR_BAD_EXE_FORMAT 193L +#define ERROR_ITERATED_DATA_EXCEEDS_64k 194L +#define ERROR_INVALID_MINALLOCSIZE 195L +#define ERROR_DYNLINK_FROM_INVALID_RING 196L +#define ERROR_IOPL_NOT_ENABLED 197L +#define ERROR_INVALID_SEGDPL 198L +#define ERROR_AUTODATASEG_EXCEEDS_64k 199L +#define ERROR_RING2SEG_MUST_BE_MOVABLE 200L +#define ERROR_RELOC_CHAIN_XEEDS_SEGLIM 201L +#define ERROR_INFLOOP_IN_RELOC_CHAIN 202L +#define ERROR_ENVVAR_NOT_FOUND 203L +#define ERROR_NO_SIGNAL_SENT 205L +#define ERROR_FILENAME_EXCED_RANGE 206L +#define ERROR_RING2_STACK_IN_USE 207L +#define ERROR_META_EXPANSION_TOO_LONG 208L +#define ERROR_INVALID_SIGNAL_NUMBER 209L +#define ERROR_THREAD_1_INACTIVE 210L +#define ERROR_LOCKED 212L +#define ERROR_TOO_MANY_MODULES 214L +#define ERROR_NESTING_NOT_ALLOWED 215L +#define ERROR_EXE_MACHINE_TYPE_MISMATCH 216L +#define ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY 217L +#define ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY 218L +#define ERROR_FILE_CHECKED_OUT 220L +#define ERROR_CHECKOUT_REQUIRED 221L +#define ERROR_BAD_FILE_TYPE 222L +#define ERROR_FILE_TOO_LARGE 223L +#define ERROR_FORMS_AUTH_REQUIRED 224L +#define ERROR_VIRUS_INFECTED 225L +#define ERROR_VIRUS_DELETED 226L +#define ERROR_PIPE_LOCAL 229L +#define ERROR_BAD_PIPE 230L +#define ERROR_PIPE_BUSY 231L +#define ERROR_NO_DATA 232L +#define ERROR_PIPE_NOT_CONNECTED 233L +#define ERROR_MORE_DATA 234L +#define ERROR_VC_DISCONNECTED 240L +#define ERROR_INVALID_EA_NAME 254L +#define ERROR_EA_LIST_INCONSISTENT 255L +#define ERROR_NO_MORE_ITEMS 259L +#define ERROR_CANNOT_COPY 266L +#define ERROR_DIRECTORY 267L +#define ERROR_EAS_DIDNT_FIT 275L +#define ERROR_EA_FILE_CORRUPT 276L +#define ERROR_EA_TABLE_FULL 277L +#define ERROR_INVALID_EA_HANDLE 278L +#define ERROR_EAS_NOT_SUPPORTED 282L +#define ERROR_NOT_OWNER 288L +#define ERROR_TOO_MANY_POSTS 298L +#define ERROR_PARTIAL_COPY 299L +#define ERROR_OPLOCK_NOT_GRANTED 300L +#define ERROR_INVALID_OPLOCK_PROTOCOL 301L +#define ERROR_DISK_TOO_FRAGMENTED 302L +#define ERROR_DELETE_PENDING 303L +#define ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING 304L +#define ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME 305L +#define ERROR_SECURITY_STREAM_IS_INCONSISTENT 306L +#define ERROR_INVALID_LOCK_RANGE 307L +#define ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT 308L +#define ERROR_NOTIFICATION_GUID_ALREADY_DEFINED 309L +#define ERROR_MR_MID_NOT_FOUND 317L +#define ERROR_SCOPE_NOT_FOUND 318L +#define ERROR_FAIL_NOACTION_REBOOT 350L +#define ERROR_FAIL_SHUTDOWN 351L +#define ERROR_FAIL_RESTART 352L +#define ERROR_MAX_SESSIONS_REACHED 353L +#define ERROR_THREAD_MODE_ALREADY_BACKGROUND 400L +#define ERROR_THREAD_MODE_NOT_BACKGROUND 401L +#define ERROR_PROCESS_MODE_ALREADY_BACKGROUND 402L +#define ERROR_PROCESS_MODE_NOT_BACKGROUND 403L +#define ERROR_INVALID_ADDRESS 487L +#define ERROR_USER_PROFILE_LOAD 500L +#define ERROR_ARITHMETIC_OVERFLOW 534L +#define ERROR_PIPE_CONNECTED 535L +#define ERROR_PIPE_LISTENING 536L +#define ERROR_VERIFIER_STOP 537L +#define ERROR_ABIOS_ERROR 538L +#define ERROR_WX86_WARNING 539L +#define ERROR_WX86_ERROR 540L +#define ERROR_TIMER_NOT_CANCELED 541L +#define ERROR_UNWIND 542L +#define ERROR_BAD_STACK 543L +#define ERROR_INVALID_UNWIND_TARGET 544L +#define ERROR_INVALID_PORT_ATTRIBUTES 545L +#define ERROR_PORT_MESSAGE_TOO_LONG 546L +#define ERROR_INVALID_QUOTA_LOWER 547L +#define ERROR_DEVICE_ALREADY_ATTACHED 548L +#define ERROR_INSTRUCTION_MISALIGNMENT 549L +#define ERROR_PROFILING_NOT_STARTED 550L +#define ERROR_PROFILING_NOT_STOPPED 551L +#define ERROR_COULD_NOT_INTERPRET 552L +#define ERROR_PROFILING_AT_LIMIT 553L +#define ERROR_CANT_WAIT 554L +#define ERROR_CANT_TERMINATE_SELF 555L +#define ERROR_UNEXPECTED_MM_CREATE_ERR 556L +#define ERROR_UNEXPECTED_MM_MAP_ERROR 557L +#define ERROR_UNEXPECTED_MM_EXTEND_ERR 558L +#define ERROR_BAD_FUNCTION_TABLE 559L +#define ERROR_NO_GUID_TRANSLATION 560L +#define ERROR_INVALID_LDT_SIZE 561L +#define ERROR_INVALID_LDT_OFFSET 563L +#define ERROR_INVALID_LDT_DESCRIPTOR 564L +#define ERROR_TOO_MANY_THREADS 565L +#define ERROR_THREAD_NOT_IN_PROCESS 566L +#define ERROR_PAGEFILE_QUOTA_EXCEEDED 567L +#define ERROR_LOGON_SERVER_CONFLICT 568L +#define ERROR_SYNCHRONIZATION_REQUIRED 569L +#define ERROR_NET_OPEN_FAILED 570L +#define ERROR_IO_PRIVILEGE_FAILED 571L +#define ERROR_CONTROL_C_EXIT 572L +#define ERROR_MISSING_SYSTEMFILE 573L +#define ERROR_UNHANDLED_EXCEPTION 574L +#define ERROR_APP_INIT_FAILURE 575L +#define ERROR_PAGEFILE_CREATE_FAILED 576L +#define ERROR_INVALID_IMAGE_HASH 577L +#define ERROR_NO_PAGEFILE 578L +#define ERROR_ILLEGAL_FLOAT_CONTEXT 579L +#define ERROR_NO_EVENT_PAIR 580L +#define ERROR_DOMAIN_CTRLR_CONFIG_ERROR 581L +#define ERROR_ILLEGAL_CHARACTER 582L +#define ERROR_UNDEFINED_CHARACTER 583L +#define ERROR_FLOPPY_VOLUME 584L +#define ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT 585L +#define ERROR_BACKUP_CONTROLLER 586L +#define ERROR_MUTANT_LIMIT_EXCEEDED 587L +#define ERROR_FS_DRIVER_REQUIRED 588L +#define ERROR_CANNOT_LOAD_REGISTRY_FILE 589L +#define ERROR_DEBUG_ATTACH_FAILED 590L +#define ERROR_SYSTEM_PROCESS_TERMINATED 591L +#define ERROR_DATA_NOT_ACCEPTED 592L +#define ERROR_VDM_HARD_ERROR 593L +#define ERROR_DRIVER_CANCEL_TIMEOUT 594L +#define ERROR_REPLY_MESSAGE_MISMATCH 595L +#define ERROR_LOST_WRITEBEHIND_DATA 596L +#define ERROR_CLIENT_SERVER_PARAMETERS_INVALID 597L +#define ERROR_NOT_TINY_STREAM 598L +#define ERROR_STACK_OVERFLOW_READ 599L +#define ERROR_CONVERT_TO_LARGE 600L +#define ERROR_FOUND_OUT_OF_SCOPE 601L +#define ERROR_ALLOCATE_BUCKET 602L +#define ERROR_MARSHALL_OVERFLOW 603L +#define ERROR_INVALID_VARIANT 604L +#define ERROR_BAD_COMPRESSION_BUFFER 605L +#define ERROR_AUDIT_FAILED 606L +#define ERROR_TIMER_RESOLUTION_NOT_SET 607L +#define ERROR_INSUFFICIENT_LOGON_INFO 608L +#define ERROR_BAD_DLL_ENTRYPOINT 609L +#define ERROR_BAD_SERVICE_ENTRYPOINT 610L +#define ERROR_IP_ADDRESS_CONFLICT1 611L +#define ERROR_IP_ADDRESS_CONFLICT2 612L +#define ERROR_REGISTRY_QUOTA_LIMIT 613L +#define ERROR_NO_CALLBACK_ACTIVE 614L +#define ERROR_PWD_TOO_SHORT 615L +#define ERROR_PWD_TOO_RECENT 616L +#define ERROR_PWD_HISTORY_CONFLICT 617L +#define ERROR_UNSUPPORTED_COMPRESSION 618L +#define ERROR_INVALID_HW_PROFILE 619L +#define ERROR_INVALID_PLUGPLAY_DEVICE_PATH 620L +#define ERROR_QUOTA_LIST_INCONSISTENT 621L +#define ERROR_EVALUATION_EXPIRATION 622L +#define ERROR_ILLEGAL_DLL_RELOCATION 623L +#define ERROR_DLL_INIT_FAILED_LOGOFF 624L +#define ERROR_VALIDATE_CONTINUE 625L +#define ERROR_NO_MORE_MATCHES 626L +#define ERROR_RANGE_LIST_CONFLICT 627L +#define ERROR_SERVER_SID_MISMATCH 628L +#define ERROR_CANT_ENABLE_DENY_ONLY 629L +#define ERROR_FLOAT_MULTIPLE_FAULTS 630L +#define ERROR_FLOAT_MULTIPLE_TRAPS 631L +#define ERROR_NOINTERFACE 632L +#define ERROR_DRIVER_FAILED_SLEEP 633L +#define ERROR_CORRUPT_SYSTEM_FILE 634L +#define ERROR_COMMITMENT_MINIMUM 635L +#define ERROR_PNP_RESTART_ENUMERATION 636L +#define ERROR_SYSTEM_IMAGE_BAD_SIGNATURE 637L +#define ERROR_PNP_REBOOT_REQUIRED 638L +#define ERROR_INSUFFICIENT_POWER 639L +#define ERROR_MULTIPLE_FAULT_VIOLATION 640L +#define ERROR_SYSTEM_SHUTDOWN 641L +#define ERROR_PORT_NOT_SET 642L +#define ERROR_DS_VERSION_CHECK_FAILURE 643L +#define ERROR_RANGE_NOT_FOUND 644L +#define ERROR_NOT_SAFE_MODE_DRIVER 646L +#define ERROR_FAILED_DRIVER_ENTRY 647L +#define ERROR_DEVICE_ENUMERATION_ERROR 648L +#define ERROR_MOUNT_POINT_NOT_RESOLVED 649L +#define ERROR_INVALID_DEVICE_OBJECT_PARAMETER 650L +#define ERROR_MCA_OCCURED 651L +#define ERROR_DRIVER_DATABASE_ERROR 652L +#define ERROR_SYSTEM_HIVE_TOO_LARGE 653L +#define ERROR_DRIVER_FAILED_PRIOR_UNLOAD 654L +#define ERROR_VOLSNAP_PREPARE_HIBERNATE 655L +#define ERROR_HIBERNATION_FAILURE 656L +#define ERROR_FILE_SYSTEM_LIMITATION 665L +#define ERROR_ASSERTION_FAILURE 668L +#define ERROR_ACPI_ERROR 669L +#define ERROR_WOW_ASSERTION 670L +#define ERROR_PNP_BAD_MPS_TABLE 671L +#define ERROR_PNP_TRANSLATION_FAILED 672L +#define ERROR_PNP_IRQ_TRANSLATION_FAILED 673L +#define ERROR_PNP_INVALID_ID 674L +#define ERROR_WAKE_SYSTEM_DEBUGGER 675L +#define ERROR_HANDLES_CLOSED 676L +#define ERROR_EXTRANEOUS_INFORMATION 677L +#define ERROR_RXACT_COMMIT_NECESSARY 678L +#define ERROR_MEDIA_CHECK 679L +#define ERROR_GUID_SUBSTITUTION_MADE 680L +#define ERROR_STOPPED_ON_SYMLINK 681L +#define ERROR_LONGJUMP 682L +#define ERROR_PLUGPLAY_QUERY_VETOED 683L +#define ERROR_UNWIND_CONSOLIDATE 684L +#define ERROR_REGISTRY_HIVE_RECOVERED 685L +#define ERROR_DLL_MIGHT_BE_INSECURE 686L +#define ERROR_DLL_MIGHT_BE_INCOMPATIBLE 687L +#define ERROR_DBG_EXCEPTION_NOT_HANDLED 688L +#define ERROR_DBG_REPLY_LATER 689L +#define ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE 690L +#define ERROR_DBG_TERMINATE_THREAD 691L +#define ERROR_DBG_TERMINATE_PROCESS 692L +#define ERROR_DBG_CONTROL_C 693L +#define ERROR_DBG_PRINTEXCEPTION_C 694L +#define ERROR_DBG_RIPEXCEPTION 695L +#define ERROR_DBG_CONTROL_BREAK 696L +#define ERROR_DBG_COMMAND_EXCEPTION 697L +#define ERROR_OBJECT_NAME_EXISTS 698L +#define ERROR_THREAD_WAS_SUSPENDED 699L +#define ERROR_IMAGE_NOT_AT_BASE 700L +#define ERROR_RXACT_STATE_CREATED 701L +#define ERROR_SEGMENT_NOTIFICATION 702L +#define ERROR_BAD_CURRENT_DIRECTORY 703L +#define ERROR_FT_READ_RECOVERY_FROM_BACKUP 704L +#define ERROR_FT_WRITE_RECOVERY 705L +#define ERROR_IMAGE_MACHINE_TYPE_MISMATCH 706L +#define ERROR_RECEIVE_PARTIAL 707L +#define ERROR_RECEIVE_EXPEDITED 708L +#define ERROR_RECEIVE_PARTIAL_EXPEDITED 709L +#define ERROR_EVENT_DONE 710L +#define ERROR_EVENT_PENDING 711L +#define ERROR_CHECKING_FILE_SYSTEM 712L +#define ERROR_FATAL_APP_EXIT 713L +#define ERROR_PREDEFINED_HANDLE 714L +#define ERROR_WAS_UNLOCKED 715L +#define ERROR_SERVICE_NOTIFICATION 716L +#define ERROR_WAS_LOCKED 717L +#define ERROR_LOG_HARD_ERROR 718L +#define ERROR_ALREADY_WIN32 719L +#define ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE 720L +#define ERROR_NO_YIELD_PERFORMED 721L +#define ERROR_TIMER_RESUME_IGNORED 722L +#define ERROR_ARBITRATION_UNHANDLED 723L +#define ERROR_CARDBUS_NOT_SUPPORTED 724L +#define ERROR_MP_PROCESSOR_MISMATCH 725L +#define ERROR_HIBERNATED 726L +#define ERROR_RESUME_HIBERNATION 727L +#define ERROR_FIRMWARE_UPDATED 728L +#define ERROR_DRIVERS_LEAKING_LOCKED_PAGES 729L +#define ERROR_WAKE_SYSTEM 730L +#define ERROR_WAIT_1 731L +#define ERROR_WAIT_2 732L +#define ERROR_WAIT_3 733L +#define ERROR_WAIT_63 734L +#define ERROR_ABANDONED_WAIT_0 735L +#define ERROR_ABANDONED_WAIT_63 736L +#define ERROR_USER_APC 737L +#define ERROR_KERNEL_APC 738L +#define ERROR_ALERTED 739L +#define ERROR_ELEVATION_REQUIRED 740L +#define ERROR_REPARSE 741L +#define ERROR_OPLOCK_BREAK_IN_PROGRESS 742L +#define ERROR_VOLUME_MOUNTED 743L +#define ERROR_RXACT_COMMITTED 744L +#define ERROR_NOTIFY_CLEANUP 745L +#define ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED 746L +#define ERROR_PAGE_FAULT_TRANSITION 747L +#define ERROR_PAGE_FAULT_DEMAND_ZERO 748L +#define ERROR_PAGE_FAULT_COPY_ON_WRITE 749L +#define ERROR_PAGE_FAULT_GUARD_PAGE 750L +#define ERROR_PAGE_FAULT_PAGING_FILE 751L +#define ERROR_CACHE_PAGE_LOCKED 752L +#define ERROR_CRASH_DUMP 753L +#define ERROR_BUFFER_ALL_ZEROS 754L +#define ERROR_REPARSE_OBJECT 755L +#define ERROR_RESOURCE_REQUIREMENTS_CHANGED 756L +#define ERROR_TRANSLATION_COMPLETE 757L +#define ERROR_NOTHING_TO_TERMINATE 758L +#define ERROR_PROCESS_NOT_IN_JOB 759L +#define ERROR_PROCESS_IN_JOB 760L +#define ERROR_VOLSNAP_HIBERNATE_READY 761L +#define ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY 762L +#define ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED 763L +#define ERROR_INTERRUPT_STILL_CONNECTED 764L +#define ERROR_WAIT_FOR_OPLOCK 765L +#define ERROR_DBG_EXCEPTION_HANDLED 766L +#define ERROR_DBG_CONTINUE 767L +#define ERROR_CALLBACK_POP_STACK 768L +#define ERROR_COMPRESSION_DISABLED 769L +#define ERROR_CANTFETCHBACKWARDS 770L +#define ERROR_CANTSCROLLBACKWARDS 771L +#define ERROR_ROWSNOTRELEASED 772L +#define ERROR_BAD_ACCESSOR_FLAGS 773L +#define ERROR_ERRORS_ENCOUNTERED 774L +#define ERROR_NOT_CAPABLE 775L +#define ERROR_REQUEST_OUT_OF_SEQUENCE 776L +#define ERROR_VERSION_PARSE_ERROR 777L +#define ERROR_BADSTARTPOSITION 778L +#define ERROR_MEMORY_HARDWARE 779L +#define ERROR_DISK_REPAIR_DISABLED 780L +#define ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE 781L +#define ERROR_SYSTEM_POWERSTATE_TRANSITION 782L +#define ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION 783L +#define ERROR_MCA_EXCEPTION 784L +#define ERROR_ACCESS_AUDIT_BY_POLICY 785L +#define ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY 786L +#define ERROR_ABANDON_HIBERFILE 787L +#define ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED 788L +#define ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR 789L +#define ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR 790L +#define ERROR_BAD_MCFG_TABLE 791L +#define ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE 800L +#define ERROR_CANNOT_GRANT_REQUESTED_OPLOCK 801L +#define ERROR_CANNOT_BREAK_OPLOCK 802L +#define ERROR_OPLOCK_HANDLE_CLOSED 803L +#define ERROR_NO_ACE_CONDITION 804L +#define ERROR_INVALID_ACE_CONDITION 805L +#define ERROR_EA_ACCESS_DENIED 994L +#define ERROR_OPERATION_ABORTED 995L +#define ERROR_IO_INCOMPLETE 996L +#define ERROR_IO_PENDING 997L +#define ERROR_NOACCESS 998L +#define ERROR_SWAPERROR 999L +#define ERROR_STACK_OVERFLOW 1001L +#define ERROR_INVALID_MESSAGE 1002L +#define ERROR_CAN_NOT_COMPLETE 1003L +#define ERROR_INVALID_FLAGS 1004L +#define ERROR_UNRECOGNIZED_VOLUME 1005L +#define ERROR_FILE_INVALID 1006L +#define ERROR_FULLSCREEN_MODE 1007L +#define ERROR_NO_TOKEN 1008L +#define ERROR_BADDB 1009L +#define ERROR_BADKEY 1010L +#define ERROR_CANTOPEN 1011L +#define ERROR_CANTREAD 1012L +#define ERROR_CANTWRITE 1013L +#define ERROR_REGISTRY_RECOVERED 1014L +#define ERROR_REGISTRY_CORRUPT 1015L +#define ERROR_REGISTRY_IO_FAILED 1016L +#define ERROR_NOT_REGISTRY_FILE 1017L +#define ERROR_KEY_DELETED 1018L +#define ERROR_NO_LOG_SPACE 1019L +#define ERROR_KEY_HAS_CHILDREN 1020L +#define ERROR_CHILD_MUST_BE_VOLATILE 1021L +#define ERROR_NOTIFY_ENUM_DIR 1022L \ No newline at end of file diff --git a/ctypes_generation/definitions/winfunc.txt b/ctypes_generation/definitions/winfunc.txt index 52fb1b2..13d4497 100644 --- a/ctypes_generation/definitions/winfunc.txt +++ b/ctypes_generation/definitions/winfunc.txt @@ -377,6 +377,13 @@ BOOL WINAPI OpenProcessToken( _Out_ PHANDLE TokenHandle ); +BOOL WINAPI OpenThreadToken( + _In_ HANDLE ThreadHandle, + _In_ DWORD DesiredAccess, + _In_ BOOL OpenAsSelf, + _Out_ PHANDLE TokenHandle +); + BOOL WINAPI LookupPrivilegeValueA( __in_opt LPCSTR lpSystemName, __in LPCSTR lpName, @@ -767,7 +774,7 @@ PDWORD WINAPI GetSidSubAuthority ( __in DWORD nSubAuthority ); -PUCHAR WINAPI GetSidSubAuthorityCount ( +LPBYTE WINAPI GetSidSubAuthorityCount ( __in PSID pSid ); @@ -841,6 +848,14 @@ NTSTATUS RtlAnsiStringToUnicodeString ( BOOLEAN AllocateDestinationString ); +NTSTATUS RtlDecompressBuffer( + USHORT CompressionFormat, + PUCHAR UncompressedBuffer, + ULONG UncompressedBufferSize, + PUCHAR CompressedBuffer, + ULONG CompressedBufferSize, + PULONG FinalUncompressedSize +); HANDLE WINAPI OpenEventA( __in DWORD dwDesiredAccess, @@ -1388,3 +1403,105 @@ BOOL WINAPI GetWindowRect( _In_ HWND hWnd, _Out_ LPRECT lpRect ); + +DWORD WINAPI GetNamedSecurityInfoA( + _In_ LPCSTR pObjectName, + _In_ SE_OBJECT_TYPE ObjectType, + _In_ SECURITY_INFORMATION SecurityInfo, + _Out_opt_ PSID *ppsidOwner, + _Out_opt_ PSID *ppsidGroup, + _Out_opt_ PACL *ppDacl, + _Out_opt_ PACL *ppSacl, + _Out_opt_ PSECURITY_DESCRIPTOR *ppSecurityDescriptor +); + + +DWORD WINAPI GetNamedSecurityInfoW( + _In_ LPWSTR pObjectName, + _In_ SE_OBJECT_TYPE ObjectType, + _In_ SECURITY_INFORMATION SecurityInfo, + _Out_opt_ PSID *ppsidOwner, + _Out_opt_ PSID *ppsidGroup, + _Out_opt_ PACL *ppDacl, + _Out_opt_ PACL *ppSacl, + _Out_opt_ PSECURITY_DESCRIPTOR *ppSecurityDescriptor +); + + +DWORD WINAPI GetSecurityInfo( + _In_ HANDLE handle, + _In_ SE_OBJECT_TYPE ObjectType, + _In_ SECURITY_INFORMATION SecurityInfo, + _Out_opt_ PSID *ppsidOwner, + _Out_opt_ PSID *ppsidGroup, + _Out_opt_ PACL *ppDacl, + _Out_opt_ PACL *ppSacl, + _Out_opt_ PSECURITY_DESCRIPTOR *ppSecurityDescriptor +); + + +BOOL WINAPI ConvertStringSidToSidA( + _In_ LPCSTR StringSid, + _Out_ PSID *Sid +); + + +BOOL WINAPI ConvertStringSidToSidW( + _In_ LPWSTR StringSid, + _Out_ PSID *Sid +); + + +BOOL WINAPI ConvertSidToStringSidA( + _In_ PSID Sid, + _Out_ LPCSTR *StringSid +); + +BOOL WINAPI ConvertSidToStringSidW( + _In_ PSID Sid, + _Out_ LPWSTR *StringSid +); + +HLOCAL WINAPI LocalFree( + _In_ HLOCAL hMem +); + +LONG WINAPI RegQueryValueExA( + _In_ HKEY hKey, + _In_opt_ LPCSTR lpValueName, + _Reserved_ LPDWORD lpReserved, + _Out_opt_ LPDWORD lpType, + _Out_opt_ LPBYTE lpData, + _Inout_opt_ LPDWORD lpcbData +); + + +LONG WINAPI RegQueryValueExW( + _In_ HKEY hKey, + _In_opt_ LPWSTR lpValueName, + _Reserved_ LPDWORD lpReserved, + _Out_opt_ LPDWORD lpType, + _Out_opt_ LPBYTE lpData, + _Inout_opt_ LPDWORD lpcbData +); + + + +HINSTANCE WINAPI ShellExecuteA( + _In_opt_ HWND hwnd, + _In_opt_ LPCSTR lpOperation, + _In_ LPCSTR lpFile, + _In_opt_ LPCSTR lpParameters, + _In_opt_ LPCSTR lpDirectory, + _In_ INT nShowCmd +); + + +HINSTANCE WINAPI ShellExecuteW( + _In_opt_ HWND hwnd, + _In_opt_ LPWSTR lpOperation, + _In_ LPWSTR lpFile, + _In_opt_ LPWSTR lpParameters, + _In_opt_ LPWSTR lpDirectory, + _In_ INT nShowCmd +); \ No newline at end of file diff --git a/ctypes_generation/definitions/winstruct.txt b/ctypes_generation/definitions/winstruct.txt index 9ff5c88..a74b705 100644 --- a/ctypes_generation/definitions/winstruct.txt +++ b/ctypes_generation/definitions/winstruct.txt @@ -634,6 +634,23 @@ typedef enum tagCLSCTX { CLSCTX_PS_DLL = 0x80000000 } CLSCTX; + +typedef enum _SE_OBJECT_TYPE { + SE_UNKNOWN_OBJECT_TYPE = 0, + SE_FILE_OBJECT = 1, + SE_SERVICE = 2, + SE_PRINTER = 3, + SE_REGISTRY_KEY = 4, + SE_LMSHARE = 5, + SE_KERNEL_OBJECT = 6, + SE_WINDOW_OBJECT = 7, + SE_DS_OBJECT = 8, + SE_DS_OBJECT_ALL = 9, + SE_PROVIDER_DEFINED_OBJECT = 10, + SE_WMIGUID_OBJECT = 11, + SE_REGISTRY_WOW64_32KEY = 12, +} SE_OBJECT_TYPE; + typedef struct _CLIENT_ID{ HANDLE UniqueProcess; HANDLE UniqueThread; @@ -2797,4 +2814,84 @@ typedef struct _CRYPT_ENCODE_PARA { typedef struct tagPOINT { LONG x; LONG y; -} POINT, *PPOINT, *LPPOINT; \ No newline at end of file +} POINT, *PPOINT, *LPPOINT; + + +typedef struct _ACL { + BYTE AclRevision; + BYTE Sbz1; + WORD AclSize; + WORD AceCount; + WORD Sbz2; +} ACL, *PACL; + + +typedef struct _ACE_HEADER { + BYTE AceType; + BYTE AceFlags; + WORD AceSize; +} ACE_HEADER, *PACE_HEADER; + + +typedef struct _ACCESS_ALLOWED_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} ACCESS_ALLOWED_ACE, *PACCESS_ALLOWED_ACE; + +typedef struct _ACCESS_ALLOWED_CALLBACK_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} ACCESS_ALLOWED_CALLBACK_ACE, *PACCESS_ALLOWED_CALLBACK_ACE; + + +typedef struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; +} ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, *PACCESS_ALLOWED_CALLBACK_OBJECT_ACE; + + +typedef struct _ACCESS_ALLOWED_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; +} ACCESS_ALLOWED_OBJECT_ACE, *PACCESS_ALLOWED_OBJECT_ACE; + + +typedef struct _ACCESS_DENIED_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} ACCESS_DENIED_ACE, *PACCESS_DENIED_ACE; + + +typedef struct _ACCESS_DENIED_CALLBACK_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} ACCESS_DENIED_CALLBACK_ACE, *PACCESS_DENIED_CALLBACK_ACE; + + +typedef struct _ACCESS_DENIED_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; +} ACCESS_DENIED_OBJECT_ACE, *PACCESS_DENIED_OBJECT_ACE; + + +typedef struct _SYSTEM_MANDATORY_LABEL_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} SYSTEM_MANDATORY_LABEL_ACE, *PSYSTEM_MANDATORY_LABEL_ACE; \ No newline at end of file diff --git a/ctypes_generation/definitions/wintrust_crypt_def.txt b/ctypes_generation/definitions/wintrust_crypt_def.txt index a5d5d02..4a5248f 100644 --- a/ctypes_generation/definitions/wintrust_crypt_def.txt +++ b/ctypes_generation/definitions/wintrust_crypt_def.txt @@ -649,3 +649,29 @@ #define EXPORT_PRIVATE_KEYS 0x0004 #define PKCS12_INCLUDE_EXTENDED_PROPERTIES 0x0010 #define PKCS12_EXPORT_RESERVED_MASK 0xffff0000 + + +#define CERT_SYSTEM_STORE_UNPROTECTED_FLAG 0x40000000 +#define CERT_SYSTEM_STORE_LOCATION_MASK 0x00FF0000 +#define CERT_SYSTEM_STORE_LOCATION_SHIFT 16 + + +#define CERT_SYSTEM_STORE_CURRENT_USER_ID 1 +#define CERT_SYSTEM_STORE_LOCAL_MACHINE_ID 2 +#define CERT_SYSTEM_STORE_CURRENT_SERVICE_ID 4 +#define CERT_SYSTEM_STORE_SERVICES_ID 5 +#define CERT_SYSTEM_STORE_USERS_ID 6 +#define CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID 7 +#define CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID 8 +#define CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID 9 + +#define CERT_SYSTEM_STORE_CURRENT_USER (CERT_SYSTEM_STORE_CURRENT_USER_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_LOCAL_MACHINE (CERT_SYSTEM_STORE_LOCAL_MACHINE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_CURRENT_SERVICE (CERT_SYSTEM_STORE_CURRENT_SERVICE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_SERVICES (CERT_SYSTEM_STORE_SERVICES_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_USERS (CERT_SYSTEM_STORE_USERS_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) + +#define CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY (CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY (CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE (CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) + diff --git a/ctypes_generation/definitions/wintrust_crypt_func.txt b/ctypes_generation/definitions/wintrust_crypt_func.txt index 148d1c3..8c3ad0f 100644 --- a/ctypes_generation/definitions/wintrust_crypt_func.txt +++ b/ctypes_generation/definitions/wintrust_crypt_func.txt @@ -141,6 +141,10 @@ BOOL WINAPI CryptGenKey( _Out_ HCRYPTKEY *phKey ); +BOOL WINAPI CryptDestroyKey( + _In_ HCRYPTKEY hKey +); + BOOL WINAPI CryptAcquireContextA( _Out_ HCRYPTPROV *phProv, _In_ LPCSTR pszContainer, @@ -158,6 +162,11 @@ BOOL WINAPI CryptAcquireContextW( ); +BOOL WINAPI CryptReleaseContext( + _In_ HCRYPTPROV hProv, + _In_ DWORD dwFlags +); + BOOL WINAPI CryptExportKey( _In_ HCRYPTKEY hKey, _In_ HCRYPTKEY hExpKey, diff --git a/ctypes_generation/dummy_wintypes.py b/ctypes_generation/dummy_wintypes.py index bcc1f40..9ea7660 100644 --- a/ctypes_generation/dummy_wintypes.py +++ b/ctypes_generation/dummy_wintypes.py @@ -1 +1 @@ -names = ['HRESULT', 'ATOM', 'BOOL', 'BOOLEAN', 'BYTE', 'COLORREF', 'DOUBLE', 'DWORD', 'FILETIME', 'FLOAT', 'HACCEL', 'HANDLE', 'HBITMAP', ' HBRUSH', 'HCOLORSPACE', 'HDC', 'HDESK', 'HDWP', 'HENHMETAFILE', 'HFONT', 'HGDIOBJ', 'HGLOBAL', 'HHOOK', 'HICON', 'HINSTA NCE', 'HKEY', 'HKL', 'HLOCAL', 'HMENU', 'HMETAFILE', 'HMODULE', 'HMONITOR', 'HPALETTE', 'HPEN', 'HRGN', 'HRSRC', 'HSTR', 'HTASK', 'HWINSTA', 'HWND', 'INT', 'LANGID', 'LARGE_INTEGER', 'LCID', 'LCTYPE', 'LGRPID', 'LONG', 'LPARAM', 'LPCOLESTR' , 'LPCSTR', 'LPCVOID', 'LPCWSTR', 'LPOLESTR', 'LPSTR', 'LPVOID', 'LPWSTR', 'MAX_PATH', 'MSG', 'OLESTR', 'POINT', 'POINTL ', 'RECT', 'RECTL', 'RGB', 'SC_HANDLE', 'SERVICE_STATUS_HANDLE', 'SHORT', 'SIZE', 'SIZEL', 'SMALL_RECT', 'UINT', 'ULARGE _INTEGER', 'ULONG', 'USHORT', 'VARIANT_BOOL', 'WCHAR', 'WIN32_FIND_DATAA', 'WIN32_FIND_DATAW', 'WORD', 'WPARAM', '_COORD ', '_FILETIME', '_LARGE_INTEGER', '_POINTL', '_RECTL', '_SMALL_RECT', '_ULARGE_INTEGER', 'tagMSG', 'tagPOINT', 'tagRECT' , 'tagSIZE'] +names = ['HINSTANCE', 'HRESULT', 'ATOM', 'BOOL', 'BOOLEAN', 'BYTE', 'COLORREF', 'DOUBLE', 'DWORD', 'FILETIME', 'FLOAT', 'HACCEL', 'HANDLE', 'HBITMAP', ' HBRUSH', 'HCOLORSPACE', 'HDC', 'HDESK', 'HDWP', 'HENHMETAFILE', 'HFONT', 'HGDIOBJ', 'HGLOBAL', 'HHOOK', 'HICON', 'HINSTA NCE', 'HKEY', 'HKL', 'HLOCAL', 'HMENU', 'HMETAFILE', 'HMODULE', 'HMONITOR', 'HPALETTE', 'HPEN', 'HRGN', 'HRSRC', 'HSTR', 'HTASK', 'HWINSTA', 'HWND', 'INT', 'LANGID', 'LARGE_INTEGER', 'LCID', 'LCTYPE', 'LGRPID', 'LONG', 'LPARAM', 'LPCOLESTR' , 'LPCSTR', 'LPCVOID', 'LPCWSTR', 'LPOLESTR', 'LPSTR', 'LPVOID', 'LPWSTR', 'MAX_PATH', 'MSG', 'OLESTR', 'POINT', 'POINTL ', 'RECT', 'RECTL', 'RGB', 'SC_HANDLE', 'SERVICE_STATUS_HANDLE', 'SHORT', 'SIZE', 'SIZEL', 'SMALL_RECT', 'UINT', 'ULARGE _INTEGER', 'ULONG', 'USHORT', 'VARIANT_BOOL', 'WCHAR', 'WIN32_FIND_DATAA', 'WIN32_FIND_DATAW', 'WORD', 'WPARAM', '_COORD ', '_FILETIME', '_LARGE_INTEGER', '_POINTL', '_RECTL', '_SMALL_RECT', '_ULARGE_INTEGER', 'tagMSG', 'tagPOINT', 'tagRECT' , 'tagSIZE'] diff --git a/ctypes_generation/generate.py b/ctypes_generation/generate.py index 3b87fb6..f0d33a6 100644 --- a/ctypes_generation/generate.py +++ b/ctypes_generation/generate.py @@ -27,6 +27,8 @@ TYPE_EQUIVALENCE = [ ('PVOID', 'c_void_p'), ('PPS_POST_PROCESS_INIT_ROUTINE', 'PVOID'), ('NTSTATUS', 'DWORD'), + ('SECURITY_INFORMATION', 'DWORD'), + ('PSECURITY_INFORMATION', 'POINTER(SECURITY_INFORMATION)'), ('PULONG', 'POINTER(ULONG)'), ('PDWORD', 'POINTER(DWORD)'), ('LPDWORD', 'POINTER(DWORD)'), @@ -665,6 +667,7 @@ defs_with_ntstatus = InitialDefGenerator(from_here("definitions\\windef.txt"), f # YOLO HACK FOR NOW :DD defs_with_ntstatus.append_input_file(from_here("definitions\\wintrust_crypt_def.txt")) +defs_with_ntstatus.append_input_file(from_here("definitions\\windef_error.txt")) structs = StructGenerator(from_here("definitions\\winstruct.txt"), from_here(r"..\windows\generated_def\\winstructs.py"), dependances=[defs_with_ntstatus]) diff --git a/windows/generated_def/windef.py b/windows/generated_def/windef.py index 91a226b..b54cfd4 100644 --- a/windows/generated_def/windef.py +++ b/windows/generated_def/windef.py @@ -924,6 +924,32 @@ IMAGE_SCN_MEM_SHARED = make_flag("IMAGE_SCN_MEM_SHARED", 0x10000000) IMAGE_SCN_MEM_EXECUTE = make_flag("IMAGE_SCN_MEM_EXECUTE", 0x20000000) IMAGE_SCN_MEM_READ = make_flag("IMAGE_SCN_MEM_READ", 0x40000000) IMAGE_SCN_MEM_WRITE = make_flag("IMAGE_SCN_MEM_WRITE", 0x80000000) +ACCESS_MIN_MS_ACE_TYPE = make_flag("ACCESS_MIN_MS_ACE_TYPE", ( 0x0 )) +ACCESS_ALLOWED_ACE_TYPE = make_flag("ACCESS_ALLOWED_ACE_TYPE", ( 0x0 )) +ACCESS_DENIED_ACE_TYPE = make_flag("ACCESS_DENIED_ACE_TYPE", ( 0x1 )) +SYSTEM_AUDIT_ACE_TYPE = make_flag("SYSTEM_AUDIT_ACE_TYPE", ( 0x2 )) +SYSTEM_ALARM_ACE_TYPE = make_flag("SYSTEM_ALARM_ACE_TYPE", ( 0x3 )) +ACCESS_MAX_MS_V2_ACE_TYPE = make_flag("ACCESS_MAX_MS_V2_ACE_TYPE", ( 0x3 )) +ACCESS_ALLOWED_COMPOUND_ACE_TYPE = make_flag("ACCESS_ALLOWED_COMPOUND_ACE_TYPE", ( 0x4 )) +ACCESS_MAX_MS_V3_ACE_TYPE = make_flag("ACCESS_MAX_MS_V3_ACE_TYPE", ( 0x4 )) +ACCESS_MIN_MS_OBJECT_ACE_TYPE = make_flag("ACCESS_MIN_MS_OBJECT_ACE_TYPE", ( 0x5 )) +ACCESS_ALLOWED_OBJECT_ACE_TYPE = make_flag("ACCESS_ALLOWED_OBJECT_ACE_TYPE", ( 0x5 )) +ACCESS_DENIED_OBJECT_ACE_TYPE = make_flag("ACCESS_DENIED_OBJECT_ACE_TYPE", ( 0x6 )) +SYSTEM_AUDIT_OBJECT_ACE_TYPE = make_flag("SYSTEM_AUDIT_OBJECT_ACE_TYPE", ( 0x7 )) +SYSTEM_ALARM_OBJECT_ACE_TYPE = make_flag("SYSTEM_ALARM_OBJECT_ACE_TYPE", ( 0x8 )) +ACCESS_MAX_MS_OBJECT_ACE_TYPE = make_flag("ACCESS_MAX_MS_OBJECT_ACE_TYPE", ( 0x8 )) +ACCESS_MAX_MS_V4_ACE_TYPE = make_flag("ACCESS_MAX_MS_V4_ACE_TYPE", ( 0x8 )) +ACCESS_MAX_MS_ACE_TYPE = make_flag("ACCESS_MAX_MS_ACE_TYPE", ( 0x8 )) +ACCESS_ALLOWED_CALLBACK_ACE_TYPE = make_flag("ACCESS_ALLOWED_CALLBACK_ACE_TYPE", ( 0x9 )) +ACCESS_DENIED_CALLBACK_ACE_TYPE = make_flag("ACCESS_DENIED_CALLBACK_ACE_TYPE", ( 0xA )) +ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE = make_flag("ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE", ( 0xB )) +ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE = make_flag("ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE", ( 0xC )) +SYSTEM_AUDIT_CALLBACK_ACE_TYPE = make_flag("SYSTEM_AUDIT_CALLBACK_ACE_TYPE", ( 0xD )) +SYSTEM_ALARM_CALLBACK_ACE_TYPE = make_flag("SYSTEM_ALARM_CALLBACK_ACE_TYPE", ( 0xE )) +SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE = make_flag("SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE", ( 0xF )) +SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE = make_flag("SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE", ( 0x10 )) +SYSTEM_MANDATORY_LABEL_ACE_TYPE = make_flag("SYSTEM_MANDATORY_LABEL_ACE_TYPE", ( 0x11 )) +ACCESS_MAX_MS_V5_ACE_TYPE = make_flag("ACCESS_MAX_MS_V5_ACE_TYPE", ( 0x11 )) CERT_QUERY_OBJECT_FILE = make_flag("CERT_QUERY_OBJECT_FILE", 0x00000001) CERT_QUERY_OBJECT_BLOB = make_flag("CERT_QUERY_OBJECT_BLOB", 0x00000002) CERT_QUERY_CONTENT_CERT = make_flag("CERT_QUERY_CONTENT_CERT", 1) @@ -1486,4 +1512,502 @@ CERT_SYSTEM_STORE_SERVICES = make_flag("CERT_SYSTEM_STORE_SERVICES", ( CERT_SYST CERT_SYSTEM_STORE_USERS = make_flag("CERT_SYSTEM_STORE_USERS", ( CERT_SYSTEM_STORE_USERS_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT )) CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY = make_flag("CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY", ( CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT )) CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY = make_flag("CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY", ( CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT )) -CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE = make_flag("CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE", ( CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT )) \ No newline at end of file +CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE = make_flag("CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE", ( CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT )) +ERROR_SUCCESS = make_flag("ERROR_SUCCESS", 0L) +ERROR_INVALID_FUNCTION = make_flag("ERROR_INVALID_FUNCTION", 1L) +ERROR_FILE_NOT_FOUND = make_flag("ERROR_FILE_NOT_FOUND", 2L) +ERROR_PATH_NOT_FOUND = make_flag("ERROR_PATH_NOT_FOUND", 3L) +ERROR_TOO_MANY_OPEN_FILES = make_flag("ERROR_TOO_MANY_OPEN_FILES", 4L) +ERROR_ACCESS_DENIED = make_flag("ERROR_ACCESS_DENIED", 5L) +ERROR_INVALID_HANDLE = make_flag("ERROR_INVALID_HANDLE", 6L) +ERROR_ARENA_TRASHED = make_flag("ERROR_ARENA_TRASHED", 7L) +ERROR_NOT_ENOUGH_MEMORY = make_flag("ERROR_NOT_ENOUGH_MEMORY", 8L) +ERROR_INVALID_BLOCK = make_flag("ERROR_INVALID_BLOCK", 9L) +ERROR_BAD_ENVIRONMENT = make_flag("ERROR_BAD_ENVIRONMENT", 10L) +ERROR_BAD_FORMAT = make_flag("ERROR_BAD_FORMAT", 11L) +ERROR_INVALID_ACCESS = make_flag("ERROR_INVALID_ACCESS", 12L) +ERROR_INVALID_DATA = make_flag("ERROR_INVALID_DATA", 13L) +ERROR_OUTOFMEMORY = make_flag("ERROR_OUTOFMEMORY", 14L) +ERROR_INVALID_DRIVE = make_flag("ERROR_INVALID_DRIVE", 15L) +ERROR_CURRENT_DIRECTORY = make_flag("ERROR_CURRENT_DIRECTORY", 16L) +ERROR_NOT_SAME_DEVICE = make_flag("ERROR_NOT_SAME_DEVICE", 17L) +ERROR_NO_MORE_FILES = make_flag("ERROR_NO_MORE_FILES", 18L) +ERROR_WRITE_PROTECT = make_flag("ERROR_WRITE_PROTECT", 19L) +ERROR_BAD_UNIT = make_flag("ERROR_BAD_UNIT", 20L) +ERROR_NOT_READY = make_flag("ERROR_NOT_READY", 21L) +ERROR_BAD_COMMAND = make_flag("ERROR_BAD_COMMAND", 22L) +ERROR_CRC = make_flag("ERROR_CRC", 23L) +ERROR_BAD_LENGTH = make_flag("ERROR_BAD_LENGTH", 24L) +ERROR_SEEK = make_flag("ERROR_SEEK", 25L) +ERROR_NOT_DOS_DISK = make_flag("ERROR_NOT_DOS_DISK", 26L) +ERROR_SECTOR_NOT_FOUND = make_flag("ERROR_SECTOR_NOT_FOUND", 27L) +ERROR_OUT_OF_PAPER = make_flag("ERROR_OUT_OF_PAPER", 28L) +ERROR_WRITE_FAULT = make_flag("ERROR_WRITE_FAULT", 29L) +ERROR_READ_FAULT = make_flag("ERROR_READ_FAULT", 30L) +ERROR_GEN_FAILURE = make_flag("ERROR_GEN_FAILURE", 31L) +ERROR_SHARING_VIOLATION = make_flag("ERROR_SHARING_VIOLATION", 32L) +ERROR_LOCK_VIOLATION = make_flag("ERROR_LOCK_VIOLATION", 33L) +ERROR_WRONG_DISK = make_flag("ERROR_WRONG_DISK", 34L) +ERROR_SHARING_BUFFER_EXCEEDED = make_flag("ERROR_SHARING_BUFFER_EXCEEDED", 36L) +ERROR_HANDLE_EOF = make_flag("ERROR_HANDLE_EOF", 38L) +ERROR_HANDLE_DISK_FULL = make_flag("ERROR_HANDLE_DISK_FULL", 39L) +ERROR_NOT_SUPPORTED = make_flag("ERROR_NOT_SUPPORTED", 50L) +ERROR_REM_NOT_LIST = make_flag("ERROR_REM_NOT_LIST", 51L) +ERROR_DUP_NAME = make_flag("ERROR_DUP_NAME", 52L) +ERROR_BAD_NETPATH = make_flag("ERROR_BAD_NETPATH", 53L) +ERROR_NETWORK_BUSY = make_flag("ERROR_NETWORK_BUSY", 54L) +ERROR_DEV_NOT_EXIST = make_flag("ERROR_DEV_NOT_EXIST", 55L) +ERROR_TOO_MANY_CMDS = make_flag("ERROR_TOO_MANY_CMDS", 56L) +ERROR_ADAP_HDW_ERR = make_flag("ERROR_ADAP_HDW_ERR", 57L) +ERROR_BAD_NET_RESP = make_flag("ERROR_BAD_NET_RESP", 58L) +ERROR_UNEXP_NET_ERR = make_flag("ERROR_UNEXP_NET_ERR", 59L) +ERROR_BAD_REM_ADAP = make_flag("ERROR_BAD_REM_ADAP", 60L) +ERROR_PRINTQ_FULL = make_flag("ERROR_PRINTQ_FULL", 61L) +ERROR_NO_SPOOL_SPACE = make_flag("ERROR_NO_SPOOL_SPACE", 62L) +ERROR_PRINT_CANCELLED = make_flag("ERROR_PRINT_CANCELLED", 63L) +ERROR_NETNAME_DELETED = make_flag("ERROR_NETNAME_DELETED", 64L) +ERROR_NETWORK_ACCESS_DENIED = make_flag("ERROR_NETWORK_ACCESS_DENIED", 65L) +ERROR_BAD_DEV_TYPE = make_flag("ERROR_BAD_DEV_TYPE", 66L) +ERROR_BAD_NET_NAME = make_flag("ERROR_BAD_NET_NAME", 67L) +ERROR_TOO_MANY_NAMES = make_flag("ERROR_TOO_MANY_NAMES", 68L) +ERROR_TOO_MANY_SESS = make_flag("ERROR_TOO_MANY_SESS", 69L) +ERROR_SHARING_PAUSED = make_flag("ERROR_SHARING_PAUSED", 70L) +ERROR_REQ_NOT_ACCEP = make_flag("ERROR_REQ_NOT_ACCEP", 71L) +ERROR_REDIR_PAUSED = make_flag("ERROR_REDIR_PAUSED", 72L) +ERROR_FILE_EXISTS = make_flag("ERROR_FILE_EXISTS", 80L) +ERROR_CANNOT_MAKE = make_flag("ERROR_CANNOT_MAKE", 82L) +ERROR_FAIL_I24 = make_flag("ERROR_FAIL_I24", 83L) +ERROR_OUT_OF_STRUCTURES = make_flag("ERROR_OUT_OF_STRUCTURES", 84L) +ERROR_ALREADY_ASSIGNED = make_flag("ERROR_ALREADY_ASSIGNED", 85L) +ERROR_INVALID_PASSWORD = make_flag("ERROR_INVALID_PASSWORD", 86L) +ERROR_INVALID_PARAMETER = make_flag("ERROR_INVALID_PARAMETER", 87L) +ERROR_NET_WRITE_FAULT = make_flag("ERROR_NET_WRITE_FAULT", 88L) +ERROR_NO_PROC_SLOTS = make_flag("ERROR_NO_PROC_SLOTS", 89L) +ERROR_TOO_MANY_SEMAPHORES = make_flag("ERROR_TOO_MANY_SEMAPHORES", 100L) +ERROR_EXCL_SEM_ALREADY_OWNED = make_flag("ERROR_EXCL_SEM_ALREADY_OWNED", 101L) +ERROR_SEM_IS_SET = make_flag("ERROR_SEM_IS_SET", 102L) +ERROR_TOO_MANY_SEM_REQUESTS = make_flag("ERROR_TOO_MANY_SEM_REQUESTS", 103L) +ERROR_INVALID_AT_INTERRUPT_TIME = make_flag("ERROR_INVALID_AT_INTERRUPT_TIME", 104L) +ERROR_SEM_OWNER_DIED = make_flag("ERROR_SEM_OWNER_DIED", 105L) +ERROR_SEM_USER_LIMIT = make_flag("ERROR_SEM_USER_LIMIT", 106L) +ERROR_DISK_CHANGE = make_flag("ERROR_DISK_CHANGE", 107L) +ERROR_DRIVE_LOCKED = make_flag("ERROR_DRIVE_LOCKED", 108L) +ERROR_BROKEN_PIPE = make_flag("ERROR_BROKEN_PIPE", 109L) +ERROR_OPEN_FAILED = make_flag("ERROR_OPEN_FAILED", 110L) +ERROR_BUFFER_OVERFLOW = make_flag("ERROR_BUFFER_OVERFLOW", 111L) +ERROR_DISK_FULL = make_flag("ERROR_DISK_FULL", 112L) +ERROR_NO_MORE_SEARCH_HANDLES = make_flag("ERROR_NO_MORE_SEARCH_HANDLES", 113L) +ERROR_INVALID_TARGET_HANDLE = make_flag("ERROR_INVALID_TARGET_HANDLE", 114L) +ERROR_INVALID_CATEGORY = make_flag("ERROR_INVALID_CATEGORY", 117L) +ERROR_INVALID_VERIFY_SWITCH = make_flag("ERROR_INVALID_VERIFY_SWITCH", 118L) +ERROR_BAD_DRIVER_LEVEL = make_flag("ERROR_BAD_DRIVER_LEVEL", 119L) +ERROR_CALL_NOT_IMPLEMENTED = make_flag("ERROR_CALL_NOT_IMPLEMENTED", 120L) +ERROR_SEM_TIMEOUT = make_flag("ERROR_SEM_TIMEOUT", 121L) +ERROR_INSUFFICIENT_BUFFER = make_flag("ERROR_INSUFFICIENT_BUFFER", 122L) +ERROR_INVALID_NAME = make_flag("ERROR_INVALID_NAME", 123L) +ERROR_INVALID_LEVEL = make_flag("ERROR_INVALID_LEVEL", 124L) +ERROR_NO_VOLUME_LABEL = make_flag("ERROR_NO_VOLUME_LABEL", 125L) +ERROR_MOD_NOT_FOUND = make_flag("ERROR_MOD_NOT_FOUND", 126L) +ERROR_PROC_NOT_FOUND = make_flag("ERROR_PROC_NOT_FOUND", 127L) +ERROR_WAIT_NO_CHILDREN = make_flag("ERROR_WAIT_NO_CHILDREN", 128L) +ERROR_CHILD_NOT_COMPLETE = make_flag("ERROR_CHILD_NOT_COMPLETE", 129L) +ERROR_DIRECT_ACCESS_HANDLE = make_flag("ERROR_DIRECT_ACCESS_HANDLE", 130L) +ERROR_NEGATIVE_SEEK = make_flag("ERROR_NEGATIVE_SEEK", 131L) +ERROR_SEEK_ON_DEVICE = make_flag("ERROR_SEEK_ON_DEVICE", 132L) +ERROR_IS_JOIN_TARGET = make_flag("ERROR_IS_JOIN_TARGET", 133L) +ERROR_IS_JOINED = make_flag("ERROR_IS_JOINED", 134L) +ERROR_IS_SUBSTED = make_flag("ERROR_IS_SUBSTED", 135L) +ERROR_NOT_JOINED = make_flag("ERROR_NOT_JOINED", 136L) +ERROR_NOT_SUBSTED = make_flag("ERROR_NOT_SUBSTED", 137L) +ERROR_JOIN_TO_JOIN = make_flag("ERROR_JOIN_TO_JOIN", 138L) +ERROR_SUBST_TO_SUBST = make_flag("ERROR_SUBST_TO_SUBST", 139L) +ERROR_JOIN_TO_SUBST = make_flag("ERROR_JOIN_TO_SUBST", 140L) +ERROR_SUBST_TO_JOIN = make_flag("ERROR_SUBST_TO_JOIN", 141L) +ERROR_BUSY_DRIVE = make_flag("ERROR_BUSY_DRIVE", 142L) +ERROR_SAME_DRIVE = make_flag("ERROR_SAME_DRIVE", 143L) +ERROR_DIR_NOT_ROOT = make_flag("ERROR_DIR_NOT_ROOT", 144L) +ERROR_DIR_NOT_EMPTY = make_flag("ERROR_DIR_NOT_EMPTY", 145L) +ERROR_IS_SUBST_PATH = make_flag("ERROR_IS_SUBST_PATH", 146L) +ERROR_IS_JOIN_PATH = make_flag("ERROR_IS_JOIN_PATH", 147L) +ERROR_PATH_BUSY = make_flag("ERROR_PATH_BUSY", 148L) +ERROR_IS_SUBST_TARGET = make_flag("ERROR_IS_SUBST_TARGET", 149L) +ERROR_SYSTEM_TRACE = make_flag("ERROR_SYSTEM_TRACE", 150L) +ERROR_INVALID_EVENT_COUNT = make_flag("ERROR_INVALID_EVENT_COUNT", 151L) +ERROR_TOO_MANY_MUXWAITERS = make_flag("ERROR_TOO_MANY_MUXWAITERS", 152L) +ERROR_INVALID_LIST_FORMAT = make_flag("ERROR_INVALID_LIST_FORMAT", 153L) +ERROR_LABEL_TOO_LONG = make_flag("ERROR_LABEL_TOO_LONG", 154L) +ERROR_TOO_MANY_TCBS = make_flag("ERROR_TOO_MANY_TCBS", 155L) +ERROR_SIGNAL_REFUSED = make_flag("ERROR_SIGNAL_REFUSED", 156L) +ERROR_DISCARDED = make_flag("ERROR_DISCARDED", 157L) +ERROR_NOT_LOCKED = make_flag("ERROR_NOT_LOCKED", 158L) +ERROR_BAD_THREADID_ADDR = make_flag("ERROR_BAD_THREADID_ADDR", 159L) +ERROR_BAD_ARGUMENTS = make_flag("ERROR_BAD_ARGUMENTS", 160L) +ERROR_BAD_PATHNAME = make_flag("ERROR_BAD_PATHNAME", 161L) +ERROR_SIGNAL_PENDING = make_flag("ERROR_SIGNAL_PENDING", 162L) +ERROR_MAX_THRDS_REACHED = make_flag("ERROR_MAX_THRDS_REACHED", 164L) +ERROR_LOCK_FAILED = make_flag("ERROR_LOCK_FAILED", 167L) +ERROR_BUSY = make_flag("ERROR_BUSY", 170L) +ERROR_CANCEL_VIOLATION = make_flag("ERROR_CANCEL_VIOLATION", 173L) +ERROR_ATOMIC_LOCKS_NOT_SUPPORTED = make_flag("ERROR_ATOMIC_LOCKS_NOT_SUPPORTED", 174L) +ERROR_INVALID_SEGMENT_NUMBER = make_flag("ERROR_INVALID_SEGMENT_NUMBER", 180L) +ERROR_INVALID_ORDINAL = make_flag("ERROR_INVALID_ORDINAL", 182L) +ERROR_ALREADY_EXISTS = make_flag("ERROR_ALREADY_EXISTS", 183L) +ERROR_INVALID_FLAG_NUMBER = make_flag("ERROR_INVALID_FLAG_NUMBER", 186L) +ERROR_SEM_NOT_FOUND = make_flag("ERROR_SEM_NOT_FOUND", 187L) +ERROR_INVALID_STARTING_CODESEG = make_flag("ERROR_INVALID_STARTING_CODESEG", 188L) +ERROR_INVALID_STACKSEG = make_flag("ERROR_INVALID_STACKSEG", 189L) +ERROR_INVALID_MODULETYPE = make_flag("ERROR_INVALID_MODULETYPE", 190L) +ERROR_INVALID_EXE_SIGNATURE = make_flag("ERROR_INVALID_EXE_SIGNATURE", 191L) +ERROR_EXE_MARKED_INVALID = make_flag("ERROR_EXE_MARKED_INVALID", 192L) +ERROR_BAD_EXE_FORMAT = make_flag("ERROR_BAD_EXE_FORMAT", 193L) +ERROR_ITERATED_DATA_EXCEEDS_64k = make_flag("ERROR_ITERATED_DATA_EXCEEDS_64k", 194L) +ERROR_INVALID_MINALLOCSIZE = make_flag("ERROR_INVALID_MINALLOCSIZE", 195L) +ERROR_DYNLINK_FROM_INVALID_RING = make_flag("ERROR_DYNLINK_FROM_INVALID_RING", 196L) +ERROR_IOPL_NOT_ENABLED = make_flag("ERROR_IOPL_NOT_ENABLED", 197L) +ERROR_INVALID_SEGDPL = make_flag("ERROR_INVALID_SEGDPL", 198L) +ERROR_AUTODATASEG_EXCEEDS_64k = make_flag("ERROR_AUTODATASEG_EXCEEDS_64k", 199L) +ERROR_RING2SEG_MUST_BE_MOVABLE = make_flag("ERROR_RING2SEG_MUST_BE_MOVABLE", 200L) +ERROR_RELOC_CHAIN_XEEDS_SEGLIM = make_flag("ERROR_RELOC_CHAIN_XEEDS_SEGLIM", 201L) +ERROR_INFLOOP_IN_RELOC_CHAIN = make_flag("ERROR_INFLOOP_IN_RELOC_CHAIN", 202L) +ERROR_ENVVAR_NOT_FOUND = make_flag("ERROR_ENVVAR_NOT_FOUND", 203L) +ERROR_NO_SIGNAL_SENT = make_flag("ERROR_NO_SIGNAL_SENT", 205L) +ERROR_FILENAME_EXCED_RANGE = make_flag("ERROR_FILENAME_EXCED_RANGE", 206L) +ERROR_RING2_STACK_IN_USE = make_flag("ERROR_RING2_STACK_IN_USE", 207L) +ERROR_META_EXPANSION_TOO_LONG = make_flag("ERROR_META_EXPANSION_TOO_LONG", 208L) +ERROR_INVALID_SIGNAL_NUMBER = make_flag("ERROR_INVALID_SIGNAL_NUMBER", 209L) +ERROR_THREAD_1_INACTIVE = make_flag("ERROR_THREAD_1_INACTIVE", 210L) +ERROR_LOCKED = make_flag("ERROR_LOCKED", 212L) +ERROR_TOO_MANY_MODULES = make_flag("ERROR_TOO_MANY_MODULES", 214L) +ERROR_NESTING_NOT_ALLOWED = make_flag("ERROR_NESTING_NOT_ALLOWED", 215L) +ERROR_EXE_MACHINE_TYPE_MISMATCH = make_flag("ERROR_EXE_MACHINE_TYPE_MISMATCH", 216L) +ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY = make_flag("ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY", 217L) +ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY = make_flag("ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY", 218L) +ERROR_FILE_CHECKED_OUT = make_flag("ERROR_FILE_CHECKED_OUT", 220L) +ERROR_CHECKOUT_REQUIRED = make_flag("ERROR_CHECKOUT_REQUIRED", 221L) +ERROR_BAD_FILE_TYPE = make_flag("ERROR_BAD_FILE_TYPE", 222L) +ERROR_FILE_TOO_LARGE = make_flag("ERROR_FILE_TOO_LARGE", 223L) +ERROR_FORMS_AUTH_REQUIRED = make_flag("ERROR_FORMS_AUTH_REQUIRED", 224L) +ERROR_VIRUS_INFECTED = make_flag("ERROR_VIRUS_INFECTED", 225L) +ERROR_VIRUS_DELETED = make_flag("ERROR_VIRUS_DELETED", 226L) +ERROR_PIPE_LOCAL = make_flag("ERROR_PIPE_LOCAL", 229L) +ERROR_BAD_PIPE = make_flag("ERROR_BAD_PIPE", 230L) +ERROR_PIPE_BUSY = make_flag("ERROR_PIPE_BUSY", 231L) +ERROR_NO_DATA = make_flag("ERROR_NO_DATA", 232L) +ERROR_PIPE_NOT_CONNECTED = make_flag("ERROR_PIPE_NOT_CONNECTED", 233L) +ERROR_MORE_DATA = make_flag("ERROR_MORE_DATA", 234L) +ERROR_VC_DISCONNECTED = make_flag("ERROR_VC_DISCONNECTED", 240L) +ERROR_INVALID_EA_NAME = make_flag("ERROR_INVALID_EA_NAME", 254L) +ERROR_EA_LIST_INCONSISTENT = make_flag("ERROR_EA_LIST_INCONSISTENT", 255L) +ERROR_NO_MORE_ITEMS = make_flag("ERROR_NO_MORE_ITEMS", 259L) +ERROR_CANNOT_COPY = make_flag("ERROR_CANNOT_COPY", 266L) +ERROR_DIRECTORY = make_flag("ERROR_DIRECTORY", 267L) +ERROR_EAS_DIDNT_FIT = make_flag("ERROR_EAS_DIDNT_FIT", 275L) +ERROR_EA_FILE_CORRUPT = make_flag("ERROR_EA_FILE_CORRUPT", 276L) +ERROR_EA_TABLE_FULL = make_flag("ERROR_EA_TABLE_FULL", 277L) +ERROR_INVALID_EA_HANDLE = make_flag("ERROR_INVALID_EA_HANDLE", 278L) +ERROR_EAS_NOT_SUPPORTED = make_flag("ERROR_EAS_NOT_SUPPORTED", 282L) +ERROR_NOT_OWNER = make_flag("ERROR_NOT_OWNER", 288L) +ERROR_TOO_MANY_POSTS = make_flag("ERROR_TOO_MANY_POSTS", 298L) +ERROR_PARTIAL_COPY = make_flag("ERROR_PARTIAL_COPY", 299L) +ERROR_OPLOCK_NOT_GRANTED = make_flag("ERROR_OPLOCK_NOT_GRANTED", 300L) +ERROR_INVALID_OPLOCK_PROTOCOL = make_flag("ERROR_INVALID_OPLOCK_PROTOCOL", 301L) +ERROR_DISK_TOO_FRAGMENTED = make_flag("ERROR_DISK_TOO_FRAGMENTED", 302L) +ERROR_DELETE_PENDING = make_flag("ERROR_DELETE_PENDING", 303L) +ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING = make_flag("ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING", 304L) +ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME = make_flag("ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME", 305L) +ERROR_SECURITY_STREAM_IS_INCONSISTENT = make_flag("ERROR_SECURITY_STREAM_IS_INCONSISTENT", 306L) +ERROR_INVALID_LOCK_RANGE = make_flag("ERROR_INVALID_LOCK_RANGE", 307L) +ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT = make_flag("ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT", 308L) +ERROR_NOTIFICATION_GUID_ALREADY_DEFINED = make_flag("ERROR_NOTIFICATION_GUID_ALREADY_DEFINED", 309L) +ERROR_MR_MID_NOT_FOUND = make_flag("ERROR_MR_MID_NOT_FOUND", 317L) +ERROR_SCOPE_NOT_FOUND = make_flag("ERROR_SCOPE_NOT_FOUND", 318L) +ERROR_FAIL_NOACTION_REBOOT = make_flag("ERROR_FAIL_NOACTION_REBOOT", 350L) +ERROR_FAIL_SHUTDOWN = make_flag("ERROR_FAIL_SHUTDOWN", 351L) +ERROR_FAIL_RESTART = make_flag("ERROR_FAIL_RESTART", 352L) +ERROR_MAX_SESSIONS_REACHED = make_flag("ERROR_MAX_SESSIONS_REACHED", 353L) +ERROR_THREAD_MODE_ALREADY_BACKGROUND = make_flag("ERROR_THREAD_MODE_ALREADY_BACKGROUND", 400L) +ERROR_THREAD_MODE_NOT_BACKGROUND = make_flag("ERROR_THREAD_MODE_NOT_BACKGROUND", 401L) +ERROR_PROCESS_MODE_ALREADY_BACKGROUND = make_flag("ERROR_PROCESS_MODE_ALREADY_BACKGROUND", 402L) +ERROR_PROCESS_MODE_NOT_BACKGROUND = make_flag("ERROR_PROCESS_MODE_NOT_BACKGROUND", 403L) +ERROR_INVALID_ADDRESS = make_flag("ERROR_INVALID_ADDRESS", 487L) +ERROR_USER_PROFILE_LOAD = make_flag("ERROR_USER_PROFILE_LOAD", 500L) +ERROR_ARITHMETIC_OVERFLOW = make_flag("ERROR_ARITHMETIC_OVERFLOW", 534L) +ERROR_PIPE_CONNECTED = make_flag("ERROR_PIPE_CONNECTED", 535L) +ERROR_PIPE_LISTENING = make_flag("ERROR_PIPE_LISTENING", 536L) +ERROR_VERIFIER_STOP = make_flag("ERROR_VERIFIER_STOP", 537L) +ERROR_ABIOS_ERROR = make_flag("ERROR_ABIOS_ERROR", 538L) +ERROR_WX86_WARNING = make_flag("ERROR_WX86_WARNING", 539L) +ERROR_WX86_ERROR = make_flag("ERROR_WX86_ERROR", 540L) +ERROR_TIMER_NOT_CANCELED = make_flag("ERROR_TIMER_NOT_CANCELED", 541L) +ERROR_UNWIND = make_flag("ERROR_UNWIND", 542L) +ERROR_BAD_STACK = make_flag("ERROR_BAD_STACK", 543L) +ERROR_INVALID_UNWIND_TARGET = make_flag("ERROR_INVALID_UNWIND_TARGET", 544L) +ERROR_INVALID_PORT_ATTRIBUTES = make_flag("ERROR_INVALID_PORT_ATTRIBUTES", 545L) +ERROR_PORT_MESSAGE_TOO_LONG = make_flag("ERROR_PORT_MESSAGE_TOO_LONG", 546L) +ERROR_INVALID_QUOTA_LOWER = make_flag("ERROR_INVALID_QUOTA_LOWER", 547L) +ERROR_DEVICE_ALREADY_ATTACHED = make_flag("ERROR_DEVICE_ALREADY_ATTACHED", 548L) +ERROR_INSTRUCTION_MISALIGNMENT = make_flag("ERROR_INSTRUCTION_MISALIGNMENT", 549L) +ERROR_PROFILING_NOT_STARTED = make_flag("ERROR_PROFILING_NOT_STARTED", 550L) +ERROR_PROFILING_NOT_STOPPED = make_flag("ERROR_PROFILING_NOT_STOPPED", 551L) +ERROR_COULD_NOT_INTERPRET = make_flag("ERROR_COULD_NOT_INTERPRET", 552L) +ERROR_PROFILING_AT_LIMIT = make_flag("ERROR_PROFILING_AT_LIMIT", 553L) +ERROR_CANT_WAIT = make_flag("ERROR_CANT_WAIT", 554L) +ERROR_CANT_TERMINATE_SELF = make_flag("ERROR_CANT_TERMINATE_SELF", 555L) +ERROR_UNEXPECTED_MM_CREATE_ERR = make_flag("ERROR_UNEXPECTED_MM_CREATE_ERR", 556L) +ERROR_UNEXPECTED_MM_MAP_ERROR = make_flag("ERROR_UNEXPECTED_MM_MAP_ERROR", 557L) +ERROR_UNEXPECTED_MM_EXTEND_ERR = make_flag("ERROR_UNEXPECTED_MM_EXTEND_ERR", 558L) +ERROR_BAD_FUNCTION_TABLE = make_flag("ERROR_BAD_FUNCTION_TABLE", 559L) +ERROR_NO_GUID_TRANSLATION = make_flag("ERROR_NO_GUID_TRANSLATION", 560L) +ERROR_INVALID_LDT_SIZE = make_flag("ERROR_INVALID_LDT_SIZE", 561L) +ERROR_INVALID_LDT_OFFSET = make_flag("ERROR_INVALID_LDT_OFFSET", 563L) +ERROR_INVALID_LDT_DESCRIPTOR = make_flag("ERROR_INVALID_LDT_DESCRIPTOR", 564L) +ERROR_TOO_MANY_THREADS = make_flag("ERROR_TOO_MANY_THREADS", 565L) +ERROR_THREAD_NOT_IN_PROCESS = make_flag("ERROR_THREAD_NOT_IN_PROCESS", 566L) +ERROR_PAGEFILE_QUOTA_EXCEEDED = make_flag("ERROR_PAGEFILE_QUOTA_EXCEEDED", 567L) +ERROR_LOGON_SERVER_CONFLICT = make_flag("ERROR_LOGON_SERVER_CONFLICT", 568L) +ERROR_SYNCHRONIZATION_REQUIRED = make_flag("ERROR_SYNCHRONIZATION_REQUIRED", 569L) +ERROR_NET_OPEN_FAILED = make_flag("ERROR_NET_OPEN_FAILED", 570L) +ERROR_IO_PRIVILEGE_FAILED = make_flag("ERROR_IO_PRIVILEGE_FAILED", 571L) +ERROR_CONTROL_C_EXIT = make_flag("ERROR_CONTROL_C_EXIT", 572L) +ERROR_MISSING_SYSTEMFILE = make_flag("ERROR_MISSING_SYSTEMFILE", 573L) +ERROR_UNHANDLED_EXCEPTION = make_flag("ERROR_UNHANDLED_EXCEPTION", 574L) +ERROR_APP_INIT_FAILURE = make_flag("ERROR_APP_INIT_FAILURE", 575L) +ERROR_PAGEFILE_CREATE_FAILED = make_flag("ERROR_PAGEFILE_CREATE_FAILED", 576L) +ERROR_INVALID_IMAGE_HASH = make_flag("ERROR_INVALID_IMAGE_HASH", 577L) +ERROR_NO_PAGEFILE = make_flag("ERROR_NO_PAGEFILE", 578L) +ERROR_ILLEGAL_FLOAT_CONTEXT = make_flag("ERROR_ILLEGAL_FLOAT_CONTEXT", 579L) +ERROR_NO_EVENT_PAIR = make_flag("ERROR_NO_EVENT_PAIR", 580L) +ERROR_DOMAIN_CTRLR_CONFIG_ERROR = make_flag("ERROR_DOMAIN_CTRLR_CONFIG_ERROR", 581L) +ERROR_ILLEGAL_CHARACTER = make_flag("ERROR_ILLEGAL_CHARACTER", 582L) +ERROR_UNDEFINED_CHARACTER = make_flag("ERROR_UNDEFINED_CHARACTER", 583L) +ERROR_FLOPPY_VOLUME = make_flag("ERROR_FLOPPY_VOLUME", 584L) +ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT = make_flag("ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT", 585L) +ERROR_BACKUP_CONTROLLER = make_flag("ERROR_BACKUP_CONTROLLER", 586L) +ERROR_MUTANT_LIMIT_EXCEEDED = make_flag("ERROR_MUTANT_LIMIT_EXCEEDED", 587L) +ERROR_FS_DRIVER_REQUIRED = make_flag("ERROR_FS_DRIVER_REQUIRED", 588L) +ERROR_CANNOT_LOAD_REGISTRY_FILE = make_flag("ERROR_CANNOT_LOAD_REGISTRY_FILE", 589L) +ERROR_DEBUG_ATTACH_FAILED = make_flag("ERROR_DEBUG_ATTACH_FAILED", 590L) +ERROR_SYSTEM_PROCESS_TERMINATED = make_flag("ERROR_SYSTEM_PROCESS_TERMINATED", 591L) +ERROR_DATA_NOT_ACCEPTED = make_flag("ERROR_DATA_NOT_ACCEPTED", 592L) +ERROR_VDM_HARD_ERROR = make_flag("ERROR_VDM_HARD_ERROR", 593L) +ERROR_DRIVER_CANCEL_TIMEOUT = make_flag("ERROR_DRIVER_CANCEL_TIMEOUT", 594L) +ERROR_REPLY_MESSAGE_MISMATCH = make_flag("ERROR_REPLY_MESSAGE_MISMATCH", 595L) +ERROR_LOST_WRITEBEHIND_DATA = make_flag("ERROR_LOST_WRITEBEHIND_DATA", 596L) +ERROR_CLIENT_SERVER_PARAMETERS_INVALID = make_flag("ERROR_CLIENT_SERVER_PARAMETERS_INVALID", 597L) +ERROR_NOT_TINY_STREAM = make_flag("ERROR_NOT_TINY_STREAM", 598L) +ERROR_STACK_OVERFLOW_READ = make_flag("ERROR_STACK_OVERFLOW_READ", 599L) +ERROR_CONVERT_TO_LARGE = make_flag("ERROR_CONVERT_TO_LARGE", 600L) +ERROR_FOUND_OUT_OF_SCOPE = make_flag("ERROR_FOUND_OUT_OF_SCOPE", 601L) +ERROR_ALLOCATE_BUCKET = make_flag("ERROR_ALLOCATE_BUCKET", 602L) +ERROR_MARSHALL_OVERFLOW = make_flag("ERROR_MARSHALL_OVERFLOW", 603L) +ERROR_INVALID_VARIANT = make_flag("ERROR_INVALID_VARIANT", 604L) +ERROR_BAD_COMPRESSION_BUFFER = make_flag("ERROR_BAD_COMPRESSION_BUFFER", 605L) +ERROR_AUDIT_FAILED = make_flag("ERROR_AUDIT_FAILED", 606L) +ERROR_TIMER_RESOLUTION_NOT_SET = make_flag("ERROR_TIMER_RESOLUTION_NOT_SET", 607L) +ERROR_INSUFFICIENT_LOGON_INFO = make_flag("ERROR_INSUFFICIENT_LOGON_INFO", 608L) +ERROR_BAD_DLL_ENTRYPOINT = make_flag("ERROR_BAD_DLL_ENTRYPOINT", 609L) +ERROR_BAD_SERVICE_ENTRYPOINT = make_flag("ERROR_BAD_SERVICE_ENTRYPOINT", 610L) +ERROR_IP_ADDRESS_CONFLICT1 = make_flag("ERROR_IP_ADDRESS_CONFLICT1", 611L) +ERROR_IP_ADDRESS_CONFLICT2 = make_flag("ERROR_IP_ADDRESS_CONFLICT2", 612L) +ERROR_REGISTRY_QUOTA_LIMIT = make_flag("ERROR_REGISTRY_QUOTA_LIMIT", 613L) +ERROR_NO_CALLBACK_ACTIVE = make_flag("ERROR_NO_CALLBACK_ACTIVE", 614L) +ERROR_PWD_TOO_SHORT = make_flag("ERROR_PWD_TOO_SHORT", 615L) +ERROR_PWD_TOO_RECENT = make_flag("ERROR_PWD_TOO_RECENT", 616L) +ERROR_PWD_HISTORY_CONFLICT = make_flag("ERROR_PWD_HISTORY_CONFLICT", 617L) +ERROR_UNSUPPORTED_COMPRESSION = make_flag("ERROR_UNSUPPORTED_COMPRESSION", 618L) +ERROR_INVALID_HW_PROFILE = make_flag("ERROR_INVALID_HW_PROFILE", 619L) +ERROR_INVALID_PLUGPLAY_DEVICE_PATH = make_flag("ERROR_INVALID_PLUGPLAY_DEVICE_PATH", 620L) +ERROR_QUOTA_LIST_INCONSISTENT = make_flag("ERROR_QUOTA_LIST_INCONSISTENT", 621L) +ERROR_EVALUATION_EXPIRATION = make_flag("ERROR_EVALUATION_EXPIRATION", 622L) +ERROR_ILLEGAL_DLL_RELOCATION = make_flag("ERROR_ILLEGAL_DLL_RELOCATION", 623L) +ERROR_DLL_INIT_FAILED_LOGOFF = make_flag("ERROR_DLL_INIT_FAILED_LOGOFF", 624L) +ERROR_VALIDATE_CONTINUE = make_flag("ERROR_VALIDATE_CONTINUE", 625L) +ERROR_NO_MORE_MATCHES = make_flag("ERROR_NO_MORE_MATCHES", 626L) +ERROR_RANGE_LIST_CONFLICT = make_flag("ERROR_RANGE_LIST_CONFLICT", 627L) +ERROR_SERVER_SID_MISMATCH = make_flag("ERROR_SERVER_SID_MISMATCH", 628L) +ERROR_CANT_ENABLE_DENY_ONLY = make_flag("ERROR_CANT_ENABLE_DENY_ONLY", 629L) +ERROR_FLOAT_MULTIPLE_FAULTS = make_flag("ERROR_FLOAT_MULTIPLE_FAULTS", 630L) +ERROR_FLOAT_MULTIPLE_TRAPS = make_flag("ERROR_FLOAT_MULTIPLE_TRAPS", 631L) +ERROR_NOINTERFACE = make_flag("ERROR_NOINTERFACE", 632L) +ERROR_DRIVER_FAILED_SLEEP = make_flag("ERROR_DRIVER_FAILED_SLEEP", 633L) +ERROR_CORRUPT_SYSTEM_FILE = make_flag("ERROR_CORRUPT_SYSTEM_FILE", 634L) +ERROR_COMMITMENT_MINIMUM = make_flag("ERROR_COMMITMENT_MINIMUM", 635L) +ERROR_PNP_RESTART_ENUMERATION = make_flag("ERROR_PNP_RESTART_ENUMERATION", 636L) +ERROR_SYSTEM_IMAGE_BAD_SIGNATURE = make_flag("ERROR_SYSTEM_IMAGE_BAD_SIGNATURE", 637L) +ERROR_PNP_REBOOT_REQUIRED = make_flag("ERROR_PNP_REBOOT_REQUIRED", 638L) +ERROR_INSUFFICIENT_POWER = make_flag("ERROR_INSUFFICIENT_POWER", 639L) +ERROR_MULTIPLE_FAULT_VIOLATION = make_flag("ERROR_MULTIPLE_FAULT_VIOLATION", 640L) +ERROR_SYSTEM_SHUTDOWN = make_flag("ERROR_SYSTEM_SHUTDOWN", 641L) +ERROR_PORT_NOT_SET = make_flag("ERROR_PORT_NOT_SET", 642L) +ERROR_DS_VERSION_CHECK_FAILURE = make_flag("ERROR_DS_VERSION_CHECK_FAILURE", 643L) +ERROR_RANGE_NOT_FOUND = make_flag("ERROR_RANGE_NOT_FOUND", 644L) +ERROR_NOT_SAFE_MODE_DRIVER = make_flag("ERROR_NOT_SAFE_MODE_DRIVER", 646L) +ERROR_FAILED_DRIVER_ENTRY = make_flag("ERROR_FAILED_DRIVER_ENTRY", 647L) +ERROR_DEVICE_ENUMERATION_ERROR = make_flag("ERROR_DEVICE_ENUMERATION_ERROR", 648L) +ERROR_MOUNT_POINT_NOT_RESOLVED = make_flag("ERROR_MOUNT_POINT_NOT_RESOLVED", 649L) +ERROR_INVALID_DEVICE_OBJECT_PARAMETER = make_flag("ERROR_INVALID_DEVICE_OBJECT_PARAMETER", 650L) +ERROR_MCA_OCCURED = make_flag("ERROR_MCA_OCCURED", 651L) +ERROR_DRIVER_DATABASE_ERROR = make_flag("ERROR_DRIVER_DATABASE_ERROR", 652L) +ERROR_SYSTEM_HIVE_TOO_LARGE = make_flag("ERROR_SYSTEM_HIVE_TOO_LARGE", 653L) +ERROR_DRIVER_FAILED_PRIOR_UNLOAD = make_flag("ERROR_DRIVER_FAILED_PRIOR_UNLOAD", 654L) +ERROR_VOLSNAP_PREPARE_HIBERNATE = make_flag("ERROR_VOLSNAP_PREPARE_HIBERNATE", 655L) +ERROR_HIBERNATION_FAILURE = make_flag("ERROR_HIBERNATION_FAILURE", 656L) +ERROR_FILE_SYSTEM_LIMITATION = make_flag("ERROR_FILE_SYSTEM_LIMITATION", 665L) +ERROR_ASSERTION_FAILURE = make_flag("ERROR_ASSERTION_FAILURE", 668L) +ERROR_ACPI_ERROR = make_flag("ERROR_ACPI_ERROR", 669L) +ERROR_WOW_ASSERTION = make_flag("ERROR_WOW_ASSERTION", 670L) +ERROR_PNP_BAD_MPS_TABLE = make_flag("ERROR_PNP_BAD_MPS_TABLE", 671L) +ERROR_PNP_TRANSLATION_FAILED = make_flag("ERROR_PNP_TRANSLATION_FAILED", 672L) +ERROR_PNP_IRQ_TRANSLATION_FAILED = make_flag("ERROR_PNP_IRQ_TRANSLATION_FAILED", 673L) +ERROR_PNP_INVALID_ID = make_flag("ERROR_PNP_INVALID_ID", 674L) +ERROR_WAKE_SYSTEM_DEBUGGER = make_flag("ERROR_WAKE_SYSTEM_DEBUGGER", 675L) +ERROR_HANDLES_CLOSED = make_flag("ERROR_HANDLES_CLOSED", 676L) +ERROR_EXTRANEOUS_INFORMATION = make_flag("ERROR_EXTRANEOUS_INFORMATION", 677L) +ERROR_RXACT_COMMIT_NECESSARY = make_flag("ERROR_RXACT_COMMIT_NECESSARY", 678L) +ERROR_MEDIA_CHECK = make_flag("ERROR_MEDIA_CHECK", 679L) +ERROR_GUID_SUBSTITUTION_MADE = make_flag("ERROR_GUID_SUBSTITUTION_MADE", 680L) +ERROR_STOPPED_ON_SYMLINK = make_flag("ERROR_STOPPED_ON_SYMLINK", 681L) +ERROR_LONGJUMP = make_flag("ERROR_LONGJUMP", 682L) +ERROR_PLUGPLAY_QUERY_VETOED = make_flag("ERROR_PLUGPLAY_QUERY_VETOED", 683L) +ERROR_UNWIND_CONSOLIDATE = make_flag("ERROR_UNWIND_CONSOLIDATE", 684L) +ERROR_REGISTRY_HIVE_RECOVERED = make_flag("ERROR_REGISTRY_HIVE_RECOVERED", 685L) +ERROR_DLL_MIGHT_BE_INSECURE = make_flag("ERROR_DLL_MIGHT_BE_INSECURE", 686L) +ERROR_DLL_MIGHT_BE_INCOMPATIBLE = make_flag("ERROR_DLL_MIGHT_BE_INCOMPATIBLE", 687L) +ERROR_DBG_EXCEPTION_NOT_HANDLED = make_flag("ERROR_DBG_EXCEPTION_NOT_HANDLED", 688L) +ERROR_DBG_REPLY_LATER = make_flag("ERROR_DBG_REPLY_LATER", 689L) +ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE = make_flag("ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE", 690L) +ERROR_DBG_TERMINATE_THREAD = make_flag("ERROR_DBG_TERMINATE_THREAD", 691L) +ERROR_DBG_TERMINATE_PROCESS = make_flag("ERROR_DBG_TERMINATE_PROCESS", 692L) +ERROR_DBG_CONTROL_C = make_flag("ERROR_DBG_CONTROL_C", 693L) +ERROR_DBG_PRINTEXCEPTION_C = make_flag("ERROR_DBG_PRINTEXCEPTION_C", 694L) +ERROR_DBG_RIPEXCEPTION = make_flag("ERROR_DBG_RIPEXCEPTION", 695L) +ERROR_DBG_CONTROL_BREAK = make_flag("ERROR_DBG_CONTROL_BREAK", 696L) +ERROR_DBG_COMMAND_EXCEPTION = make_flag("ERROR_DBG_COMMAND_EXCEPTION", 697L) +ERROR_OBJECT_NAME_EXISTS = make_flag("ERROR_OBJECT_NAME_EXISTS", 698L) +ERROR_THREAD_WAS_SUSPENDED = make_flag("ERROR_THREAD_WAS_SUSPENDED", 699L) +ERROR_IMAGE_NOT_AT_BASE = make_flag("ERROR_IMAGE_NOT_AT_BASE", 700L) +ERROR_RXACT_STATE_CREATED = make_flag("ERROR_RXACT_STATE_CREATED", 701L) +ERROR_SEGMENT_NOTIFICATION = make_flag("ERROR_SEGMENT_NOTIFICATION", 702L) +ERROR_BAD_CURRENT_DIRECTORY = make_flag("ERROR_BAD_CURRENT_DIRECTORY", 703L) +ERROR_FT_READ_RECOVERY_FROM_BACKUP = make_flag("ERROR_FT_READ_RECOVERY_FROM_BACKUP", 704L) +ERROR_FT_WRITE_RECOVERY = make_flag("ERROR_FT_WRITE_RECOVERY", 705L) +ERROR_IMAGE_MACHINE_TYPE_MISMATCH = make_flag("ERROR_IMAGE_MACHINE_TYPE_MISMATCH", 706L) +ERROR_RECEIVE_PARTIAL = make_flag("ERROR_RECEIVE_PARTIAL", 707L) +ERROR_RECEIVE_EXPEDITED = make_flag("ERROR_RECEIVE_EXPEDITED", 708L) +ERROR_RECEIVE_PARTIAL_EXPEDITED = make_flag("ERROR_RECEIVE_PARTIAL_EXPEDITED", 709L) +ERROR_EVENT_DONE = make_flag("ERROR_EVENT_DONE", 710L) +ERROR_EVENT_PENDING = make_flag("ERROR_EVENT_PENDING", 711L) +ERROR_CHECKING_FILE_SYSTEM = make_flag("ERROR_CHECKING_FILE_SYSTEM", 712L) +ERROR_FATAL_APP_EXIT = make_flag("ERROR_FATAL_APP_EXIT", 713L) +ERROR_PREDEFINED_HANDLE = make_flag("ERROR_PREDEFINED_HANDLE", 714L) +ERROR_WAS_UNLOCKED = make_flag("ERROR_WAS_UNLOCKED", 715L) +ERROR_SERVICE_NOTIFICATION = make_flag("ERROR_SERVICE_NOTIFICATION", 716L) +ERROR_WAS_LOCKED = make_flag("ERROR_WAS_LOCKED", 717L) +ERROR_LOG_HARD_ERROR = make_flag("ERROR_LOG_HARD_ERROR", 718L) +ERROR_ALREADY_WIN32 = make_flag("ERROR_ALREADY_WIN32", 719L) +ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE = make_flag("ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE", 720L) +ERROR_NO_YIELD_PERFORMED = make_flag("ERROR_NO_YIELD_PERFORMED", 721L) +ERROR_TIMER_RESUME_IGNORED = make_flag("ERROR_TIMER_RESUME_IGNORED", 722L) +ERROR_ARBITRATION_UNHANDLED = make_flag("ERROR_ARBITRATION_UNHANDLED", 723L) +ERROR_CARDBUS_NOT_SUPPORTED = make_flag("ERROR_CARDBUS_NOT_SUPPORTED", 724L) +ERROR_MP_PROCESSOR_MISMATCH = make_flag("ERROR_MP_PROCESSOR_MISMATCH", 725L) +ERROR_HIBERNATED = make_flag("ERROR_HIBERNATED", 726L) +ERROR_RESUME_HIBERNATION = make_flag("ERROR_RESUME_HIBERNATION", 727L) +ERROR_FIRMWARE_UPDATED = make_flag("ERROR_FIRMWARE_UPDATED", 728L) +ERROR_DRIVERS_LEAKING_LOCKED_PAGES = make_flag("ERROR_DRIVERS_LEAKING_LOCKED_PAGES", 729L) +ERROR_WAKE_SYSTEM = make_flag("ERROR_WAKE_SYSTEM", 730L) +ERROR_WAIT_1 = make_flag("ERROR_WAIT_1", 731L) +ERROR_WAIT_2 = make_flag("ERROR_WAIT_2", 732L) +ERROR_WAIT_3 = make_flag("ERROR_WAIT_3", 733L) +ERROR_WAIT_63 = make_flag("ERROR_WAIT_63", 734L) +ERROR_ABANDONED_WAIT_0 = make_flag("ERROR_ABANDONED_WAIT_0", 735L) +ERROR_ABANDONED_WAIT_63 = make_flag("ERROR_ABANDONED_WAIT_63", 736L) +ERROR_USER_APC = make_flag("ERROR_USER_APC", 737L) +ERROR_KERNEL_APC = make_flag("ERROR_KERNEL_APC", 738L) +ERROR_ALERTED = make_flag("ERROR_ALERTED", 739L) +ERROR_ELEVATION_REQUIRED = make_flag("ERROR_ELEVATION_REQUIRED", 740L) +ERROR_REPARSE = make_flag("ERROR_REPARSE", 741L) +ERROR_OPLOCK_BREAK_IN_PROGRESS = make_flag("ERROR_OPLOCK_BREAK_IN_PROGRESS", 742L) +ERROR_VOLUME_MOUNTED = make_flag("ERROR_VOLUME_MOUNTED", 743L) +ERROR_RXACT_COMMITTED = make_flag("ERROR_RXACT_COMMITTED", 744L) +ERROR_NOTIFY_CLEANUP = make_flag("ERROR_NOTIFY_CLEANUP", 745L) +ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED = make_flag("ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED", 746L) +ERROR_PAGE_FAULT_TRANSITION = make_flag("ERROR_PAGE_FAULT_TRANSITION", 747L) +ERROR_PAGE_FAULT_DEMAND_ZERO = make_flag("ERROR_PAGE_FAULT_DEMAND_ZERO", 748L) +ERROR_PAGE_FAULT_COPY_ON_WRITE = make_flag("ERROR_PAGE_FAULT_COPY_ON_WRITE", 749L) +ERROR_PAGE_FAULT_GUARD_PAGE = make_flag("ERROR_PAGE_FAULT_GUARD_PAGE", 750L) +ERROR_PAGE_FAULT_PAGING_FILE = make_flag("ERROR_PAGE_FAULT_PAGING_FILE", 751L) +ERROR_CACHE_PAGE_LOCKED = make_flag("ERROR_CACHE_PAGE_LOCKED", 752L) +ERROR_CRASH_DUMP = make_flag("ERROR_CRASH_DUMP", 753L) +ERROR_BUFFER_ALL_ZEROS = make_flag("ERROR_BUFFER_ALL_ZEROS", 754L) +ERROR_REPARSE_OBJECT = make_flag("ERROR_REPARSE_OBJECT", 755L) +ERROR_RESOURCE_REQUIREMENTS_CHANGED = make_flag("ERROR_RESOURCE_REQUIREMENTS_CHANGED", 756L) +ERROR_TRANSLATION_COMPLETE = make_flag("ERROR_TRANSLATION_COMPLETE", 757L) +ERROR_NOTHING_TO_TERMINATE = make_flag("ERROR_NOTHING_TO_TERMINATE", 758L) +ERROR_PROCESS_NOT_IN_JOB = make_flag("ERROR_PROCESS_NOT_IN_JOB", 759L) +ERROR_PROCESS_IN_JOB = make_flag("ERROR_PROCESS_IN_JOB", 760L) +ERROR_VOLSNAP_HIBERNATE_READY = make_flag("ERROR_VOLSNAP_HIBERNATE_READY", 761L) +ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY = make_flag("ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY", 762L) +ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED = make_flag("ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED", 763L) +ERROR_INTERRUPT_STILL_CONNECTED = make_flag("ERROR_INTERRUPT_STILL_CONNECTED", 764L) +ERROR_WAIT_FOR_OPLOCK = make_flag("ERROR_WAIT_FOR_OPLOCK", 765L) +ERROR_DBG_EXCEPTION_HANDLED = make_flag("ERROR_DBG_EXCEPTION_HANDLED", 766L) +ERROR_DBG_CONTINUE = make_flag("ERROR_DBG_CONTINUE", 767L) +ERROR_CALLBACK_POP_STACK = make_flag("ERROR_CALLBACK_POP_STACK", 768L) +ERROR_COMPRESSION_DISABLED = make_flag("ERROR_COMPRESSION_DISABLED", 769L) +ERROR_CANTFETCHBACKWARDS = make_flag("ERROR_CANTFETCHBACKWARDS", 770L) +ERROR_CANTSCROLLBACKWARDS = make_flag("ERROR_CANTSCROLLBACKWARDS", 771L) +ERROR_ROWSNOTRELEASED = make_flag("ERROR_ROWSNOTRELEASED", 772L) +ERROR_BAD_ACCESSOR_FLAGS = make_flag("ERROR_BAD_ACCESSOR_FLAGS", 773L) +ERROR_ERRORS_ENCOUNTERED = make_flag("ERROR_ERRORS_ENCOUNTERED", 774L) +ERROR_NOT_CAPABLE = make_flag("ERROR_NOT_CAPABLE", 775L) +ERROR_REQUEST_OUT_OF_SEQUENCE = make_flag("ERROR_REQUEST_OUT_OF_SEQUENCE", 776L) +ERROR_VERSION_PARSE_ERROR = make_flag("ERROR_VERSION_PARSE_ERROR", 777L) +ERROR_BADSTARTPOSITION = make_flag("ERROR_BADSTARTPOSITION", 778L) +ERROR_MEMORY_HARDWARE = make_flag("ERROR_MEMORY_HARDWARE", 779L) +ERROR_DISK_REPAIR_DISABLED = make_flag("ERROR_DISK_REPAIR_DISABLED", 780L) +ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE = make_flag("ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE", 781L) +ERROR_SYSTEM_POWERSTATE_TRANSITION = make_flag("ERROR_SYSTEM_POWERSTATE_TRANSITION", 782L) +ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION = make_flag("ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION", 783L) +ERROR_MCA_EXCEPTION = make_flag("ERROR_MCA_EXCEPTION", 784L) +ERROR_ACCESS_AUDIT_BY_POLICY = make_flag("ERROR_ACCESS_AUDIT_BY_POLICY", 785L) +ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY = make_flag("ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY", 786L) +ERROR_ABANDON_HIBERFILE = make_flag("ERROR_ABANDON_HIBERFILE", 787L) +ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED = make_flag("ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED", 788L) +ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR = make_flag("ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR", 789L) +ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR = make_flag("ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR", 790L) +ERROR_BAD_MCFG_TABLE = make_flag("ERROR_BAD_MCFG_TABLE", 791L) +ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE = make_flag("ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE", 800L) +ERROR_CANNOT_GRANT_REQUESTED_OPLOCK = make_flag("ERROR_CANNOT_GRANT_REQUESTED_OPLOCK", 801L) +ERROR_CANNOT_BREAK_OPLOCK = make_flag("ERROR_CANNOT_BREAK_OPLOCK", 802L) +ERROR_OPLOCK_HANDLE_CLOSED = make_flag("ERROR_OPLOCK_HANDLE_CLOSED", 803L) +ERROR_NO_ACE_CONDITION = make_flag("ERROR_NO_ACE_CONDITION", 804L) +ERROR_INVALID_ACE_CONDITION = make_flag("ERROR_INVALID_ACE_CONDITION", 805L) +ERROR_EA_ACCESS_DENIED = make_flag("ERROR_EA_ACCESS_DENIED", 994L) +ERROR_OPERATION_ABORTED = make_flag("ERROR_OPERATION_ABORTED", 995L) +ERROR_IO_INCOMPLETE = make_flag("ERROR_IO_INCOMPLETE", 996L) +ERROR_IO_PENDING = make_flag("ERROR_IO_PENDING", 997L) +ERROR_NOACCESS = make_flag("ERROR_NOACCESS", 998L) +ERROR_SWAPERROR = make_flag("ERROR_SWAPERROR", 999L) +ERROR_STACK_OVERFLOW = make_flag("ERROR_STACK_OVERFLOW", 1001L) +ERROR_INVALID_MESSAGE = make_flag("ERROR_INVALID_MESSAGE", 1002L) +ERROR_CAN_NOT_COMPLETE = make_flag("ERROR_CAN_NOT_COMPLETE", 1003L) +ERROR_INVALID_FLAGS = make_flag("ERROR_INVALID_FLAGS", 1004L) +ERROR_UNRECOGNIZED_VOLUME = make_flag("ERROR_UNRECOGNIZED_VOLUME", 1005L) +ERROR_FILE_INVALID = make_flag("ERROR_FILE_INVALID", 1006L) +ERROR_FULLSCREEN_MODE = make_flag("ERROR_FULLSCREEN_MODE", 1007L) +ERROR_NO_TOKEN = make_flag("ERROR_NO_TOKEN", 1008L) +ERROR_BADDB = make_flag("ERROR_BADDB", 1009L) +ERROR_BADKEY = make_flag("ERROR_BADKEY", 1010L) +ERROR_CANTOPEN = make_flag("ERROR_CANTOPEN", 1011L) +ERROR_CANTREAD = make_flag("ERROR_CANTREAD", 1012L) +ERROR_CANTWRITE = make_flag("ERROR_CANTWRITE", 1013L) +ERROR_REGISTRY_RECOVERED = make_flag("ERROR_REGISTRY_RECOVERED", 1014L) +ERROR_REGISTRY_CORRUPT = make_flag("ERROR_REGISTRY_CORRUPT", 1015L) +ERROR_REGISTRY_IO_FAILED = make_flag("ERROR_REGISTRY_IO_FAILED", 1016L) +ERROR_NOT_REGISTRY_FILE = make_flag("ERROR_NOT_REGISTRY_FILE", 1017L) +ERROR_KEY_DELETED = make_flag("ERROR_KEY_DELETED", 1018L) +ERROR_NO_LOG_SPACE = make_flag("ERROR_NO_LOG_SPACE", 1019L) +ERROR_KEY_HAS_CHILDREN = make_flag("ERROR_KEY_HAS_CHILDREN", 1020L) +ERROR_CHILD_MUST_BE_VOLATILE = make_flag("ERROR_CHILD_MUST_BE_VOLATILE", 1021L) +ERROR_NOTIFY_ENUM_DIR = make_flag("ERROR_NOTIFY_ENUM_DIR", 1022L) \ No newline at end of file diff --git a/windows/generated_def/winfuncs.py b/windows/generated_def/winfuncs.py index 55f8beb..b60f86f 100644 --- a/windows/generated_def/winfuncs.py +++ b/windows/generated_def/winfuncs.py @@ -6,7 +6,7 @@ from ctypes.wintypes import * from winstructs import * -functions = ['ExitProcess', 'TerminateProcess', 'GetLastError', 'GetCurrentProcess', 'CreateFileA', 'CreateFileW', 'NtCreateFile', 'LdrLoadDll', 'NtQuerySystemInformation', 'NtQueryInformationProcess', 'NtQueryVirtualMemory', 'NtCreateThreadEx', 'NtQueryInformationThread', 'GetExitCodeThread', 'GetExitCodeProcess', 'VirtualAlloc', 'VirtualAllocEx', 'NtProtectVirtualMemory', 'VirtualFree', 'VirtualFreeEx', 'VirtualProtect', 'VirtualProtectEx', 'VirtualQuery', 'VirtualQueryEx', 'QueryWorkingSet', 'QueryWorkingSetEx', 'GetModuleFileNameA', 'GetModuleFileNameW', 'CreateThread', 'CreateRemoteThread', 'VirtualProtect', 'CreateProcessA', 'CreateProcessW', 'GetThreadContext', 'NtGetContextThread', 'SetThreadContext', 'NtSetContextThread', 'OpenThread', 'OpenProcess', 'CloseHandle', 'ReadProcessMemory', 'NtWow64ReadVirtualMemory64', 'WriteProcessMemory', 'NtWow64WriteVirtualMemory64', 'CreateToolhelp32Snapshot', 'Thread32First', 'Thread32Next', 'Process32First', 'Process32Next', 'Process32FirstW', 'Process32NextW', 'GetProcAddress', 'LoadLibraryA', 'LoadLibraryW', 'OpenProcessToken', 'LookupPrivilegeValueA', 'LookupPrivilegeValueW', 'AdjustTokenPrivileges', 'FindResourceA', 'FindResourceW', 'SizeofResource', 'LoadResource', 'LockResource', 'GetVersionExA', 'GetVersionExW', 'GetVersion', 'GetCurrentThread', 'GetCurrentThreadId', 'GetCurrentProcessorNumber', 'AllocConsole', 'FreeConsole', 'GetStdHandle', 'SetStdHandle', 'SetThreadAffinityMask', 'ReadFile', 'WriteFile', 'GetExtendedTcpTable', 'GetExtendedUdpTable', 'SetTcpEntry', 'AddVectoredContinueHandler', 'AddVectoredExceptionHandler', 'TerminateThread', 'ExitThread', 'RemoveVectoredExceptionHandler', 'ResumeThread', 'SuspendThread', 'WaitForSingleObject', 'GetThreadId', 'LoadLibraryExA', 'LoadLibraryExW', 'SymInitialize', 'SymFromName', 'SymLoadModuleEx', 'SymSetOptions', 'SymGetTypeInfo', 'DeviceIoControl', 'GetTokenInformation', 'RegOpenKeyExA', 'RegOpenKeyExW', 'RegGetValueA', 'RegGetValueW', 'RegCloseKey', 'Wow64DisableWow64FsRedirection', 'Wow64RevertWow64FsRedirection', 'Wow64EnableWow64FsRedirection', 'Wow64GetThreadContext', 'SetConsoleCtrlHandler', 'WinVerifyTrust', 'GlobalAlloc', 'GlobalFree', 'GlobalUnlock', 'GlobalLock', 'OpenClipboard', 'EmptyClipboard', 'CloseClipboard', 'SetClipboardData', 'GetClipboardData', 'EnumClipboardFormats', 'GetClipboardFormatNameA', 'GetClipboardFormatNameW', 'WinVerifyTrust', 'OpenProcessToken', 'OpenThreadToken', 'GetTokenInformation', 'SetTokenInformation', 'GetSidIdentifierAuthority', 'GetSidSubAuthority', 'GetSidSubAuthorityCount', 'DebugBreak', 'WaitForDebugEvent', 'ContinueDebugEvent', 'DebugActiveProcess', 'DebugActiveProcessStop', 'DebugSetProcessKillOnExit', 'DebugBreakProcess', 'GetProcessId', 'Wow64SetThreadContext', 'GetMappedFileNameW', 'GetMappedFileNameA', 'RtlInitString', 'RtlInitUnicodeString', 'RtlAnsiStringToUnicodeString', 'OpenEventA', 'OpenEventW', 'NtOpenEvent', 'NtAlpcCreatePort', 'NtAlpcConnectPort', 'NtAlpcConnectPortEx', 'NtAlpcAcceptConnectPort', 'AlpcInitializeMessageAttribute', 'AlpcGetMessageAttribute', 'NtAlpcSendWaitReceivePort', 'lstrcmpA', 'lstrcmpW', 'CreateFileMappingA', 'CreateFileMappingW', 'MapViewOfFile', 'OpenSCManagerA', 'OpenSCManagerW', 'EnumServicesStatusExA', 'EnumServicesStatusExW', 'EnumWindows', 'GetWindowTextA', 'GetWindowTextW', 'GetWindowModuleFileNameA', 'GetWindowModuleFileNameW', 'CryptCATAdminCalcHashFromFileHandle', 'CryptCATAdminEnumCatalogFromHash', 'CryptCATAdminAcquireContext', 'CryptCATCatalogInfoFromContext', 'CryptCATAdminReleaseCatalogContext', 'CryptCATAdminReleaseContext', 'GetLogicalDriveStringsA', 'GetLogicalDriveStringsW', 'GetVolumeInformationA', 'GetVolumeInformationW', 'GetVolumeNameForVolumeMountPointA', 'GetVolumeNameForVolumeMountPointW', 'GetDriveTypeA', 'GetDriveTypeW', 'QueryDosDeviceA', 'QueryDosDeviceW', 'NtQueryObject', 'DuplicateHandle', 'GetModuleBaseNameA', 'GetModuleBaseNameW', 'GetProcessImageFileNameA', 'GetProcessImageFileNameW', 'GetFileVersionInfoA', 'GetFileVersionInfoW', 'GetFileVersionInfoSizeA', 'GetFileVersionInfoSizeW', 'VerQueryValueA', 'VerQueryValueW', 'GetSystemMetrics', 'GetComputerNameA', 'GetComputerNameW', 'LookupAccountSidA', 'LookupAccountSidW', 'CoInitializeEx', 'CoInitializeSecurity', 'CoCreateInstance', 'GetInterfaceInfo', 'GetIfTable', 'GetIpAddrTable', 'NtOpenDirectoryObject', 'NtQueryDirectoryObject', 'NtQuerySymbolicLinkObject', 'NtOpenSymbolicLinkObject', 'GetProcessTimes', 'GetShortPathNameA', 'GetShortPathNameW', 'GetLongPathNameA', 'GetLongPathNameW', 'GetProcessDEPPolicy', 'GetCursorPos', 'WindowFromPoint', 'GetWindowRect', 'CryptQueryObject', 'CryptMsgGetParam', 'CryptDecodeObject', 'CertFindCertificateInStore', 'CertGetNameStringA', 'CertGetNameStringW', 'CertGetCertificateChain', 'CertCreateSelfSignCertificate', 'CertStrToNameA', 'CertStrToNameW', 'CertOpenStore', 'CertAddCertificateContextToStore', 'PFXExportCertStoreEx', 'PFXImportCertStore', 'CryptGenKey', 'CryptDestroyKey', 'CryptAcquireContextA', 'CryptAcquireContextW', 'CryptReleaseContext', 'CryptExportKey', 'CertGetCertificateContextProperty', 'CertEnumCertificateContextProperties', 'CryptEncryptMessage', 'CryptDecryptMessage', 'CryptAcquireCertificatePrivateKey', 'CertDuplicateCertificateContext', 'CertEnumCertificatesInStore', 'CryptEncodeObjectEx', 'CertCreateCertificateContext'] +functions = ['ExitProcess', 'TerminateProcess', 'GetLastError', 'GetCurrentProcess', 'CreateFileA', 'CreateFileW', 'NtCreateFile', 'LdrLoadDll', 'NtQuerySystemInformation', 'NtQueryInformationProcess', 'NtQueryVirtualMemory', 'NtCreateThreadEx', 'NtQueryInformationThread', 'GetExitCodeThread', 'GetExitCodeProcess', 'VirtualAlloc', 'VirtualAllocEx', 'NtProtectVirtualMemory', 'VirtualFree', 'VirtualFreeEx', 'VirtualProtect', 'VirtualProtectEx', 'VirtualQuery', 'VirtualQueryEx', 'QueryWorkingSet', 'QueryWorkingSetEx', 'GetModuleFileNameA', 'GetModuleFileNameW', 'CreateThread', 'CreateRemoteThread', 'VirtualProtect', 'CreateProcessA', 'CreateProcessW', 'GetThreadContext', 'NtGetContextThread', 'SetThreadContext', 'NtSetContextThread', 'OpenThread', 'OpenProcess', 'CloseHandle', 'ReadProcessMemory', 'NtWow64ReadVirtualMemory64', 'WriteProcessMemory', 'NtWow64WriteVirtualMemory64', 'CreateToolhelp32Snapshot', 'Thread32First', 'Thread32Next', 'Process32First', 'Process32Next', 'Process32FirstW', 'Process32NextW', 'GetProcAddress', 'LoadLibraryA', 'LoadLibraryW', 'OpenProcessToken', 'OpenThreadToken', 'LookupPrivilegeValueA', 'LookupPrivilegeValueW', 'AdjustTokenPrivileges', 'FindResourceA', 'FindResourceW', 'SizeofResource', 'LoadResource', 'LockResource', 'GetVersionExA', 'GetVersionExW', 'GetVersion', 'GetCurrentThread', 'GetCurrentThreadId', 'GetCurrentProcessorNumber', 'AllocConsole', 'FreeConsole', 'GetStdHandle', 'SetStdHandle', 'SetThreadAffinityMask', 'ReadFile', 'WriteFile', 'GetExtendedTcpTable', 'GetExtendedUdpTable', 'SetTcpEntry', 'AddVectoredContinueHandler', 'AddVectoredExceptionHandler', 'TerminateThread', 'ExitThread', 'RemoveVectoredExceptionHandler', 'ResumeThread', 'SuspendThread', 'WaitForSingleObject', 'GetThreadId', 'LoadLibraryExA', 'LoadLibraryExW', 'SymInitialize', 'SymFromName', 'SymLoadModuleEx', 'SymSetOptions', 'SymGetTypeInfo', 'DeviceIoControl', 'GetTokenInformation', 'RegOpenKeyExA', 'RegOpenKeyExW', 'RegGetValueA', 'RegGetValueW', 'RegCloseKey', 'Wow64DisableWow64FsRedirection', 'Wow64RevertWow64FsRedirection', 'Wow64EnableWow64FsRedirection', 'Wow64GetThreadContext', 'SetConsoleCtrlHandler', 'WinVerifyTrust', 'GlobalAlloc', 'GlobalFree', 'GlobalUnlock', 'GlobalLock', 'OpenClipboard', 'EmptyClipboard', 'CloseClipboard', 'SetClipboardData', 'GetClipboardData', 'EnumClipboardFormats', 'GetClipboardFormatNameA', 'GetClipboardFormatNameW', 'WinVerifyTrust', 'OpenProcessToken', 'OpenThreadToken', 'GetTokenInformation', 'SetTokenInformation', 'GetSidIdentifierAuthority', 'GetSidSubAuthority', 'GetSidSubAuthorityCount', 'DebugBreak', 'WaitForDebugEvent', 'ContinueDebugEvent', 'DebugActiveProcess', 'DebugActiveProcessStop', 'DebugSetProcessKillOnExit', 'DebugBreakProcess', 'GetProcessId', 'Wow64SetThreadContext', 'GetMappedFileNameW', 'GetMappedFileNameA', 'RtlInitString', 'RtlInitUnicodeString', 'RtlAnsiStringToUnicodeString', 'RtlDecompressBuffer', 'OpenEventA', 'OpenEventW', 'NtOpenEvent', 'NtAlpcCreatePort', 'NtAlpcConnectPort', 'NtAlpcConnectPortEx', 'NtAlpcAcceptConnectPort', 'AlpcInitializeMessageAttribute', 'AlpcGetMessageAttribute', 'NtAlpcSendWaitReceivePort', 'lstrcmpA', 'lstrcmpW', 'CreateFileMappingA', 'CreateFileMappingW', 'MapViewOfFile', 'OpenSCManagerA', 'OpenSCManagerW', 'EnumServicesStatusExA', 'EnumServicesStatusExW', 'EnumWindows', 'GetWindowTextA', 'GetWindowTextW', 'GetWindowModuleFileNameA', 'GetWindowModuleFileNameW', 'CryptCATAdminCalcHashFromFileHandle', 'CryptCATAdminEnumCatalogFromHash', 'CryptCATAdminAcquireContext', 'CryptCATCatalogInfoFromContext', 'CryptCATAdminReleaseCatalogContext', 'CryptCATAdminReleaseContext', 'GetLogicalDriveStringsA', 'GetLogicalDriveStringsW', 'GetVolumeInformationA', 'GetVolumeInformationW', 'GetVolumeNameForVolumeMountPointA', 'GetVolumeNameForVolumeMountPointW', 'GetDriveTypeA', 'GetDriveTypeW', 'QueryDosDeviceA', 'QueryDosDeviceW', 'NtQueryObject', 'DuplicateHandle', 'GetModuleBaseNameA', 'GetModuleBaseNameW', 'GetProcessImageFileNameA', 'GetProcessImageFileNameW', 'GetFileVersionInfoA', 'GetFileVersionInfoW', 'GetFileVersionInfoSizeA', 'GetFileVersionInfoSizeW', 'VerQueryValueA', 'VerQueryValueW', 'GetSystemMetrics', 'GetComputerNameA', 'GetComputerNameW', 'LookupAccountSidA', 'LookupAccountSidW', 'CoInitializeEx', 'CoInitializeSecurity', 'CoCreateInstance', 'GetInterfaceInfo', 'GetIfTable', 'GetIpAddrTable', 'NtOpenDirectoryObject', 'NtQueryDirectoryObject', 'NtQuerySymbolicLinkObject', 'NtOpenSymbolicLinkObject', 'GetProcessTimes', 'GetShortPathNameA', 'GetShortPathNameW', 'GetLongPathNameA', 'GetLongPathNameW', 'GetProcessDEPPolicy', 'GetCursorPos', 'WindowFromPoint', 'GetWindowRect', 'GetNamedSecurityInfoA', 'GetNamedSecurityInfoW', 'GetSecurityInfo', 'ConvertStringSidToSidA', 'ConvertStringSidToSidW', 'ConvertSidToStringSidA', 'ConvertSidToStringSidW', 'LocalFree', 'RegQueryValueExA', 'RegQueryValueExW', 'ShellExecuteA', 'ShellExecuteW', 'CryptQueryObject', 'CryptMsgGetParam', 'CryptDecodeObject', 'CertFindCertificateInStore', 'CertGetNameStringA', 'CertGetNameStringW', 'CertGetCertificateChain', 'CertCreateSelfSignCertificate', 'CertStrToNameA', 'CertStrToNameW', 'CertOpenStore', 'CertAddCertificateContextToStore', 'PFXExportCertStoreEx', 'PFXImportCertStore', 'CryptGenKey', 'CryptDestroyKey', 'CryptAcquireContextA', 'CryptAcquireContextW', 'CryptReleaseContext', 'CryptExportKey', 'CertGetCertificateContextProperty', 'CertEnumCertificateContextProperties', 'CryptEncryptMessage', 'CryptDecryptMessage', 'CryptAcquireCertificatePrivateKey', 'CertDuplicateCertificateContext', 'CertEnumCertificatesInStore', 'CryptEncodeObjectEx', 'CertCreateCertificateContext'] #def ExitProcess(uExitCode): @@ -284,6 +284,11 @@ LoadLibraryWParams = ((1, 'lpFileName'),) OpenProcessTokenPrototype = WINFUNCTYPE(BOOL, HANDLE, DWORD, PHANDLE) OpenProcessTokenParams = ((1, 'ProcessHandle'), (1, 'DesiredAccess'), (1, 'TokenHandle')) +#def OpenThreadToken(ThreadHandle, DesiredAccess, OpenAsSelf, TokenHandle): +# return OpenThreadToken.ctypes_function(ThreadHandle, DesiredAccess, OpenAsSelf, TokenHandle) +OpenThreadTokenPrototype = WINFUNCTYPE(BOOL, HANDLE, DWORD, BOOL, PHANDLE) +OpenThreadTokenParams = ((1, 'ThreadHandle'), (1, 'DesiredAccess'), (1, 'OpenAsSelf'), (1, 'TokenHandle')) + #def LookupPrivilegeValueA(lpSystemName, lpName, lpLuid): # return LookupPrivilegeValueA.ctypes_function(lpSystemName, lpName, lpLuid) LookupPrivilegeValueAPrototype = WINFUNCTYPE(BOOL, LPCSTR, LPCSTR, PLUID) @@ -646,7 +651,7 @@ GetSidSubAuthorityParams = ((1, 'pSid'), (1, 'nSubAuthority')) #def GetSidSubAuthorityCount(pSid): # return GetSidSubAuthorityCount.ctypes_function(pSid) -GetSidSubAuthorityCountPrototype = WINFUNCTYPE(PUCHAR, PSID) +GetSidSubAuthorityCountPrototype = WINFUNCTYPE(LPBYTE, PSID) GetSidSubAuthorityCountParams = ((1, 'pSid'),) #def DebugBreak(): @@ -719,6 +724,11 @@ RtlInitUnicodeStringParams = ((1, 'DestinationString'), (1, 'SourceString')) RtlAnsiStringToUnicodeStringPrototype = WINFUNCTYPE(NTSTATUS, PUNICODE_STRING, PCANSI_STRING, BOOLEAN) RtlAnsiStringToUnicodeStringParams = ((1, 'DestinationString'), (1, 'SourceString'), (1, 'AllocateDestinationString')) +#def RtlDecompressBuffer(CompressionFormat, UncompressedBuffer, UncompressedBufferSize, CompressedBuffer, CompressedBufferSize, FinalUncompressedSize): +# return RtlDecompressBuffer.ctypes_function(CompressionFormat, UncompressedBuffer, UncompressedBufferSize, CompressedBuffer, CompressedBufferSize, FinalUncompressedSize) +RtlDecompressBufferPrototype = WINFUNCTYPE(NTSTATUS, USHORT, PUCHAR, ULONG, PUCHAR, ULONG, PULONG) +RtlDecompressBufferParams = ((1, 'CompressionFormat'), (1, 'UncompressedBuffer'), (1, 'UncompressedBufferSize'), (1, 'CompressedBuffer'), (1, 'CompressedBufferSize'), (1, 'FinalUncompressedSize')) + #def OpenEventA(dwDesiredAccess, bInheritHandle, lpName): # return OpenEventA.ctypes_function(dwDesiredAccess, bInheritHandle, lpName) OpenEventAPrototype = WINFUNCTYPE(HANDLE, DWORD, BOOL, LPCSTR) @@ -1099,6 +1109,66 @@ WindowFromPointParams = ((1, 'Point'),) GetWindowRectPrototype = WINFUNCTYPE(BOOL, HWND, LPRECT) GetWindowRectParams = ((1, 'hWnd'), (1, 'lpRect')) +#def GetNamedSecurityInfoA(pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor): +# return GetNamedSecurityInfoA.ctypes_function(pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor) +GetNamedSecurityInfoAPrototype = WINFUNCTYPE(DWORD, LPCSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION, POINTER(PSID), POINTER(PSID), POINTER(PACL), POINTER(PACL), POINTER(PSECURITY_DESCRIPTOR)) +GetNamedSecurityInfoAParams = ((1, 'pObjectName'), (1, 'ObjectType'), (1, 'SecurityInfo'), (1, 'ppsidOwner'), (1, 'ppsidGroup'), (1, 'ppDacl'), (1, 'ppSacl'), (1, 'ppSecurityDescriptor')) + +#def GetNamedSecurityInfoW(pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor): +# return GetNamedSecurityInfoW.ctypes_function(pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor) +GetNamedSecurityInfoWPrototype = WINFUNCTYPE(DWORD, LPWSTR, SE_OBJECT_TYPE, SECURITY_INFORMATION, POINTER(PSID), POINTER(PSID), POINTER(PACL), POINTER(PACL), POINTER(PSECURITY_DESCRIPTOR)) +GetNamedSecurityInfoWParams = ((1, 'pObjectName'), (1, 'ObjectType'), (1, 'SecurityInfo'), (1, 'ppsidOwner'), (1, 'ppsidGroup'), (1, 'ppDacl'), (1, 'ppSacl'), (1, 'ppSecurityDescriptor')) + +#def GetSecurityInfo(handle, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor): +# return GetSecurityInfo.ctypes_function(handle, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor) +GetSecurityInfoPrototype = WINFUNCTYPE(DWORD, HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION, POINTER(PSID), POINTER(PSID), POINTER(PACL), POINTER(PACL), POINTER(PSECURITY_DESCRIPTOR)) +GetSecurityInfoParams = ((1, 'handle'), (1, 'ObjectType'), (1, 'SecurityInfo'), (1, 'ppsidOwner'), (1, 'ppsidGroup'), (1, 'ppDacl'), (1, 'ppSacl'), (1, 'ppSecurityDescriptor')) + +#def ConvertStringSidToSidA(StringSid, Sid): +# return ConvertStringSidToSidA.ctypes_function(StringSid, Sid) +ConvertStringSidToSidAPrototype = WINFUNCTYPE(BOOL, LPCSTR, POINTER(PSID)) +ConvertStringSidToSidAParams = ((1, 'StringSid'), (1, 'Sid')) + +#def ConvertStringSidToSidW(StringSid, Sid): +# return ConvertStringSidToSidW.ctypes_function(StringSid, Sid) +ConvertStringSidToSidWPrototype = WINFUNCTYPE(BOOL, LPWSTR, POINTER(PSID)) +ConvertStringSidToSidWParams = ((1, 'StringSid'), (1, 'Sid')) + +#def ConvertSidToStringSidA(Sid, StringSid): +# return ConvertSidToStringSidA.ctypes_function(Sid, StringSid) +ConvertSidToStringSidAPrototype = WINFUNCTYPE(BOOL, PSID, POINTER(LPCSTR)) +ConvertSidToStringSidAParams = ((1, 'Sid'), (1, 'StringSid')) + +#def ConvertSidToStringSidW(Sid, StringSid): +# return ConvertSidToStringSidW.ctypes_function(Sid, StringSid) +ConvertSidToStringSidWPrototype = WINFUNCTYPE(BOOL, PSID, POINTER(LPWSTR)) +ConvertSidToStringSidWParams = ((1, 'Sid'), (1, 'StringSid')) + +#def LocalFree(hMem): +# return LocalFree.ctypes_function(hMem) +LocalFreePrototype = WINFUNCTYPE(HLOCAL, HLOCAL) +LocalFreeParams = ((1, 'hMem'),) + +#def RegQueryValueExA(hKey, lpValueName, lpReserved, lpType, lpData, lpcbData): +# return RegQueryValueExA.ctypes_function(hKey, lpValueName, lpReserved, lpType, lpData, lpcbData) +RegQueryValueExAPrototype = WINFUNCTYPE(LONG, HKEY, LPCSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD) +RegQueryValueExAParams = ((1, 'hKey'), (1, 'lpValueName'), (1, 'lpReserved'), (1, 'lpType'), (1, 'lpData'), (1, 'lpcbData')) + +#def RegQueryValueExW(hKey, lpValueName, lpReserved, lpType, lpData, lpcbData): +# return RegQueryValueExW.ctypes_function(hKey, lpValueName, lpReserved, lpType, lpData, lpcbData) +RegQueryValueExWPrototype = WINFUNCTYPE(LONG, HKEY, LPWSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD) +RegQueryValueExWParams = ((1, 'hKey'), (1, 'lpValueName'), (1, 'lpReserved'), (1, 'lpType'), (1, 'lpData'), (1, 'lpcbData')) + +#def ShellExecuteA(hwnd, lpOperation, lpFile, lpParameters, lpDirectory, nShowCmd): +# return ShellExecuteA.ctypes_function(hwnd, lpOperation, lpFile, lpParameters, lpDirectory, nShowCmd) +ShellExecuteAPrototype = WINFUNCTYPE(HINSTANCE, HWND, LPCSTR, LPCSTR, LPCSTR, LPCSTR, INT) +ShellExecuteAParams = ((1, 'hwnd'), (1, 'lpOperation'), (1, 'lpFile'), (1, 'lpParameters'), (1, 'lpDirectory'), (1, 'nShowCmd')) + +#def ShellExecuteW(hwnd, lpOperation, lpFile, lpParameters, lpDirectory, nShowCmd): +# return ShellExecuteW.ctypes_function(hwnd, lpOperation, lpFile, lpParameters, lpDirectory, nShowCmd) +ShellExecuteWPrototype = WINFUNCTYPE(HINSTANCE, HWND, LPWSTR, LPWSTR, LPWSTR, LPWSTR, INT) +ShellExecuteWParams = ((1, 'hwnd'), (1, 'lpOperation'), (1, 'lpFile'), (1, 'lpParameters'), (1, 'lpDirectory'), (1, 'nShowCmd')) + #def CryptQueryObject(dwObjectType, pvObject, dwExpectedContentTypeFlags, dwExpectedFormatTypeFlags, dwFlags, pdwMsgAndCertEncodingType, pdwContentType, pdwFormatType, phCertStore, phMsg, ppvContext): # return CryptQueryObject.ctypes_function(dwObjectType, pvObject, dwExpectedContentTypeFlags, dwExpectedFormatTypeFlags, dwFlags, pdwMsgAndCertEncodingType, pdwContentType, pdwFormatType, phCertStore, phMsg, ppvContext) CryptQueryObjectPrototype = WINFUNCTYPE(BOOL, DWORD, PVOID, DWORD, DWORD, DWORD, POINTER(DWORD), POINTER(DWORD), POINTER(DWORD), POINTER(HCERTSTORE), POINTER(HCRYPTMSG), POINTER(PVOID)) diff --git a/windows/generated_def/winstructs.py b/windows/generated_def/winstructs.py index 8bd0996..ee87b29 100644 --- a/windows/generated_def/winstructs.py +++ b/windows/generated_def/winstructs.py @@ -12,6 +12,8 @@ PSIZE_T = POINTER(SIZE_T) PVOID = c_void_p PPS_POST_PROCESS_INIT_ROUTINE = PVOID NTSTATUS = DWORD +SECURITY_INFORMATION = DWORD +PSECURITY_INFORMATION = POINTER(SECURITY_INFORMATION) PULONG = POINTER(ULONG) PDWORD = POINTER(DWORD) LPDWORD = POINTER(DWORD) @@ -734,6 +736,25 @@ class tagCLSCTX(EnumType): CLSCTX = tagCLSCTX +SE_UNKNOWN_OBJECT_TYPE = EnumValue("_SE_OBJECT_TYPE", "SE_UNKNOWN_OBJECT_TYPE", 0x0) +SE_FILE_OBJECT = EnumValue("_SE_OBJECT_TYPE", "SE_FILE_OBJECT", 0x1) +SE_SERVICE = EnumValue("_SE_OBJECT_TYPE", "SE_SERVICE", 0x2) +SE_PRINTER = EnumValue("_SE_OBJECT_TYPE", "SE_PRINTER", 0x3) +SE_REGISTRY_KEY = EnumValue("_SE_OBJECT_TYPE", "SE_REGISTRY_KEY", 0x4) +SE_LMSHARE = EnumValue("_SE_OBJECT_TYPE", "SE_LMSHARE", 0x5) +SE_KERNEL_OBJECT = EnumValue("_SE_OBJECT_TYPE", "SE_KERNEL_OBJECT", 0x6) +SE_WINDOW_OBJECT = EnumValue("_SE_OBJECT_TYPE", "SE_WINDOW_OBJECT", 0x7) +SE_DS_OBJECT = EnumValue("_SE_OBJECT_TYPE", "SE_DS_OBJECT", 0x8) +SE_DS_OBJECT_ALL = EnumValue("_SE_OBJECT_TYPE", "SE_DS_OBJECT_ALL", 0x9) +SE_PROVIDER_DEFINED_OBJECT = EnumValue("_SE_OBJECT_TYPE", "SE_PROVIDER_DEFINED_OBJECT", 0xa) +SE_WMIGUID_OBJECT = EnumValue("_SE_OBJECT_TYPE", "SE_WMIGUID_OBJECT", 0xb) +SE_REGISTRY_WOW64_32KEY = EnumValue("_SE_OBJECT_TYPE", "SE_REGISTRY_WOW64_32KEY", 0xc) +class _SE_OBJECT_TYPE(EnumType): + values = [SE_UNKNOWN_OBJECT_TYPE, SE_FILE_OBJECT, SE_SERVICE, SE_PRINTER, SE_REGISTRY_KEY, SE_LMSHARE, SE_KERNEL_OBJECT, SE_WINDOW_OBJECT, SE_DS_OBJECT, SE_DS_OBJECT_ALL, SE_PROVIDER_DEFINED_OBJECT, SE_WMIGUID_OBJECT, SE_REGISTRY_WOW64_32KEY] + mapper = {x:x for x in values} +SE_OBJECT_TYPE = _SE_OBJECT_TYPE + + IF_OPER_STATUS_NON_OPERATIONAL = EnumValue("_INTERNAL_IF_OPER_STATUS", "IF_OPER_STATUS_NON_OPERATIONAL", 0x0) IF_OPER_STATUS_UNREACHABLE = EnumValue("_INTERNAL_IF_OPER_STATUS", "IF_OPER_STATUS_UNREACHABLE", 0x1) IF_OPER_STATUS_DISCONNECTED = EnumValue("_INTERNAL_IF_OPER_STATUS", "IF_OPER_STATUS_DISCONNECTED", 0x2) @@ -3477,6 +3498,107 @@ LPPOINT = POINTER(tagPOINT) PPOINT = POINTER(tagPOINT) POINT = tagPOINT +class _ACL(Structure): + _fields_ = [ + ("AclRevision", BYTE), + ("Sbz1", BYTE), + ("AclSize", WORD), + ("AceCount", WORD), + ("Sbz2", WORD), + ] +PACL = POINTER(_ACL) +ACL = _ACL + +class _ACE_HEADER(Structure): + _fields_ = [ + ("AceType", BYTE), + ("AceFlags", BYTE), + ("AceSize", WORD), + ] +PACE_HEADER = POINTER(_ACE_HEADER) +ACE_HEADER = _ACE_HEADER + +class _ACCESS_ALLOWED_ACE(Structure): + _fields_ = [ + ("Header", ACE_HEADER), + ("Mask", ACCESS_MASK), + ("SidStart", DWORD), + ] +PACCESS_ALLOWED_ACE = POINTER(_ACCESS_ALLOWED_ACE) +ACCESS_ALLOWED_ACE = _ACCESS_ALLOWED_ACE + +class _ACCESS_ALLOWED_CALLBACK_ACE(Structure): + _fields_ = [ + ("Header", ACE_HEADER), + ("Mask", ACCESS_MASK), + ("SidStart", DWORD), + ] +PACCESS_ALLOWED_CALLBACK_ACE = POINTER(_ACCESS_ALLOWED_CALLBACK_ACE) +ACCESS_ALLOWED_CALLBACK_ACE = _ACCESS_ALLOWED_CALLBACK_ACE + +class _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE(Structure): + _fields_ = [ + ("Header", ACE_HEADER), + ("Mask", ACCESS_MASK), + ("Flags", DWORD), + ("ObjectType", GUID), + ("InheritedObjectType", GUID), + ("SidStart", DWORD), + ] +PACCESS_ALLOWED_CALLBACK_OBJECT_ACE = POINTER(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE) +ACCESS_ALLOWED_CALLBACK_OBJECT_ACE = _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE + +class _ACCESS_ALLOWED_OBJECT_ACE(Structure): + _fields_ = [ + ("Header", ACE_HEADER), + ("Mask", ACCESS_MASK), + ("Flags", DWORD), + ("ObjectType", GUID), + ("InheritedObjectType", GUID), + ("SidStart", DWORD), + ] +PACCESS_ALLOWED_OBJECT_ACE = POINTER(_ACCESS_ALLOWED_OBJECT_ACE) +ACCESS_ALLOWED_OBJECT_ACE = _ACCESS_ALLOWED_OBJECT_ACE + +class _ACCESS_DENIED_ACE(Structure): + _fields_ = [ + ("Header", ACE_HEADER), + ("Mask", ACCESS_MASK), + ("SidStart", DWORD), + ] +ACCESS_DENIED_ACE = _ACCESS_DENIED_ACE +PACCESS_DENIED_ACE = POINTER(_ACCESS_DENIED_ACE) + +class _ACCESS_DENIED_CALLBACK_ACE(Structure): + _fields_ = [ + ("Header", ACE_HEADER), + ("Mask", ACCESS_MASK), + ("SidStart", DWORD), + ] +ACCESS_DENIED_CALLBACK_ACE = _ACCESS_DENIED_CALLBACK_ACE +PACCESS_DENIED_CALLBACK_ACE = POINTER(_ACCESS_DENIED_CALLBACK_ACE) + +class _ACCESS_DENIED_OBJECT_ACE(Structure): + _fields_ = [ + ("Header", ACE_HEADER), + ("Mask", ACCESS_MASK), + ("Flags", DWORD), + ("ObjectType", GUID), + ("InheritedObjectType", GUID), + ("SidStart", DWORD), + ] +ACCESS_DENIED_OBJECT_ACE = _ACCESS_DENIED_OBJECT_ACE +PACCESS_DENIED_OBJECT_ACE = POINTER(_ACCESS_DENIED_OBJECT_ACE) + +class _SYSTEM_MANDATORY_LABEL_ACE(Structure): + _fields_ = [ + ("Header", ACE_HEADER), + ("Mask", ACCESS_MASK), + ("SidStart", DWORD), + ] +SYSTEM_MANDATORY_LABEL_ACE = _SYSTEM_MANDATORY_LABEL_ACE +PSYSTEM_MANDATORY_LABEL_ACE = POINTER(_SYSTEM_MANDATORY_LABEL_ACE) + class tagRECT(Structure): _fields_ = [ ("left", LONG),