mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
Working on sphinx doc generation for windows.generated_def
This commit is contained in:
@@ -108,61 +108,6 @@
|
||||
#define CREATE_IGNORE_SYSTEM_DEFAULT 0x80000000
|
||||
|
||||
|
||||
#define STATUS_WAIT_0 (0x00000000L)
|
||||
#define STATUS_ABANDONED_WAIT_0 (0x00000080L)
|
||||
#define STATUS_USER_APC (0x000000C0L)
|
||||
#define STATUS_TIMEOUT (0x00000102L)
|
||||
#define STATUS_PENDING (0x00000103L)
|
||||
#define DBG_EXCEPTION_HANDLED (0x00010001L)
|
||||
#define DBG_CONTINUE (0x00010002L)
|
||||
#define STATUS_SEGMENT_NOTIFICATION (0x40000005L)
|
||||
#define DBG_TERMINATE_THREAD (0x40010003L)
|
||||
#define DBG_TERMINATE_PROCESS (0x40010004L)
|
||||
#define DBG_CONTROL_C (0x40010005L)
|
||||
#define DBG_PRINTEXCEPTION_C (0x40010006L)
|
||||
#define DBG_RIPEXCEPTION (0x40010007L)
|
||||
#define DBG_CONTROL_BREAK (0x40010008L)
|
||||
#define DBG_COMMAND_EXCEPTION (0x40010009L)
|
||||
#define STATUS_GUARD_PAGE_VIOLATION (0x80000001L)
|
||||
#define STATUS_DATATYPE_MISALIGNMENT (0x80000002L)
|
||||
#define STATUS_BREAKPOINT (0x80000003L)
|
||||
#define STATUS_SINGLE_STEP (0x80000004L)
|
||||
#define STATUS_LONGJUMP (0x80000026L)
|
||||
#define STATUS_UNWIND_CONSOLIDATE (0x80000029L)
|
||||
#define DBG_EXCEPTION_NOT_HANDLED (0x80010001L)
|
||||
#define STATUS_ACCESS_VIOLATION (0xC0000005L)
|
||||
#define STATUS_IN_PAGE_ERROR (0xC0000006L)
|
||||
#define STATUS_INVALID_HANDLE (0xC0000008L)
|
||||
#define STATUS_INVALID_PARAMETER (0xC000000DL)
|
||||
#define STATUS_NO_MEMORY (0xC0000017L)
|
||||
#define STATUS_ILLEGAL_INSTRUCTION (0xC000001DL)
|
||||
#define STATUS_NONCONTINUABLE_EXCEPTION (0xC0000025L)
|
||||
#define STATUS_INVALID_DISPOSITION (0xC0000026L)
|
||||
#define STATUS_ARRAY_BOUNDS_EXCEEDED (0xC000008CL)
|
||||
#define STATUS_FLOAT_DENORMAL_OPERAND (0xC000008DL)
|
||||
#define STATUS_FLOAT_DIVIDE_BY_ZERO (0xC000008EL)
|
||||
#define STATUS_FLOAT_INEXACT_RESULT (0xC000008FL)
|
||||
#define STATUS_FLOAT_INVALID_OPERATION (0xC0000090L)
|
||||
#define STATUS_FLOAT_OVERFLOW (0xC0000091L)
|
||||
#define STATUS_FLOAT_STACK_CHECK (0xC0000092L)
|
||||
#define STATUS_FLOAT_UNDERFLOW (0xC0000093L)
|
||||
#define STATUS_INTEGER_DIVIDE_BY_ZERO (0xC0000094L)
|
||||
#define STATUS_INTEGER_OVERFLOW (0xC0000095L)
|
||||
#define STATUS_PRIVILEGED_INSTRUCTION (0xC0000096L)
|
||||
#define STATUS_STACK_OVERFLOW (0xC00000FDL)
|
||||
#define STATUS_DLL_NOT_FOUND (0xC0000135L)
|
||||
#define STATUS_ORDINAL_NOT_FOUND (0xC0000138L)
|
||||
#define STATUS_ENTRYPOINT_NOT_FOUND (0xC0000139L)
|
||||
#define STATUS_CONTROL_C_EXIT (0xC000013AL)
|
||||
#define STATUS_DLL_INIT_FAILED (0xC0000142L)
|
||||
#define STATUS_FLOAT_MULTIPLE_FAULTS (0xC00002B4L)
|
||||
#define STATUS_FLOAT_MULTIPLE_TRAPS (0xC00002B5L)
|
||||
#define STATUS_REG_NAT_CONSUMPTION (0xC00002C9L)
|
||||
#define STATUS_STACK_BUFFER_OVERRUN (0xC0000409L)
|
||||
#define STATUS_INVALID_CRUNTIME_PARAMETER (0xC0000417L)
|
||||
#define STATUS_ASSERTION_FAILURE (0xC0000420L)
|
||||
#define STATUS_POSSIBLE_DEADLOCK (0xC0000194)
|
||||
|
||||
|
||||
#define WAIT_IO_COMPLETION STATUS_USER_APC
|
||||
#define STILL_ACTIVE STATUS_PENDING
|
||||
@@ -334,89 +279,6 @@
|
||||
#define EXCEPTION_MAXIMUM_PARAMETERS 15
|
||||
|
||||
|
||||
#define STATUS_WAIT_0 (0x00000000)
|
||||
#define STATUS_ABANDONED_WAIT_0 (0x00000080)
|
||||
#define STATUS_USER_APC (0x000000C0)
|
||||
#define STATUS_TIMEOUT (0x00000102)
|
||||
#define STATUS_PENDING (0x00000103)
|
||||
#define DBG_EXCEPTION_HANDLED (0x00010001)
|
||||
#define DBG_CONTINUE (0x00010002)
|
||||
#define STATUS_SEGMENT_NOTIFICATION (0x40000005)
|
||||
#define DBG_TERMINATE_THREAD (0x40010003)
|
||||
#define DBG_TERMINATE_PROCESS (0x40010004)
|
||||
#define DBG_CONTROL_C (0x40010005)
|
||||
#define DBG_PRINTEXCEPTION_C (0x40010006)
|
||||
#define DBG_RIPEXCEPTION (0x40010007)
|
||||
#define DBG_CONTROL_BREAK (0x40010008)
|
||||
#define DBG_COMMAND_EXCEPTION (0x40010009)
|
||||
#define STATUS_GUARD_PAGE_VIOLATION (0x80000001)
|
||||
#define STATUS_DATATYPE_MISALIGNMENT (0x80000002)
|
||||
#define STATUS_BREAKPOINT (0x80000003)
|
||||
#define STATUS_SINGLE_STEP (0x80000004)
|
||||
#define STATUS_LONGJUMP (0x80000026)
|
||||
#define STATUS_UNWIND_CONSOLIDATE (0x80000029)
|
||||
#define DBG_EXCEPTION_NOT_HANDLED (0x80010001)
|
||||
#define STATUS_ACCESS_VIOLATION (0xC0000005)
|
||||
#define STATUS_IN_PAGE_ERROR (0xC0000006)
|
||||
#define STATUS_INVALID_HANDLE (0xC0000008)
|
||||
#define STATUS_INVALID_PARAMETER (0xC000000D)
|
||||
#define STATUS_NO_MEMORY (0xC0000017)
|
||||
#define STATUS_ILLEGAL_INSTRUCTION (0xC000001D)
|
||||
#define STATUS_NONCONTINUABLE_EXCEPTION (0xC0000025)
|
||||
#define STATUS_INVALID_DISPOSITION (0xC0000026)
|
||||
#define STATUS_ARRAY_BOUNDS_EXCEEDED (0xC000008C)
|
||||
#define STATUS_FLOAT_DENORMAL_OPERAND (0xC000008D)
|
||||
#define STATUS_FLOAT_DIVIDE_BY_ZERO (0xC000008E)
|
||||
#define STATUS_FLOAT_INEXACT_RESULT (0xC000008F)
|
||||
#define STATUS_FLOAT_INVALID_OPERATION (0xC0000090)
|
||||
#define STATUS_FLOAT_OVERFLOW (0xC0000091)
|
||||
#define STATUS_FLOAT_STACK_CHECK (0xC0000092)
|
||||
#define STATUS_FLOAT_UNDERFLOW (0xC0000093)
|
||||
#define STATUS_INTEGER_DIVIDE_BY_ZERO (0xC0000094)
|
||||
#define STATUS_INTEGER_OVERFLOW (0xC0000095)
|
||||
#define STATUS_PRIVILEGED_INSTRUCTION (0xC0000096)
|
||||
#define STATUS_STACK_OVERFLOW (0xC00000FD)
|
||||
#define STATUS_DLL_NOT_FOUND (0xC0000135)
|
||||
#define STATUS_ORDINAL_NOT_FOUND (0xC0000138)
|
||||
#define STATUS_ENTRYPOINT_NOT_FOUND (0xC0000139)
|
||||
#define STATUS_CONTROL_C_EXIT (0xC000013A)
|
||||
#define STATUS_DLL_INIT_FAILED (0xC0000142)
|
||||
#define STATUS_FLOAT_MULTIPLE_FAULTS (0xC00002B4)
|
||||
#define STATUS_FLOAT_MULTIPLE_TRAPS (0xC00002B5)
|
||||
#define STATUS_REG_NAT_CONSUMPTION (0xC00002C9)
|
||||
#define STATUS_STACK_BUFFER_OVERRUN (0xC0000409)
|
||||
#define STATUS_INVALID_CRUNTIME_PARAMETER (0xC0000417)
|
||||
#define STATUS_ASSERTION_FAILURE (0xC0000420)
|
||||
|
||||
|
||||
#define WAIT_IO_COMPLETION STATUS_USER_APC
|
||||
#define STILL_ACTIVE STATUS_PENDING
|
||||
#define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION
|
||||
#define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT
|
||||
#define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT
|
||||
#define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP
|
||||
#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED
|
||||
#define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND
|
||||
#define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO
|
||||
#define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT
|
||||
#define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION
|
||||
#define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW
|
||||
#define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK
|
||||
#define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW
|
||||
#define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO
|
||||
#define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW
|
||||
#define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION
|
||||
#define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR
|
||||
#define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION
|
||||
#define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION
|
||||
#define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW
|
||||
#define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION
|
||||
#define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION
|
||||
#define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE
|
||||
#define EXCEPTION_POSSIBLE_DEADLOCK STATUS_POSSIBLE_DEADLOCK
|
||||
#define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT
|
||||
|
||||
|
||||
#define EXCEPTION_EXECUTE_HANDLER 1
|
||||
#define EXCEPTION_CONTINUE_SEARCH 0
|
||||
#define EXCEPTION_CONTINUE_EXECUTION -1
|
||||
@@ -540,11 +402,8 @@
|
||||
#define KEY_EXECUTE ((KEY_READ)&(~SYNCHRONIZE))
|
||||
#define KEY_ALL_ACCESS ((STANDARD_RIGHTS_ALL|KEY_QUERY_VALUE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY|KEY_CREATE_LINK)&(~SYNCHRONIZE))
|
||||
|
||||
#define STATUS_INFO_LENGTH_MISMATCH (0xC0000004L)
|
||||
|
||||
#define ERROR_NOT_ALL_ASSIGNED 1300
|
||||
|
||||
|
||||
#define S_OK 0
|
||||
#define S_FALSE 1
|
||||
#define E_NOINTERFACE 0x80004002
|
||||
|
||||
@@ -251,6 +251,14 @@ class InitialDefGenerator(CtypesGenerator):
|
||||
print("<{0}> generated".format(self.outfilename))
|
||||
return ctypes_code
|
||||
|
||||
def generate_doc(self, target_file):
|
||||
all_lines = [".. currentmodule:: windows.generated_def\n"
|
||||
"Windef\n"
|
||||
"------\n"]
|
||||
all_lines += [".. autodata:: {windef.name}\n".format(windef=windef) for windef in self.parse()]
|
||||
with open(target_file, "w") as f:
|
||||
f.writelines(all_lines)
|
||||
|
||||
class StructGenerator(CtypesGenerator):
|
||||
PARSER = struct_parser.WinStructParser
|
||||
IMPORT_HEADER = dedent ("""
|
||||
@@ -338,6 +346,41 @@ class StructGenerator(CtypesGenerator):
|
||||
self.analyse(self.data)
|
||||
self.check_dependances()
|
||||
|
||||
def generate_doc(self, target_file):
|
||||
all_lines = [".. currentmodule:: windows.generated_def\n"
|
||||
"Winstructs\n"
|
||||
"----------\n"]
|
||||
structs, enums = self.parse()
|
||||
for struct in structs:
|
||||
all_lines.append("{0}\n{1}\n".format(struct.name, "-" * len(struct.name)))
|
||||
for name, type in struct.typedef.items():
|
||||
all_lines.append(".. class:: {0}\n\n".format(name))
|
||||
if hasattr(type, "type"):
|
||||
all_lines.append(" Pointer to :class:`{0}`\n\n".format(type.type.name))
|
||||
else:
|
||||
all_lines.append(" Alias for :class:`{0}`\n\n".format(type.name))
|
||||
|
||||
all_lines.append(".. class:: {0}\n".format(struct.name))
|
||||
for ftype, fname, nb in struct.fields:
|
||||
array_str = " ``[{nb}]``".format(nb=nb) if nb > 1 else ""
|
||||
all_lines.append("\n .. attribute:: {0}\n\n :class:`{1}`{2}\n\n".format(fname, ftype.name, array_str))
|
||||
|
||||
for enum in enums:
|
||||
all_lines.append("{0}\n{1}\n".format(enum.name, "-" * len(enum.name)))
|
||||
for name, type in enum.typedef.items():
|
||||
all_lines.append(".. class:: {0}\n\n".format(name))
|
||||
if hasattr(type, "type"):
|
||||
all_lines.append(" Pointer to :class:`{0}`\n\n".format(type.type.name))
|
||||
else:
|
||||
all_lines.append(" Alias for :class:`{0}`\n\n".format(type.name))
|
||||
all_lines.append(".. class:: {0}\n\n".format(enum.name))
|
||||
for enum_value, enum_name in enum.fields:
|
||||
all_lines.append("\n .. attribute:: {0}({1})\n\n".format(enum_name, enum_value))
|
||||
|
||||
with open(target_file, "w") as f:
|
||||
f.writelines(all_lines)
|
||||
|
||||
|
||||
class FuncGenerator(CtypesGenerator):
|
||||
PARSER = func_parser.WinFuncParser
|
||||
IMPORT_HEADER = dedent ("""
|
||||
@@ -436,6 +479,14 @@ class NtStatusGenerator(CtypesGenerator):
|
||||
print("<{0}> generated".format(self.outfilename))
|
||||
return ctypes_code
|
||||
|
||||
def generate_doc(self, target_file):
|
||||
all_lines = [".. currentmodule:: windows.generated_def\n"
|
||||
"Ntstatus\n"
|
||||
"--------\n"]
|
||||
all_lines += [".. autodata:: {nstatus_name}\n".format(nstatus_name=nstatus[1]) for nstatus in self.parse()]
|
||||
with open(target_file, "w") as f:
|
||||
f.writelines(all_lines)
|
||||
|
||||
|
||||
class InitialCOMGenerator(CtypesGenerator):
|
||||
PARSER = com_parser.WinComParser
|
||||
@@ -742,10 +793,39 @@ functions.append_input_file(from_here("definitions\\wintrust_crypt_func.txt"))
|
||||
|
||||
com = InitialCOMGenerator(from_here("definitions\\com\\*.txt"), DEFAULT_INTERFACE_TO_IID, from_here(r"..\windows\generated_def\\interfaces.py"), dependances=[structs, defs_with_ntstatus])
|
||||
|
||||
# check for collision between ntstatus and defs_with_ntstatus
|
||||
|
||||
# Check for multiple define in defs_with_ntstatus
|
||||
import collections
|
||||
|
||||
all_defs_names = [x.name for x in defs_with_ntstatus.parse()]
|
||||
|
||||
for name, nb in collections.Counter(all_defs_names).most_common():
|
||||
if nb > 1:
|
||||
print("Duplicated windef define: {0} ({1} defines)".format(name, nb))
|
||||
if nb == 1:
|
||||
break
|
||||
|
||||
all_ntstatus_names = [x[1] for x in ntstatus.parse()]
|
||||
|
||||
# Check for multiple define in ntstatus
|
||||
for name, nb in collections.Counter(all_ntstatus_names).most_common():
|
||||
if nb > 1:
|
||||
print("Duplicated ntstatus define: {0} ({1} defines)".format(name, nb))
|
||||
if nb == 1:
|
||||
break
|
||||
|
||||
for collision_name in set(all_defs_names) & set(all_ntstatus_names):
|
||||
print("Duplicated ntstatus + windef define: {0}".format(collision_name))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
ntstatus.generate()
|
||||
defs_with_ntstatus.generate()
|
||||
structs.generate()
|
||||
functions.generate()
|
||||
com.generate()
|
||||
com.generate()
|
||||
print("Generating documentation")
|
||||
ntstatus.generate_doc(from_here(r"..\docs\source\ntstatus_generated.rst"))
|
||||
defs_with_ntstatus.generate_doc(from_here(r"..\docs\source\windef_generated.rst"))
|
||||
structs.generate_doc(from_here(r"..\docs\source\winstructs_generated.rst"))
|
||||
@@ -0,0 +1,27 @@
|
||||
``windows.alpc`` -- Advanced Local Procedure Call
|
||||
*************************************************
|
||||
|
||||
.. module:: windows.alpc
|
||||
|
||||
The :mod:`windows.alpc` module regroups the classes that permits to send and receive
|
||||
ALPC messages over an ALPC port and the classes representing these messages.
|
||||
|
||||
|
||||
ALPC Message
|
||||
------------
|
||||
|
||||
.. autoclass:: AlpcMessage
|
||||
|
||||
.. autoclass:: AlpcMessagePort
|
||||
|
||||
.. autoclass:: MessageAttribute
|
||||
|
||||
ALPC client
|
||||
-----------
|
||||
|
||||
.. autoclass:: AlpcClient
|
||||
|
||||
ALPC Server
|
||||
-----------
|
||||
|
||||
.. autoclass:: AlpcServer
|
||||
@@ -21,10 +21,13 @@ Contents:
|
||||
debug.rst
|
||||
com.rst
|
||||
crypto.rst
|
||||
alpc.rst
|
||||
iat_hook.rst
|
||||
wip.rst
|
||||
internals.rst
|
||||
sample.rst
|
||||
windef.rst
|
||||
testing.rst
|
||||
|
||||
|
||||
Indices and tables
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,21 @@
|
||||
LOOL
|
||||
****
|
||||
|
||||
.. module:: windows.generated_def
|
||||
|
||||
.. class:: windows.generated_def.IMAGE_FILE_HEADER
|
||||
|
||||
public name of :class:`windows.generated_def.winstructs._IMAGE_FILE_HEADER`
|
||||
|
||||
|
||||
.. autoclass:: windows.generated_def.winstructs._PEB
|
||||
|
||||
.. autoclass:: windows.generated_def.winstructs._PEB_LDR_DATA
|
||||
|
||||
|
||||
yolo :class:`windows.generated_def.ERROR_RXACT_STATE_CREATED`
|
||||
|
||||
:class:`windows.generated_def._ALPC_PORT_INFORMATION_CLASS`
|
||||
|
||||
|
||||
:class:`windows.generated_def._ALPC_PORT_INFORMATION_CLASS.AlpcServerInformation`
|
||||
@@ -0,0 +1,17 @@
|
||||
Test generated !
|
||||
****************
|
||||
|
||||
.. module:: windows.generated_def
|
||||
|
||||
List of flags definition in :mod:`windows.generated_def`.
|
||||
Each one inherit from :class:`long` but embded the name of the define and can be used in place of :class:`int`/:class:`long` for context.
|
||||
|
||||
|
||||
Contents:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:numbered:
|
||||
|
||||
windef_generated.rst
|
||||
ntstatus_generated.rst
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -143,60 +143,6 @@ PROFILE_USER = make_flag("PROFILE_USER", 0x10000000)
|
||||
PROFILE_KERNEL = make_flag("PROFILE_KERNEL", 0x20000000)
|
||||
PROFILE_SERVER = make_flag("PROFILE_SERVER", 0x40000000)
|
||||
CREATE_IGNORE_SYSTEM_DEFAULT = make_flag("CREATE_IGNORE_SYSTEM_DEFAULT", 0x80000000)
|
||||
STATUS_WAIT_0 = make_flag("STATUS_WAIT_0", ( 0x00000000 ))
|
||||
STATUS_ABANDONED_WAIT_0 = make_flag("STATUS_ABANDONED_WAIT_0", ( 0x00000080 ))
|
||||
STATUS_USER_APC = make_flag("STATUS_USER_APC", ( 0x000000C0 ))
|
||||
STATUS_TIMEOUT = make_flag("STATUS_TIMEOUT", ( 0x00000102 ))
|
||||
STATUS_PENDING = make_flag("STATUS_PENDING", ( 0x00000103 ))
|
||||
DBG_EXCEPTION_HANDLED = make_flag("DBG_EXCEPTION_HANDLED", ( 0x00010001 ))
|
||||
DBG_CONTINUE = make_flag("DBG_CONTINUE", ( 0x00010002 ))
|
||||
STATUS_SEGMENT_NOTIFICATION = make_flag("STATUS_SEGMENT_NOTIFICATION", ( 0x40000005 ))
|
||||
DBG_TERMINATE_THREAD = make_flag("DBG_TERMINATE_THREAD", ( 0x40010003 ))
|
||||
DBG_TERMINATE_PROCESS = make_flag("DBG_TERMINATE_PROCESS", ( 0x40010004 ))
|
||||
DBG_CONTROL_C = make_flag("DBG_CONTROL_C", ( 0x40010005 ))
|
||||
DBG_PRINTEXCEPTION_C = make_flag("DBG_PRINTEXCEPTION_C", ( 0x40010006 ))
|
||||
DBG_RIPEXCEPTION = make_flag("DBG_RIPEXCEPTION", ( 0x40010007 ))
|
||||
DBG_CONTROL_BREAK = make_flag("DBG_CONTROL_BREAK", ( 0x40010008 ))
|
||||
DBG_COMMAND_EXCEPTION = make_flag("DBG_COMMAND_EXCEPTION", ( 0x40010009 ))
|
||||
STATUS_GUARD_PAGE_VIOLATION = make_flag("STATUS_GUARD_PAGE_VIOLATION", ( 0x80000001 ))
|
||||
STATUS_DATATYPE_MISALIGNMENT = make_flag("STATUS_DATATYPE_MISALIGNMENT", ( 0x80000002 ))
|
||||
STATUS_BREAKPOINT = make_flag("STATUS_BREAKPOINT", ( 0x80000003 ))
|
||||
STATUS_SINGLE_STEP = make_flag("STATUS_SINGLE_STEP", ( 0x80000004 ))
|
||||
STATUS_LONGJUMP = make_flag("STATUS_LONGJUMP", ( 0x80000026 ))
|
||||
STATUS_UNWIND_CONSOLIDATE = make_flag("STATUS_UNWIND_CONSOLIDATE", ( 0x80000029 ))
|
||||
DBG_EXCEPTION_NOT_HANDLED = make_flag("DBG_EXCEPTION_NOT_HANDLED", ( 0x80010001 ))
|
||||
STATUS_ACCESS_VIOLATION = make_flag("STATUS_ACCESS_VIOLATION", ( 0xC0000005 ))
|
||||
STATUS_IN_PAGE_ERROR = make_flag("STATUS_IN_PAGE_ERROR", ( 0xC0000006 ))
|
||||
STATUS_INVALID_HANDLE = make_flag("STATUS_INVALID_HANDLE", ( 0xC0000008 ))
|
||||
STATUS_INVALID_PARAMETER = make_flag("STATUS_INVALID_PARAMETER", ( 0xC000000D ))
|
||||
STATUS_NO_MEMORY = make_flag("STATUS_NO_MEMORY", ( 0xC0000017 ))
|
||||
STATUS_ILLEGAL_INSTRUCTION = make_flag("STATUS_ILLEGAL_INSTRUCTION", ( 0xC000001D ))
|
||||
STATUS_NONCONTINUABLE_EXCEPTION = make_flag("STATUS_NONCONTINUABLE_EXCEPTION", ( 0xC0000025 ))
|
||||
STATUS_INVALID_DISPOSITION = make_flag("STATUS_INVALID_DISPOSITION", ( 0xC0000026 ))
|
||||
STATUS_ARRAY_BOUNDS_EXCEEDED = make_flag("STATUS_ARRAY_BOUNDS_EXCEEDED", ( 0xC000008C ))
|
||||
STATUS_FLOAT_DENORMAL_OPERAND = make_flag("STATUS_FLOAT_DENORMAL_OPERAND", ( 0xC000008D ))
|
||||
STATUS_FLOAT_DIVIDE_BY_ZERO = make_flag("STATUS_FLOAT_DIVIDE_BY_ZERO", ( 0xC000008E ))
|
||||
STATUS_FLOAT_INEXACT_RESULT = make_flag("STATUS_FLOAT_INEXACT_RESULT", ( 0xC000008F ))
|
||||
STATUS_FLOAT_INVALID_OPERATION = make_flag("STATUS_FLOAT_INVALID_OPERATION", ( 0xC0000090 ))
|
||||
STATUS_FLOAT_OVERFLOW = make_flag("STATUS_FLOAT_OVERFLOW", ( 0xC0000091 ))
|
||||
STATUS_FLOAT_STACK_CHECK = make_flag("STATUS_FLOAT_STACK_CHECK", ( 0xC0000092 ))
|
||||
STATUS_FLOAT_UNDERFLOW = make_flag("STATUS_FLOAT_UNDERFLOW", ( 0xC0000093 ))
|
||||
STATUS_INTEGER_DIVIDE_BY_ZERO = make_flag("STATUS_INTEGER_DIVIDE_BY_ZERO", ( 0xC0000094 ))
|
||||
STATUS_INTEGER_OVERFLOW = make_flag("STATUS_INTEGER_OVERFLOW", ( 0xC0000095 ))
|
||||
STATUS_PRIVILEGED_INSTRUCTION = make_flag("STATUS_PRIVILEGED_INSTRUCTION", ( 0xC0000096 ))
|
||||
STATUS_STACK_OVERFLOW = make_flag("STATUS_STACK_OVERFLOW", ( 0xC00000FD ))
|
||||
STATUS_DLL_NOT_FOUND = make_flag("STATUS_DLL_NOT_FOUND", ( 0xC0000135 ))
|
||||
STATUS_ORDINAL_NOT_FOUND = make_flag("STATUS_ORDINAL_NOT_FOUND", ( 0xC0000138 ))
|
||||
STATUS_ENTRYPOINT_NOT_FOUND = make_flag("STATUS_ENTRYPOINT_NOT_FOUND", ( 0xC0000139 ))
|
||||
STATUS_CONTROL_C_EXIT = make_flag("STATUS_CONTROL_C_EXIT", ( 0xC000013A ))
|
||||
STATUS_DLL_INIT_FAILED = make_flag("STATUS_DLL_INIT_FAILED", ( 0xC0000142 ))
|
||||
STATUS_FLOAT_MULTIPLE_FAULTS = make_flag("STATUS_FLOAT_MULTIPLE_FAULTS", ( 0xC00002B4 ))
|
||||
STATUS_FLOAT_MULTIPLE_TRAPS = make_flag("STATUS_FLOAT_MULTIPLE_TRAPS", ( 0xC00002B5 ))
|
||||
STATUS_REG_NAT_CONSUMPTION = make_flag("STATUS_REG_NAT_CONSUMPTION", ( 0xC00002C9 ))
|
||||
STATUS_STACK_BUFFER_OVERRUN = make_flag("STATUS_STACK_BUFFER_OVERRUN", ( 0xC0000409 ))
|
||||
STATUS_INVALID_CRUNTIME_PARAMETER = make_flag("STATUS_INVALID_CRUNTIME_PARAMETER", ( 0xC0000417 ))
|
||||
STATUS_ASSERTION_FAILURE = make_flag("STATUS_ASSERTION_FAILURE", ( 0xC0000420 ))
|
||||
STATUS_POSSIBLE_DEADLOCK = make_flag("STATUS_POSSIBLE_DEADLOCK", ( 0xC0000194 ))
|
||||
WAIT_IO_COMPLETION = make_flag("WAIT_IO_COMPLETION", STATUS_USER_APC)
|
||||
STILL_ACTIVE = make_flag("STILL_ACTIVE", STATUS_PENDING)
|
||||
EXCEPTION_ACCESS_VIOLATION = make_flag("EXCEPTION_ACCESS_VIOLATION", STATUS_ACCESS_VIOLATION)
|
||||
@@ -344,85 +290,6 @@ AF_IRDA = make_flag("AF_IRDA", 26)
|
||||
AF_NETDES = make_flag("AF_NETDES", 28)
|
||||
EXCEPTION_NONCONTINUABLE = make_flag("EXCEPTION_NONCONTINUABLE", 0x1)
|
||||
EXCEPTION_MAXIMUM_PARAMETERS = make_flag("EXCEPTION_MAXIMUM_PARAMETERS", 15)
|
||||
STATUS_WAIT_0 = make_flag("STATUS_WAIT_0", ( 0x00000000 ))
|
||||
STATUS_ABANDONED_WAIT_0 = make_flag("STATUS_ABANDONED_WAIT_0", ( 0x00000080 ))
|
||||
STATUS_USER_APC = make_flag("STATUS_USER_APC", ( 0x000000C0 ))
|
||||
STATUS_TIMEOUT = make_flag("STATUS_TIMEOUT", ( 0x00000102 ))
|
||||
STATUS_PENDING = make_flag("STATUS_PENDING", ( 0x00000103 ))
|
||||
DBG_EXCEPTION_HANDLED = make_flag("DBG_EXCEPTION_HANDLED", ( 0x00010001 ))
|
||||
DBG_CONTINUE = make_flag("DBG_CONTINUE", ( 0x00010002 ))
|
||||
STATUS_SEGMENT_NOTIFICATION = make_flag("STATUS_SEGMENT_NOTIFICATION", ( 0x40000005 ))
|
||||
DBG_TERMINATE_THREAD = make_flag("DBG_TERMINATE_THREAD", ( 0x40010003 ))
|
||||
DBG_TERMINATE_PROCESS = make_flag("DBG_TERMINATE_PROCESS", ( 0x40010004 ))
|
||||
DBG_CONTROL_C = make_flag("DBG_CONTROL_C", ( 0x40010005 ))
|
||||
DBG_PRINTEXCEPTION_C = make_flag("DBG_PRINTEXCEPTION_C", ( 0x40010006 ))
|
||||
DBG_RIPEXCEPTION = make_flag("DBG_RIPEXCEPTION", ( 0x40010007 ))
|
||||
DBG_CONTROL_BREAK = make_flag("DBG_CONTROL_BREAK", ( 0x40010008 ))
|
||||
DBG_COMMAND_EXCEPTION = make_flag("DBG_COMMAND_EXCEPTION", ( 0x40010009 ))
|
||||
STATUS_GUARD_PAGE_VIOLATION = make_flag("STATUS_GUARD_PAGE_VIOLATION", ( 0x80000001 ))
|
||||
STATUS_DATATYPE_MISALIGNMENT = make_flag("STATUS_DATATYPE_MISALIGNMENT", ( 0x80000002 ))
|
||||
STATUS_BREAKPOINT = make_flag("STATUS_BREAKPOINT", ( 0x80000003 ))
|
||||
STATUS_SINGLE_STEP = make_flag("STATUS_SINGLE_STEP", ( 0x80000004 ))
|
||||
STATUS_LONGJUMP = make_flag("STATUS_LONGJUMP", ( 0x80000026 ))
|
||||
STATUS_UNWIND_CONSOLIDATE = make_flag("STATUS_UNWIND_CONSOLIDATE", ( 0x80000029 ))
|
||||
DBG_EXCEPTION_NOT_HANDLED = make_flag("DBG_EXCEPTION_NOT_HANDLED", ( 0x80010001 ))
|
||||
STATUS_ACCESS_VIOLATION = make_flag("STATUS_ACCESS_VIOLATION", ( 0xC0000005 ))
|
||||
STATUS_IN_PAGE_ERROR = make_flag("STATUS_IN_PAGE_ERROR", ( 0xC0000006 ))
|
||||
STATUS_INVALID_HANDLE = make_flag("STATUS_INVALID_HANDLE", ( 0xC0000008 ))
|
||||
STATUS_INVALID_PARAMETER = make_flag("STATUS_INVALID_PARAMETER", ( 0xC000000D ))
|
||||
STATUS_NO_MEMORY = make_flag("STATUS_NO_MEMORY", ( 0xC0000017 ))
|
||||
STATUS_ILLEGAL_INSTRUCTION = make_flag("STATUS_ILLEGAL_INSTRUCTION", ( 0xC000001D ))
|
||||
STATUS_NONCONTINUABLE_EXCEPTION = make_flag("STATUS_NONCONTINUABLE_EXCEPTION", ( 0xC0000025 ))
|
||||
STATUS_INVALID_DISPOSITION = make_flag("STATUS_INVALID_DISPOSITION", ( 0xC0000026 ))
|
||||
STATUS_ARRAY_BOUNDS_EXCEEDED = make_flag("STATUS_ARRAY_BOUNDS_EXCEEDED", ( 0xC000008C ))
|
||||
STATUS_FLOAT_DENORMAL_OPERAND = make_flag("STATUS_FLOAT_DENORMAL_OPERAND", ( 0xC000008D ))
|
||||
STATUS_FLOAT_DIVIDE_BY_ZERO = make_flag("STATUS_FLOAT_DIVIDE_BY_ZERO", ( 0xC000008E ))
|
||||
STATUS_FLOAT_INEXACT_RESULT = make_flag("STATUS_FLOAT_INEXACT_RESULT", ( 0xC000008F ))
|
||||
STATUS_FLOAT_INVALID_OPERATION = make_flag("STATUS_FLOAT_INVALID_OPERATION", ( 0xC0000090 ))
|
||||
STATUS_FLOAT_OVERFLOW = make_flag("STATUS_FLOAT_OVERFLOW", ( 0xC0000091 ))
|
||||
STATUS_FLOAT_STACK_CHECK = make_flag("STATUS_FLOAT_STACK_CHECK", ( 0xC0000092 ))
|
||||
STATUS_FLOAT_UNDERFLOW = make_flag("STATUS_FLOAT_UNDERFLOW", ( 0xC0000093 ))
|
||||
STATUS_INTEGER_DIVIDE_BY_ZERO = make_flag("STATUS_INTEGER_DIVIDE_BY_ZERO", ( 0xC0000094 ))
|
||||
STATUS_INTEGER_OVERFLOW = make_flag("STATUS_INTEGER_OVERFLOW", ( 0xC0000095 ))
|
||||
STATUS_PRIVILEGED_INSTRUCTION = make_flag("STATUS_PRIVILEGED_INSTRUCTION", ( 0xC0000096 ))
|
||||
STATUS_STACK_OVERFLOW = make_flag("STATUS_STACK_OVERFLOW", ( 0xC00000FD ))
|
||||
STATUS_DLL_NOT_FOUND = make_flag("STATUS_DLL_NOT_FOUND", ( 0xC0000135 ))
|
||||
STATUS_ORDINAL_NOT_FOUND = make_flag("STATUS_ORDINAL_NOT_FOUND", ( 0xC0000138 ))
|
||||
STATUS_ENTRYPOINT_NOT_FOUND = make_flag("STATUS_ENTRYPOINT_NOT_FOUND", ( 0xC0000139 ))
|
||||
STATUS_CONTROL_C_EXIT = make_flag("STATUS_CONTROL_C_EXIT", ( 0xC000013A ))
|
||||
STATUS_DLL_INIT_FAILED = make_flag("STATUS_DLL_INIT_FAILED", ( 0xC0000142 ))
|
||||
STATUS_FLOAT_MULTIPLE_FAULTS = make_flag("STATUS_FLOAT_MULTIPLE_FAULTS", ( 0xC00002B4 ))
|
||||
STATUS_FLOAT_MULTIPLE_TRAPS = make_flag("STATUS_FLOAT_MULTIPLE_TRAPS", ( 0xC00002B5 ))
|
||||
STATUS_REG_NAT_CONSUMPTION = make_flag("STATUS_REG_NAT_CONSUMPTION", ( 0xC00002C9 ))
|
||||
STATUS_STACK_BUFFER_OVERRUN = make_flag("STATUS_STACK_BUFFER_OVERRUN", ( 0xC0000409 ))
|
||||
STATUS_INVALID_CRUNTIME_PARAMETER = make_flag("STATUS_INVALID_CRUNTIME_PARAMETER", ( 0xC0000417 ))
|
||||
STATUS_ASSERTION_FAILURE = make_flag("STATUS_ASSERTION_FAILURE", ( 0xC0000420 ))
|
||||
WAIT_IO_COMPLETION = make_flag("WAIT_IO_COMPLETION", STATUS_USER_APC)
|
||||
STILL_ACTIVE = make_flag("STILL_ACTIVE", STATUS_PENDING)
|
||||
EXCEPTION_ACCESS_VIOLATION = make_flag("EXCEPTION_ACCESS_VIOLATION", STATUS_ACCESS_VIOLATION)
|
||||
EXCEPTION_DATATYPE_MISALIGNMENT = make_flag("EXCEPTION_DATATYPE_MISALIGNMENT", STATUS_DATATYPE_MISALIGNMENT)
|
||||
EXCEPTION_BREAKPOINT = make_flag("EXCEPTION_BREAKPOINT", STATUS_BREAKPOINT)
|
||||
EXCEPTION_SINGLE_STEP = make_flag("EXCEPTION_SINGLE_STEP", STATUS_SINGLE_STEP)
|
||||
EXCEPTION_ARRAY_BOUNDS_EXCEEDED = make_flag("EXCEPTION_ARRAY_BOUNDS_EXCEEDED", STATUS_ARRAY_BOUNDS_EXCEEDED)
|
||||
EXCEPTION_FLT_DENORMAL_OPERAND = make_flag("EXCEPTION_FLT_DENORMAL_OPERAND", STATUS_FLOAT_DENORMAL_OPERAND)
|
||||
EXCEPTION_FLT_DIVIDE_BY_ZERO = make_flag("EXCEPTION_FLT_DIVIDE_BY_ZERO", STATUS_FLOAT_DIVIDE_BY_ZERO)
|
||||
EXCEPTION_FLT_INEXACT_RESULT = make_flag("EXCEPTION_FLT_INEXACT_RESULT", STATUS_FLOAT_INEXACT_RESULT)
|
||||
EXCEPTION_FLT_INVALID_OPERATION = make_flag("EXCEPTION_FLT_INVALID_OPERATION", STATUS_FLOAT_INVALID_OPERATION)
|
||||
EXCEPTION_FLT_OVERFLOW = make_flag("EXCEPTION_FLT_OVERFLOW", STATUS_FLOAT_OVERFLOW)
|
||||
EXCEPTION_FLT_STACK_CHECK = make_flag("EXCEPTION_FLT_STACK_CHECK", STATUS_FLOAT_STACK_CHECK)
|
||||
EXCEPTION_FLT_UNDERFLOW = make_flag("EXCEPTION_FLT_UNDERFLOW", STATUS_FLOAT_UNDERFLOW)
|
||||
EXCEPTION_INT_DIVIDE_BY_ZERO = make_flag("EXCEPTION_INT_DIVIDE_BY_ZERO", STATUS_INTEGER_DIVIDE_BY_ZERO)
|
||||
EXCEPTION_INT_OVERFLOW = make_flag("EXCEPTION_INT_OVERFLOW", STATUS_INTEGER_OVERFLOW)
|
||||
EXCEPTION_PRIV_INSTRUCTION = make_flag("EXCEPTION_PRIV_INSTRUCTION", STATUS_PRIVILEGED_INSTRUCTION)
|
||||
EXCEPTION_IN_PAGE_ERROR = make_flag("EXCEPTION_IN_PAGE_ERROR", STATUS_IN_PAGE_ERROR)
|
||||
EXCEPTION_ILLEGAL_INSTRUCTION = make_flag("EXCEPTION_ILLEGAL_INSTRUCTION", STATUS_ILLEGAL_INSTRUCTION)
|
||||
EXCEPTION_NONCONTINUABLE_EXCEPTION = make_flag("EXCEPTION_NONCONTINUABLE_EXCEPTION", STATUS_NONCONTINUABLE_EXCEPTION)
|
||||
EXCEPTION_STACK_OVERFLOW = make_flag("EXCEPTION_STACK_OVERFLOW", STATUS_STACK_OVERFLOW)
|
||||
EXCEPTION_INVALID_DISPOSITION = make_flag("EXCEPTION_INVALID_DISPOSITION", STATUS_INVALID_DISPOSITION)
|
||||
EXCEPTION_GUARD_PAGE = make_flag("EXCEPTION_GUARD_PAGE", STATUS_GUARD_PAGE_VIOLATION)
|
||||
EXCEPTION_INVALID_HANDLE = make_flag("EXCEPTION_INVALID_HANDLE", STATUS_INVALID_HANDLE)
|
||||
EXCEPTION_POSSIBLE_DEADLOCK = make_flag("EXCEPTION_POSSIBLE_DEADLOCK", STATUS_POSSIBLE_DEADLOCK)
|
||||
CONTROL_C_EXIT = make_flag("CONTROL_C_EXIT", STATUS_CONTROL_C_EXIT)
|
||||
EXCEPTION_EXECUTE_HANDLER = make_flag("EXCEPTION_EXECUTE_HANDLER", 1)
|
||||
EXCEPTION_CONTINUE_SEARCH = make_flag("EXCEPTION_CONTINUE_SEARCH", 0)
|
||||
EXCEPTION_CONTINUE_EXECUTION = make_flag("EXCEPTION_CONTINUE_EXECUTION", -1)
|
||||
@@ -531,7 +398,6 @@ KEY_READ = make_flag("KEY_READ", ( ( STANDARD_RIGHTS_READ|KEY_QUERY_VALUE|KEY_EN
|
||||
KEY_WRITE = make_flag("KEY_WRITE", ( ( STANDARD_RIGHTS_WRITE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY ) & ( ~SYNCHRONIZE ) ))
|
||||
KEY_EXECUTE = make_flag("KEY_EXECUTE", ( ( KEY_READ ) & ( ~SYNCHRONIZE ) ))
|
||||
KEY_ALL_ACCESS = make_flag("KEY_ALL_ACCESS", ( ( STANDARD_RIGHTS_ALL|KEY_QUERY_VALUE|KEY_SET_VALUE|KEY_CREATE_SUB_KEY|KEY_ENUMERATE_SUB_KEYS|KEY_NOTIFY|KEY_CREATE_LINK ) & ( ~SYNCHRONIZE ) ))
|
||||
STATUS_INFO_LENGTH_MISMATCH = make_flag("STATUS_INFO_LENGTH_MISMATCH", ( 0xC0000004 ))
|
||||
ERROR_NOT_ALL_ASSIGNED = make_flag("ERROR_NOT_ALL_ASSIGNED", 1300)
|
||||
S_OK = make_flag("S_OK", 0)
|
||||
S_FALSE = make_flag("S_FALSE", 1)
|
||||
|
||||
Reference in New Issue
Block a user