mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
Big commit <3
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import windows
|
||||
import winstructs
|
||||
from . import winstructs
|
||||
|
||||
def bitness():
|
||||
"""Return 32 or 64"""
|
||||
@@ -23,5 +23,7 @@ else:
|
||||
winstructs.EXCEPTION_POINTERS = winstructs.EXCEPTION_POINTERS64
|
||||
winstructs.PEXCEPTION_POINTERS = winstructs.PEXCEPTION_POINTERS64
|
||||
|
||||
import winfuncs
|
||||
from . import winfuncs
|
||||
|
||||
|
||||
|
||||
|
||||
+149
-72
@@ -1,5 +1,9 @@
|
||||
#Generated file
|
||||
|
||||
import sys
|
||||
if sys.version_info.major == 3:
|
||||
long = int
|
||||
|
||||
class Flag(long):
|
||||
def __new__(cls, name, value):
|
||||
return super(Flag, cls).__new__(cls, value)
|
||||
@@ -79,59 +83,59 @@ PROFILE_USER = Flag("PROFILE_USER", 0x10000000)
|
||||
PROFILE_KERNEL = Flag("PROFILE_KERNEL", 0x20000000)
|
||||
PROFILE_SERVER = Flag("PROFILE_SERVER", 0x40000000)
|
||||
CREATE_IGNORE_SYSTEM_DEFAULT = Flag("CREATE_IGNORE_SYSTEM_DEFAULT", 0x80000000)
|
||||
STATUS_WAIT_0 = Flag("STATUS_WAIT_0", ( 0x00000000L ))
|
||||
STATUS_ABANDONED_WAIT_0 = Flag("STATUS_ABANDONED_WAIT_0", ( 0x00000080L ))
|
||||
STATUS_USER_APC = Flag("STATUS_USER_APC", ( 0x000000C0L ))
|
||||
STATUS_TIMEOUT = Flag("STATUS_TIMEOUT", ( 0x00000102L ))
|
||||
STATUS_PENDING = Flag("STATUS_PENDING", ( 0x00000103L ))
|
||||
DBG_EXCEPTION_HANDLED = Flag("DBG_EXCEPTION_HANDLED", ( 0x00010001L ))
|
||||
DBG_CONTINUE = Flag("DBG_CONTINUE", ( 0x00010002L ))
|
||||
STATUS_SEGMENT_NOTIFICATION = Flag("STATUS_SEGMENT_NOTIFICATION", ( 0x40000005L ))
|
||||
DBG_TERMINATE_THREAD = Flag("DBG_TERMINATE_THREAD", ( 0x40010003L ))
|
||||
DBG_TERMINATE_PROCESS = Flag("DBG_TERMINATE_PROCESS", ( 0x40010004L ))
|
||||
DBG_CONTROL_C = Flag("DBG_CONTROL_C", ( 0x40010005L ))
|
||||
DBG_PRINTEXCEPTION_C = Flag("DBG_PRINTEXCEPTION_C", ( 0x40010006L ))
|
||||
DBG_RIPEXCEPTION = Flag("DBG_RIPEXCEPTION", ( 0x40010007L ))
|
||||
DBG_CONTROL_BREAK = Flag("DBG_CONTROL_BREAK", ( 0x40010008L ))
|
||||
DBG_COMMAND_EXCEPTION = Flag("DBG_COMMAND_EXCEPTION", ( 0x40010009L ))
|
||||
STATUS_GUARD_PAGE_VIOLATION = Flag("STATUS_GUARD_PAGE_VIOLATION", ( 0x80000001L ))
|
||||
STATUS_DATATYPE_MISALIGNMENT = Flag("STATUS_DATATYPE_MISALIGNMENT", ( 0x80000002L ))
|
||||
STATUS_BREAKPOINT = Flag("STATUS_BREAKPOINT", ( 0x80000003L ))
|
||||
STATUS_SINGLE_STEP = Flag("STATUS_SINGLE_STEP", ( 0x80000004L ))
|
||||
STATUS_LONGJUMP = Flag("STATUS_LONGJUMP", ( 0x80000026L ))
|
||||
STATUS_UNWIND_CONSOLIDATE = Flag("STATUS_UNWIND_CONSOLIDATE", ( 0x80000029L ))
|
||||
DBG_EXCEPTION_NOT_HANDLED = Flag("DBG_EXCEPTION_NOT_HANDLED", ( 0x80010001L ))
|
||||
STATUS_ACCESS_VIOLATION = Flag("STATUS_ACCESS_VIOLATION", ( 0xC0000005L ))
|
||||
STATUS_IN_PAGE_ERROR = Flag("STATUS_IN_PAGE_ERROR", ( 0xC0000006L ))
|
||||
STATUS_INVALID_HANDLE = Flag("STATUS_INVALID_HANDLE", ( 0xC0000008L ))
|
||||
STATUS_INVALID_PARAMETER = Flag("STATUS_INVALID_PARAMETER", ( 0xC000000DL ))
|
||||
STATUS_NO_MEMORY = Flag("STATUS_NO_MEMORY", ( 0xC0000017L ))
|
||||
STATUS_ILLEGAL_INSTRUCTION = Flag("STATUS_ILLEGAL_INSTRUCTION", ( 0xC000001DL ))
|
||||
STATUS_NONCONTINUABLE_EXCEPTION = Flag("STATUS_NONCONTINUABLE_EXCEPTION", ( 0xC0000025L ))
|
||||
STATUS_INVALID_DISPOSITION = Flag("STATUS_INVALID_DISPOSITION", ( 0xC0000026L ))
|
||||
STATUS_ARRAY_BOUNDS_EXCEEDED = Flag("STATUS_ARRAY_BOUNDS_EXCEEDED", ( 0xC000008CL ))
|
||||
STATUS_FLOAT_DENORMAL_OPERAND = Flag("STATUS_FLOAT_DENORMAL_OPERAND", ( 0xC000008DL ))
|
||||
STATUS_FLOAT_DIVIDE_BY_ZERO = Flag("STATUS_FLOAT_DIVIDE_BY_ZERO", ( 0xC000008EL ))
|
||||
STATUS_FLOAT_INEXACT_RESULT = Flag("STATUS_FLOAT_INEXACT_RESULT", ( 0xC000008FL ))
|
||||
STATUS_FLOAT_INVALID_OPERATION = Flag("STATUS_FLOAT_INVALID_OPERATION", ( 0xC0000090L ))
|
||||
STATUS_FLOAT_OVERFLOW = Flag("STATUS_FLOAT_OVERFLOW", ( 0xC0000091L ))
|
||||
STATUS_FLOAT_STACK_CHECK = Flag("STATUS_FLOAT_STACK_CHECK", ( 0xC0000092L ))
|
||||
STATUS_FLOAT_UNDERFLOW = Flag("STATUS_FLOAT_UNDERFLOW", ( 0xC0000093L ))
|
||||
STATUS_INTEGER_DIVIDE_BY_ZERO = Flag("STATUS_INTEGER_DIVIDE_BY_ZERO", ( 0xC0000094L ))
|
||||
STATUS_INTEGER_OVERFLOW = Flag("STATUS_INTEGER_OVERFLOW", ( 0xC0000095L ))
|
||||
STATUS_PRIVILEGED_INSTRUCTION = Flag("STATUS_PRIVILEGED_INSTRUCTION", ( 0xC0000096L ))
|
||||
STATUS_STACK_OVERFLOW = Flag("STATUS_STACK_OVERFLOW", ( 0xC00000FDL ))
|
||||
STATUS_DLL_NOT_FOUND = Flag("STATUS_DLL_NOT_FOUND", ( 0xC0000135L ))
|
||||
STATUS_ORDINAL_NOT_FOUND = Flag("STATUS_ORDINAL_NOT_FOUND", ( 0xC0000138L ))
|
||||
STATUS_ENTRYPOINT_NOT_FOUND = Flag("STATUS_ENTRYPOINT_NOT_FOUND", ( 0xC0000139L ))
|
||||
STATUS_CONTROL_C_EXIT = Flag("STATUS_CONTROL_C_EXIT", ( 0xC000013AL ))
|
||||
STATUS_DLL_INIT_FAILED = Flag("STATUS_DLL_INIT_FAILED", ( 0xC0000142L ))
|
||||
STATUS_FLOAT_MULTIPLE_FAULTS = Flag("STATUS_FLOAT_MULTIPLE_FAULTS", ( 0xC00002B4L ))
|
||||
STATUS_FLOAT_MULTIPLE_TRAPS = Flag("STATUS_FLOAT_MULTIPLE_TRAPS", ( 0xC00002B5L ))
|
||||
STATUS_REG_NAT_CONSUMPTION = Flag("STATUS_REG_NAT_CONSUMPTION", ( 0xC00002C9L ))
|
||||
STATUS_STACK_BUFFER_OVERRUN = Flag("STATUS_STACK_BUFFER_OVERRUN", ( 0xC0000409L ))
|
||||
STATUS_INVALID_CRUNTIME_PARAMETER = Flag("STATUS_INVALID_CRUNTIME_PARAMETER", ( 0xC0000417L ))
|
||||
STATUS_ASSERTION_FAILURE = Flag("STATUS_ASSERTION_FAILURE", ( 0xC0000420L ))
|
||||
STATUS_WAIT_0 = Flag("STATUS_WAIT_0", ( 0x00000000 ))
|
||||
STATUS_ABANDONED_WAIT_0 = Flag("STATUS_ABANDONED_WAIT_0", ( 0x00000080 ))
|
||||
STATUS_USER_APC = Flag("STATUS_USER_APC", ( 0x000000C0 ))
|
||||
STATUS_TIMEOUT = Flag("STATUS_TIMEOUT", ( 0x00000102 ))
|
||||
STATUS_PENDING = Flag("STATUS_PENDING", ( 0x00000103 ))
|
||||
DBG_EXCEPTION_HANDLED = Flag("DBG_EXCEPTION_HANDLED", ( 0x00010001 ))
|
||||
DBG_CONTINUE = Flag("DBG_CONTINUE", ( 0x00010002 ))
|
||||
STATUS_SEGMENT_NOTIFICATION = Flag("STATUS_SEGMENT_NOTIFICATION", ( 0x40000005 ))
|
||||
DBG_TERMINATE_THREAD = Flag("DBG_TERMINATE_THREAD", ( 0x40010003 ))
|
||||
DBG_TERMINATE_PROCESS = Flag("DBG_TERMINATE_PROCESS", ( 0x40010004 ))
|
||||
DBG_CONTROL_C = Flag("DBG_CONTROL_C", ( 0x40010005 ))
|
||||
DBG_PRINTEXCEPTION_C = Flag("DBG_PRINTEXCEPTION_C", ( 0x40010006 ))
|
||||
DBG_RIPEXCEPTION = Flag("DBG_RIPEXCEPTION", ( 0x40010007 ))
|
||||
DBG_CONTROL_BREAK = Flag("DBG_CONTROL_BREAK", ( 0x40010008 ))
|
||||
DBG_COMMAND_EXCEPTION = Flag("DBG_COMMAND_EXCEPTION", ( 0x40010009 ))
|
||||
STATUS_GUARD_PAGE_VIOLATION = Flag("STATUS_GUARD_PAGE_VIOLATION", ( 0x80000001 ))
|
||||
STATUS_DATATYPE_MISALIGNMENT = Flag("STATUS_DATATYPE_MISALIGNMENT", ( 0x80000002 ))
|
||||
STATUS_BREAKPOINT = Flag("STATUS_BREAKPOINT", ( 0x80000003 ))
|
||||
STATUS_SINGLE_STEP = Flag("STATUS_SINGLE_STEP", ( 0x80000004 ))
|
||||
STATUS_LONGJUMP = Flag("STATUS_LONGJUMP", ( 0x80000026 ))
|
||||
STATUS_UNWIND_CONSOLIDATE = Flag("STATUS_UNWIND_CONSOLIDATE", ( 0x80000029 ))
|
||||
DBG_EXCEPTION_NOT_HANDLED = Flag("DBG_EXCEPTION_NOT_HANDLED", ( 0x80010001 ))
|
||||
STATUS_ACCESS_VIOLATION = Flag("STATUS_ACCESS_VIOLATION", ( 0xC0000005 ))
|
||||
STATUS_IN_PAGE_ERROR = Flag("STATUS_IN_PAGE_ERROR", ( 0xC0000006 ))
|
||||
STATUS_INVALID_HANDLE = Flag("STATUS_INVALID_HANDLE", ( 0xC0000008 ))
|
||||
STATUS_INVALID_PARAMETER = Flag("STATUS_INVALID_PARAMETER", ( 0xC000000D ))
|
||||
STATUS_NO_MEMORY = Flag("STATUS_NO_MEMORY", ( 0xC0000017 ))
|
||||
STATUS_ILLEGAL_INSTRUCTION = Flag("STATUS_ILLEGAL_INSTRUCTION", ( 0xC000001D ))
|
||||
STATUS_NONCONTINUABLE_EXCEPTION = Flag("STATUS_NONCONTINUABLE_EXCEPTION", ( 0xC0000025 ))
|
||||
STATUS_INVALID_DISPOSITION = Flag("STATUS_INVALID_DISPOSITION", ( 0xC0000026 ))
|
||||
STATUS_ARRAY_BOUNDS_EXCEEDED = Flag("STATUS_ARRAY_BOUNDS_EXCEEDED", ( 0xC000008C ))
|
||||
STATUS_FLOAT_DENORMAL_OPERAND = Flag("STATUS_FLOAT_DENORMAL_OPERAND", ( 0xC000008D ))
|
||||
STATUS_FLOAT_DIVIDE_BY_ZERO = Flag("STATUS_FLOAT_DIVIDE_BY_ZERO", ( 0xC000008E ))
|
||||
STATUS_FLOAT_INEXACT_RESULT = Flag("STATUS_FLOAT_INEXACT_RESULT", ( 0xC000008F ))
|
||||
STATUS_FLOAT_INVALID_OPERATION = Flag("STATUS_FLOAT_INVALID_OPERATION", ( 0xC0000090 ))
|
||||
STATUS_FLOAT_OVERFLOW = Flag("STATUS_FLOAT_OVERFLOW", ( 0xC0000091 ))
|
||||
STATUS_FLOAT_STACK_CHECK = Flag("STATUS_FLOAT_STACK_CHECK", ( 0xC0000092 ))
|
||||
STATUS_FLOAT_UNDERFLOW = Flag("STATUS_FLOAT_UNDERFLOW", ( 0xC0000093 ))
|
||||
STATUS_INTEGER_DIVIDE_BY_ZERO = Flag("STATUS_INTEGER_DIVIDE_BY_ZERO", ( 0xC0000094 ))
|
||||
STATUS_INTEGER_OVERFLOW = Flag("STATUS_INTEGER_OVERFLOW", ( 0xC0000095 ))
|
||||
STATUS_PRIVILEGED_INSTRUCTION = Flag("STATUS_PRIVILEGED_INSTRUCTION", ( 0xC0000096 ))
|
||||
STATUS_STACK_OVERFLOW = Flag("STATUS_STACK_OVERFLOW", ( 0xC00000FD ))
|
||||
STATUS_DLL_NOT_FOUND = Flag("STATUS_DLL_NOT_FOUND", ( 0xC0000135 ))
|
||||
STATUS_ORDINAL_NOT_FOUND = Flag("STATUS_ORDINAL_NOT_FOUND", ( 0xC0000138 ))
|
||||
STATUS_ENTRYPOINT_NOT_FOUND = Flag("STATUS_ENTRYPOINT_NOT_FOUND", ( 0xC0000139 ))
|
||||
STATUS_CONTROL_C_EXIT = Flag("STATUS_CONTROL_C_EXIT", ( 0xC000013A ))
|
||||
STATUS_DLL_INIT_FAILED = Flag("STATUS_DLL_INIT_FAILED", ( 0xC0000142 ))
|
||||
STATUS_FLOAT_MULTIPLE_FAULTS = Flag("STATUS_FLOAT_MULTIPLE_FAULTS", ( 0xC00002B4 ))
|
||||
STATUS_FLOAT_MULTIPLE_TRAPS = Flag("STATUS_FLOAT_MULTIPLE_TRAPS", ( 0xC00002B5 ))
|
||||
STATUS_REG_NAT_CONSUMPTION = Flag("STATUS_REG_NAT_CONSUMPTION", ( 0xC00002C9 ))
|
||||
STATUS_STACK_BUFFER_OVERRUN = Flag("STATUS_STACK_BUFFER_OVERRUN", ( 0xC0000409 ))
|
||||
STATUS_INVALID_CRUNTIME_PARAMETER = Flag("STATUS_INVALID_CRUNTIME_PARAMETER", ( 0xC0000417 ))
|
||||
STATUS_ASSERTION_FAILURE = Flag("STATUS_ASSERTION_FAILURE", ( 0xC0000420 ))
|
||||
STATUS_POSSIBLE_DEADLOCK = Flag("STATUS_POSSIBLE_DEADLOCK", ( 0xC0000194 ))
|
||||
WAIT_IO_COMPLETION = Flag("WAIT_IO_COMPLETION", STATUS_USER_APC)
|
||||
STILL_ACTIVE = Flag("STILL_ACTIVE", STATUS_PENDING)
|
||||
@@ -176,12 +180,12 @@ TH32CS_SNAPMODULE32 = Flag("TH32CS_SNAPMODULE32", 0x00000010)
|
||||
TH32CS_SNAPALL = Flag("TH32CS_SNAPALL", ( TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE ))
|
||||
TH32CS_INHERIT = Flag("TH32CS_INHERIT", 0x80000000)
|
||||
CONTEXT_I386 = Flag("CONTEXT_I386", 0x00010000)
|
||||
CONTEXT_CONTROL = Flag("CONTEXT_CONTROL", 0x00000001L)
|
||||
CONTEXT_INTEGER = Flag("CONTEXT_INTEGER", 0x00000002L)
|
||||
CONTEXT_SEGMENTS = Flag("CONTEXT_SEGMENTS", 0x00000004L)
|
||||
CONTEXT_FLOATING_POINT = Flag("CONTEXT_FLOATING_POINT", 0x00000008L)
|
||||
CONTEXT_DEBUG_REGISTERS = Flag("CONTEXT_DEBUG_REGISTERS", 0x00000010L)
|
||||
CONTEXT_EXTENDED_REGISTERS = Flag("CONTEXT_EXTENDED_REGISTERS", 0x00000020L)
|
||||
CONTEXT_CONTROL = Flag("CONTEXT_CONTROL", 0x00000001)
|
||||
CONTEXT_INTEGER = Flag("CONTEXT_INTEGER", 0x00000002)
|
||||
CONTEXT_SEGMENTS = Flag("CONTEXT_SEGMENTS", 0x00000004)
|
||||
CONTEXT_FLOATING_POINT = Flag("CONTEXT_FLOATING_POINT", 0x00000008)
|
||||
CONTEXT_DEBUG_REGISTERS = Flag("CONTEXT_DEBUG_REGISTERS", 0x00000010)
|
||||
CONTEXT_EXTENDED_REGISTERS = Flag("CONTEXT_EXTENDED_REGISTERS", 0x00000020)
|
||||
CONTEXT_FULL = Flag("CONTEXT_FULL", ( CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS ))
|
||||
CONTEXT_ALL = Flag("CONTEXT_ALL", ( CONTEXT_FULL | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS ))
|
||||
CONTEXT_FULL = Flag("CONTEXT_FULL", CONTEXT_I386 | CONTEXT_FULL)
|
||||
@@ -221,17 +225,17 @@ SEC_WRITECOMBINE = Flag("SEC_WRITECOMBINE", 0x40000000)
|
||||
SEC_LARGE_PAGES = Flag("SEC_LARGE_PAGES", 0x80000000)
|
||||
MEM_IMAGE = Flag("MEM_IMAGE", SEC_IMAGE)
|
||||
WRITE_WATCH_FLAG_RESET = Flag("WRITE_WATCH_FLAG_RESET", 0x01)
|
||||
DELETE = Flag("DELETE", ( 0x00010000L ))
|
||||
READ_CONTROL = Flag("READ_CONTROL", ( 0x00020000L ))
|
||||
WRITE_DAC = Flag("WRITE_DAC", ( 0x00040000L ))
|
||||
WRITE_OWNER = Flag("WRITE_OWNER", ( 0x00080000L ))
|
||||
SYNCHRONIZE = Flag("SYNCHRONIZE", ( 0x00100000L ))
|
||||
STANDARD_RIGHTS_REQUIRED = Flag("STANDARD_RIGHTS_REQUIRED", ( 0x000F0000L ))
|
||||
DELETE = Flag("DELETE", ( 0x00010000 ))
|
||||
READ_CONTROL = Flag("READ_CONTROL", ( 0x00020000 ))
|
||||
WRITE_DAC = Flag("WRITE_DAC", ( 0x00040000 ))
|
||||
WRITE_OWNER = Flag("WRITE_OWNER", ( 0x00080000 ))
|
||||
SYNCHRONIZE = Flag("SYNCHRONIZE", ( 0x00100000 ))
|
||||
STANDARD_RIGHTS_REQUIRED = Flag("STANDARD_RIGHTS_REQUIRED", ( 0x000F0000 ))
|
||||
STANDARD_RIGHTS_READ = Flag("STANDARD_RIGHTS_READ", ( READ_CONTROL ))
|
||||
STANDARD_RIGHTS_WRITE = Flag("STANDARD_RIGHTS_WRITE", ( READ_CONTROL ))
|
||||
STANDARD_RIGHTS_EXECUTE = Flag("STANDARD_RIGHTS_EXECUTE", ( READ_CONTROL ))
|
||||
STANDARD_RIGHTS_ALL = Flag("STANDARD_RIGHTS_ALL", ( 0x001F0000L ))
|
||||
SPECIFIC_RIGHTS_ALL = Flag("SPECIFIC_RIGHTS_ALL", ( 0x0000FFFFL ))
|
||||
STANDARD_RIGHTS_ALL = Flag("STANDARD_RIGHTS_ALL", ( 0x001F0000 ))
|
||||
SPECIFIC_RIGHTS_ALL = Flag("SPECIFIC_RIGHTS_ALL", ( 0x0000FFFF ))
|
||||
TOKEN_ASSIGN_PRIMARY = Flag("TOKEN_ASSIGN_PRIMARY", ( 0x0001 ))
|
||||
TOKEN_DUPLICATE = Flag("TOKEN_DUPLICATE", ( 0x0002 ))
|
||||
TOKEN_IMPERSONATE = Flag("TOKEN_IMPERSONATE", ( 0x0004 ))
|
||||
@@ -243,10 +247,10 @@ TOKEN_ADJUST_DEFAULT = Flag("TOKEN_ADJUST_DEFAULT", ( 0x0080 ))
|
||||
TOKEN_ADJUST_SESSIONID = Flag("TOKEN_ADJUST_SESSIONID", ( 0x0100 ))
|
||||
TOKEN_ALL_ACCESS_P = Flag("TOKEN_ALL_ACCESS_P", ( STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT ))
|
||||
TOKEN_ALL_ACCESS = Flag("TOKEN_ALL_ACCESS", ( TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID ))
|
||||
SE_PRIVILEGE_ENABLED_BY_DEFAULT = Flag("SE_PRIVILEGE_ENABLED_BY_DEFAULT", ( 0x00000001L ))
|
||||
SE_PRIVILEGE_ENABLED = Flag("SE_PRIVILEGE_ENABLED", ( 0x00000002L ))
|
||||
SE_PRIVILEGE_REMOVED = Flag("SE_PRIVILEGE_REMOVED", ( 0X00000004L ))
|
||||
SE_PRIVILEGE_USED_FOR_ACCESS = Flag("SE_PRIVILEGE_USED_FOR_ACCESS", ( 0x80000000L ))
|
||||
SE_PRIVILEGE_ENABLED_BY_DEFAULT = Flag("SE_PRIVILEGE_ENABLED_BY_DEFAULT", ( 0x00000001 ))
|
||||
SE_PRIVILEGE_ENABLED = Flag("SE_PRIVILEGE_ENABLED", ( 0x00000002 ))
|
||||
SE_PRIVILEGE_REMOVED = Flag("SE_PRIVILEGE_REMOVED", ( 0X00000004 ))
|
||||
SE_PRIVILEGE_USED_FOR_ACCESS = Flag("SE_PRIVILEGE_USED_FOR_ACCESS", ( 0x80000000 ))
|
||||
AF_UNSPEC = Flag("AF_UNSPEC", 0)
|
||||
AF_UNIX = Flag("AF_UNIX", 1)
|
||||
AF_INET = Flag("AF_INET", 2)
|
||||
@@ -360,4 +364,77 @@ EXCEPTION_POSSIBLE_DEADLOCK = Flag("EXCEPTION_POSSIBLE_DEADLOCK", STATUS_POSSIBL
|
||||
CONTROL_C_EXIT = Flag("CONTROL_C_EXIT", STATUS_CONTROL_C_EXIT)
|
||||
EXCEPTION_EXECUTE_HANDLER = Flag("EXCEPTION_EXECUTE_HANDLER", 1)
|
||||
EXCEPTION_CONTINUE_SEARCH = Flag("EXCEPTION_CONTINUE_SEARCH", 0)
|
||||
EXCEPTION_CONTINUE_EXECUTION = Flag("EXCEPTION_CONTINUE_EXECUTION", -1)
|
||||
EXCEPTION_CONTINUE_EXECUTION = Flag("EXCEPTION_CONTINUE_EXECUTION", -1)
|
||||
GENERIC_READ = Flag("GENERIC_READ", ( 0x80000000 ))
|
||||
GENERIC_WRITE = Flag("GENERIC_WRITE", ( 0x40000000 ))
|
||||
GENERIC_EXECUTE = Flag("GENERIC_EXECUTE", ( 0x20000000 ))
|
||||
GENERIC_ALL = Flag("GENERIC_ALL", ( 0x10000000 ))
|
||||
FILE_FLAG_WRITE_THROUGH = Flag("FILE_FLAG_WRITE_THROUGH", 0x80000000)
|
||||
FILE_FLAG_OVERLAPPED = Flag("FILE_FLAG_OVERLAPPED", 0x40000000)
|
||||
FILE_FLAG_NO_BUFFERING = Flag("FILE_FLAG_NO_BUFFERING", 0x20000000)
|
||||
FILE_FLAG_RANDOM_ACCESS = Flag("FILE_FLAG_RANDOM_ACCESS", 0x10000000)
|
||||
FILE_FLAG_SEQUENTIAL_SCAN = Flag("FILE_FLAG_SEQUENTIAL_SCAN", 0x08000000)
|
||||
FILE_FLAG_DELETE_ON_CLOSE = Flag("FILE_FLAG_DELETE_ON_CLOSE", 0x04000000)
|
||||
FILE_FLAG_BACKUP_SEMANTICS = Flag("FILE_FLAG_BACKUP_SEMANTICS", 0x02000000)
|
||||
FILE_FLAG_POSIX_SEMANTICS = Flag("FILE_FLAG_POSIX_SEMANTICS", 0x01000000)
|
||||
FILE_FLAG_OPEN_REPARSE_POINT = Flag("FILE_FLAG_OPEN_REPARSE_POINT", 0x00200000)
|
||||
FILE_FLAG_OPEN_NO_RECALL = Flag("FILE_FLAG_OPEN_NO_RECALL", 0x00100000)
|
||||
FILE_FLAG_FIRST_PIPE_INSTANCE = Flag("FILE_FLAG_FIRST_PIPE_INSTANCE", 0x00080000)
|
||||
CREATE_NEW = Flag("CREATE_NEW", 1)
|
||||
CREATE_ALWAYS = Flag("CREATE_ALWAYS", 2)
|
||||
OPEN_EXISTING = Flag("OPEN_EXISTING", 3)
|
||||
OPEN_ALWAYS = Flag("OPEN_ALWAYS", 4)
|
||||
TRUNCATE_EXISTING = Flag("TRUNCATE_EXISTING", 5)
|
||||
FILE_SHARE_READ = Flag("FILE_SHARE_READ", 0x00000001)
|
||||
FILE_SHARE_WRITE = Flag("FILE_SHARE_WRITE", 0x00000002)
|
||||
FILE_SHARE_DELETE = Flag("FILE_SHARE_DELETE", 0x00000004)
|
||||
FILE_ATTRIBUTE_READONLY = Flag("FILE_ATTRIBUTE_READONLY", 0x00000001)
|
||||
FILE_ATTRIBUTE_HIDDEN = Flag("FILE_ATTRIBUTE_HIDDEN", 0x00000002)
|
||||
FILE_ATTRIBUTE_SYSTEM = Flag("FILE_ATTRIBUTE_SYSTEM", 0x00000004)
|
||||
FILE_ATTRIBUTE_DIRECTORY = Flag("FILE_ATTRIBUTE_DIRECTORY", 0x00000010)
|
||||
FILE_ATTRIBUTE_ARCHIVE = Flag("FILE_ATTRIBUTE_ARCHIVE", 0x00000020)
|
||||
FILE_ATTRIBUTE_DEVICE = Flag("FILE_ATTRIBUTE_DEVICE", 0x00000040)
|
||||
FILE_ATTRIBUTE_NORMAL = Flag("FILE_ATTRIBUTE_NORMAL", 0x00000080)
|
||||
FILE_ATTRIBUTE_TEMPORARY = Flag("FILE_ATTRIBUTE_TEMPORARY", 0x00000100)
|
||||
FILE_ATTRIBUTE_SPARSE_FILE = Flag("FILE_ATTRIBUTE_SPARSE_FILE", 0x00000200)
|
||||
FILE_ATTRIBUTE_REPARSE_POINT = Flag("FILE_ATTRIBUTE_REPARSE_POINT", 0x00000400)
|
||||
FILE_ATTRIBUTE_COMPRESSED = Flag("FILE_ATTRIBUTE_COMPRESSED", 0x00000800)
|
||||
FILE_ATTRIBUTE_OFFLINE = Flag("FILE_ATTRIBUTE_OFFLINE", 0x00001000)
|
||||
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = Flag("FILE_ATTRIBUTE_NOT_CONTENT_INDEXED", 0x00002000)
|
||||
FILE_ATTRIBUTE_ENCRYPTED = Flag("FILE_ATTRIBUTE_ENCRYPTED", 0x00004000)
|
||||
FILE_ATTRIBUTE_VIRTUAL = Flag("FILE_ATTRIBUTE_VIRTUAL", 0x00010000)
|
||||
FILE_NOTIFY_CHANGE_FILE_NAME = Flag("FILE_NOTIFY_CHANGE_FILE_NAME", 0x00000001)
|
||||
FILE_NOTIFY_CHANGE_DIR_NAME = Flag("FILE_NOTIFY_CHANGE_DIR_NAME", 0x00000002)
|
||||
FILE_NOTIFY_CHANGE_ATTRIBUTES = Flag("FILE_NOTIFY_CHANGE_ATTRIBUTES", 0x00000004)
|
||||
FILE_NOTIFY_CHANGE_SIZE = Flag("FILE_NOTIFY_CHANGE_SIZE", 0x00000008)
|
||||
FILE_NOTIFY_CHANGE_LAST_WRITE = Flag("FILE_NOTIFY_CHANGE_LAST_WRITE", 0x00000010)
|
||||
FILE_NOTIFY_CHANGE_LAST_ACCESS = Flag("FILE_NOTIFY_CHANGE_LAST_ACCESS", 0x00000020)
|
||||
FILE_NOTIFY_CHANGE_CREATION = Flag("FILE_NOTIFY_CHANGE_CREATION", 0x00000040)
|
||||
FILE_NOTIFY_CHANGE_SECURITY = Flag("FILE_NOTIFY_CHANGE_SECURITY", 0x00000100)
|
||||
FILE_ACTION_ADDED = Flag("FILE_ACTION_ADDED", 0x00000001)
|
||||
FILE_ACTION_REMOVED = Flag("FILE_ACTION_REMOVED", 0x00000002)
|
||||
FILE_ACTION_MODIFIED = Flag("FILE_ACTION_MODIFIED", 0x00000003)
|
||||
FILE_ACTION_RENAMED_OLD_NAME = Flag("FILE_ACTION_RENAMED_OLD_NAME", 0x00000004)
|
||||
FILE_ACTION_RENAMED_NEW_NAME = Flag("FILE_ACTION_RENAMED_NEW_NAME", 0x00000005)
|
||||
MAILSLOT_NO_MESSAGE = Flag("MAILSLOT_NO_MESSAGE", ( -1 ))
|
||||
MAILSLOT_WAIT_FOREVER = Flag("MAILSLOT_WAIT_FOREVER", ( -1 ))
|
||||
FILE_CASE_SENSITIVE_SEARCH = Flag("FILE_CASE_SENSITIVE_SEARCH", 0x00000001)
|
||||
FILE_CASE_PRESERVED_NAMES = Flag("FILE_CASE_PRESERVED_NAMES", 0x00000002)
|
||||
FILE_UNICODE_ON_DISK = Flag("FILE_UNICODE_ON_DISK", 0x00000004)
|
||||
FILE_PERSISTENT_ACLS = Flag("FILE_PERSISTENT_ACLS", 0x00000008)
|
||||
FILE_FILE_COMPRESSION = Flag("FILE_FILE_COMPRESSION", 0x00000010)
|
||||
FILE_VOLUME_QUOTAS = Flag("FILE_VOLUME_QUOTAS", 0x00000020)
|
||||
FILE_SUPPORTS_SPARSE_FILES = Flag("FILE_SUPPORTS_SPARSE_FILES", 0x00000040)
|
||||
FILE_SUPPORTS_REPARSE_POINTS = Flag("FILE_SUPPORTS_REPARSE_POINTS", 0x00000080)
|
||||
FILE_SUPPORTS_REMOTE_STORAGE = Flag("FILE_SUPPORTS_REMOTE_STORAGE", 0x00000100)
|
||||
FILE_VOLUME_IS_COMPRESSED = Flag("FILE_VOLUME_IS_COMPRESSED", 0x00008000)
|
||||
FILE_SUPPORTS_OBJECT_IDS = Flag("FILE_SUPPORTS_OBJECT_IDS", 0x00010000)
|
||||
FILE_SUPPORTS_ENCRYPTION = Flag("FILE_SUPPORTS_ENCRYPTION", 0x00020000)
|
||||
FILE_NAMED_STREAMS = Flag("FILE_NAMED_STREAMS", 0x00040000)
|
||||
FILE_READ_ONLY_VOLUME = Flag("FILE_READ_ONLY_VOLUME", 0x00080000)
|
||||
FILE_SEQUENTIAL_WRITE_ONCE = Flag("FILE_SEQUENTIAL_WRITE_ONCE", 0x00100000)
|
||||
FILE_SUPPORTS_TRANSACTIONS = Flag("FILE_SUPPORTS_TRANSACTIONS", 0x00200000)
|
||||
FILE_SUPPORTS_HARD_LINKS = Flag("FILE_SUPPORTS_HARD_LINKS", 0x00400000)
|
||||
FILE_SUPPORTS_EXTENDED_ATTRIBUTES = Flag("FILE_SUPPORTS_EXTENDED_ATTRIBUTES", 0x00800000)
|
||||
FILE_SUPPORTS_OPEN_BY_FILE_ID = Flag("FILE_SUPPORTS_OPEN_BY_FILE_ID", 0x01000000)
|
||||
FILE_SUPPORTS_USN_JOURNAL = Flag("FILE_SUPPORTS_USN_JOURNAL", 0x02000000)
|
||||
@@ -1,9 +1,9 @@
|
||||
#Generated file
|
||||
from ctypes import *
|
||||
from ctypes.wintypes import *
|
||||
from winstructs import *
|
||||
from .winstructs import *
|
||||
|
||||
functions = ['ExitProcess', 'GetLastError', 'GetCurrentProcess', 'CreateFileA', 'CreateFileW', 'NtQuerySystemInformation', 'VirtualAlloc', 'VirtualAllocEx', 'VirtualProtect', 'VirtualQuery', 'GetModuleFileNameA', 'GetModuleFileNameW', 'CreateThread', 'CreateRemoteThread', 'VirtualProtect', 'CreateProcessA', 'CreateProcessW', 'GetThreadContext', 'SetThreadContext', 'OpenThread', 'OpenProcess', 'CloseHandle', 'ReadProcessMemory', 'WriteProcessMemory', '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', 'GetStdHandle', 'SetStdHandle', 'SetThreadAffinityMask', 'WriteFile', 'GetExtendedTcpTable', 'GetExtendedUdpTable', 'SetTcpEntry', 'AddVectoredContinueHandler', 'AddVectoredExceptionHandler', 'TerminateThread', 'ExitThread', 'RemoveVectoredExceptionHandler', 'ResumeThread', 'SuspendThread', 'WaitForSingleObject']
|
||||
functions = ['ExitProcess', 'GetLastError', 'GetCurrentProcess', 'CreateFileA', 'CreateFileW', 'NtQuerySystemInformation', 'VirtualAlloc', 'VirtualAllocEx', 'VirtualProtect', 'VirtualQuery', 'GetModuleFileNameA', 'GetModuleFileNameW', 'CreateThread', 'CreateRemoteThread', 'VirtualProtect', 'CreateProcessA', 'CreateProcessW', 'GetThreadContext', 'SetThreadContext', 'OpenThread', 'OpenProcess', 'CloseHandle', 'ReadProcessMemory', 'WriteProcessMemory', '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', 'GetStdHandle', 'SetStdHandle', 'SetThreadAffinityMask', 'WriteFile', 'GetExtendedTcpTable', 'GetExtendedUdpTable', 'SetTcpEntry', 'AddVectoredContinueHandler', 'AddVectoredExceptionHandler', 'TerminateThread', 'ExitThread', 'RemoveVectoredExceptionHandler', 'ResumeThread', 'SuspendThread', 'WaitForSingleObject', 'GetThreadId']
|
||||
|
||||
# ExitProcess(uExitCode):
|
||||
ExitProcessPrototype = WINFUNCTYPE(VOID, UINT)
|
||||
@@ -265,3 +265,7 @@ SuspendThreadParams = ((1, 'hThread'),)
|
||||
WaitForSingleObjectPrototype = WINFUNCTYPE(DWORD, HANDLE, DWORD)
|
||||
WaitForSingleObjectParams = ((1, 'hHandle'), (1, 'dwMilliseconds'))
|
||||
|
||||
# GetThreadId(Thread):
|
||||
GetThreadIdPrototype = WINFUNCTYPE(DWORD, HANDLE)
|
||||
GetThreadIdParams = ((1, 'Thread'),)
|
||||
|
||||
|
||||
+32
-35
@@ -1,7 +1,7 @@
|
||||
#Generated file
|
||||
from ctypes import *
|
||||
from ctypes.wintypes import *
|
||||
from windef import *
|
||||
from .windef import *
|
||||
|
||||
PWSTR = LPWSTR
|
||||
SIZE_T = c_ulong
|
||||
@@ -28,7 +28,7 @@ PHANDLE = POINTER(HANDLE)
|
||||
LPCONTEXT = PVOID
|
||||
VOID = DWORD
|
||||
|
||||
structs = ['_LIST_ENTRY', '_PEB_LDR_DATA', '_LSA_UNICODE_STRING', '_RTL_USER_PROCESS_PARAMETERS', '_PEB', '_SECURITY_ATTRIBUTES', '_SYSTEM_VERIFIER_INFORMATION', '_LDR_DATA_TABLE_ENTRY', '_IMAGE_FILE_HEADER', '_IMAGE_DATA_DIRECTORY', '_IMAGE_SECTION_HEADER', '_IMAGE_OPTIONAL_HEADER64', '_IMAGE_OPTIONAL_HEADER', '_IMAGE_NT_HEADERS64', '_IMAGE_NT_HEADERS', '_IMAGE_IMPORT_DESCRIPTOR', '_IMAGE_IMPORT_BY_NAME', '_MEMORY_BASIC_INFORMATION', '_STARTUPINFOA', '_STARTUPINFOW', '_PROCESS_INFORMATION', '_FLOATING_SAVE_AREA', '_CONTEXT32', '_M128A', '_CONTEXT64', 'tagPROCESSENTRY32W', 'tagPROCESSENTRY32', 'tagTHREADENTRY32', '_LUID', '_LUID_AND_ATTRIBUTES', '_TOKEN_PRIVILEGES', '_OSVERSIONINFOA', '_OSVERSIONINFOW', '_OSVERSIONINFOEXA', '_OSVERSIONINFOEXW', '_OVERLAPPED', '_MIB_TCPROW_OWNER_PID', '_MIB_TCPTABLE_OWNER_PID', '_MIB_UDPROW_OWNER_PID', '_MIB_UDPTABLE_OWNER_PID', '_MIB_UDP6ROW_OWNER_PID', '_MIB_UDP6TABLE_OWNER_PID', '_MIB_TCP6ROW_OWNER_PID', '_MIB_TCP6TABLE_OWNER_PID', '_MIB_TCPROW', '_EXCEPTION_RECORD', '_EXCEPTION_POINTERS64', '_EXCEPTION_POINTERS32']
|
||||
structs = ['_LIST_ENTRY', '_PEB_LDR_DATA', '_LSA_UNICODE_STRING', '_RTL_USER_PROCESS_PARAMETERS', '_PEB', '_SECURITY_ATTRIBUTES', '_SYSTEM_VERIFIER_INFORMATION', '_LDR_DATA_TABLE_ENTRY', '_IMAGE_FILE_HEADER', '_IMAGE_DATA_DIRECTORY', '_IMAGE_SECTION_HEADER', '_IMAGE_OPTIONAL_HEADER64', '_IMAGE_OPTIONAL_HEADER', '_IMAGE_NT_HEADERS64', '_IMAGE_NT_HEADERS', '_IMAGE_IMPORT_DESCRIPTOR', '_IMAGE_IMPORT_BY_NAME', '_IMAGE_EXPORT_DIRECTORY', '_MEMORY_BASIC_INFORMATION', '_STARTUPINFOA', '_STARTUPINFOW', '_PROCESS_INFORMATION', '_FLOATING_SAVE_AREA', '_CONTEXT32', '_M128A', '_CONTEXT64', 'tagPROCESSENTRY32W', 'tagPROCESSENTRY32', 'tagTHREADENTRY32', '_LUID', '_LUID_AND_ATTRIBUTES', '_TOKEN_PRIVILEGES', '_OSVERSIONINFOA', '_OSVERSIONINFOW', '_OSVERSIONINFOEXA', '_OSVERSIONINFOEXW', '_OVERLAPPED', '_MIB_TCPROW_OWNER_PID', '_MIB_TCPTABLE_OWNER_PID', '_MIB_UDPROW_OWNER_PID', '_MIB_UDPTABLE_OWNER_PID', '_MIB_UDP6ROW_OWNER_PID', '_MIB_UDP6TABLE_OWNER_PID', '_MIB_TCP6ROW_OWNER_PID', '_MIB_TCP6TABLE_OWNER_PID', '_MIB_TCPROW', '_EXCEPTION_RECORD', '_EXCEPTION_POINTERS64', '_EXCEPTION_POINTERS32', '_DEBUG_PROCESSOR_IDENTIFICATION_X86']
|
||||
|
||||
enums = ['_SYSTEM_INFORMATION_CLASS', '_TCP_TABLE_CLASS', '_UDP_TABLE_CLASS', '_MIB_TCP_STATE']
|
||||
|
||||
@@ -157,53 +157,22 @@ MIB_TCP_STATE_TIME_WAIT = 0xb
|
||||
MIB_TCP_STATE_DELETE_TCB = 0xc
|
||||
# Struct _LIST_ENTRY definitions
|
||||
# Self referencing struct tricks
|
||||
|
||||
import ctypes
|
||||
|
||||
def pretty_print_ctypes_type(t):
|
||||
format = "{0}"
|
||||
if issubclass(t, ctypes.Array):
|
||||
format = "[{0}" + "* {0}]".format(t._length_)
|
||||
t = t._type_
|
||||
|
||||
if issubclass(t, ctypes._Pointer):
|
||||
format = format.format("Pointer({0})")
|
||||
t = t._type_
|
||||
|
||||
if issubclass(t, ctypes.Structure):
|
||||
return format.format(":class:`{0}`".format(t.__name__))
|
||||
return t
|
||||
|
||||
def autodoc_ctypes_struct(struct):
|
||||
doc = ["fields:"]
|
||||
for name, type in struct._fields_:
|
||||
doc.append(" {0} -> {1}".format(name, pretty_print_ctypes_type(type)))
|
||||
|
||||
struct.__doc__ = "\n\n".join(doc)
|
||||
return struct
|
||||
|
||||
|
||||
class _LIST_ENTRY(Structure): pass
|
||||
_LIST_ENTRY._fields_ = [
|
||||
("Flink", POINTER(_LIST_ENTRY)),
|
||||
("Blink", POINTER(_LIST_ENTRY)),
|
||||
]
|
||||
|
||||
_LIST_ENTRY = autodoc_ctypes_struct(_LIST_ENTRY)
|
||||
|
||||
PLIST_ENTRY = POINTER(_LIST_ENTRY)
|
||||
LIST_ENTRY = _LIST_ENTRY
|
||||
PRLIST_ENTRY = POINTER(_LIST_ENTRY)
|
||||
|
||||
# Struct _PEB_LDR_DATA definitions
|
||||
@autodoc_ctypes_struct
|
||||
class _PEB_LDR_DATA(Structure):
|
||||
_fields_ = [
|
||||
_fields_ = [
|
||||
("Reserved1", BYTE * 8),
|
||||
("Reserved2", PVOID * 3),
|
||||
("InMemoryOrderModuleList", LIST_ENTRY),
|
||||
]
|
||||
|
||||
PPEB_LDR_DATA = POINTER(_PEB_LDR_DATA)
|
||||
PEB_LDR_DATA = _PEB_LDR_DATA
|
||||
|
||||
@@ -231,7 +200,6 @@ PRTL_USER_PROCESS_PARAMETERS = POINTER(_RTL_USER_PROCESS_PARAMETERS)
|
||||
RTL_USER_PROCESS_PARAMETERS = _RTL_USER_PROCESS_PARAMETERS
|
||||
|
||||
# Struct _PEB definitions
|
||||
@autodoc_ctypes_struct
|
||||
class _PEB(Structure):
|
||||
_fields_ = [
|
||||
("Reserved1", BYTE * 2),
|
||||
@@ -467,6 +435,24 @@ class _IMAGE_IMPORT_BY_NAME(Structure):
|
||||
PIMAGE_IMPORT_BY_NAME = POINTER(_IMAGE_IMPORT_BY_NAME)
|
||||
IMAGE_IMPORT_BY_NAME = _IMAGE_IMPORT_BY_NAME
|
||||
|
||||
# Struct _IMAGE_EXPORT_DIRECTORY definitions
|
||||
class _IMAGE_EXPORT_DIRECTORY(Structure):
|
||||
_fields_ = [
|
||||
("Characteristics", DWORD),
|
||||
("TimeDateStamp", DWORD),
|
||||
("MajorVersion", WORD),
|
||||
("MinorVersion", WORD),
|
||||
("Name", DWORD),
|
||||
("Base", DWORD),
|
||||
("NumberOfFunctions", DWORD),
|
||||
("NumberOfNames", DWORD),
|
||||
("AddressOfFunctions", DWORD),
|
||||
("AddressOfNames", DWORD),
|
||||
("AddressOfNameOrdinals", DWORD),
|
||||
]
|
||||
IMAGE_EXPORT_DIRECTORY = _IMAGE_EXPORT_DIRECTORY
|
||||
PIMAGE_EXPORT_DIRECTORY = POINTER(_IMAGE_EXPORT_DIRECTORY)
|
||||
|
||||
# Struct _MEMORY_BASIC_INFORMATION definitions
|
||||
class _MEMORY_BASIC_INFORMATION(Structure):
|
||||
_fields_ = [
|
||||
@@ -959,3 +945,14 @@ class _EXCEPTION_POINTERS32(Structure):
|
||||
PEXCEPTION_POINTERS32 = POINTER(_EXCEPTION_POINTERS32)
|
||||
EXCEPTION_POINTERS32 = _EXCEPTION_POINTERS32
|
||||
|
||||
# Struct _DEBUG_PROCESSOR_IDENTIFICATION_X86 definitions
|
||||
class _DEBUG_PROCESSOR_IDENTIFICATION_X86(Structure):
|
||||
_fields_ = [
|
||||
("Family", ULONG),
|
||||
("Model", ULONG),
|
||||
("Stepping", ULONG),
|
||||
("VendorString", CHAR * 16),
|
||||
]
|
||||
DEBUG_PROCESSOR_IDENTIFICATION_X86 = _DEBUG_PROCESSOR_IDENTIFICATION_X86
|
||||
PDEBUG_PROCESSOR_IDENTIFICATION_X86 = POINTER(_DEBUG_PROCESSOR_IDENTIFICATION_X86)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user