From 82e464d5277a50dc26c7360fe270ea90ce966015 Mon Sep 17 00:00:00 2001 From: hakril Date: Fri, 19 Jan 2018 18:11:16 +0100 Subject: [PATCH] Replaced old generate.py with new ctypes generation code ! --- ctypes_generation/generate.py | 1312 ++++++++++--------------- ctypes_generation/newgen.py | 418 -------- ctypes_generation/oldgen.py | 918 ++++++++++++++++++ docs/source/windef_generated.rst | 20 +- docs/source/winstructs_generated.rst | 50 + windows/generated_def/flag.py | 50 + windows/generated_def/interfaces.py | 1344 +++++++++++++------------- windows/generated_def/meta.py | 23 +- windows/generated_def/ntstatus.py | 5 +- windows/generated_def/windef.py | 76 +- windows/generated_def/winfuncs.py | 19 +- windows/generated_def/winstructs.py | 1211 ++++++++++++----------- windows/hooks.py | 9 +- 13 files changed, 2834 insertions(+), 2621 deletions(-) delete mode 100644 ctypes_generation/newgen.py create mode 100644 ctypes_generation/oldgen.py create mode 100644 windows/generated_def/flag.py diff --git a/ctypes_generation/generate.py b/ctypes_generation/generate.py index 8a6ddf0..f556fd5 100644 --- a/ctypes_generation/generate.py +++ b/ctypes_generation/generate.py @@ -4,6 +4,9 @@ import os.path import re import glob import textwrap +import StringIO + +import shutil import dummy_wintypes import struct_parser @@ -15,334 +18,44 @@ pjoin = os.path.join pexists = os.path.exists dedent = textwrap.dedent +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +print(SCRIPT_DIR) +from_here = lambda path: pjoin(SCRIPT_DIR, path) -TYPE_EQUIVALENCE = [ - # BYTE is defined in ctypes.wintypes as c_byte but who wants - # BYTE to be signed ? (from MSDN: ) - ('BYTE', 'c_ubyte'), - ('PWSTR', 'LPWSTR'), - ('PCWSTR', 'LPWSTR'), - ('SIZE_T', 'c_size_t'), - ('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)'), - ('LPTHREAD_START_ROUTINE', 'PVOID'), - ('WNDENUMPROC', 'PVOID'), - ('PHANDLER_ROUTINE', 'PVOID'), - ('LPBYTE', 'POINTER(BYTE)'), - ('ULONG_PTR','PVOID'), - ('DWORD_PTR','ULONG_PTR'), - ('KAFFINITY','ULONG_PTR'), - ('KPRIORITY','LONG'), - ('CHAR', 'c_char'), - ('INT', 'c_int'), - ('UCHAR', 'c_char'), - ('CSHORT', 'c_short'), - ('VARTYPE', 'c_ushort'), - ('PBOOL', 'POINTER(BOOL)'), - ('PSTR', 'LPSTR'), - ('PCSTR', 'LPSTR'), - ('va_list', 'c_char_p'), - ('BSTR', 'c_wchar_p'), - ('OLECHAR', 'c_wchar'), - ('POLECHAR', 'c_wchar_p'), - ('PUCHAR', 'POINTER(UCHAR)'), - ('double', 'c_double'), - ('FARPROC', 'PVOID'), - ('HGLOBAL', 'PVOID'), - ('PSID', 'PVOID'), - ('PVECTORED_EXCEPTION_HANDLER', 'PVOID'), - #('HRESULT', 'c_long'), # VERY BAD : real HRESULT raise by itself -> way better - ('ULONGLONG', 'c_ulonglong'), - ('LONGLONG', 'c_longlong'), - ('ULONG64', 'c_ulonglong'), - ('UINT64', 'ULONG64'), - ('LONG64', 'c_longlong'), - ('LARGE_INTEGER', 'LONGLONG'), - ('PLARGE_INTEGER', 'POINTER(LARGE_INTEGER)'), - ('DWORD64', 'ULONG64'), - ('SCODE', 'LONG'), - ('CIMTYPE', 'LONG'), - ('NET_IFINDEX', 'ULONG'), - ('IF_INDEX', 'NET_IFINDEX'), - ('IFTYPE', 'ULONG'), - ('PULONG64', 'POINTER(ULONG64)'), - ('LPFILETIME', 'POINTER(FILETIME)'), - ('LPPOINT', 'POINTER(POINT)'), - ('LPRECT', 'POINTER(RECT)'), - ('PBYTE', 'POINTER(BYTE)'), - ('PUINT', 'POINTER(UINT)'), - ('PHANDLE', 'POINTER(HANDLE)'), - ('HKEY', 'HANDLE'), - ('HCATADMIN', 'HANDLE'), - ('HCATINFO', 'HANDLE'), - ('HDC', 'HANDLE'), - ('HBITMAP', 'HANDLE'), - ('SC_HANDLE', 'HANDLE'), - ('HCERTCHAINENGINE', 'HANDLE'), - ('LPHANDLE', 'POINTER(HANDLE)'), - ('ALPC_HANDLE', 'HANDLE'), - ('PALPC_HANDLE', 'POINTER(ALPC_HANDLE)'), - ('PHKEY', 'POINTER(HKEY)'), - ('ACCESS_MASK', 'DWORD'), - ('REGSAM', 'ACCESS_MASK'), - ('PBOOLEAN', 'POINTER(BOOLEAN)'), - ('SECURITY_CONTEXT_TRACKING_MODE', 'BOOLEAN'), - ('HCRYPTPROV_OR_NCRYPT_KEY_HANDLE', 'PULONG'), - ('HCRYPTPROV_LEGACY', 'PULONG'), - ('HCRYPTKEY', 'PULONG'), - ('HCRYPTPROV', 'PULONG'), - ('HCRYPTHASH', 'PULONG'), - ('ALG_ID', 'UINT'), - ("DISPID", "LONG"), - ("MEMBERID", "DISPID"), - ('PSECURITY_DESCRIPTOR', 'PVOID'), - ('LPPROC_THREAD_ATTRIBUTE_LIST', 'PVOID'), - ('LPUNKNOWN', 'POINTER(PVOID)'), - ('SPC_UUID', 'BYTE * 16'), - ('PIO_APC_ROUTINE', 'PVOID'), - ('DEVICE_TYPE', 'DWORD'), - #STUFF FOR COM (will be replace at runtime - # real def in com_interface_header - # ('GUID', 'PVOID'), - #('REFGUID', 'PVOID'), - #('LPGUID', 'PVOID'), - # STUFF FOR DBGENGINE - ('PWINDBG_EXTENSION_APIS32', 'PVOID'), - ('PWINDBG_EXTENSION_APIS64', 'PVOID'), - #('PDEBUG_SYMBOL_PARAMETERS', 'PVOID'), - # Will be changed at import time - ('LPCONTEXT', 'PVOID'), - ('HCERTSTORE', 'PVOID'), - ('HCRYPTMSG', 'PVOID'), - ('PALPC_PORT_ATTRIBUTES', 'PVOID'), - ] +DEST_DIR = from_here(r"..\windows\generated_def") +to_dest = lambda path: pjoin(DEST_DIR, path) -TYPE_EQUIVALENCE.append(('VOID', 'DWORD')) -# TRICHE -BASIC_TYPE = dummy_wintypes.names + list([x[0] for x in TYPE_EQUIVALENCE]) - -class CtypesGenerator(object): - common_header = "#Generated file\n" - - PARSER = None - IMPORT_HEADER = "{deps}" - - def __init__(self, indirname, outfilename, dependances=()): - self.indirname = indirname - self.outfilename = outfilename - # self.infile = open(self.infilename) - self.data = None - self.dependances = dependances - - self.exports = set([]) - self.imports = set([]) - - self.parse() - self.analyse(self.data) - self.check_dependances() - - # def parse(self): - # if self.data is None: - # print("Parsing <{0}>".format(self.infilename)) - # self.data = self.PARSER(self.infile.read()).parse() - # return self.data - - def parse(self): - if self.data is not None: - return self.data - data = [] - for filename in glob.glob(self.indirname): - print("Parsing <{0}>".format(filename)) - # data.append(self.PARSER(open(filename).read()).parse()) - data += self.PARSER(open(filename).read()).parse() - self.data = data - return data - - def analyse(self, data): - raise NotImplementedError("<{0}> doest not implement ".format(type(self).__name__)) - - def check_dependances(self): - missing = self.imports - for dep in self.dependances: - missing -= dep.exports - if missing: - # raise ValueError("Missing dependance <{0}> in <{1}>".format(missing, self.infilename)) - print ValueError("Missing dependance <{0}>".format(missing)) - - def generate_import(self): - deps = "\n".join(["from {0} import *".format(os.path.basename(dep.outfilename).rsplit(".")[0]) for dep in self.dependances]) - return self.IMPORT_HEADER.format(deps = deps) - - def add_imports(self, *names): - self.imports.update(names) +class ParsedFile(object): + def __init__(self, filename): + self.filename = filename + self.data = self.PARSER(open(filename).read()).parse() + self.exports = set() + self.imports = set() + self.compute_imports_exports(self.data) def add_exports(self, *names): self.exports.update(names) - def generate(self): - raise NotImplementedError("<{0}> doest not implement ".format(type(self).__name__)) + def add_imports(self, *names): + self.imports.update(names) - def append_input_file(self, filename): - print("Adding file <{0}>".format(filename)) - self.parse() - self.data += self.PARSER(open(filename).read()).parse() - self.analyse(self.data) - self.check_dependances() + def compute_imports_exports(self): + raise NotImplementedError("compute_imports_exports") -class InitialDefGenerator(CtypesGenerator): - PARSER = def_parser.WinDefParser - HEADER = dedent(""" - import sys - import platform - if sys.version_info.major == 3: - long = int + def __repr__(self): + return '<{clsname} "{0}">'.format(self.filename, clsname=type(self).__name__) - bits = platform.architecture()[0] - bitness = int(bits[:2]) - - NATIVE_WORD_MAX_VALUE = 0xffffffff if bitness == 32 else 0xffffffffffffffff - - class Flag(long): - def __new__(cls, name, value): - return super(Flag, cls).__new__(cls, value) - - def __init__(self, name, value): - self.name = name - - def __repr__(self): - return "{0}({1})".format(self.name, hex(self)) - - __str__ = __repr__ - - # Fix pickling with protocol 2 - def __getnewargs__(self, *args): - return self.name, long(self) - - class StrFlag(str): - def __new__(cls, name, value): - if isinstance(value, cls): - return value - return super(StrFlag, cls).__new__(cls, value) - - def __init__(self, name, value): - self.name = name - - def __repr__(self): - return "{0}({1})".format(self.name, str.__repr__(self)) - - # __str__ = __repr__ - - # Fix pickling with protocol 2 - def __getnewargs__(self, *args): - return self.name, str.__str__(self) - - def make_flag(name, value): - if isinstance(value, (int, long)): - return Flag(name, value) - return StrFlag(name, value) - - class FlagMapper(dict): - def __init__(self, *values): - self.update({x:x for x in values}) - - def __missing__(self, key): - return key - """) - - IMPORT_HEADER = "{deps}" - - def analyse(self, data): - self.add_exports("Flag") - self.add_exports("NATIVE_WORD_MAX_VALUE") - for defin in data: - self.add_exports(defin.name) - - def generate(self): - ctypes_lines = [self.common_header, self.HEADER] - #deps = "\n".join(["from {0} import *".format(os.path.basename(dep.outfilename).rsplit(".")[0]) for dep in self.dependances]) - ctypes_lines += [self.generate_import()] - ctypes_lines += [d.generate_ctypes() for d in self.parse()] - ctypes_code = "\n".join(ctypes_lines) - with open(self.outfilename, "w") as f: - f.write(ctypes_code) - print("<{0}> generated".format(self.outfilename)) - return ctypes_code - - def generate_doc(self, target_file): - all_lines = [".. currentmodule:: windows.generated_def\n\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): +class StructureParsedFile(ParsedFile): PARSER = struct_parser.WinStructParser - IMPORT_HEADER = dedent (""" - from ctypes import * - from ctypes.wintypes import * - {deps} - """) - TYPES_HEADER = dedent(""" - class EnumValue(Flag): - def __new__(cls, enum_name, name, value): - return super(EnumValue, cls).__new__(cls, name, value) - def __init__(self, enum_name, name, value): - self.enum_name = enum_name - self.name = name - - def __repr__(self): - return "{0}.{1}({2})".format(self.enum_name, self.name, hex(self)) - - # Fix pickling with protocol 2 - def __getnewargs__(self, *args): - return self.enum_name, self.name, int(self) - - - class EnumType(DWORD): - values = () - mapper = {} - - @property - def value(self): - raw_value = super(EnumType, self).value - return self.mapper.get(raw_value, raw_value) - - def __repr__(self): - raw_value = super(EnumType, self).value - if raw_value in self.values: - value = self.value - return "<{0} {1}({2})>".format(type(self).__name__, value.name, hex(raw_value)) - return "<{0}({1})>".format(type(self).__name__, hex(self.value)) - - """) - - def __init__(self, *args, **kwargs): - self.export_enums = set([]) - self.export_structs = set([]) - super(StructGenerator, self).__init__(*args, **kwargs) - - - def analyse(self, data): + def compute_imports_exports(self, data): structs, enums = data - for btype in BASIC_TYPE: - self.add_exports(btype) for enum in enums: self.add_exports(enum.name) self.add_exports(*enum.typedef) - self.export_enums.update([enum.name] + enum.typedef.keys()) for struct in structs: self.add_exports(struct.name) self.add_exports(*struct.typedef) - self.export_structs.update([struct.name] + struct.typedef.keys()) for field_type, field_name, nb_rep in struct.fields: if field_type.name not in self.exports: self.add_imports(field_type.name) @@ -351,103 +64,32 @@ class StructGenerator(CtypesGenerator): except: self.add_imports(nb_rep) - # We have PPORT_MESSAGE32 and PPORT_MESSAGE64 and PPORT_MESSAGE is choosed at runtime - self.add_exports("PPORT_MESSAGE") +class SimpleTypeParsedFile(ParsedFile): + PARSER = struct_parser.SimpleTypesParser + + def compute_imports_exports(self, data): + for simple_type in data: + self.add_exports(simple_type.lvalue) # No dependancy check on rvalue for now - def generate(self): - type_equivalences = "\n".join(["{0} = {1}".format(*x) for x in TYPE_EQUIVALENCE]) - HEADER = self.generate_import() - HEADER += type_equivalences - HEADER += self.TYPES_HEADER +class DefinitionParsedFile(ParsedFile): + PARSER = def_parser.WinDefParser - structs, enums = self.data - ctypes_lines = [self.common_header, HEADER] - for definition in [d for l in (enums, structs) for d in l]: - ctypes_lines.append(definition.generate_ctypes()) - if definition.name in EXTENDED_STRUCT: - print("Including extended definition for <{0}>".format(definition.name)) - extended_struct_filename = from_here(os.path.join("extended_structs", "{0}.py".format(definition.name))) - with open(extended_struct_filename) as f: - ctypes_lines.append(f.read()) - # import pdb;pdb.set_trace() - ctypes_lines.append(definition.generate_typedef_ctypes() + "\n") + def compute_imports_exports(self, data): + for windef in data: + self.add_exports(windef.name) # No dependancy check on rvalue for now - ctypes_code = "\n".join(ctypes_lines) - with open(self.outfilename, "w") as f: - f.write(ctypes_code) - print("<{0}> generated".format(self.outfilename)) - return ctypes_code +class NtStatusParsedFile(ParsedFile): + PARSER = def_parser.NtStatusParser - def parse(self): - if self.data is not None: - return self.data - data = [[], []] - for filename in glob.glob(self.indirname): - print("Parsing <{0}>".format(filename)) - # data.append(self.PARSER(open(filename).read()).parse()) - new_data = self.PARSER(open(filename).read()).parse() - data[0].extend(new_data[0]) - data[1].extend(new_data[1]) - self.data = data - return data + def compute_imports_exports(self, data): + for ntstatus in data: + self.add_exports(ntstatus[1]) - def append_input_file(self, filename): - print("Adding file <{0}>".format(filename)) - self.parse() - new_data = self.PARSER(open(filename).read()).parse() - self.data[0].extend(new_data[0]) - self.data[1].extend(new_data[1]) - self.analyse(self.data) - self.check_dependances() - - def generate_doc(self, target_file): - all_lines = [".. currentmodule:: windows.generated_def\n\n" - "Winstructs\n" - "----------\n"] - struct_separator = "'" - structs, enums = self.parse() - for struct in structs: - all_lines.append("{0}\n{1}\n".format(struct.name, struct_separator * 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)) - - all_lines += ["WinEnums\n--------\n"] - for enum in enums: - all_lines.append("{0}\n{1}\n".format(enum.name, struct_separator * 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): +class FunctionParsedFile(ParsedFile): PARSER = func_parser.WinFuncParser - IMPORT_HEADER = dedent (""" - from ctypes import * - from ctypes.wintypes import * - {deps} - """) - - def analyse(self, data): + def compute_imports_exports(self, data): for func in data: if isinstance(func.return_type, tuple) and func.return_type[0] == "PTR": self.add_imports(func.return_type[1]) @@ -460,303 +102,252 @@ class FuncGenerator(CtypesGenerator): self.add_exports(func.name) - def generate(self): - deps = "\n".join(["from {0} import *".format(os.path.basename(dep.outfilename).rsplit(".")[0]) for dep in self.dependances]) - HEADER = self.generate_import() - - func_list = "functions = {0}\n\n".format(str([f.name for f in self.data])) - - ctypes_lines = [self.common_header, HEADER, func_list] + [d.generate_ctypes() for d in self.parse()] - ctypes_code = "\n".join(ctypes_lines) - with open(self.outfilename, "w") as f: - f.write(ctypes_code) - print("<{0}> generated".format(self.outfilename)) - return ctypes_code - -class NtStatusGenerator(CtypesGenerator): - IMPORT_HEADER = dedent(""" - import ctypes - {deps} - """) - HEADER = dedent(""" - class NtStatusException(WindowsError): - ALL_STATUS = {} - def __init__(self , code): - try: - x = self.ALL_STATUS[code] - except KeyError: - x = (code, 'UNKNOW_ERROR', 'Error non documented in ntstatus.py') - self.code = x[0] - self.name = x[1] - self.descr = x[2] - x = ctypes.c_long(x[0]).value, x[1], x[2] - return super(NtStatusException, self).__init__(*x) - - def __str__(self): - return "{e.name}(0x{e.code:x}): {e.descr}".format(e=self) - - def __repr__(self): - return "{0}(0x{1:08x}, {2})".format(type(self).__name__, self.code, self.name) - - @classmethod - def register_ntstatus(cls, code, name, descr): - if code in cls.ALL_STATUS: - return # Use the first def - cls.ALL_STATUS[code] = (code, name, descr) - return Flag(name, code) - """) - - def __init__(self, infilename, outfilename, dependances=()): - self.infilename = infilename - self.outfilename = outfilename - self.infile = open(self.infilename) - self.data = None - self.dependances = dependances - - self.exports = set([]) - self.imports = set([]) - - self.parse() - self.analyse(self.data) - self.check_dependances() - - def parse_ntstatus(self, content): - nt_status_defs = [] - for line in content.split("\n"): - if not line: - continue - code, name, descr = line.split("|", 2) - code = int(code, 0) - descr = re.sub(" +", " ", descr[:-1]) # remove \n - descr = descr.replace('"', "'") - nt_status_defs.append((code, name, descr)) - self.data = nt_status_defs - return self - - # Hack for PARSER - def parse(self): - if self.data is None: - print("Parsing <{0}>".format(self.infilename)) - self.parse_ntstatus(self.infile.read()) - return self.data - - - def analyse(self, data): - self.add_imports("Flag") - - def generate(self): - #deps = "\n".join(["from {0} import *".format(os.path.basename(dep.outfilename).rsplit(".")[0]) for dep in self.dependances]) - HEADER = self.generate_import() + self.HEADER - ctypes_lines = [HEADER] - for code, name, descr in self.parse(): - ctypes_lines.append('{1} = NtStatusException.register_ntstatus({0}, "{1}", "{2}")'.format(hex(code).strip("L"), name, descr)) - ctypes_code = "\n".join(ctypes_lines) - with open(self.outfilename, "w") as f: - f.write(ctypes_code) - print("<{0}> generated".format(self.outfilename)) - return ctypes_code - - def generate_doc(self, target_file): - all_lines = [".. currentmodule:: windows.generated_def\n\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): +class COMParsedFile(ParsedFile): PARSER = com_parser.WinComParser - IGNORE_INTERFACE = ["ITypeInfo"] - IMPORT_HEADER = dedent(""" - import functools - import ctypes + + def compute_imports_exports(self, cominterface): + self.add_exports(cominterface.name) + if cominterface.typedefptr: + self.add_exports(cominterface.typedefptr) - {deps} +class ParsedFileGraph(object): + def __init__(self, nodes, depnodes): # depnodes: nodes that we dont have to handle but want can take export from + self.nodes = nodes + self.depnodes = depnodes + self.exports_database = {} + self.depandances_database = {node: set() for node in nodes} + self.build_export_database(self.nodes) + self.build_depandance_database() - """) - HEADER = dedent(""" - generate_IID = IID.from_raw + def build_dependancy_graph(self): + todo = set(self.nodes) + start = self.find_starting_node() + print("Starting node is {0}".format(start)) + todo.remove(start) + flatten = [start] + depdone = set(flatten) | set(self.depnodes) + while todo: + for node in todo: + if self.depandances_database[node].issubset(depdone): + break + else: + raise ValueError("POUET") - class COMInterface(ctypes.c_void_p): - _functions_ = { - } + flatten.append(node) + depdone.add(node) + todo.remove(node) + print("Next is <{0}>".format(node)) + return flatten - def __getattr__(self, name): - if name in self._functions_: - return functools.partial(self._functions_[name], self) - return super(COMInterface, self).__getattribute__(name) - class COMImplementation(object): - IMPLEMENT = None + def build_depandance_database(self): + for node in self.nodes: + for import_ in node.imports: + try: + self.depandances_database[node].add(self.exports_database[import_]) + except KeyError as e: + raise ValueError("Missing dependancy <{0}> of {1}".format(import_, node)) - def get_index_of_method(self, method): - # This code is horrible but not totally my fault - # the PyCFuncPtrObject->index is not exposed to Python.. - # repr is: '' - rpr = repr(method) - if not rpr.startswith(" implementing <{1}> has no method <{2}>".format(type(self).__name__, self.IMPLEMENT.__name__, func_name)) - if not callable(implem): - raise ValueError("{0} implementing <{1}>: <{2}> is not callable".format(type(self).__name__, self.IMPLEMENT.__name__, func_name)) - return True + def find_starting_node(self): + for node in self.nodes: + if self.depandances_database[node].issubset(set(self.depnodes)): + return node + raise ValueError("Could not find a starting NODE without dependancy") - def _create_vtable(self, interface): - implems = [] - names = [] - for index, name, method in self.extract_methods_order(interface): - func_implem = getattr(self, name) - #PVOID is 'this' - types = [method.restype, PVOID] + list(method.argtypes) - implems.append(ctypes.WINFUNCTYPE(*types)(func_implem)) - names.append(name) - class Vtable(ctypes.Structure): - _fields_ = [(name, ctypes.c_void_p) for name in names] - return Vtable(*[ctypes.cast(x, ctypes.c_void_p) for x in implems]), implems - def __init__(self): - self.verify_implem(self.IMPLEMENT) - vtable, implems = self._create_vtable(self.IMPLEMENT) - self.vtable = vtable - self.implems = implems - self.vtable_pointer = ctypes.pointer(self.vtable) - self._as_parameter_ = ctypes.addressof(self.vtable_pointer) +class BasicTypeNodes(object): + @property + def exports(self): + # Let allow ourself to redefine the bugged BYTE define & MAX_PATH which is NOT A TYPE ! + return set(dummy_wintypes.names) - set(["BYTE", "MAX_PATH"]) - def QueryInterface(self, this, piid, result): - if piid[0] in (IUnknown.IID, self.IMPLEMENT.IID): - result[0] = this - return 1 - return E_NOINTERFACE +class FakeExporter(object): + def __init__(self, exports): + self.exports = exports - def AddRef(self, *args): - return 1 +class ParsedDirectory(object): + def __init__(self, filetype, directory): + self.nodes = [filetype(f) for f in glob.glob(directory)] - def Release(self, *args): - return 0 - """) - def __init__(self, indirname, iiddef, outfilename, dependances=()): - self.indirname = indirname - self.infilename = indirname - self.outfilename = outfilename - self.data = None - self.dependances = dependances +### Generation Class ### - data = open(iiddef).read() +class CtypesGenerator(object): + def __init__(self, parsed_files, template): + self.files = parsed_files # Already in generation order + self.template = template # MAKE BETTER + self.result = StringIO.StringIO() + self.imported_name = set([]) + + def add_import_name(self, name): + self.imported_name.add(name) + + def emit(self, str): + self.result.write(str) + + def emitline(self, str): + self.emit(str) + self.emit("\n") + + def before_emit_template(self): + pass + + def after_emit_template(self): + pass + + def emit_import_dependancies(self): + for name in self.imported_name: + self.emitline("from {0} import *".format(name)) + + def copy_template(self): + with open(self.template) as f: + self.emit(f.read()) + + def generate(self): + self.emit_import_dependancies() + self.before_emit_template() + self.copy_template() + self.after_emit_template() + + for file in self.files: + self.generate_for_file(file) + + def generate_for_file(self, file): + pass + + def generate_into(self, filename): + self.generate() + with open(filename, "w") as f: + f.write(self.result.getvalue()) + +class NoTemplatedGenerator(CtypesGenerator): + def __init__(self, parsed_files): + self.files = parsed_files # Already in generation order + self.result = StringIO.StringIO() + self.imported_name = set([]) + + def copy_template(self): + pass + +NTSTATUS_MODULE = "ntstatus" + +class DefineCtypesGenerator(CtypesGenerator): + def after_emit_template(self): + self.emitline("from {0} import *".format(NTSTATUS_MODULE)) + + def generate_for_file(self, file): + for define in file.data: + self.emitline(define.generate_ctypes()) + + +# TEST Documentation generator +class DefineDocGenerator(NoTemplatedGenerator): + def copy_template(self): + self.emitline(".. currentmodule:: windows.generated_def") + self.emitline("") + self.emitline("Windef") + self.emitline("------") + + def generate_for_file(self, file): + for define in file.data: + self.emitline(".. autodata:: {define.name}".format(define=define)) + + +class NtStatusCtypesGenerator(CtypesGenerator): + def generate_for_file(self, file): + for value, name, descr in file.data: + value = "{:#x}".format(value) + line = '{1} = NtStatusException.register_ntstatus({0}, "{1}", "{2}")'.format(value, name, descr) + self.emitline(line) + + +class NtStatusDocGenerator(NoTemplatedGenerator): + def copy_template(self): + self.emitline(".. currentmodule:: windows.generated_def") + self.emitline("") + self.emitline("Ntstatus") + self.emitline("--------") + + def generate_for_file(self, file): + for value, name, descr in file.data: + self.emitline(".. autodata:: {name}".format(name=name)) + +class COMCtypesGenerator(CtypesGenerator): + IGNORED_INTERFACE = set(["ITypeInfo"]) + def __init__(self, *args, **kwargs): + super(COMCtypesGenerator, self).__init__(*args, **kwargs) self.iids_def = {} + self.generated_interfaces_names = set(self.IGNORED_INTERFACE) + for file in self.files: + self.generated_interfaces_names.update(file.exports) + + + def parse_iid_file(self, filename): + data = open(filename).read() for line in data.split("\n"): name, iid = line.split("|") self.iids_def[name] = self.parse_iid(iid), iid - self.exports = set([]) - self.imports = set([]) - - self.parse() - self.analyse(self.data) - self.check_dependances() - - def parse(self): - if self.data is not None: - return self.data - data = [] - for filename in glob.glob(self.indirname): - print("Parsing <{0}>".format(filename)) - data.append(self.PARSER(open(filename).read()).parse()) - self.data = data - return data - - def analyse(self, data): - self.real_type = {} - # self.add_exports("IID") - # self.add_exports("GUID") - # self.add_exports("LPGUID") # setup in InitialCOMGenerator.HEADER - # self.add_exports("REFGUID") # setup in InitialCOMGenerator.HEADER - self.add_exports("COMInterface") - self.add_exports("COMImplementation") - for cominterface in data: - #import pdb;pdb.set_trace() - self.add_exports(cominterface.name) - if cominterface.typedefptr: - self.add_exports(cominterface.typedefptr) - for cominterface in data: - for method in cominterface.methods: - self.add_imports(method.ret_type) - for pos, arg in enumerate(method.args): - initial_arg = arg - if arg.type in self.exports or arg.type in self.IGNORE_INTERFACE: - # GUID type ? - if arg.type in ["GUID", "REFGUID", "LPGUID", "IID"]: - continue - # COM Interface ? -> PVOID ! - atype = "PVOID" - byreflevel = arg.byreflevel - 1 - method.args[pos] = arg = type(arg)(atype, byreflevel, arg.name) - self.real_type[arg] = initial_arg - - elif arg.type == "void" and arg.byreflevel > 0: - # **void -> *PVOID - atype = "PVOID" - byreflevel = arg.byreflevel - 1 - method.args[pos] = arg = type(arg)(atype, byreflevel, arg.name) - self.real_type[arg] = initial_arg - self.add_imports(arg.type) - - com_interface_comment_template = """ #{0} -> {1}""" - com_interface_method_template = """ "{0}": ctypes.WINFUNCTYPE({1})({2}, "{0}"),""" - com_interface_template = dedent(""" - class {0}(COMInterface): - IID = generate_IID({2}, name="{0}", strid="{3}") - - _functions_ = {{ - {1} - }} - """) - - def generate(self): + def generate_for_file(self, file): define = [] - for cominterface in self.data: - methods_string = [] - for method_nb, method in enumerate(cominterface.methods): - args_to_define = method.args[1:] #ctypes doesnt not need the This - args_for_comment = [self.real_type.get(arg, arg) for arg in args_to_define] - #import pdb;pdb.set_trace() - str_args = [] - methods_string.append(self.com_interface_comment_template.format(method.name, ", ".join([arg.name +":"+ ("*"* arg.byreflevel) +arg.type for arg in args_for_comment]))) - for arg in args_to_define: - type = arg.type - for i in range(arg.byreflevel): - type = "POINTER({0})".format(type) - str_args.append(type) + cominterface = file.data + return self.generate_com_interface(cominterface) - methods_string.append(self.com_interface_method_template.format(method.name, ", ".join([method.ret_type] + str_args), method_nb)) - #import pdb;pdb.set_trace() - if cominterface.iid is not None: - iid_str = cominterface.iid - iid_python = self.parse_iid(iid_str) - else: - print("Lookup of IID for <{0}>".format(cominterface.name)) - iid_python, iid_str = self.iids_def[cominterface.name] - define.append((self.com_interface_template.format(cominterface.name, "\n".join(methods_string), iid_python, iid_str))) + def generate_com_interface(self, cominterface): + name = cominterface.name + if cominterface.iid is not None: + iid_str = cominterface.iid + iid_python = self.parse_iid(iid_str) + else: + print("Lookup of IID for <{0}>".format(cominterface.name)) + iid_python, iid_str = self.iids_def[cominterface.name] - deps = "\n".join(["from {0} import *".format(os.path.basename(dep.outfilename).rsplit(".")[0]) for dep in self.dependances]) + cls_format_param = {"name": name, "iid_python" : iid_python, "iid_str": iid_str} + + self.emitline("class {name}(COMInterface):".format(**cls_format_param)) + self.emitline(' IID = generate_IID({iid_python}, name="{name}", strid="{iid_str}")'.format(**cls_format_param)) + self.emitline(' _functions_ = {') + self.emit_com_interface_functions(cominterface) + self.emitline(' }') + self.emitline('') + + + def emit_com_interface_functions(self, cominterface): + indent = " " * 8 + for method_nb, method in enumerate(cominterface.methods): + args_to_define = method.args[1:] # ctypes doesnt not need the This + name = method.name + params = ", ".join([arg.name +":"+ ("*"* arg.byreflevel) +arg.type for arg in args_to_define]) + self.emitline(indent + "# {name} -> {params}".format(name=name, params=params)) + + str_args = [] + for arg in args_to_define: + if arg.type == "void" and arg.byreflevel > 0: + arg = type(arg)("PVOID", arg.byreflevel - 1, arg.name) + atype = arg.type + byreflevel = arg.byreflevel + if atype in self.generated_interfaces_names: + byreflevel = arg.byreflevel - 1 + atype = "PVOID" + + for i in range(byreflevel): + atype = "POINTER({0})".format(atype) + str_args.append(atype) + + # methods_string.append(self.com_interface_method_template.format(method.name, ", ".join([method.ret_type] + str_args), method_nb)) + params = ", ".join([method.ret_type] + str_args) + self.emitline(indent + '"{0}": ctypes.WINFUNCTYPE({1})({2}, "{0}"),'.format(name, params, method_nb)) + return - ctypes_code = self.generate_import() + "\n" + self.HEADER + "\n".join(define) - with open(self.outfilename, "w") as f: - f.write(ctypes_code) - print("<{0}> generated".format(self.outfilename)) - return ctypes_code def parse_iid(self, iid_str): part_iid = iid_str.split("-") @@ -769,150 +360,287 @@ class InitialCOMGenerator(CtypesGenerator): for i in range(6): str_iid.append("0x" + part_iid[4][i * 2:(i + 1) * 2]) return ", ".join(str_iid) +#TODO: subclass NOTEMPLATE +class FunctionCtypesGenerator(NoTemplatedGenerator): + def generate_for_file(self, file): + for item in file.data: + self.emitline(item.generate_ctypes()) - com_interface_template = dedent(""" - class {0}(COMInterface): - IID = generate_IID({2}, name="{0}", strid="{3}") - - _functions_ = {{ - {1} - }} - """) - - -class COMGenerator(InitialCOMGenerator): - IMPORT_HEADER = "{deps}" - HEADER = "" - -class DefGenerator(InitialDefGenerator): - IMPORT_HEADER = "{deps}" - HEADER = "" - -class MetafileGenerator(object): - walker_generator = dedent(""" - def generate_walker(namelist, target_module): - def my_walker(): - for name in namelist: - yield name, getattr(target_module, name) - return my_walker - """) - def __init__(self, filename): - self.lol = {} - self.filename = filename - - def add_exports(self, name, module, exports): - self.lol[(name, module)] = exports - - def generate(self): - with open(self.filename, "w") as f: - # Generate lists - for (name, module), exports in self.lol.items(): - f.write("{0} = {1}".format(name, exports)) - # f.write(str(y)) - f.write("\n") - f.write(self.walker_generator) - # Generate walkers - for (name, module) in self.lol: - f.write("import {0} as {0}_module\n".format(module)) - f.write("{0}_walker = generate_walker({0}, {1}_module)\n".format(name, module)) - - -SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) -print(SCRIPT_DIR) -from_here = lambda path: pjoin(SCRIPT_DIR, path) - EXTENDED_STRUCT_FILE = glob.glob(pjoin(SCRIPT_DIR, "extended_structs", "*.py")) EXTENDED_STRUCT = [os.path.basename(filename)[:-len(".py")] for filename in EXTENDED_STRUCT_FILE] -DEFAULT_INTERFACE_TO_IID = from_here("definitions\\interface_to_iid.txt") +class StructureCtypesGenerator(CtypesGenerator): + def generate_for_simple_type_file(self, file): + for simple_type in file.data: + self.emitline(simple_type.generate_ctypes()) -# A partial define without the dependance to ntstatus defintion -# BOOTSTRAP!! -non_generated_def = InitialDefGenerator(from_here("definitions\\defines\\windef.txt"), from_here(r"..\windows\generated_def\\windef.py")) -ntstatus = NtStatusGenerator(from_here("definitions\\ntstatus.txt"), from_here(r"..\windows\generated_def\\ntstatus.py"), dependances=[non_generated_def]) -# Not a real circular def (import not at the begin of file -defs_with_ntstatus = InitialDefGenerator(from_here("definitions\\defines\\*.txt"), from_here(r"..\windows\generated_def\\windef.py"), dependances=[ntstatus]) - -# YOLO HACK FOR NOW :DD -# import pdb;pdb.set_trace() + def generate_for_file(self, file): + if isinstance(file, SimpleTypeParsedFile): + return self.generate_for_simple_type_file(file) + structs, enums = file.data + for definition in [d for l in (enums, structs) for d in l]: + self.emitline(definition.generate_ctypes()) + if definition.name in EXTENDED_STRUCT: + print("Including extended definition for <{0}>".format(definition.name)) + extended_struct_filename = from_here(os.path.join("extended_structs", "{0}.py".format(definition.name))) + with open(extended_struct_filename) as f: + self.emitline(f.read()) + # RE-generate the typedef to apply them to the extended definition + self.emitline(definition.generate_typedef_ctypes()) -# for filename in [f for f in glob.glob(from_here("definitions\\defines\\*.txt")) if not f.endswith("\\windef.txt")]: - # 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")) - # defs_with_ntstatus.append_input_file(from_here("definitions\\custom_rpc_windef.txt")) - # defs_with_ntstatus.append_input_file(from_here("definitions\\windef_evtlog.txt")) - # defs_with_ntstatus.append_input_file(filename) +class StructureDocGenerator(NoTemplatedGenerator): + STRUCT_NAME_SEPARATOR = "'" + + def copy_template(self): + self.emitline(".. currentmodule:: windows.generated_def") + self.emitline("") + + def generate(self): + self.copy_template() + + self.emitline("Winstructs") + self.emitline("----------") + for file in self.files: + self.generate_structures_for_file(file) + + self.emitline("WinEnums") + self.emitline("--------") + for file in self.files: + self.generate_enums_for_file(file) + + def generate_doc_simple_type_file(self, file): + # TODO ! + return + + def generate_structures_for_file(self, file): + if isinstance(file, SimpleTypeParsedFile): + return self.generate_doc_simple_type_file(file) + + structs, enums = file.data + for struct in structs: + self.emitline(struct.name) + self.emitline(self.STRUCT_NAME_SEPARATOR * len(struct.name)) + # Emit typedef + for name, type in struct.typedef.items(): + self.emitline(".. class:: {0}".format(name)) + self.emitline("") + if hasattr(type, "type"): + self.emitline(" Pointer to :class:`{0}`".format(type.type.name)) + else: + self.emitline(" Alias for :class:`{0}`".format(type.name)) + self.emitline("") + # Emit struct Definition + self.emitline(".. class:: {0}".format(struct.name)) + for ftype, fname, nb in struct.fields: + array_str = " ``[{nb}]``".format(nb=nb) if nb > 1 else "" + self.emitline("") + self.emitline(" .. attribute:: {fname}".format(fname=fname)) + self.emitline("") + self.emitline(" :class:`{ftype.name}`{array_str}".format(ftype=ftype, array_str=array_str)) + self.emitline("") + + def generate_enums_for_file(self, file): + if isinstance(file, SimpleTypeParsedFile): + return + structs, enums = file.data + for enum in enums: + self.emitline(enum.name) + self.emitline(self.STRUCT_NAME_SEPARATOR * len(enum.name)) + # Emit typedef + for name, type in enum.typedef.items(): + self.emitline(".. class:: {0}".format(name)) + self.emitline("") + if hasattr(type, "type"): + self.emitline(" Pointer to :class:`{0}`\n\n".format(type.type.name)) + else: + self.emitline(" Alias for :class:`{0}`\n\n".format(type.name)) + # Emit enum Definition + self.emitline(".. class:: {0}".format(enum.name)) + self.emitline("") + for enum_value, enum_name in enum.fields: + self.emitline("") + self.emitline(" .. attribute:: {0}({1})".format(enum_name, enum_value)) + self.emitline("") + +META_WALKER = """ +def generate_walker(namelist, target_module): + def my_walker(): + for name in namelist: + yield name, getattr(target_module, name) + return my_walker +""" + +class MetaFileGenerator(NoTemplatedGenerator): + def __init__(self): + self.result = StringIO.StringIO() + self.modules = [] + + def add_exportlist(self, name, modname, exports): + self.modules.append((name, modname, exports)) + + def add_export_module(self, module): + self.add_exportlist(module.name, module.name, module.modules_exports()) + + def generate(self): + + for name, modname, exports in self.modules: + self.emitline("{0} = {1}".format(name, exports)) + + self.emitline(META_WALKER) + + for name, modname, exports in self.modules: + self.emitline("import {0} as {0}_module".format(modname)) + self.emitline("{0}_walker = generate_walker({0}, {1}_module)".format(name, modname)) -structs = StructGenerator(from_here("definitions\\structures\\*.txt"), from_here(r"..\windows\generated_def\\winstructs.py"), dependances=[defs_with_ntstatus]) +class ModuleGenerator(object): + def __init__(self, name, filetype, ctypesgenerator, docgenerator, src): + self.name = name + self.filetype = filetype + self.ctypesgenerator = ctypesgenerator + self.docgenerator = docgenerator + self.src = src + self.parsed_dir = None + self.nodes = [] + self.dependances_modules = set([]) -# for filename in [f for f in glob.glob(from_here("definitions\\structures\\*.txt")) if not f.endswith("\\winstruct.txt")]: - # structs.append_input_file(filename) + def add_module_dependancy(self, module): + self.dependances_modules.add(module) -# structs.append_input_file(from_here("definitions\\winstruct_apisetmap.txt")) -# structs.append_input_file(from_here("definitions\\display_struct.txt")) -# structs.append_input_file(from_here("definitions\\winstruct_bits.txt")) -# structs.append_input_file(from_here("definitions\\winstruct_alpc.txt")) -# structs.append_input_file(from_here("definitions\\winstruct_evtlog.txt")) -# structs.append_input_file(from_here("definitions\\winstruct_file_info.txt")) + def parse_directory(self, globdir): + self.nodes += ParsedDirectory(self.filetype, globdir).nodes -functions = FuncGenerator(from_here("definitions\\functions\\*.txt"), from_here(r"..\windows\generated_def\\winfuncs.py"), dependances=[structs]) + def get_template_filename(self): + return pjoin(self.src, "template.py") -# for filename in [f for f in glob.glob(from_here("definitions\\functions\\*.txt")) if not f.endswith("\\winfunc.txt")]: - # functions.append_input_file(filename) + def parse_source_directory(self): + if os.path.isdir(self.src): + srcglob = pjoin(self.src, "*.txt") + else: + srcglob = self.src + self.parse_directory(srcglob) -# functions.append_input_file(from_here("definitions\\winfunc_crypto_wintrust.txt")) -# functions.append_input_file(from_here("definitions\\winfunc_notdoc.txt")) -# functions.append_input_file(from_here("definitions\\winfunc_evtlog.txt")) + def resolve_dependancies(self, depnodes=[]): + g = ParsedFileGraph(self.nodes, depnodes=depnodes) + return g.build_dependancy_graph() -com = InitialCOMGenerator(from_here("definitions\\com\\*.txt"), DEFAULT_INTERFACE_TO_IID, from_here(r"..\windows\generated_def\\interfaces.py"), dependances=[structs, defs_with_ntstatus]) + def generate(self): + self.parse_source_directory() + # Flatten the graph + flatten_nodes = self.resolve_dependancies() + self.generate_from_nodelist(flatten_nodes) + self.nodes = flatten_nodes -# check for collision between ntstatus and defs_with_ntstatus + def resolve_dep_and_generate(self, depnodes=[]): + depnodes = list(depnodes) + # Add module dependancies nodes to the finals depnodes + for moddep in self.dependances_modules: + depnodes += moddep.nodes + flatten_nodes = self.resolve_dependancies(depnodes=depnodes) + self.generate_from_nodelist(flatten_nodes) -# Check for multiple define in defs_with_ntstatus -import collections + def after_ctypes_generator_init(self, ctypesgen): + pass -all_defs_names = [x.name for x in defs_with_ntstatus.parse()] + def generate_from_nodelist(self, nodelist): + template = self.get_template_filename() + if template is not None: + ctypesgen = self.ctypesgenerator(nodelist, template) + else: + ctypesgen = self.ctypesgenerator(nodelist) + for moddep in self.dependances_modules: + ctypesgen.add_import_name(moddep.name) -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 + self.after_ctypes_generator_init(ctypesgen) + finalfilename = "{0}.py".format(self.name) + ctypesgen.generate_into(to_dest(finalfilename)) -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)) - -meta = MetafileGenerator(from_here(r"..\windows\generated_def\\meta.py")) -meta.add_exports("windef", module="windef", exports=defs_with_ntstatus.exports - set(["Flag", "NATIVE_WORD_MAX_VALUE"])) -meta.add_exports("structs", module="winstructs", exports=structs.export_structs) -meta.add_exports("enums", module="winstructs", exports=structs.export_enums) -meta.add_exports("functions", module="winfuncs", exports=functions.exports) -meta.add_exports("interfaces", module="interfaces", exports=com.exports) + def generate_doc(self, filename): + nodelist = self.nodes + self.docgenerator(nodelist).generate_into(filename) -if __name__ == "__main__": - ntstatus.generate() - defs_with_ntstatus.generate() - structs.generate() - functions.generate() - com.generate() - print("Generating meta file") - meta.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")) + def modules_exports(self): + res = set([]) + for node in self.nodes: + res = res | node.exports + return res + +# Copy Flag code +shutil.copy(from_here(r"definitions\flag.py"), DEST_DIR) + +print("== Generating defines ==") +# Generate defines +definemodulegenerator = ModuleGenerator("windef", DefinitionParsedFile, DefineCtypesGenerator, DefineDocGenerator, from_here(r"definitions\defines")) +definemodulegenerator.generate() +definemodulegenerator.generate_doc(from_here(r"..\docs\source\windef_generated.rst")) + +print("== Generating NTSTATUS ==") +# Generate Ntstatus +ntstatus_module_generator = ModuleGenerator("ntstatus", NtStatusParsedFile, NtStatusCtypesGenerator, NtStatusDocGenerator, from_here(r"definitions\ntstatus.txt")) +# Hardcoded template file (no dir for ntstatus) -- Need one dir ? +ntstatus_module_generator.get_template_filename = lambda : from_here(r"definitions\ntstatus_template.py") +ntstatus_module_generator.generate() +ntstatus_module_generator.generate_doc(from_here(r"..\docs\source\ntstatus_generated.rst")) + +print("== Generating structures ==") +# Parse the simple type file +stfilename = from_here(r"definitions\simple_types.txt") +struct_parser.SimpleTypesParser(open(stfilename).read()).parse() +ss = SimpleTypeParsedFile(stfilename) +# Generate struct + simple types +structure_module_generator = ModuleGenerator("winstructs", StructureParsedFile, StructureCtypesGenerator, StructureDocGenerator, from_here(r"definitions\structures")) +structure_module_generator.parse_source_directory() +# Add the simple type file to the know structures (for dep resolve + generation) +structure_module_generator.nodes.append(ss) +structure_module_generator.add_module_dependancy(definemodulegenerator) +structure_module_generator.resolve_dep_and_generate([BasicTypeNodes()]) +structure_module_generator.generate_doc(from_here(r"..\docs\source\winstructs_generated.rst")) + +print("== Generating functions ==") +# Generate function +functions_module_generator = ModuleGenerator("winfuncs", FunctionParsedFile, FunctionCtypesGenerator, None, from_here(r"definitions\functions")) +# no template file +functions_module_generator.get_template_filename = lambda : None +functions_module_generator.parse_source_directory() +functions_module_generator.add_module_dependancy(structure_module_generator) +functions_module_generator.resolve_dep_and_generate([BasicTypeNodes()]) + +print("== Generating COM interfaces ==") +# Generate COM interfaces +com_module_generator = ModuleGenerator("interfaces", COMParsedFile, COMCtypesGenerator, None, from_here(r"definitions\com")) +# Load the interface_to_iid file needed by the 'COMCtypesGenerator' +com_module_generator.after_ctypes_generator_init = lambda cgen: cgen.parse_iid_file(from_here("definitions\\interface_to_iid.txt")) +com_module_generator.add_module_dependancy(structure_module_generator) +com_module_generator.generate() + +print("== Generating META file ==") +# Meta-file generator +enums_exports = set() +structs_exports = set() +# Extract enums export & structures exports +for node in structure_module_generator.nodes: + if isinstance(node, SimpleTypeParsedFile): + continue # Generate META for simple type ? + structs, enums = node.data + for struct in structs: + structs_exports.add(struct.name) + structs_exports.update(struct.typedef) + for enum in enums: + enums_exports.add(enum.name) + enums_exports.update(enum.typedef) + +meta = MetaFileGenerator() +meta.add_exportlist("windef", definemodulegenerator.name, definemodulegenerator.modules_exports() | ntstatus_module_generator.modules_exports()) +# Add structs / enums as 2 differents lists +meta.add_exportlist("structs", structure_module_generator.name, structs_exports) +meta.add_exportlist("enums", structure_module_generator.name, enums_exports) +meta.add_exportlist("functions", functions_module_generator.name, functions_module_generator.modules_exports()) +meta.add_exportlist("interfaces", com_module_generator.name, com_module_generator.modules_exports()) +meta.generate_into(to_dest("meta.py")) + +print("DONE !") \ No newline at end of file diff --git a/ctypes_generation/newgen.py b/ctypes_generation/newgen.py deleted file mode 100644 index d69cb56..0000000 --- a/ctypes_generation/newgen.py +++ /dev/null @@ -1,418 +0,0 @@ -import sys -import os -import os.path -import re -import glob -import textwrap -import StringIO - -import shutil - -import dummy_wintypes -import struct_parser -import func_parser -import def_parser -import com_parser - -pjoin = os.path.join -pexists = os.path.exists -dedent = textwrap.dedent - -SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) -print(SCRIPT_DIR) -from_here = lambda path: pjoin(SCRIPT_DIR, path) - - - -class ParsedFile(object): - def __init__(self, filename): - self.filename = filename - self.data = self.PARSER(open(filename).read()).parse() - self.exports = set() - self.imports = set() - self.compute_imports_exports(self.data) - - def add_exports(self, *names): - self.exports.update(names) - - def add_imports(self, *names): - self.imports.update(names) - - def compute_imports_exports(self): - raise NotImplementedError("compute_imports_exports") - - def __repr__(self): - return '<{clsname} "{0}">'.format(self.filename, clsname=type(self).__name__) - -class StructureParsedFile(ParsedFile): - PARSER = struct_parser.WinStructParser - - def compute_imports_exports(self, data): - structs, enums = data - for enum in enums: - self.add_exports(enum.name) - self.add_exports(*enum.typedef) - for struct in structs: - self.add_exports(struct.name) - self.add_exports(*struct.typedef) - for field_type, field_name, nb_rep in struct.fields: - if field_type.name not in self.exports: - self.add_imports(field_type.name) - try: - int(nb_rep) - except: - self.add_imports(nb_rep) - -class SimpleTypeParsedFile(ParsedFile): - PARSER = struct_parser.SimpleTypesParser - - def compute_imports_exports(self, data): - for simple_type in data: - self.add_exports(simple_type.lvalue) # No dependancy check on rvalue for now - - -class DefinitionParsedFile(ParsedFile): - PARSER = def_parser.WinDefParser - - def compute_imports_exports(self, data): - for windef in data: - self.add_exports(windef.name) # No dependancy check on rvalue for now - -class NtStatusParsedFile(ParsedFile): - PARSER = def_parser.NtStatusParser - - def compute_imports_exports(self, data): - for ntstatus in data: - self.add_exports(ntstatus[1]) - -class FunctionParsedFile(ParsedFile): - PARSER = func_parser.WinFuncParser - - def compute_imports_exports(self, data): - for func in data: - if isinstance(func.return_type, tuple) and func.return_type[0] == "PTR": - self.add_imports(func.return_type[1]) - else: - self.add_imports(func.return_type) - for param_type, _ in func.params: - if param_type.startswith("POINTER(") and param_type.endswith(")"): - param_type = param_type[len("POINTER("): -1] - self.add_imports(param_type) - self.add_exports(func.name) - - -class COMParsedFile(ParsedFile): - PARSER = com_parser.WinComParser - - def compute_imports_exports(self, cominterface): - self.add_exports(cominterface.name) - if cominterface.typedefptr: - self.add_exports(cominterface.typedefptr) - - -class ParsedFileGraph(object): - def __init__(self, nodes, depnodes): # depnodes: nodes that we dont have to handle but want can take export from - self.nodes = nodes - self.depnodes = depnodes - self.exports_database = {} - self.depandances_database = {node: set() for node in nodes} - self.build_export_database(self.nodes) - self.build_depandance_database() - - def build_dependancy_graph(self): - todo = set(self.nodes) - start = self.find_starting_node() - print("Starting node is {0}".format(start)) - todo.remove(start) - flatten = [start] - depdone = set(flatten) | set(self.depnodes) - while todo: - for node in todo: - if self.depandances_database[node].issubset(depdone): - break - else: - raise ValueError("POUET") - - flatten.append(node) - depdone.add(node) - todo.remove(node) - print("Next is <{0}>".format(node)) - return flatten - - - def build_depandance_database(self): - for node in self.nodes: - for import_ in node.imports: - try: - self.depandances_database[node].add(self.exports_database[import_]) - except KeyError as e: - raise ValueError("Missing dependancy <{0}> of {1}".format(import_, node)) - - - def build_export_database(self, nodes): - for node in self.nodes + self.depnodes: - for export in node.exports: - if export in self.exports_database: - raise ValueError("{0} IN {1} but already exported by {2}".format(export, self.exports_database[export], node)) - self.exports_database[export] = node - - def find_starting_node(self): - for node in self.nodes: - if self.depandances_database[node].issubset(set(self.depnodes)): - return node - raise ValueError("Could not find a starting NODE without dependancy") - - -class BasicTypeNodes(object): - @property - def exports(self): - # Let allow ourself to redefine the bugged BYTE define & MAX_PATH which is NOT A TYPE ! - return set(dummy_wintypes.names) - set(["BYTE", "MAX_PATH"]) - -class FakeExporter(object): - def __init__(self, exports): - self.exports = exports - -class ParsedDirectory(object): - def __init__(self, filetype, directory): - self.nodes = [filetype(f) for f in glob.glob(directory)] - - -### Generation Class ### - -class CtypesGenerator(object): - def __init__(self, parsed_files, template): - self.files = parsed_files # Already in generation order - self.template = template # MAKE BETTER - self.result = StringIO.StringIO() - - def emit(self, str): - self.result.write(str) - - def emitline(self, str): - self.emit(str) - self.emit("\n") - - def before_emit_template(self): - pass - - def after_emit_template(self): - pass - - def copy_template(self): - with open(self.template) as f: - self.emit(f.read()) - - def generate(self): - self.before_emit_template() - self.copy_template() - self.after_emit_template() - - for file in self.files: - self.generate_for_file(file) - - def generate_for_file(self, file): - pass - -NTSTATUS_MODULE = "ntstatus" - -class DefineCtypesGenerator(CtypesGenerator): - def after_emit_template(self): - self.emitline("from {0} import *".format(NTSTATUS_MODULE)) - - def generate_for_file(self, file): - for define in file.data: - self.emitline(define.generate_ctypes()) - -class NtStatusCtypesGenerator(CtypesGenerator): - def generate_for_file(self, file): - for value, name, descr in file.data: - value = "{:#x}".format(value) - line = '{1} = NtStatusException.register_ntstatus({0}, "{1}", "{2}")'.format(value, name, descr) - self.emitline(line) - -class COMCtypesGenerator(CtypesGenerator): - IGNORED_INTERFACE = set(["ITypeInfo"]) - def __init__(self, *args, **kwargs): - super(COMCtypesGenerator, self).__init__(*args, **kwargs) - self.iids_def = {} - self.generated_interfaces_names = set(self.IGNORED_INTERFACE) - for file in self.files: - self.generated_interfaces_names.update(file.exports) - - - def parse_iid_file(self, filename): - data = open(filename).read() - for line in data.split("\n"): - name, iid = line.split("|") - self.iids_def[name] = self.parse_iid(iid), iid - - def before_emit_template(self): - self.emitline("from POUET import *") - self.emitline("") - - def generate_for_file(self, file): - define = [] - cominterface = file.data - return self.generate_com_interface(cominterface) - - def generate_com_interface(self, cominterface): - name = cominterface.name - if cominterface.iid is not None: - iid_str = cominterface.iid - iid_python = self.parse_iid(iid_str) - else: - print("Lookup of IID for <{0}>".format(cominterface.name)) - iid_python, iid_str = self.iids_def[cominterface.name] - - cls_format_param = {"name": name, "iid_python" : iid_python, "iid_str": iid_str} - - self.emitline("class {name} (COMInterface):".format(**cls_format_param)) - self.emitline(' IID = generate_IID({iid_python}, name="{name}", strid="{iid_str}")'.format(**cls_format_param)) - self.emitline(' _functions_ = {') - self.emit_com_interface_functions(cominterface) - self.emitline(' }') - self.emitline('') - - - def emit_com_interface_functions(self, cominterface): - indent = " " * 8 - for method_nb, method in enumerate(cominterface.methods): - args_to_define = method.args[1:] # ctypes doesnt not need the This - name = method.name - params = ", ".join([arg.name +":"+ ("*"* arg.byreflevel) +arg.type for arg in args_to_define]) - self.emitline(indent + "# {name} -> {params}".format(name=name, params=params)) - - str_args = [] - for arg in args_to_define: - if arg.type == "void" and arg.byreflevel > 0: - arg = type(arg)("PVOID", arg.byreflevel - 1, arg.name) - atype = arg.type - byreflevel = arg.byreflevel - if atype in self.generated_interfaces_names: - byreflevel = arg.byreflevel - 1 - atype = "PVOID" - - for i in range(byreflevel): - atype = "POINTER({0})".format(atype) - str_args.append(atype) - - # methods_string.append(self.com_interface_method_template.format(method.name, ", ".join([method.ret_type] + str_args), method_nb)) - params = ", ".join([method.ret_type] + str_args) - self.emitline(indent + '"{0}": ctypes.WINFUNCTYPE({1})({2}, "{0}"),'.format(name, params, method_nb)) - return - - - def parse_iid(self, iid_str): - part_iid = iid_str.split("-") - str_iid = [] - str_iid.append("0x" + part_iid[0]) - str_iid.append("0x" + part_iid[1]) - str_iid.append("0x" + part_iid[2]) - str_iid.append("0x" + part_iid[3][:2]) - str_iid.append("0x" + part_iid[3][2:]) - for i in range(6): str_iid.append("0x" + part_iid[4][i * 2:(i + 1) * 2]) - return ", ".join(str_iid) - -class FunctionCtypesGenerator(CtypesGenerator): - def __init__(self, parsed_files): - self.files = parsed_files # Already in generation order - self.result = StringIO.StringIO() - - def copy_template(self): - self.emitline("from ctypes import *") - self.emitline("from POUET import *") - # self.emitline("PPORT_MESSAGE = INT") - - def generate_for_file(self, file): - for item in file.data: - self.emitline(item.generate_ctypes()) - - - -EXTENDED_STRUCT_FILE = glob.glob(pjoin(SCRIPT_DIR, "extended_structs", "*.py")) -EXTENDED_STRUCT = [os.path.basename(filename)[:-len(".py")] for filename in EXTENDED_STRUCT_FILE] - -class StructureCtypesGenerator(CtypesGenerator): - def generate_for_simple_type_file(self, file): - for simple_type in file.data: - self.emitline(simple_type.generate_ctypes()) - - def generate_for_file(self, file): - if isinstance(file, SimpleTypeParsedFile): - return self.generate_for_simple_type_file(file) - structs, enums = file.data - for definition in [d for l in (enums, structs) for d in l]: - self.emitline(definition.generate_ctypes()) - if definition.name in EXTENDED_STRUCT: - print("Including extended definition for <{0}>".format(definition.name)) - extended_struct_filename = from_here(os.path.join("extended_structs", "{0}.py".format(definition.name))) - with open(extended_struct_filename) as f: - self.emitline(f.read()) - # RE-generate the typedef to apply them to the extended definition - self.emitline(definition.generate_typedef_ctypes()) - - - -stfilename = r"C:\Users\hakril\Documents\projets\PythonForWindows\ctypes_generation\definitions\simple_types.txt" -struct_parser.SimpleTypesParser(open(stfilename).read()).parse() - -ss = SimpleTypeParsedFile(stfilename) - -ds = ParsedDirectory(DefinitionParsedFile, from_here(r"definitions\defines\*.txt")) -fds = ParsedDirectory(FunctionParsedFile, from_here(r"definitions\functions\*.txt")) - -x = from_here("definitions\\structures\\*.txt") - -ntp = NtStatusParsedFile(from_here(r"definitions\ntstatus.txt")) - -sds = ParsedDirectory(StructureParsedFile, from_here(r"definitions\structures\*.txt")) - -scom = ParsedDirectory(COMParsedFile, from_here(r"definitions\COM\*.txt")) - -g = ParsedFileGraph(sds.nodes + [ss], depnodes=[BasicTypeNodes()] + ds.nodes) -snodes = g.build_dependancy_graph() - - -gg = ParsedFileGraph(fds.nodes, depnodes=[BasicTypeNodes()] + snodes) -fnodes = gg.build_dependancy_graph() - -## EMIT TEST CODE - - - -edef = DefineCtypesGenerator(ds.nodes, from_here(r"definitions\defines\template.py")) -edef.generate() - - -ents = NtStatusCtypesGenerator([ntp], from_here(r"definitions\ntstatus_template.py")) -ents.generate() - -snts = StructureCtypesGenerator(snodes, from_here(r"definitions\structures\template.py")) -snts.generate() - -fnts = FunctionCtypesGenerator(fnodes) -fnts.generate() - -cnts = COMCtypesGenerator(scom.nodes, from_here(r"definitions\com\template.py")) -cnts.parse_iid_file(from_here("definitions\\interface_to_iid.txt")) -cnts.generate() - -shutil.copy(from_here(r"definitions\flag.py"), "tmp\\") - - - -with open(r"tmp\yolo.py", "w") as f: - f.write(edef.result.getvalue()) - -with open(r"tmp\{0}.py".format(NTSTATUS_MODULE), "w") as f: - f.write(ents.result.getvalue()) - -with open(r"tmp\POUET.py", "w") as f: - f.write(snts.result.getvalue()) - -with open(r"tmp\FUNCS.py", "w") as f: - f.write(fnts.result.getvalue()) - -with open(r"tmp\COM.py", "w") as f: - f.write(cnts.result.getvalue()) \ No newline at end of file diff --git a/ctypes_generation/oldgen.py b/ctypes_generation/oldgen.py new file mode 100644 index 0000000..8a6ddf0 --- /dev/null +++ b/ctypes_generation/oldgen.py @@ -0,0 +1,918 @@ +import sys +import os +import os.path +import re +import glob +import textwrap + +import dummy_wintypes +import struct_parser +import func_parser +import def_parser +import com_parser + +pjoin = os.path.join +pexists = os.path.exists +dedent = textwrap.dedent + + +TYPE_EQUIVALENCE = [ + # BYTE is defined in ctypes.wintypes as c_byte but who wants + # BYTE to be signed ? (from MSDN: ) + ('BYTE', 'c_ubyte'), + ('PWSTR', 'LPWSTR'), + ('PCWSTR', 'LPWSTR'), + ('SIZE_T', 'c_size_t'), + ('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)'), + ('LPTHREAD_START_ROUTINE', 'PVOID'), + ('WNDENUMPROC', 'PVOID'), + ('PHANDLER_ROUTINE', 'PVOID'), + ('LPBYTE', 'POINTER(BYTE)'), + ('ULONG_PTR','PVOID'), + ('DWORD_PTR','ULONG_PTR'), + ('KAFFINITY','ULONG_PTR'), + ('KPRIORITY','LONG'), + ('CHAR', 'c_char'), + ('INT', 'c_int'), + ('UCHAR', 'c_char'), + ('CSHORT', 'c_short'), + ('VARTYPE', 'c_ushort'), + ('PBOOL', 'POINTER(BOOL)'), + ('PSTR', 'LPSTR'), + ('PCSTR', 'LPSTR'), + ('va_list', 'c_char_p'), + ('BSTR', 'c_wchar_p'), + ('OLECHAR', 'c_wchar'), + ('POLECHAR', 'c_wchar_p'), + ('PUCHAR', 'POINTER(UCHAR)'), + ('double', 'c_double'), + ('FARPROC', 'PVOID'), + ('HGLOBAL', 'PVOID'), + ('PSID', 'PVOID'), + ('PVECTORED_EXCEPTION_HANDLER', 'PVOID'), + #('HRESULT', 'c_long'), # VERY BAD : real HRESULT raise by itself -> way better + ('ULONGLONG', 'c_ulonglong'), + ('LONGLONG', 'c_longlong'), + ('ULONG64', 'c_ulonglong'), + ('UINT64', 'ULONG64'), + ('LONG64', 'c_longlong'), + ('LARGE_INTEGER', 'LONGLONG'), + ('PLARGE_INTEGER', 'POINTER(LARGE_INTEGER)'), + ('DWORD64', 'ULONG64'), + ('SCODE', 'LONG'), + ('CIMTYPE', 'LONG'), + ('NET_IFINDEX', 'ULONG'), + ('IF_INDEX', 'NET_IFINDEX'), + ('IFTYPE', 'ULONG'), + ('PULONG64', 'POINTER(ULONG64)'), + ('LPFILETIME', 'POINTER(FILETIME)'), + ('LPPOINT', 'POINTER(POINT)'), + ('LPRECT', 'POINTER(RECT)'), + ('PBYTE', 'POINTER(BYTE)'), + ('PUINT', 'POINTER(UINT)'), + ('PHANDLE', 'POINTER(HANDLE)'), + ('HKEY', 'HANDLE'), + ('HCATADMIN', 'HANDLE'), + ('HCATINFO', 'HANDLE'), + ('HDC', 'HANDLE'), + ('HBITMAP', 'HANDLE'), + ('SC_HANDLE', 'HANDLE'), + ('HCERTCHAINENGINE', 'HANDLE'), + ('LPHANDLE', 'POINTER(HANDLE)'), + ('ALPC_HANDLE', 'HANDLE'), + ('PALPC_HANDLE', 'POINTER(ALPC_HANDLE)'), + ('PHKEY', 'POINTER(HKEY)'), + ('ACCESS_MASK', 'DWORD'), + ('REGSAM', 'ACCESS_MASK'), + ('PBOOLEAN', 'POINTER(BOOLEAN)'), + ('SECURITY_CONTEXT_TRACKING_MODE', 'BOOLEAN'), + ('HCRYPTPROV_OR_NCRYPT_KEY_HANDLE', 'PULONG'), + ('HCRYPTPROV_LEGACY', 'PULONG'), + ('HCRYPTKEY', 'PULONG'), + ('HCRYPTPROV', 'PULONG'), + ('HCRYPTHASH', 'PULONG'), + ('ALG_ID', 'UINT'), + ("DISPID", "LONG"), + ("MEMBERID", "DISPID"), + ('PSECURITY_DESCRIPTOR', 'PVOID'), + ('LPPROC_THREAD_ATTRIBUTE_LIST', 'PVOID'), + ('LPUNKNOWN', 'POINTER(PVOID)'), + ('SPC_UUID', 'BYTE * 16'), + ('PIO_APC_ROUTINE', 'PVOID'), + ('DEVICE_TYPE', 'DWORD'), + #STUFF FOR COM (will be replace at runtime + # real def in com_interface_header + # ('GUID', 'PVOID'), + #('REFGUID', 'PVOID'), + #('LPGUID', 'PVOID'), + # STUFF FOR DBGENGINE + ('PWINDBG_EXTENSION_APIS32', 'PVOID'), + ('PWINDBG_EXTENSION_APIS64', 'PVOID'), + #('PDEBUG_SYMBOL_PARAMETERS', 'PVOID'), + # Will be changed at import time + ('LPCONTEXT', 'PVOID'), + ('HCERTSTORE', 'PVOID'), + ('HCRYPTMSG', 'PVOID'), + ('PALPC_PORT_ATTRIBUTES', 'PVOID'), + ] + +TYPE_EQUIVALENCE.append(('VOID', 'DWORD')) +# TRICHE +BASIC_TYPE = dummy_wintypes.names + list([x[0] for x in TYPE_EQUIVALENCE]) + +class CtypesGenerator(object): + common_header = "#Generated file\n" + + PARSER = None + IMPORT_HEADER = "{deps}" + + def __init__(self, indirname, outfilename, dependances=()): + self.indirname = indirname + self.outfilename = outfilename + # self.infile = open(self.infilename) + self.data = None + self.dependances = dependances + + self.exports = set([]) + self.imports = set([]) + + self.parse() + self.analyse(self.data) + self.check_dependances() + + # def parse(self): + # if self.data is None: + # print("Parsing <{0}>".format(self.infilename)) + # self.data = self.PARSER(self.infile.read()).parse() + # return self.data + + def parse(self): + if self.data is not None: + return self.data + data = [] + for filename in glob.glob(self.indirname): + print("Parsing <{0}>".format(filename)) + # data.append(self.PARSER(open(filename).read()).parse()) + data += self.PARSER(open(filename).read()).parse() + self.data = data + return data + + def analyse(self, data): + raise NotImplementedError("<{0}> doest not implement ".format(type(self).__name__)) + + def check_dependances(self): + missing = self.imports + for dep in self.dependances: + missing -= dep.exports + if missing: + # raise ValueError("Missing dependance <{0}> in <{1}>".format(missing, self.infilename)) + print ValueError("Missing dependance <{0}>".format(missing)) + + def generate_import(self): + deps = "\n".join(["from {0} import *".format(os.path.basename(dep.outfilename).rsplit(".")[0]) for dep in self.dependances]) + return self.IMPORT_HEADER.format(deps = deps) + + def add_imports(self, *names): + self.imports.update(names) + + def add_exports(self, *names): + self.exports.update(names) + + def generate(self): + raise NotImplementedError("<{0}> doest not implement ".format(type(self).__name__)) + + def append_input_file(self, filename): + print("Adding file <{0}>".format(filename)) + self.parse() + self.data += self.PARSER(open(filename).read()).parse() + self.analyse(self.data) + self.check_dependances() + +class InitialDefGenerator(CtypesGenerator): + PARSER = def_parser.WinDefParser + HEADER = dedent(""" + import sys + import platform + if sys.version_info.major == 3: + long = int + + bits = platform.architecture()[0] + bitness = int(bits[:2]) + + NATIVE_WORD_MAX_VALUE = 0xffffffff if bitness == 32 else 0xffffffffffffffff + + class Flag(long): + def __new__(cls, name, value): + return super(Flag, cls).__new__(cls, value) + + def __init__(self, name, value): + self.name = name + + def __repr__(self): + return "{0}({1})".format(self.name, hex(self)) + + __str__ = __repr__ + + # Fix pickling with protocol 2 + def __getnewargs__(self, *args): + return self.name, long(self) + + class StrFlag(str): + def __new__(cls, name, value): + if isinstance(value, cls): + return value + return super(StrFlag, cls).__new__(cls, value) + + def __init__(self, name, value): + self.name = name + + def __repr__(self): + return "{0}({1})".format(self.name, str.__repr__(self)) + + # __str__ = __repr__ + + # Fix pickling with protocol 2 + def __getnewargs__(self, *args): + return self.name, str.__str__(self) + + def make_flag(name, value): + if isinstance(value, (int, long)): + return Flag(name, value) + return StrFlag(name, value) + + class FlagMapper(dict): + def __init__(self, *values): + self.update({x:x for x in values}) + + def __missing__(self, key): + return key + """) + + IMPORT_HEADER = "{deps}" + + def analyse(self, data): + self.add_exports("Flag") + self.add_exports("NATIVE_WORD_MAX_VALUE") + for defin in data: + self.add_exports(defin.name) + + def generate(self): + ctypes_lines = [self.common_header, self.HEADER] + #deps = "\n".join(["from {0} import *".format(os.path.basename(dep.outfilename).rsplit(".")[0]) for dep in self.dependances]) + ctypes_lines += [self.generate_import()] + ctypes_lines += [d.generate_ctypes() for d in self.parse()] + ctypes_code = "\n".join(ctypes_lines) + with open(self.outfilename, "w") as f: + f.write(ctypes_code) + print("<{0}> generated".format(self.outfilename)) + return ctypes_code + + def generate_doc(self, target_file): + all_lines = [".. currentmodule:: windows.generated_def\n\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 (""" + from ctypes import * + from ctypes.wintypes import * + {deps} + """) + TYPES_HEADER = dedent(""" + class EnumValue(Flag): + def __new__(cls, enum_name, name, value): + return super(EnumValue, cls).__new__(cls, name, value) + + def __init__(self, enum_name, name, value): + self.enum_name = enum_name + self.name = name + + def __repr__(self): + return "{0}.{1}({2})".format(self.enum_name, self.name, hex(self)) + + # Fix pickling with protocol 2 + def __getnewargs__(self, *args): + return self.enum_name, self.name, int(self) + + + class EnumType(DWORD): + values = () + mapper = {} + + @property + def value(self): + raw_value = super(EnumType, self).value + return self.mapper.get(raw_value, raw_value) + + def __repr__(self): + raw_value = super(EnumType, self).value + if raw_value in self.values: + value = self.value + return "<{0} {1}({2})>".format(type(self).__name__, value.name, hex(raw_value)) + return "<{0}({1})>".format(type(self).__name__, hex(self.value)) + + """) + + def __init__(self, *args, **kwargs): + self.export_enums = set([]) + self.export_structs = set([]) + super(StructGenerator, self).__init__(*args, **kwargs) + + + def analyse(self, data): + structs, enums = data + for btype in BASIC_TYPE: + self.add_exports(btype) + for enum in enums: + self.add_exports(enum.name) + self.add_exports(*enum.typedef) + self.export_enums.update([enum.name] + enum.typedef.keys()) + for struct in structs: + self.add_exports(struct.name) + self.add_exports(*struct.typedef) + self.export_structs.update([struct.name] + struct.typedef.keys()) + for field_type, field_name, nb_rep in struct.fields: + if field_type.name not in self.exports: + self.add_imports(field_type.name) + try: + int(nb_rep) + except: + self.add_imports(nb_rep) + + # We have PPORT_MESSAGE32 and PPORT_MESSAGE64 and PPORT_MESSAGE is choosed at runtime + self.add_exports("PPORT_MESSAGE") + + + def generate(self): + type_equivalences = "\n".join(["{0} = {1}".format(*x) for x in TYPE_EQUIVALENCE]) + HEADER = self.generate_import() + HEADER += type_equivalences + HEADER += self.TYPES_HEADER + + structs, enums = self.data + ctypes_lines = [self.common_header, HEADER] + for definition in [d for l in (enums, structs) for d in l]: + ctypes_lines.append(definition.generate_ctypes()) + if definition.name in EXTENDED_STRUCT: + print("Including extended definition for <{0}>".format(definition.name)) + extended_struct_filename = from_here(os.path.join("extended_structs", "{0}.py".format(definition.name))) + with open(extended_struct_filename) as f: + ctypes_lines.append(f.read()) + # import pdb;pdb.set_trace() + ctypes_lines.append(definition.generate_typedef_ctypes() + "\n") + + ctypes_code = "\n".join(ctypes_lines) + with open(self.outfilename, "w") as f: + f.write(ctypes_code) + print("<{0}> generated".format(self.outfilename)) + return ctypes_code + + def parse(self): + if self.data is not None: + return self.data + data = [[], []] + for filename in glob.glob(self.indirname): + print("Parsing <{0}>".format(filename)) + # data.append(self.PARSER(open(filename).read()).parse()) + new_data = self.PARSER(open(filename).read()).parse() + data[0].extend(new_data[0]) + data[1].extend(new_data[1]) + self.data = data + return data + + def append_input_file(self, filename): + print("Adding file <{0}>".format(filename)) + self.parse() + new_data = self.PARSER(open(filename).read()).parse() + self.data[0].extend(new_data[0]) + self.data[1].extend(new_data[1]) + self.analyse(self.data) + self.check_dependances() + + def generate_doc(self, target_file): + all_lines = [".. currentmodule:: windows.generated_def\n\n" + "Winstructs\n" + "----------\n"] + struct_separator = "'" + structs, enums = self.parse() + for struct in structs: + all_lines.append("{0}\n{1}\n".format(struct.name, struct_separator * 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)) + + all_lines += ["WinEnums\n--------\n"] + for enum in enums: + all_lines.append("{0}\n{1}\n".format(enum.name, struct_separator * 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 (""" + from ctypes import * + from ctypes.wintypes import * + {deps} + + """) + + def analyse(self, data): + for func in data: + if isinstance(func.return_type, tuple) and func.return_type[0] == "PTR": + self.add_imports(func.return_type[1]) + else: + self.add_imports(func.return_type) + for param_type, _ in func.params: + if param_type.startswith("POINTER(") and param_type.endswith(")"): + param_type = param_type[len("POINTER("): -1] + self.add_imports(param_type) + self.add_exports(func.name) + + + def generate(self): + deps = "\n".join(["from {0} import *".format(os.path.basename(dep.outfilename).rsplit(".")[0]) for dep in self.dependances]) + HEADER = self.generate_import() + + func_list = "functions = {0}\n\n".format(str([f.name for f in self.data])) + + ctypes_lines = [self.common_header, HEADER, func_list] + [d.generate_ctypes() for d in self.parse()] + ctypes_code = "\n".join(ctypes_lines) + with open(self.outfilename, "w") as f: + f.write(ctypes_code) + print("<{0}> generated".format(self.outfilename)) + return ctypes_code + +class NtStatusGenerator(CtypesGenerator): + IMPORT_HEADER = dedent(""" + import ctypes + {deps} + """) + HEADER = dedent(""" + class NtStatusException(WindowsError): + ALL_STATUS = {} + def __init__(self , code): + try: + x = self.ALL_STATUS[code] + except KeyError: + x = (code, 'UNKNOW_ERROR', 'Error non documented in ntstatus.py') + self.code = x[0] + self.name = x[1] + self.descr = x[2] + x = ctypes.c_long(x[0]).value, x[1], x[2] + return super(NtStatusException, self).__init__(*x) + + def __str__(self): + return "{e.name}(0x{e.code:x}): {e.descr}".format(e=self) + + def __repr__(self): + return "{0}(0x{1:08x}, {2})".format(type(self).__name__, self.code, self.name) + + @classmethod + def register_ntstatus(cls, code, name, descr): + if code in cls.ALL_STATUS: + return # Use the first def + cls.ALL_STATUS[code] = (code, name, descr) + return Flag(name, code) + """) + + def __init__(self, infilename, outfilename, dependances=()): + self.infilename = infilename + self.outfilename = outfilename + self.infile = open(self.infilename) + self.data = None + self.dependances = dependances + + self.exports = set([]) + self.imports = set([]) + + self.parse() + self.analyse(self.data) + self.check_dependances() + + def parse_ntstatus(self, content): + nt_status_defs = [] + for line in content.split("\n"): + if not line: + continue + code, name, descr = line.split("|", 2) + code = int(code, 0) + descr = re.sub(" +", " ", descr[:-1]) # remove \n + descr = descr.replace('"', "'") + nt_status_defs.append((code, name, descr)) + self.data = nt_status_defs + return self + + # Hack for PARSER + def parse(self): + if self.data is None: + print("Parsing <{0}>".format(self.infilename)) + self.parse_ntstatus(self.infile.read()) + return self.data + + + def analyse(self, data): + self.add_imports("Flag") + + def generate(self): + #deps = "\n".join(["from {0} import *".format(os.path.basename(dep.outfilename).rsplit(".")[0]) for dep in self.dependances]) + HEADER = self.generate_import() + self.HEADER + ctypes_lines = [HEADER] + for code, name, descr in self.parse(): + ctypes_lines.append('{1} = NtStatusException.register_ntstatus({0}, "{1}", "{2}")'.format(hex(code).strip("L"), name, descr)) + ctypes_code = "\n".join(ctypes_lines) + with open(self.outfilename, "w") as f: + f.write(ctypes_code) + print("<{0}> generated".format(self.outfilename)) + return ctypes_code + + def generate_doc(self, target_file): + all_lines = [".. currentmodule:: windows.generated_def\n\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 + IGNORE_INTERFACE = ["ITypeInfo"] + IMPORT_HEADER = dedent(""" + import functools + import ctypes + + + {deps} + + """) + HEADER = dedent(""" + generate_IID = IID.from_raw + + class COMInterface(ctypes.c_void_p): + _functions_ = { + } + + def __getattr__(self, name): + if name in self._functions_: + return functools.partial(self._functions_[name], self) + return super(COMInterface, self).__getattribute__(name) + + class COMImplementation(object): + IMPLEMENT = None + + def get_index_of_method(self, method): + # This code is horrible but not totally my fault + # the PyCFuncPtrObject->index is not exposed to Python.. + # repr is: '' + rpr = repr(method) + if not rpr.startswith(" implementing <{1}> has no method <{2}>".format(type(self).__name__, self.IMPLEMENT.__name__, func_name)) + if not callable(implem): + raise ValueError("{0} implementing <{1}>: <{2}> is not callable".format(type(self).__name__, self.IMPLEMENT.__name__, func_name)) + return True + + def _create_vtable(self, interface): + implems = [] + names = [] + for index, name, method in self.extract_methods_order(interface): + func_implem = getattr(self, name) + #PVOID is 'this' + types = [method.restype, PVOID] + list(method.argtypes) + implems.append(ctypes.WINFUNCTYPE(*types)(func_implem)) + names.append(name) + class Vtable(ctypes.Structure): + _fields_ = [(name, ctypes.c_void_p) for name in names] + return Vtable(*[ctypes.cast(x, ctypes.c_void_p) for x in implems]), implems + + def __init__(self): + self.verify_implem(self.IMPLEMENT) + vtable, implems = self._create_vtable(self.IMPLEMENT) + self.vtable = vtable + self.implems = implems + self.vtable_pointer = ctypes.pointer(self.vtable) + self._as_parameter_ = ctypes.addressof(self.vtable_pointer) + + def QueryInterface(self, this, piid, result): + if piid[0] in (IUnknown.IID, self.IMPLEMENT.IID): + result[0] = this + return 1 + return E_NOINTERFACE + + def AddRef(self, *args): + return 1 + + def Release(self, *args): + return 0 + """) + + def __init__(self, indirname, iiddef, outfilename, dependances=()): + self.indirname = indirname + self.infilename = indirname + self.outfilename = outfilename + self.data = None + self.dependances = dependances + + data = open(iiddef).read() + self.iids_def = {} + for line in data.split("\n"): + name, iid = line.split("|") + self.iids_def[name] = self.parse_iid(iid), iid + + self.exports = set([]) + self.imports = set([]) + + self.parse() + self.analyse(self.data) + self.check_dependances() + + def parse(self): + if self.data is not None: + return self.data + data = [] + for filename in glob.glob(self.indirname): + print("Parsing <{0}>".format(filename)) + data.append(self.PARSER(open(filename).read()).parse()) + self.data = data + return data + + def analyse(self, data): + self.real_type = {} + # self.add_exports("IID") + # self.add_exports("GUID") + # self.add_exports("LPGUID") # setup in InitialCOMGenerator.HEADER + # self.add_exports("REFGUID") # setup in InitialCOMGenerator.HEADER + self.add_exports("COMInterface") + self.add_exports("COMImplementation") + for cominterface in data: + #import pdb;pdb.set_trace() + self.add_exports(cominterface.name) + if cominterface.typedefptr: + self.add_exports(cominterface.typedefptr) + for cominterface in data: + for method in cominterface.methods: + self.add_imports(method.ret_type) + for pos, arg in enumerate(method.args): + initial_arg = arg + if arg.type in self.exports or arg.type in self.IGNORE_INTERFACE: + # GUID type ? + if arg.type in ["GUID", "REFGUID", "LPGUID", "IID"]: + continue + # COM Interface ? -> PVOID ! + atype = "PVOID" + byreflevel = arg.byreflevel - 1 + method.args[pos] = arg = type(arg)(atype, byreflevel, arg.name) + self.real_type[arg] = initial_arg + + elif arg.type == "void" and arg.byreflevel > 0: + # **void -> *PVOID + atype = "PVOID" + byreflevel = arg.byreflevel - 1 + method.args[pos] = arg = type(arg)(atype, byreflevel, arg.name) + self.real_type[arg] = initial_arg + self.add_imports(arg.type) + + com_interface_comment_template = """ #{0} -> {1}""" + com_interface_method_template = """ "{0}": ctypes.WINFUNCTYPE({1})({2}, "{0}"),""" + com_interface_template = dedent(""" + class {0}(COMInterface): + IID = generate_IID({2}, name="{0}", strid="{3}") + + _functions_ = {{ + {1} + }} + """) + + def generate(self): + define = [] + for cominterface in self.data: + methods_string = [] + for method_nb, method in enumerate(cominterface.methods): + args_to_define = method.args[1:] #ctypes doesnt not need the This + args_for_comment = [self.real_type.get(arg, arg) for arg in args_to_define] + #import pdb;pdb.set_trace() + str_args = [] + methods_string.append(self.com_interface_comment_template.format(method.name, ", ".join([arg.name +":"+ ("*"* arg.byreflevel) +arg.type for arg in args_for_comment]))) + for arg in args_to_define: + type = arg.type + for i in range(arg.byreflevel): + type = "POINTER({0})".format(type) + str_args.append(type) + + methods_string.append(self.com_interface_method_template.format(method.name, ", ".join([method.ret_type] + str_args), method_nb)) + #import pdb;pdb.set_trace() + if cominterface.iid is not None: + iid_str = cominterface.iid + iid_python = self.parse_iid(iid_str) + else: + print("Lookup of IID for <{0}>".format(cominterface.name)) + iid_python, iid_str = self.iids_def[cominterface.name] + define.append((self.com_interface_template.format(cominterface.name, "\n".join(methods_string), iid_python, iid_str))) + + deps = "\n".join(["from {0} import *".format(os.path.basename(dep.outfilename).rsplit(".")[0]) for dep in self.dependances]) + + ctypes_code = self.generate_import() + "\n" + self.HEADER + "\n".join(define) + with open(self.outfilename, "w") as f: + f.write(ctypes_code) + print("<{0}> generated".format(self.outfilename)) + return ctypes_code + + def parse_iid(self, iid_str): + part_iid = iid_str.split("-") + str_iid = [] + str_iid.append("0x" + part_iid[0]) + str_iid.append("0x" + part_iid[1]) + str_iid.append("0x" + part_iid[2]) + str_iid.append("0x" + part_iid[3][:2]) + str_iid.append("0x" + part_iid[3][2:]) + for i in range(6): str_iid.append("0x" + part_iid[4][i * 2:(i + 1) * 2]) + return ", ".join(str_iid) + + + + com_interface_template = dedent(""" + class {0}(COMInterface): + IID = generate_IID({2}, name="{0}", strid="{3}") + + _functions_ = {{ + {1} + }} + """) + + +class COMGenerator(InitialCOMGenerator): + IMPORT_HEADER = "{deps}" + HEADER = "" + +class DefGenerator(InitialDefGenerator): + IMPORT_HEADER = "{deps}" + HEADER = "" + +class MetafileGenerator(object): + walker_generator = dedent(""" + def generate_walker(namelist, target_module): + def my_walker(): + for name in namelist: + yield name, getattr(target_module, name) + return my_walker + """) + def __init__(self, filename): + self.lol = {} + self.filename = filename + + def add_exports(self, name, module, exports): + self.lol[(name, module)] = exports + + def generate(self): + with open(self.filename, "w") as f: + # Generate lists + for (name, module), exports in self.lol.items(): + f.write("{0} = {1}".format(name, exports)) + # f.write(str(y)) + f.write("\n") + f.write(self.walker_generator) + # Generate walkers + for (name, module) in self.lol: + f.write("import {0} as {0}_module\n".format(module)) + f.write("{0}_walker = generate_walker({0}, {1}_module)\n".format(name, module)) + + +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) +print(SCRIPT_DIR) +from_here = lambda path: pjoin(SCRIPT_DIR, path) + + +EXTENDED_STRUCT_FILE = glob.glob(pjoin(SCRIPT_DIR, "extended_structs", "*.py")) +EXTENDED_STRUCT = [os.path.basename(filename)[:-len(".py")] for filename in EXTENDED_STRUCT_FILE] + +DEFAULT_INTERFACE_TO_IID = from_here("definitions\\interface_to_iid.txt") + +# A partial define without the dependance to ntstatus defintion +# BOOTSTRAP!! +non_generated_def = InitialDefGenerator(from_here("definitions\\defines\\windef.txt"), from_here(r"..\windows\generated_def\\windef.py")) +ntstatus = NtStatusGenerator(from_here("definitions\\ntstatus.txt"), from_here(r"..\windows\generated_def\\ntstatus.py"), dependances=[non_generated_def]) +# Not a real circular def (import not at the begin of file +defs_with_ntstatus = InitialDefGenerator(from_here("definitions\\defines\\*.txt"), from_here(r"..\windows\generated_def\\windef.py"), dependances=[ntstatus]) + +# YOLO HACK FOR NOW :DD +# import pdb;pdb.set_trace() + + +# for filename in [f for f in glob.glob(from_here("definitions\\defines\\*.txt")) if not f.endswith("\\windef.txt")]: + # 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")) + # defs_with_ntstatus.append_input_file(from_here("definitions\\custom_rpc_windef.txt")) + # defs_with_ntstatus.append_input_file(from_here("definitions\\windef_evtlog.txt")) + # defs_with_ntstatus.append_input_file(filename) + + +structs = StructGenerator(from_here("definitions\\structures\\*.txt"), from_here(r"..\windows\generated_def\\winstructs.py"), dependances=[defs_with_ntstatus]) + +# for filename in [f for f in glob.glob(from_here("definitions\\structures\\*.txt")) if not f.endswith("\\winstruct.txt")]: + # structs.append_input_file(filename) + +# structs.append_input_file(from_here("definitions\\winstruct_apisetmap.txt")) +# structs.append_input_file(from_here("definitions\\display_struct.txt")) +# structs.append_input_file(from_here("definitions\\winstruct_bits.txt")) +# structs.append_input_file(from_here("definitions\\winstruct_alpc.txt")) +# structs.append_input_file(from_here("definitions\\winstruct_evtlog.txt")) +# structs.append_input_file(from_here("definitions\\winstruct_file_info.txt")) + +functions = FuncGenerator(from_here("definitions\\functions\\*.txt"), from_here(r"..\windows\generated_def\\winfuncs.py"), dependances=[structs]) + +# for filename in [f for f in glob.glob(from_here("definitions\\functions\\*.txt")) if not f.endswith("\\winfunc.txt")]: + # functions.append_input_file(filename) + +# functions.append_input_file(from_here("definitions\\winfunc_crypto_wintrust.txt")) +# functions.append_input_file(from_here("definitions\\winfunc_notdoc.txt")) +# functions.append_input_file(from_here("definitions\\winfunc_evtlog.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)) + +meta = MetafileGenerator(from_here(r"..\windows\generated_def\\meta.py")) +meta.add_exports("windef", module="windef", exports=defs_with_ntstatus.exports - set(["Flag", "NATIVE_WORD_MAX_VALUE"])) +meta.add_exports("structs", module="winstructs", exports=structs.export_structs) +meta.add_exports("enums", module="winstructs", exports=structs.export_enums) +meta.add_exports("functions", module="winfuncs", exports=functions.exports) +meta.add_exports("interfaces", module="interfaces", exports=com.exports) + + +if __name__ == "__main__": + ntstatus.generate() + defs_with_ntstatus.generate() + structs.generate() + functions.generate() + com.generate() + print("Generating meta file") + meta.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")) + diff --git a/docs/source/windef_generated.rst b/docs/source/windef_generated.rst index 59f02d9..6eebaa2 100644 --- a/docs/source/windef_generated.rst +++ b/docs/source/windef_generated.rst @@ -1426,16 +1426,6 @@ Windef .. autodata:: RPC_S_PROTOCOL_ERROR .. autodata:: RPC_S_UNSUPPORTED_TRANS_SYN .. autodata:: RPC_S_PROCNUM_OUT_OF_RANGE -.. autodata:: EVENTLOG_SUCCESS -.. autodata:: EVENTLOG_ERROR_TYPE -.. autodata:: EVENTLOG_WARNING_TYPE -.. autodata:: EVENTLOG_INFORMATION_TYPE -.. autodata:: EVENTLOG_AUDIT_SUCCESS -.. autodata:: EVENTLOG_AUDIT_FAILURE -.. autodata:: EVENTLOG_SEQUENTIAL_READ -.. autodata:: EVENTLOG_SEEK_READ -.. autodata:: EVENTLOG_FORWARDS_READ -.. autodata:: EVENTLOG_BACKWARDS_READ .. autodata:: CERT_QUERY_OBJECT_FILE .. autodata:: CERT_QUERY_OBJECT_BLOB .. autodata:: CERT_QUERY_CONTENT_CERT @@ -1999,3 +1989,13 @@ Windef .. autodata:: CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY .. autodata:: CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY .. autodata:: CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE +.. autodata:: EVENTLOG_SUCCESS +.. autodata:: EVENTLOG_ERROR_TYPE +.. autodata:: EVENTLOG_WARNING_TYPE +.. autodata:: EVENTLOG_INFORMATION_TYPE +.. autodata:: EVENTLOG_AUDIT_SUCCESS +.. autodata:: EVENTLOG_AUDIT_FAILURE +.. autodata:: EVENTLOG_SEQUENTIAL_READ +.. autodata:: EVENTLOG_SEEK_READ +.. autodata:: EVENTLOG_FORWARDS_READ +.. autodata:: EVENTLOG_BACKWARDS_READ diff --git a/docs/source/winstructs_generated.rst b/docs/source/winstructs_generated.rst index b1c95fd..c661936 100644 --- a/docs/source/winstructs_generated.rst +++ b/docs/source/winstructs_generated.rst @@ -12357,6 +12357,7 @@ _SYSTEM_INFORMATION_CLASS Alias for :class:`_SYSTEM_INFORMATION_CLASS` + .. class:: _SYSTEM_INFORMATION_CLASS @@ -12614,6 +12615,7 @@ _WELL_KNOWN_SID_TYPE Alias for :class:`_WELL_KNOWN_SID_TYPE` + .. class:: _WELL_KNOWN_SID_TYPE @@ -12907,6 +12909,7 @@ _SECTION_INHERIT Alias for :class:`_SECTION_INHERIT` + .. class:: _SECTION_INHERIT @@ -12921,10 +12924,12 @@ _PROCESSINFOCLASS Alias for :class:`_PROCESSINFOCLASS` + .. class:: PROCESSINFOCLASS Alias for :class:`_PROCESSINFOCLASS` + .. class:: _PROCESSINFOCLASS @@ -13059,6 +13064,7 @@ _MEMORY_INFORMATION_CLASS Alias for :class:`_MEMORY_INFORMATION_CLASS` + .. class:: _MEMORY_INFORMATION_CLASS @@ -13082,10 +13088,12 @@ _THREAD_INFORMATION_CLASS Alias for :class:`_THREAD_INFORMATION_CLASS` + .. class:: PTHREAD_INFORMATION_CLASS Pointer to :class:`_THREAD_INFORMATION_CLASS` + .. class:: _THREAD_INFORMATION_CLASS @@ -13148,6 +13156,7 @@ _TCP_TABLE_CLASS Alias for :class:`_TCP_TABLE_CLASS` + .. class:: _TCP_TABLE_CLASS @@ -13183,6 +13192,7 @@ _VARENUM Alias for :class:`_VARENUM` + .. class:: _VARENUM @@ -13347,6 +13357,7 @@ _UDP_TABLE_CLASS Alias for :class:`_UDP_TABLE_CLASS` + .. class:: _UDP_TABLE_CLASS @@ -13364,6 +13375,7 @@ NET_FW_RULE_DIRECTION_ Alias for :class:`NET_FW_RULE_DIRECTION_` + .. class:: NET_FW_RULE_DIRECTION_ @@ -13381,6 +13393,7 @@ NET_FW_PROFILE_TYPE2_ Alias for :class:`NET_FW_PROFILE_TYPE2_` + .. class:: NET_FW_PROFILE_TYPE2_ @@ -13401,6 +13414,7 @@ _MIB_TCP_STATE Alias for :class:`_MIB_TCP_STATE` + .. class:: _MIB_TCP_STATE @@ -13445,6 +13459,7 @@ NET_FW_IP_PROTOCOL_ Alias for :class:`NET_FW_IP_PROTOCOL_` + .. class:: NET_FW_IP_PROTOCOL_ @@ -13462,10 +13477,12 @@ _TOKEN_INFORMATION_CLASS Alias for :class:`_TOKEN_INFORMATION_CLASS` + .. class:: PTOKEN_INFORMATION_CLASS Pointer to :class:`_TOKEN_INFORMATION_CLASS` + .. class:: _TOKEN_INFORMATION_CLASS @@ -13600,6 +13617,7 @@ _FS_INFORMATION_CLASS Alias for :class:`_FS_INFORMATION_CLASS` + .. class:: _FS_INFORMATION_CLASS @@ -13641,10 +13659,12 @@ _SECURITY_IMPERSONATION_LEVEL Alias for :class:`_SECURITY_IMPERSONATION_LEVEL` + .. class:: PSECURITY_IMPERSONATION_LEVEL Pointer to :class:`_SECURITY_IMPERSONATION_LEVEL` + .. class:: _SECURITY_IMPERSONATION_LEVEL @@ -13665,6 +13685,7 @@ _SC_ENUM_TYPE Alias for :class:`_SC_ENUM_TYPE` + .. class:: _SC_ENUM_TYPE @@ -13676,6 +13697,7 @@ _SC_STATUS_TYPE Alias for :class:`_SC_STATUS_TYPE` + .. class:: _SC_STATUS_TYPE @@ -13687,6 +13709,7 @@ _OBJECT_INFORMATION_CLASS Alias for :class:`_OBJECT_INFORMATION_CLASS` + .. class:: _OBJECT_INFORMATION_CLASS @@ -13704,10 +13727,12 @@ _SID_NAME_USE Alias for :class:`_SID_NAME_USE` + .. class:: PSID_NAME_USE Pointer to :class:`_SID_NAME_USE` + .. class:: _SID_NAME_USE @@ -13746,6 +13771,7 @@ NET_FW_ACTION_ Alias for :class:`NET_FW_ACTION_` + .. class:: NET_FW_ACTION_ @@ -13763,6 +13789,7 @@ NET_FW_MODIFY_STATE_ Alias for :class:`NET_FW_MODIFY_STATE_` + .. class:: NET_FW_MODIFY_STATE_ @@ -13780,6 +13807,7 @@ tag_WBEMSTATUS Alias for :class:`tag_WBEMSTATUS` + .. class:: tag_WBEMSTATUS @@ -14367,6 +14395,7 @@ tag_WBEM_CHANGE_FLAG_TYPE Alias for :class:`tag_WBEM_CHANGE_FLAG_TYPE` + .. class:: tag_WBEM_CHANGE_FLAG_TYPE @@ -14399,6 +14428,7 @@ tag_WBEM_TIMEOUT_TYPE Alias for :class:`tag_WBEM_TIMEOUT_TYPE` + .. class:: tag_WBEM_TIMEOUT_TYPE @@ -14413,6 +14443,7 @@ tag_WBEM_GENERIC_FLAG_TYPE Alias for :class:`tag_WBEM_GENERIC_FLAG_TYPE` + .. class:: tag_WBEM_GENERIC_FLAG_TYPE @@ -14469,6 +14500,7 @@ tagCLSCTX Alias for :class:`tagCLSCTX` + .. class:: tagCLSCTX @@ -14549,6 +14581,7 @@ _SE_OBJECT_TYPE Alias for :class:`_SE_OBJECT_TYPE` + .. class:: _SE_OBJECT_TYPE @@ -14596,6 +14629,7 @@ _INTERNAL_IF_OPER_STATUS Alias for :class:`_INTERNAL_IF_OPER_STATUS` + .. class:: _INTERNAL_IF_OPER_STATUS @@ -14622,6 +14656,7 @@ _IMAGEHLP_SYMBOL_TYPE_INFO Alias for :class:`_IMAGEHLP_SYMBOL_TYPE_INFO` + .. class:: _IMAGEHLP_SYMBOL_TYPE_INFO @@ -14732,6 +14767,7 @@ _PROCESSINFOCLASS Alias for :class:`_PROCESSINFOCLASS` + .. class:: _PROCESSINFOCLASS @@ -14746,6 +14782,7 @@ tagCOINIT Alias for :class:`tagCOINIT` + .. class:: tagCOINIT @@ -14766,6 +14803,7 @@ tagTYPEKIND Alias for :class:`tagTYPEKIND` + .. class:: tagTYPEKIND @@ -14801,6 +14839,7 @@ _RTL_PATH_TYPE Alias for :class:`_RTL_PATH_TYPE` + .. class:: _RTL_PATH_TYPE @@ -14833,6 +14872,7 @@ _ALPC_PORT_INFORMATION_CLASS Alias for :class:`_ALPC_PORT_INFORMATION_CLASS` + .. class:: _ALPC_PORT_INFORMATION_CLASS @@ -14880,10 +14920,12 @@ _ALPC_MESSAGE_INFORMATION_CLASS Alias for :class:`_ALPC_MESSAGE_INFORMATION_CLASS` + .. class:: PALPC_MESSAGE_INFORMATION_CLASS Pointer to :class:`_ALPC_MESSAGE_INFORMATION_CLASS` + .. class:: _ALPC_MESSAGE_INFORMATION_CLASS @@ -14904,6 +14946,7 @@ _BG_JOB_STATE Alias for :class:`_BG_JOB_STATE` + .. class:: _BG_JOB_STATE @@ -14939,6 +14982,7 @@ _BG_JOB_PROXY_USAGE Alias for :class:`_BG_JOB_PROXY_USAGE` + .. class:: _BG_JOB_PROXY_USAGE @@ -14959,6 +15003,7 @@ _BG_JOB_PRIORITY Alias for :class:`_BG_JOB_PRIORITY` + .. class:: _BG_JOB_PRIORITY @@ -14979,6 +15024,7 @@ _BG_ERROR_CONTEXT Alias for :class:`_BG_ERROR_CONTEXT` + .. class:: _BG_ERROR_CONTEXT @@ -15011,6 +15057,7 @@ _BG_JOB_TYPE Alias for :class:`_BG_JOB_TYPE` + .. class:: _BG_JOB_TYPE @@ -15028,10 +15075,12 @@ _FILE_INFORMATION_CLASS Alias for :class:`_FILE_INFORMATION_CLASS` + .. class:: PFILE_INFORMATION_CLASS Pointer to :class:`_FILE_INFORMATION_CLASS` + .. class:: _FILE_INFORMATION_CLASS @@ -15244,6 +15293,7 @@ _IO_PRIORITY_HINT Alias for :class:`_IO_PRIORITY_HINT` + .. class:: _IO_PRIORITY_HINT diff --git a/windows/generated_def/flag.py b/windows/generated_def/flag.py new file mode 100644 index 0000000..acdb152 --- /dev/null +++ b/windows/generated_def/flag.py @@ -0,0 +1,50 @@ +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) + + def __init__(self, name, value): + self.name = name + + def __repr__(self): + return "{0}({1})".format(self.name, hex(self)) + + __str__ = __repr__ + + # Fix pickling with protocol 2 + def __getnewargs__(self, *args): + return self.name, long(self) + +class StrFlag(str): + def __new__(cls, name, value): + if isinstance(value, cls): + return value + return super(StrFlag, cls).__new__(cls, value) + + def __init__(self, name, value): + self.name = name + + def __repr__(self): + return "{0}({1})".format(self.name, str.__repr__(self)) + + # __str__ = __repr__ + + # Fix pickling with protocol 2 + def __getnewargs__(self, *args): + return self.name, str.__str__(self) + +def make_flag(name, value): + if isinstance(value, (int, long)): + return Flag(name, value) + return StrFlag(name, value) + +class FlagMapper(dict): + def __init__(self, *values): + self.update({x:x for x in values}) + + def __missing__(self, key): + return key \ No newline at end of file diff --git a/windows/generated_def/interfaces.py b/windows/generated_def/interfaces.py index f1f1a5a..b4b4972 100644 --- a/windows/generated_def/interfaces.py +++ b/windows/generated_def/interfaces.py @@ -1,13 +1,8 @@ - +from winstructs import * import functools import ctypes -from winstructs import * -from windef import * - - - generate_IID = IID.from_raw class COMInterface(ctypes.c_void_p): @@ -76,732 +71,689 @@ class COMImplementation(object): def Release(self, *args): return 0 - class IBackgroundCopyCallback(COMInterface): IID = generate_IID(0x97EA99C7, 0x0186, 0x4AD4, 0x8D, 0xF9, 0xC5, 0xB4, 0xE0, 0xED, 0x6B, 0x22, name="IBackgroundCopyCallback", strid="97EA99C7-0186-4AD4-8DF9-C5B4E0ED6B22") - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #JobTransferred -> pJob:*IBackgroundCopyJob - "JobTransferred": ctypes.WINFUNCTYPE(HRESULT, PVOID)(3, "JobTransferred"), - #JobError -> pJob:*IBackgroundCopyJob, pError:*IBackgroundCopyError - "JobError": ctypes.WINFUNCTYPE(HRESULT, PVOID, PVOID)(4, "JobError"), - #JobModification -> pJob:*IBackgroundCopyJob, dwReserved:DWORD - "JobModification": ctypes.WINFUNCTYPE(HRESULT, PVOID, DWORD)(5, "JobModification"), + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # JobTransferred -> pJob:*IBackgroundCopyJob + "JobTransferred": ctypes.WINFUNCTYPE(HRESULT, PVOID)(3, "JobTransferred"), + # JobError -> pJob:*IBackgroundCopyJob, pError:*IBackgroundCopyError + "JobError": ctypes.WINFUNCTYPE(HRESULT, PVOID, PVOID)(4, "JobError"), + # JobModification -> pJob:*IBackgroundCopyJob, dwReserved:DWORD + "JobModification": ctypes.WINFUNCTYPE(HRESULT, PVOID, DWORD)(5, "JobModification"), } - -class IBackgroundCopyError(COMInterface): - IID = generate_IID(0x19C613A0, 0xFCB8, 0x4F28, 0x81, 0xAE, 0x89, 0x7C, 0x3D, 0x07, 0x8F, 0x81, name="IBackgroundCopyError", strid="19C613A0-FCB8-4F28-81AE-897C3D078F81") - - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #GetError -> pContext:*BG_ERROR_CONTEXT, pCode:*HRESULT - "GetError": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_ERROR_CONTEXT), POINTER(HRESULT))(3, "GetError"), - #GetFile -> pVal:**IUnknown - "GetFile": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(4, "GetFile"), - #GetErrorDescription -> LanguageId:DWORD, pErrorDescription:*LPWSTR - "GetErrorDescription": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(LPWSTR))(5, "GetErrorDescription"), - #GetErrorContextDescription -> LanguageId:DWORD, pContextDescription:*LPWSTR - "GetErrorContextDescription": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(LPWSTR))(6, "GetErrorContextDescription"), - #GetProtocol -> pProtocol:*LPWSTR - "GetProtocol": ctypes.WINFUNCTYPE(HRESULT, POINTER(LPWSTR))(7, "GetProtocol"), - } - - -class IBackgroundCopyFile(COMInterface): - IID = generate_IID(0x01B7BD23, 0xFB88, 0x4A77, 0x84, 0x90, 0x58, 0x91, 0xD3, 0xE4, 0x65, 0x3A, name="IBackgroundCopyFile", strid="01B7BD23-FB88-4A77-8490-5891D3E4653A") - - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #GetRemoteName -> pVal:*LPWSTR - "GetRemoteName": ctypes.WINFUNCTYPE(HRESULT, POINTER(LPWSTR))(3, "GetRemoteName"), - #GetLocalName -> pVal:*LPWSTR - "GetLocalName": ctypes.WINFUNCTYPE(HRESULT, POINTER(LPWSTR))(4, "GetLocalName"), - #GetProgress -> pVal:*BG_FILE_PROGRESS - "GetProgress": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_FILE_PROGRESS))(5, "GetProgress"), - } - - -class IBackgroundCopyJob(COMInterface): - IID = generate_IID(0x37668D37, 0x507E, 0x4160, 0x93, 0x16, 0x26, 0x30, 0x6D, 0x15, 0x0B, 0x12, name="IBackgroundCopyJob", strid="37668D37-507E-4160-9316-26306D150B12") - - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #AddFileSet -> cFileCount:ULONG, pFileSet:*BG_FILE_INFO - "AddFileSet": ctypes.WINFUNCTYPE(HRESULT, ULONG, POINTER(BG_FILE_INFO))(3, "AddFileSet"), - #AddFile -> RemoteUrl:LPCWSTR, LocalName:LPCWSTR - "AddFile": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LPCWSTR)(4, "AddFile"), - #EnumFiles -> pEnum:**IEnumBackgroundCopyFiles - "EnumFiles": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(5, "EnumFiles"), - #Suspend -> - "Suspend": ctypes.WINFUNCTYPE(HRESULT)(6, "Suspend"), - #Resume -> - "Resume": ctypes.WINFUNCTYPE(HRESULT)(7, "Resume"), - #Cancel -> - "Cancel": ctypes.WINFUNCTYPE(HRESULT)(8, "Cancel"), - #Complete -> - "Complete": ctypes.WINFUNCTYPE(HRESULT)(9, "Complete"), - #GetId -> pVal:*GUID - "GetId": ctypes.WINFUNCTYPE(HRESULT, POINTER(GUID))(10, "GetId"), - #GetType -> pVal:*BG_JOB_TYPE - "GetType": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_JOB_TYPE))(11, "GetType"), - #GetProgress -> pVal:*BG_JOB_PROGRESS - "GetProgress": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_JOB_PROGRESS))(12, "GetProgress"), - #GetTimes -> pVal:*BG_JOB_TIMES - "GetTimes": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_JOB_TIMES))(13, "GetTimes"), - #GetState -> pVal:*BG_JOB_STATE - "GetState": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_JOB_STATE))(14, "GetState"), - #GetError -> ppError:**IBackgroundCopyError - "GetError": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(15, "GetError"), - #GetOwner -> pVal:*LPWSTR - "GetOwner": ctypes.WINFUNCTYPE(HRESULT, POINTER(LPWSTR))(16, "GetOwner"), - #SetDisplayName -> Val:LPCWSTR - "SetDisplayName": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(17, "SetDisplayName"), - #GetDisplayName -> pVal:*LPWSTR - "GetDisplayName": ctypes.WINFUNCTYPE(HRESULT, POINTER(LPWSTR))(18, "GetDisplayName"), - #SetDescription -> Val:LPCWSTR - "SetDescription": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(19, "SetDescription"), - #GetDescription -> pVal:*LPWSTR - "GetDescription": ctypes.WINFUNCTYPE(HRESULT, POINTER(LPWSTR))(20, "GetDescription"), - #SetPriority -> Val:BG_JOB_PRIORITY - "SetPriority": ctypes.WINFUNCTYPE(HRESULT, BG_JOB_PRIORITY)(21, "SetPriority"), - #GetPriority -> pVal:*BG_JOB_PRIORITY - "GetPriority": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_JOB_PRIORITY))(22, "GetPriority"), - #SetNotifyFlags -> Val:ULONG - "SetNotifyFlags": ctypes.WINFUNCTYPE(HRESULT, ULONG)(23, "SetNotifyFlags"), - #GetNotifyFlags -> pVal:*ULONG - "GetNotifyFlags": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(24, "GetNotifyFlags"), - #SetNotifyInterface -> Val:*IUnknown - "SetNotifyInterface": ctypes.WINFUNCTYPE(HRESULT, PVOID)(25, "SetNotifyInterface"), - #GetNotifyInterface -> pVal:**IUnknown - "GetNotifyInterface": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(26, "GetNotifyInterface"), - #SetMinimumRetryDelay -> Seconds:ULONG - "SetMinimumRetryDelay": ctypes.WINFUNCTYPE(HRESULT, ULONG)(27, "SetMinimumRetryDelay"), - #GetMinimumRetryDelay -> Seconds:*ULONG - "GetMinimumRetryDelay": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(28, "GetMinimumRetryDelay"), - #SetNoProgressTimeout -> Seconds:ULONG - "SetNoProgressTimeout": ctypes.WINFUNCTYPE(HRESULT, ULONG)(29, "SetNoProgressTimeout"), - #GetNoProgressTimeout -> Seconds:*ULONG - "GetNoProgressTimeout": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(30, "GetNoProgressTimeout"), - #GetErrorCount -> Errors:*ULONG - "GetErrorCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(31, "GetErrorCount"), - #SetProxySettings -> ProxyUsage:BG_JOB_PROXY_USAGE, ProxyList:*WCHAR, ProxyBypassList:*WCHAR - "SetProxySettings": ctypes.WINFUNCTYPE(HRESULT, BG_JOB_PROXY_USAGE, POINTER(WCHAR), POINTER(WCHAR))(32, "SetProxySettings"), - #GetProxySettings -> pProxyUsage:*BG_JOB_PROXY_USAGE, pProxyList:*LPWSTR, pProxyBypassList:*LPWSTR - "GetProxySettings": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_JOB_PROXY_USAGE), POINTER(LPWSTR), POINTER(LPWSTR))(33, "GetProxySettings"), - #TakeOwnership -> - "TakeOwnership": ctypes.WINFUNCTYPE(HRESULT)(34, "TakeOwnership"), - } - - -class IBackgroundCopyManager(COMInterface): - IID = generate_IID(0x5CE34C0D, 0x0DC9, 0x4C1F, 0x89, 0x7C, 0xDA, 0xA1, 0xB7, 0x8C, 0xEE, 0x7C, name="IBackgroundCopyManager", strid="5CE34C0D-0DC9-4C1F-897C-DAA1B78CEE7C") - - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #CreateJob -> DisplayName:LPCWSTR, Type:BG_JOB_TYPE, pJobId:*GUID, ppJob:**IBackgroundCopyJob - "CreateJob": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, BG_JOB_TYPE, POINTER(GUID), POINTER(PVOID))(3, "CreateJob"), - #GetJob -> jobID:REFGUID, ppJob:**IBackgroundCopyJob - "GetJob": ctypes.WINFUNCTYPE(HRESULT, REFGUID, POINTER(PVOID))(4, "GetJob"), - #EnumJobs -> dwFlags:DWORD, ppEnum:**IEnumWbemClassObject - "EnumJobs": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(PVOID))(5, "EnumJobs"), - #GetErrorDescription -> hResult:HRESULT, LanguageId:DWORD, pErrorDescription:*LPWSTR - "GetErrorDescription": ctypes.WINFUNCTYPE(HRESULT, HRESULT, DWORD, POINTER(LPWSTR))(6, "GetErrorDescription"), - } - - -class IDispatch(COMInterface): - IID = generate_IID(0x00020400, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IDispatch", strid="00020400-0000-0000-C000-000000000046") - - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #GetTypeInfoCount -> pctinfo:*UINT - "GetTypeInfoCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(UINT))(3, "GetTypeInfoCount"), - #GetTypeInfo -> iTInfo:UINT, lcid:LCID, ppTInfo:**ITypeInfo - "GetTypeInfo": ctypes.WINFUNCTYPE(HRESULT, UINT, LCID, POINTER(PVOID))(4, "GetTypeInfo"), - #GetIDsOfNames -> riid:REFIID, rgszNames:*LPOLESTR, cNames:UINT, lcid:LCID, rgDispId:*DISPID - "GetIDsOfNames": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(LPOLESTR), UINT, LCID, POINTER(DISPID))(5, "GetIDsOfNames"), - #Invoke -> dispIdMember:DISPID, riid:REFIID, lcid:LCID, wFlags:WORD, pDispParams:*DISPPARAMS, pVarResult:*VARIANT, pExcepInfo:*EXCEPINFO, puArgErr:*UINT - "Invoke": ctypes.WINFUNCTYPE(HRESULT, DISPID, REFIID, LCID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT))(6, "Invoke"), - } - - -class IEnumBackgroundCopyFiles(COMInterface): - IID = generate_IID(0xCA51E165, 0xC365, 0x424C, 0x8D, 0x41, 0x24, 0xAA, 0xA4, 0xFF, 0x3C, 0x40, name="IEnumBackgroundCopyFiles", strid="CA51E165-C365-424C-8D41-24AAA4FF3C40") - - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #Next -> celt:ULONG, rgelt:**IBackgroundCopyJob, pceltFetched:*ULONG - "Next": ctypes.WINFUNCTYPE(HRESULT, ULONG, POINTER(PVOID), POINTER(ULONG))(3, "Next"), - #Skip -> celt:ULONG - "Skip": ctypes.WINFUNCTYPE(HRESULT, ULONG)(4, "Skip"), - #Reset -> - "Reset": ctypes.WINFUNCTYPE(HRESULT)(5, "Reset"), - #Clone -> ppenum:**IEnumBackgroundCopyJobs - "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(6, "Clone"), - #GetCount -> puCount:*ULONG - "GetCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(7, "GetCount"), - } - - -class IEnumBackgroundCopyJobs(COMInterface): - IID = generate_IID(0x1AF4F612, 0x3B71, 0x466F, 0x8F, 0x58, 0x7B, 0x6F, 0x73, 0xAC, 0x57, 0xAD, name="IEnumBackgroundCopyJobs", strid="1AF4F612-3B71-466F-8F58-7B6F73AC57AD") - - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #Next -> celt:ULONG, rgelt:**IBackgroundCopyJob, pceltFetched:*ULONG - "Next": ctypes.WINFUNCTYPE(HRESULT, ULONG, POINTER(PVOID), POINTER(ULONG))(3, "Next"), - #Skip -> celt:ULONG - "Skip": ctypes.WINFUNCTYPE(HRESULT, ULONG)(4, "Skip"), - #Reset -> - "Reset": ctypes.WINFUNCTYPE(HRESULT)(5, "Reset"), - #Clone -> ppenum:**IEnumBackgroundCopyJobs - "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(6, "Clone"), - #GetCount -> puCount:*ULONG - "GetCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(7, "GetCount"), - } - - -class IEnumVARIANT(COMInterface): - IID = generate_IID(0x00020404, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IEnumVARIANT", strid="00020404-0000-0000-C000-000000000046") - - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #Next -> celt:ULONG, rgVar:*VARIANT, pCeltFetched:*ULONG - "Next": ctypes.WINFUNCTYPE(HRESULT, ULONG, POINTER(VARIANT), POINTER(ULONG))(3, "Next"), - #Skip -> celt:ULONG - "Skip": ctypes.WINFUNCTYPE(HRESULT, ULONG)(4, "Skip"), - #Reset -> - "Reset": ctypes.WINFUNCTYPE(HRESULT)(5, "Reset"), - #Clone -> ppEnum:**IEnumWbemClassObject - "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(6, "Clone"), - } - - -class IEnumWbemClassObject(COMInterface): - IID = generate_IID(0x027947E1, 0xD731, 0x11CE, 0xA3, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, name="IEnumWbemClassObject", strid="027947E1-D731-11CE-A357-000000000001") - - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #Reset -> - "Reset": ctypes.WINFUNCTYPE(HRESULT)(3, "Reset"), - #Next -> lTimeout:LONG, uCount:ULONG, apObjects:**IWbemClassObject, puReturned:*ULONG - "Next": ctypes.WINFUNCTYPE(HRESULT, LONG, ULONG, POINTER(PVOID), POINTER(ULONG))(4, "Next"), - #NextAsync -> uCount:ULONG, pSink:*IWbemObjectSink - "NextAsync": ctypes.WINFUNCTYPE(HRESULT, ULONG, PVOID)(5, "NextAsync"), - #Clone -> ppEnum:**IEnumWbemClassObject - "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(6, "Clone"), - #Skip -> lTimeout:LONG, nCount:ULONG - "Skip": ctypes.WINFUNCTYPE(HRESULT, LONG, ULONG)(7, "Skip"), - } - - -class INetFwPolicy2(COMInterface): - IID = generate_IID(0x98325047, 0xC671, 0x4174, 0x8D, 0x81, 0xDE, 0xFC, 0xD3, 0xF0, 0x31, 0x86, name="INetFwPolicy2", strid="98325047-C671-4174-8D81-DEFCD3F03186") - - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #GetTypeInfoCount -> pctinfo:*UINT - "GetTypeInfoCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(UINT))(3, "GetTypeInfoCount"), - #GetTypeInfo -> iTInfo:UINT, lcid:LCID, ppTInfo:**ITypeInfo - "GetTypeInfo": ctypes.WINFUNCTYPE(HRESULT, UINT, LCID, POINTER(PVOID))(4, "GetTypeInfo"), - #GetIDsOfNames -> riid:REFIID, rgszNames:*LPOLESTR, cNames:UINT, lcid:LCID, rgDispId:*DISPID - "GetIDsOfNames": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(LPOLESTR), UINT, LCID, POINTER(DISPID))(5, "GetIDsOfNames"), - #Invoke -> dispIdMember:DISPID, riid:REFIID, lcid:LCID, wFlags:WORD, pDispParams:*DISPPARAMS, pVarResult:*VARIANT, pExcepInfo:*EXCEPINFO, puArgErr:*UINT - "Invoke": ctypes.WINFUNCTYPE(HRESULT, DISPID, REFIID, LCID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT))(6, "Invoke"), - #get_CurrentProfileTypes -> profileTypesBitmask:*LONG - "get_CurrentProfileTypes": ctypes.WINFUNCTYPE(HRESULT, POINTER(LONG))(7, "get_CurrentProfileTypes"), - #get_FirewallEnabled -> profileType:NET_FW_PROFILE_TYPE2, enabled:*VARIANT_BOOL - "get_FirewallEnabled": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(VARIANT_BOOL))(8, "get_FirewallEnabled"), - #put_FirewallEnabled -> profileType:NET_FW_PROFILE_TYPE2, enabled:VARIANT_BOOL - "put_FirewallEnabled": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, VARIANT_BOOL)(9, "put_FirewallEnabled"), - #get_ExcludedInterfaces -> profileType:NET_FW_PROFILE_TYPE2, interfaces:*VARIANT - "get_ExcludedInterfaces": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(VARIANT))(10, "get_ExcludedInterfaces"), - #put_ExcludedInterfaces -> profileType:NET_FW_PROFILE_TYPE2, interfaces:VARIANT - "put_ExcludedInterfaces": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, VARIANT)(11, "put_ExcludedInterfaces"), - #get_BlockAllInboundTraffic -> profileType:NET_FW_PROFILE_TYPE2, Block:*VARIANT_BOOL - "get_BlockAllInboundTraffic": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(VARIANT_BOOL))(12, "get_BlockAllInboundTraffic"), - #put_BlockAllInboundTraffic -> profileType:NET_FW_PROFILE_TYPE2, Block:VARIANT_BOOL - "put_BlockAllInboundTraffic": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, VARIANT_BOOL)(13, "put_BlockAllInboundTraffic"), - #get_NotificationsDisabled -> profileType:NET_FW_PROFILE_TYPE2, disabled:*VARIANT_BOOL - "get_NotificationsDisabled": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(VARIANT_BOOL))(14, "get_NotificationsDisabled"), - #put_NotificationsDisabled -> profileType:NET_FW_PROFILE_TYPE2, disabled:VARIANT_BOOL - "put_NotificationsDisabled": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, VARIANT_BOOL)(15, "put_NotificationsDisabled"), - #get_UnicastResponsesToMulticastBroadcastDisabled -> profileType:NET_FW_PROFILE_TYPE2, disabled:*VARIANT_BOOL - "get_UnicastResponsesToMulticastBroadcastDisabled": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(VARIANT_BOOL))(16, "get_UnicastResponsesToMulticastBroadcastDisabled"), - #put_UnicastResponsesToMulticastBroadcastDisabled -> profileType:NET_FW_PROFILE_TYPE2, disabled:VARIANT_BOOL - "put_UnicastResponsesToMulticastBroadcastDisabled": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, VARIANT_BOOL)(17, "put_UnicastResponsesToMulticastBroadcastDisabled"), - #get_Rules -> rules:**INetFwRules - "get_Rules": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(18, "get_Rules"), - #get_ServiceRestriction -> ServiceRestriction:**INetFwServiceRestriction - "get_ServiceRestriction": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(19, "get_ServiceRestriction"), - #EnableRuleGroup -> profileTypesBitmask:LONG, group:BSTR, enable:VARIANT_BOOL - "EnableRuleGroup": ctypes.WINFUNCTYPE(HRESULT, LONG, BSTR, VARIANT_BOOL)(20, "EnableRuleGroup"), - #IsRuleGroupEnabled -> profileTypesBitmask:LONG, group:BSTR, enabled:*VARIANT_BOOL - "IsRuleGroupEnabled": ctypes.WINFUNCTYPE(HRESULT, LONG, BSTR, POINTER(VARIANT_BOOL))(21, "IsRuleGroupEnabled"), - #RestoreLocalFirewallDefaults -> - "RestoreLocalFirewallDefaults": ctypes.WINFUNCTYPE(HRESULT)(22, "RestoreLocalFirewallDefaults"), - #get_DefaultInboundAction -> profileType:NET_FW_PROFILE_TYPE2, action:*NET_FW_ACTION - "get_DefaultInboundAction": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(NET_FW_ACTION))(23, "get_DefaultInboundAction"), - #put_DefaultInboundAction -> profileType:NET_FW_PROFILE_TYPE2, action:NET_FW_ACTION - "put_DefaultInboundAction": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, NET_FW_ACTION)(24, "put_DefaultInboundAction"), - #get_DefaultOutboundAction -> profileType:NET_FW_PROFILE_TYPE2, action:*NET_FW_ACTION - "get_DefaultOutboundAction": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(NET_FW_ACTION))(25, "get_DefaultOutboundAction"), - #put_DefaultOutboundAction -> profileType:NET_FW_PROFILE_TYPE2, action:NET_FW_ACTION - "put_DefaultOutboundAction": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, NET_FW_ACTION)(26, "put_DefaultOutboundAction"), - #get_IsRuleGroupCurrentlyEnabled -> group:BSTR, enabled:*VARIANT_BOOL - "get_IsRuleGroupCurrentlyEnabled": ctypes.WINFUNCTYPE(HRESULT, BSTR, POINTER(VARIANT_BOOL))(27, "get_IsRuleGroupCurrentlyEnabled"), - #get_LocalPolicyModifyState -> modifyState:*NET_FW_MODIFY_STATE - "get_LocalPolicyModifyState": ctypes.WINFUNCTYPE(HRESULT, POINTER(NET_FW_MODIFY_STATE))(28, "get_LocalPolicyModifyState"), - } - - -class INetFwRules(COMInterface): - IID = generate_IID(0x9C4C6277, 0x5027, 0x441E, 0xAF, 0xAE, 0xCA, 0x1F, 0x54, 0x2D, 0xA0, 0x09, name="INetFwRules", strid="9C4C6277-5027-441E-AFAE-CA1F542DA009") - - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #GetTypeInfoCount -> pctinfo:*UINT - "GetTypeInfoCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(UINT))(3, "GetTypeInfoCount"), - #GetTypeInfo -> iTInfo:UINT, lcid:LCID, ppTInfo:**ITypeInfo - "GetTypeInfo": ctypes.WINFUNCTYPE(HRESULT, UINT, LCID, POINTER(PVOID))(4, "GetTypeInfo"), - #GetIDsOfNames -> riid:REFIID, rgszNames:*LPOLESTR, cNames:UINT, lcid:LCID, rgDispId:*DISPID - "GetIDsOfNames": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(LPOLESTR), UINT, LCID, POINTER(DISPID))(5, "GetIDsOfNames"), - #Invoke -> dispIdMember:DISPID, riid:REFIID, lcid:LCID, wFlags:WORD, pDispParams:*DISPPARAMS, pVarResult:*VARIANT, pExcepInfo:*EXCEPINFO, puArgErr:*UINT - "Invoke": ctypes.WINFUNCTYPE(HRESULT, DISPID, REFIID, LCID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT))(6, "Invoke"), - #get_Count -> count:*LONG - "get_Count": ctypes.WINFUNCTYPE(HRESULT, POINTER(LONG))(7, "get_Count"), - #Add -> rule:*INetFwRule - "Add": ctypes.WINFUNCTYPE(HRESULT, PVOID)(8, "Add"), - #Remove -> name:BSTR - "Remove": ctypes.WINFUNCTYPE(HRESULT, BSTR)(9, "Remove"), - #Item -> name:BSTR, rule:**INetFwRule - "Item": ctypes.WINFUNCTYPE(HRESULT, BSTR, POINTER(PVOID))(10, "Item"), - #get__NewEnum -> newEnum:**IUnknown - "get__NewEnum": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(11, "get__NewEnum"), - } - - -class INetFwRule(COMInterface): - IID = generate_IID(0xAF230D27, 0xBABA, 0x4E42, 0xAC, 0xED, 0xF5, 0x24, 0xF2, 0x2C, 0xFC, 0xE2, name="INetFwRule", strid="AF230D27-BABA-4E42-ACED-F524F22CFCE2") - - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #GetTypeInfoCount -> pctinfo:*UINT - "GetTypeInfoCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(UINT))(3, "GetTypeInfoCount"), - #GetTypeInfo -> iTInfo:UINT, lcid:LCID, ppTInfo:**ITypeInfo - "GetTypeInfo": ctypes.WINFUNCTYPE(HRESULT, UINT, LCID, POINTER(PVOID))(4, "GetTypeInfo"), - #GetIDsOfNames -> riid:REFIID, rgszNames:*LPOLESTR, cNames:UINT, lcid:LCID, rgDispId:*DISPID - "GetIDsOfNames": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(LPOLESTR), UINT, LCID, POINTER(DISPID))(5, "GetIDsOfNames"), - #Invoke -> dispIdMember:DISPID, riid:REFIID, lcid:LCID, wFlags:WORD, pDispParams:*DISPPARAMS, pVarResult:*VARIANT, pExcepInfo:*EXCEPINFO, puArgErr:*UINT - "Invoke": ctypes.WINFUNCTYPE(HRESULT, DISPID, REFIID, LCID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT))(6, "Invoke"), - #get_Name -> name:*BSTR - "get_Name": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(7, "get_Name"), - #put_Name -> name:BSTR - "put_Name": ctypes.WINFUNCTYPE(HRESULT, BSTR)(8, "put_Name"), - #get_Description -> desc:*BSTR - "get_Description": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(9, "get_Description"), - #put_Description -> desc:BSTR - "put_Description": ctypes.WINFUNCTYPE(HRESULT, BSTR)(10, "put_Description"), - #get_ApplicationName -> imageFileName:*BSTR - "get_ApplicationName": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(11, "get_ApplicationName"), - #put_ApplicationName -> imageFileName:BSTR - "put_ApplicationName": ctypes.WINFUNCTYPE(HRESULT, BSTR)(12, "put_ApplicationName"), - #get_ServiceName -> serviceName:*BSTR - "get_ServiceName": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(13, "get_ServiceName"), - #put_ServiceName -> serviceName:BSTR - "put_ServiceName": ctypes.WINFUNCTYPE(HRESULT, BSTR)(14, "put_ServiceName"), - #get_Protocol -> protocol:*LONG - "get_Protocol": ctypes.WINFUNCTYPE(HRESULT, POINTER(LONG))(15, "get_Protocol"), - #put_Protocol -> protocol:LONG - "put_Protocol": ctypes.WINFUNCTYPE(HRESULT, LONG)(16, "put_Protocol"), - #get_LocalPorts -> portNumbers:*BSTR - "get_LocalPorts": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(17, "get_LocalPorts"), - #put_LocalPorts -> portNumbers:BSTR - "put_LocalPorts": ctypes.WINFUNCTYPE(HRESULT, BSTR)(18, "put_LocalPorts"), - #get_RemotePorts -> portNumbers:*BSTR - "get_RemotePorts": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(19, "get_RemotePorts"), - #put_RemotePorts -> portNumbers:BSTR - "put_RemotePorts": ctypes.WINFUNCTYPE(HRESULT, BSTR)(20, "put_RemotePorts"), - #get_LocalAddresses -> localAddrs:*BSTR - "get_LocalAddresses": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(21, "get_LocalAddresses"), - #put_LocalAddresses -> localAddrs:BSTR - "put_LocalAddresses": ctypes.WINFUNCTYPE(HRESULT, BSTR)(22, "put_LocalAddresses"), - #get_RemoteAddresses -> remoteAddrs:*BSTR - "get_RemoteAddresses": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(23, "get_RemoteAddresses"), - #put_RemoteAddresses -> remoteAddrs:BSTR - "put_RemoteAddresses": ctypes.WINFUNCTYPE(HRESULT, BSTR)(24, "put_RemoteAddresses"), - #get_IcmpTypesAndCodes -> icmpTypesAndCodes:*BSTR - "get_IcmpTypesAndCodes": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(25, "get_IcmpTypesAndCodes"), - #put_IcmpTypesAndCodes -> icmpTypesAndCodes:BSTR - "put_IcmpTypesAndCodes": ctypes.WINFUNCTYPE(HRESULT, BSTR)(26, "put_IcmpTypesAndCodes"), - #get_Direction -> dir:*NET_FW_RULE_DIRECTION - "get_Direction": ctypes.WINFUNCTYPE(HRESULT, POINTER(NET_FW_RULE_DIRECTION))(27, "get_Direction"), - #put_Direction -> dir:NET_FW_RULE_DIRECTION - "put_Direction": ctypes.WINFUNCTYPE(HRESULT, NET_FW_RULE_DIRECTION)(28, "put_Direction"), - #get_Interfaces -> interfaces:*VARIANT - "get_Interfaces": ctypes.WINFUNCTYPE(HRESULT, POINTER(VARIANT))(29, "get_Interfaces"), - #put_Interfaces -> interfaces:VARIANT - "put_Interfaces": ctypes.WINFUNCTYPE(HRESULT, VARIANT)(30, "put_Interfaces"), - #get_InterfaceTypes -> interfaceTypes:*BSTR - "get_InterfaceTypes": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(31, "get_InterfaceTypes"), - #put_InterfaceTypes -> interfaceTypes:BSTR - "put_InterfaceTypes": ctypes.WINFUNCTYPE(HRESULT, BSTR)(32, "put_InterfaceTypes"), - #get_Enabled -> enabled:*VARIANT_BOOL - "get_Enabled": ctypes.WINFUNCTYPE(HRESULT, POINTER(VARIANT_BOOL))(33, "get_Enabled"), - #put_Enabled -> enabled:VARIANT_BOOL - "put_Enabled": ctypes.WINFUNCTYPE(HRESULT, VARIANT_BOOL)(34, "put_Enabled"), - #get_Grouping -> context:*BSTR - "get_Grouping": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(35, "get_Grouping"), - #put_Grouping -> context:BSTR - "put_Grouping": ctypes.WINFUNCTYPE(HRESULT, BSTR)(36, "put_Grouping"), - #get_Profiles -> profileTypesBitmask:*LONG - "get_Profiles": ctypes.WINFUNCTYPE(HRESULT, POINTER(LONG))(37, "get_Profiles"), - #put_Profiles -> profileTypesBitmask:LONG - "put_Profiles": ctypes.WINFUNCTYPE(HRESULT, LONG)(38, "put_Profiles"), - #get_EdgeTraversal -> enabled:*VARIANT_BOOL - "get_EdgeTraversal": ctypes.WINFUNCTYPE(HRESULT, POINTER(VARIANT_BOOL))(39, "get_EdgeTraversal"), - #put_EdgeTraversal -> enabled:VARIANT_BOOL - "put_EdgeTraversal": ctypes.WINFUNCTYPE(HRESULT, VARIANT_BOOL)(40, "put_EdgeTraversal"), - #get_Action -> action:*NET_FW_ACTION - "get_Action": ctypes.WINFUNCTYPE(HRESULT, POINTER(NET_FW_ACTION))(41, "get_Action"), - #put_Action -> action:NET_FW_ACTION - "put_Action": ctypes.WINFUNCTYPE(HRESULT, NET_FW_ACTION)(42, "put_Action"), - } - - class INetFwServiceRestriction(COMInterface): IID = generate_IID(0x8267BBE3, 0xF890, 0x491C, 0xB7, 0xB6, 0x2D, 0xB1, 0xEF, 0x0E, 0x5D, 0x2B, name="INetFwServiceRestriction", strid="8267BBE3-F890-491C-B7B6-2DB1EF0E5D2B") - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #GetTypeInfoCount -> pctinfo:*UINT - "GetTypeInfoCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(UINT))(3, "GetTypeInfoCount"), - #GetTypeInfo -> iTInfo:UINT, lcid:LCID, ppTInfo:**ITypeInfo - "GetTypeInfo": ctypes.WINFUNCTYPE(HRESULT, UINT, LCID, POINTER(PVOID))(4, "GetTypeInfo"), - #GetIDsOfNames -> riid:REFIID, rgszNames:*LPOLESTR, cNames:UINT, lcid:LCID, rgDispId:*DISPID - "GetIDsOfNames": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(LPOLESTR), UINT, LCID, POINTER(DISPID))(5, "GetIDsOfNames"), - #Invoke -> dispIdMember:DISPID, riid:REFIID, lcid:LCID, wFlags:WORD, pDispParams:*DISPPARAMS, pVarResult:*VARIANT, pExcepInfo:*EXCEPINFO, puArgErr:*UINT - "Invoke": ctypes.WINFUNCTYPE(HRESULT, DISPID, REFIID, LCID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT))(6, "Invoke"), - #RestrictService -> serviceName:BSTR, appName:BSTR, restrictService:VARIANT_BOOL, serviceSidRestricted:VARIANT_BOOL - "RestrictService": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, VARIANT_BOOL, VARIANT_BOOL)(7, "RestrictService"), - #ServiceRestricted -> serviceName:BSTR, appName:BSTR, serviceRestricted:*VARIANT_BOOL - "ServiceRestricted": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, POINTER(VARIANT_BOOL))(8, "ServiceRestricted"), - #get_Rules -> rules:**INetFwRules - "get_Rules": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(9, "get_Rules"), + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetTypeInfoCount -> pctinfo:*UINT + "GetTypeInfoCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(UINT))(3, "GetTypeInfoCount"), + # GetTypeInfo -> iTInfo:UINT, lcid:LCID, ppTInfo:**ITypeInfo + "GetTypeInfo": ctypes.WINFUNCTYPE(HRESULT, UINT, LCID, POINTER(PVOID))(4, "GetTypeInfo"), + # GetIDsOfNames -> riid:REFIID, rgszNames:*LPOLESTR, cNames:UINT, lcid:LCID, rgDispId:*DISPID + "GetIDsOfNames": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(LPOLESTR), UINT, LCID, POINTER(DISPID))(5, "GetIDsOfNames"), + # Invoke -> dispIdMember:DISPID, riid:REFIID, lcid:LCID, wFlags:WORD, pDispParams:*DISPPARAMS, pVarResult:*VARIANT, pExcepInfo:*EXCEPINFO, puArgErr:*UINT + "Invoke": ctypes.WINFUNCTYPE(HRESULT, DISPID, REFIID, LCID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT))(6, "Invoke"), + # RestrictService -> serviceName:BSTR, appName:BSTR, restrictService:VARIANT_BOOL, serviceSidRestricted:VARIANT_BOOL + "RestrictService": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, VARIANT_BOOL, VARIANT_BOOL)(7, "RestrictService"), + # ServiceRestricted -> serviceName:BSTR, appName:BSTR, serviceRestricted:*VARIANT_BOOL + "ServiceRestricted": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, POINTER(VARIANT_BOOL))(8, "ServiceRestricted"), + # get_Rules -> rules:**INetFwRules + "get_Rules": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(9, "get_Rules"), } - -class IUnknown(COMInterface): - IID = generate_IID(0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IUnknown", strid="00000000-0000-0000-C000-000000000046") - +class IBackgroundCopyError(COMInterface): + IID = generate_IID(0x19C613A0, 0xFCB8, 0x4F28, 0x81, 0xAE, 0x89, 0x7C, 0x3D, 0x07, 0x8F, 0x81, name="IBackgroundCopyError", strid="19C613A0-FCB8-4F28-81AE-897C3D078F81") _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetError -> pContext:*BG_ERROR_CONTEXT, pCode:*HRESULT + "GetError": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_ERROR_CONTEXT), POINTER(HRESULT))(3, "GetError"), + # GetFile -> pVal:**IBackgroundCopyFile + "GetFile": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(4, "GetFile"), + # GetErrorDescription -> LanguageId:DWORD, pErrorDescription:*LPWSTR + "GetErrorDescription": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(LPWSTR))(5, "GetErrorDescription"), + # GetErrorContextDescription -> LanguageId:DWORD, pContextDescription:*LPWSTR + "GetErrorContextDescription": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(LPWSTR))(6, "GetErrorContextDescription"), + # GetProtocol -> pProtocol:*LPWSTR + "GetProtocol": ctypes.WINFUNCTYPE(HRESULT, POINTER(LPWSTR))(7, "GetProtocol"), } - -class IWbemCallResult(COMInterface): - IID = generate_IID(0x44ACA675, 0xE8FC, 0x11D0, 0xA0, 0x7C, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20, name="IWbemCallResult", strid="44ACA675-E8FC-11D0-A07C-00C04FB68820") - +class IBackgroundCopyFile(COMInterface): + IID = generate_IID(0x01B7BD23, 0xFB88, 0x4A77, 0x84, 0x90, 0x58, 0x91, 0xD3, 0xE4, 0x65, 0x3A, name="IBackgroundCopyFile", strid="01B7BD23-FB88-4A77-8490-5891D3E4653A") _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #GetResultObject -> lTimeout:LONG, ppResultObject:**IWbemClassObject - "GetResultObject": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(PVOID))(3, "GetResultObject"), - #GetResultString -> lTimeout:LONG, pstrResultString:*BSTR - "GetResultString": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(BSTR))(4, "GetResultString"), - #GetResultServices -> lTimeout:LONG, ppServices:**IWbemServices - "GetResultServices": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(PVOID))(5, "GetResultServices"), - #GetCallStatus -> lTimeout:LONG, plStatus:*LONG - "GetCallStatus": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(LONG))(6, "GetCallStatus"), + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetRemoteName -> pVal:*LPWSTR + "GetRemoteName": ctypes.WINFUNCTYPE(HRESULT, POINTER(LPWSTR))(3, "GetRemoteName"), + # GetLocalName -> pVal:*LPWSTR + "GetLocalName": ctypes.WINFUNCTYPE(HRESULT, POINTER(LPWSTR))(4, "GetLocalName"), + # GetProgress -> pVal:*BG_FILE_PROGRESS + "GetProgress": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_FILE_PROGRESS))(5, "GetProgress"), } +class IEnumBackgroundCopyFiles(COMInterface): + IID = generate_IID(0xCA51E165, 0xC365, 0x424C, 0x8D, 0x41, 0x24, 0xAA, 0xA4, 0xFF, 0x3C, 0x40, name="IEnumBackgroundCopyFiles", strid="CA51E165-C365-424C-8D41-24AAA4FF3C40") + _functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # Next -> celt:ULONG, rgelt:**IBackgroundCopyFile, pceltFetched:*ULONG + "Next": ctypes.WINFUNCTYPE(HRESULT, ULONG, POINTER(PVOID), POINTER(ULONG))(3, "Next"), + # Skip -> celt:ULONG + "Skip": ctypes.WINFUNCTYPE(HRESULT, ULONG)(4, "Skip"), + # Reset -> + "Reset": ctypes.WINFUNCTYPE(HRESULT)(5, "Reset"), + # Clone -> ppenum:**IEnumBackgroundCopyFiles + "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(6, "Clone"), + # GetCount -> puCount:*ULONG + "GetCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(7, "GetCount"), + } + +class IBackgroundCopyJob(COMInterface): + IID = generate_IID(0x37668D37, 0x507E, 0x4160, 0x93, 0x16, 0x26, 0x30, 0x6D, 0x15, 0x0B, 0x12, name="IBackgroundCopyJob", strid="37668D37-507E-4160-9316-26306D150B12") + _functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # AddFileSet -> cFileCount:ULONG, pFileSet:*BG_FILE_INFO + "AddFileSet": ctypes.WINFUNCTYPE(HRESULT, ULONG, POINTER(BG_FILE_INFO))(3, "AddFileSet"), + # AddFile -> RemoteUrl:LPCWSTR, LocalName:LPCWSTR + "AddFile": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LPCWSTR)(4, "AddFile"), + # EnumFiles -> pEnum:**IEnumBackgroundCopyFiles + "EnumFiles": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(5, "EnumFiles"), + # Suspend -> + "Suspend": ctypes.WINFUNCTYPE(HRESULT)(6, "Suspend"), + # Resume -> + "Resume": ctypes.WINFUNCTYPE(HRESULT)(7, "Resume"), + # Cancel -> + "Cancel": ctypes.WINFUNCTYPE(HRESULT)(8, "Cancel"), + # Complete -> + "Complete": ctypes.WINFUNCTYPE(HRESULT)(9, "Complete"), + # GetId -> pVal:*GUID + "GetId": ctypes.WINFUNCTYPE(HRESULT, POINTER(GUID))(10, "GetId"), + # GetType -> pVal:*BG_JOB_TYPE + "GetType": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_JOB_TYPE))(11, "GetType"), + # GetProgress -> pVal:*BG_JOB_PROGRESS + "GetProgress": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_JOB_PROGRESS))(12, "GetProgress"), + # GetTimes -> pVal:*BG_JOB_TIMES + "GetTimes": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_JOB_TIMES))(13, "GetTimes"), + # GetState -> pVal:*BG_JOB_STATE + "GetState": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_JOB_STATE))(14, "GetState"), + # GetError -> ppError:**IBackgroundCopyError + "GetError": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(15, "GetError"), + # GetOwner -> pVal:*LPWSTR + "GetOwner": ctypes.WINFUNCTYPE(HRESULT, POINTER(LPWSTR))(16, "GetOwner"), + # SetDisplayName -> Val:LPCWSTR + "SetDisplayName": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(17, "SetDisplayName"), + # GetDisplayName -> pVal:*LPWSTR + "GetDisplayName": ctypes.WINFUNCTYPE(HRESULT, POINTER(LPWSTR))(18, "GetDisplayName"), + # SetDescription -> Val:LPCWSTR + "SetDescription": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(19, "SetDescription"), + # GetDescription -> pVal:*LPWSTR + "GetDescription": ctypes.WINFUNCTYPE(HRESULT, POINTER(LPWSTR))(20, "GetDescription"), + # SetPriority -> Val:BG_JOB_PRIORITY + "SetPriority": ctypes.WINFUNCTYPE(HRESULT, BG_JOB_PRIORITY)(21, "SetPriority"), + # GetPriority -> pVal:*BG_JOB_PRIORITY + "GetPriority": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_JOB_PRIORITY))(22, "GetPriority"), + # SetNotifyFlags -> Val:ULONG + "SetNotifyFlags": ctypes.WINFUNCTYPE(HRESULT, ULONG)(23, "SetNotifyFlags"), + # GetNotifyFlags -> pVal:*ULONG + "GetNotifyFlags": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(24, "GetNotifyFlags"), + # SetNotifyInterface -> Val:*IUnknown + "SetNotifyInterface": ctypes.WINFUNCTYPE(HRESULT, PVOID)(25, "SetNotifyInterface"), + # GetNotifyInterface -> pVal:**IUnknown + "GetNotifyInterface": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(26, "GetNotifyInterface"), + # SetMinimumRetryDelay -> Seconds:ULONG + "SetMinimumRetryDelay": ctypes.WINFUNCTYPE(HRESULT, ULONG)(27, "SetMinimumRetryDelay"), + # GetMinimumRetryDelay -> Seconds:*ULONG + "GetMinimumRetryDelay": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(28, "GetMinimumRetryDelay"), + # SetNoProgressTimeout -> Seconds:ULONG + "SetNoProgressTimeout": ctypes.WINFUNCTYPE(HRESULT, ULONG)(29, "SetNoProgressTimeout"), + # GetNoProgressTimeout -> Seconds:*ULONG + "GetNoProgressTimeout": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(30, "GetNoProgressTimeout"), + # GetErrorCount -> Errors:*ULONG + "GetErrorCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(31, "GetErrorCount"), + # SetProxySettings -> ProxyUsage:BG_JOB_PROXY_USAGE, ProxyList:*WCHAR, ProxyBypassList:*WCHAR + "SetProxySettings": ctypes.WINFUNCTYPE(HRESULT, BG_JOB_PROXY_USAGE, POINTER(WCHAR), POINTER(WCHAR))(32, "SetProxySettings"), + # GetProxySettings -> pProxyUsage:*BG_JOB_PROXY_USAGE, pProxyList:*LPWSTR, pProxyBypassList:*LPWSTR + "GetProxySettings": ctypes.WINFUNCTYPE(HRESULT, POINTER(BG_JOB_PROXY_USAGE), POINTER(LPWSTR), POINTER(LPWSTR))(33, "GetProxySettings"), + # TakeOwnership -> + "TakeOwnership": ctypes.WINFUNCTYPE(HRESULT)(34, "TakeOwnership"), + } class IWbemClassObject(COMInterface): IID = generate_IID(0xDC12A681, 0x737F, 0x11CF, 0x88, 0x4D, 0x00, 0xAA, 0x00, 0x4B, 0x2E, 0x24, name="IWbemClassObject", strid="DC12A681-737F-11CF-884D-00AA004B2E24") - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #GetQualifierSet -> ppQualSet:**IWbemQualifierSet - "GetQualifierSet": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(3, "GetQualifierSet"), - #Get -> wszName:LPCWSTR, lFlags:LONG, pVal:*VARIANT, pType:*CIMTYPE, plFlavor:*LONG - "Get": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(VARIANT), POINTER(CIMTYPE), POINTER(LONG))(4, "Get"), - #Put -> wszName:LPCWSTR, lFlags:LONG, pVal:*VARIANT, Type:CIMTYPE - "Put": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(VARIANT), CIMTYPE)(5, "Put"), - #Delete -> wszName:LPCWSTR - "Delete": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(6, "Delete"), - #GetNames -> wszQualifierName:LPCWSTR, lFlags:LONG, pQualifierVal:*VARIANT, pNames:**SAFEARRAY - "GetNames": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(VARIANT), POINTER(POINTER(SAFEARRAY)))(7, "GetNames"), - #BeginEnumeration -> lEnumFlags:LONG - "BeginEnumeration": ctypes.WINFUNCTYPE(HRESULT, LONG)(8, "BeginEnumeration"), - #Next -> lFlags:LONG, strName:*BSTR, pVal:*VARIANT, pType:*CIMTYPE, plFlavor:*LONG - "Next": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(BSTR), POINTER(VARIANT), POINTER(CIMTYPE), POINTER(LONG))(9, "Next"), - #EndEnumeration -> - "EndEnumeration": ctypes.WINFUNCTYPE(HRESULT)(10, "EndEnumeration"), - #GetPropertyQualifierSet -> wszProperty:LPCWSTR, ppQualSet:**IWbemQualifierSet - "GetPropertyQualifierSet": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, POINTER(PVOID))(11, "GetPropertyQualifierSet"), - #Clone -> ppCopy:**IWbemClassObject - "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(12, "Clone"), - #GetObjectText -> lFlags:LONG, pstrObjectText:*BSTR - "GetObjectText": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(BSTR))(13, "GetObjectText"), - #SpawnDerivedClass -> lFlags:LONG, ppNewClass:**IWbemClassObject - "SpawnDerivedClass": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(PVOID))(14, "SpawnDerivedClass"), - #SpawnInstance -> lFlags:LONG, ppNewInstance:**IWbemClassObject - "SpawnInstance": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(PVOID))(15, "SpawnInstance"), - #CompareTo -> lFlags:LONG, pCompareTo:*IWbemClassObject - "CompareTo": ctypes.WINFUNCTYPE(HRESULT, LONG, PVOID)(16, "CompareTo"), - #GetPropertyOrigin -> wszName:LPCWSTR, pstrClassName:*BSTR - "GetPropertyOrigin": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, POINTER(BSTR))(17, "GetPropertyOrigin"), - #InheritsFrom -> strAncestor:LPCWSTR - "InheritsFrom": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(18, "InheritsFrom"), - #GetMethod -> wszName:LPCWSTR, lFlags:LONG, ppInSignature:**IWbemClassObject, ppOutSignature:**IWbemClassObject - "GetMethod": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(PVOID), POINTER(PVOID))(19, "GetMethod"), - #PutMethod -> wszName:LPCWSTR, lFlags:LONG, pInSignature:*IWbemClassObject, pOutSignature:*IWbemClassObject - "PutMethod": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, PVOID, PVOID)(20, "PutMethod"), - #DeleteMethod -> wszName:LPCWSTR - "DeleteMethod": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(21, "DeleteMethod"), - #BeginMethodEnumeration -> lEnumFlags:LONG - "BeginMethodEnumeration": ctypes.WINFUNCTYPE(HRESULT, LONG)(22, "BeginMethodEnumeration"), - #NextMethod -> lFlags:LONG, pstrName:*BSTR, ppInSignature:**IWbemClassObject, ppOutSignature:**IWbemClassObject - "NextMethod": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(BSTR), POINTER(PVOID), POINTER(PVOID))(23, "NextMethod"), - #EndMethodEnumeration -> - "EndMethodEnumeration": ctypes.WINFUNCTYPE(HRESULT)(24, "EndMethodEnumeration"), - #GetMethodQualifierSet -> wszMethod:LPCWSTR, ppQualSet:**IWbemQualifierSet - "GetMethodQualifierSet": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, POINTER(PVOID))(25, "GetMethodQualifierSet"), - #GetMethodOrigin -> wszMethodName:LPCWSTR, pstrClassName:*BSTR - "GetMethodOrigin": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, POINTER(BSTR))(26, "GetMethodOrigin"), + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetQualifierSet -> ppQualSet:**IWbemQualifierSet + "GetQualifierSet": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(3, "GetQualifierSet"), + # Get -> wszName:LPCWSTR, lFlags:LONG, pVal:*VARIANT, pType:*CIMTYPE, plFlavor:*LONG + "Get": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(VARIANT), POINTER(CIMTYPE), POINTER(LONG))(4, "Get"), + # Put -> wszName:LPCWSTR, lFlags:LONG, pVal:*VARIANT, Type:CIMTYPE + "Put": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(VARIANT), CIMTYPE)(5, "Put"), + # Delete -> wszName:LPCWSTR + "Delete": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(6, "Delete"), + # GetNames -> wszQualifierName:LPCWSTR, lFlags:LONG, pQualifierVal:*VARIANT, pNames:**SAFEARRAY + "GetNames": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(VARIANT), POINTER(POINTER(SAFEARRAY)))(7, "GetNames"), + # BeginEnumeration -> lEnumFlags:LONG + "BeginEnumeration": ctypes.WINFUNCTYPE(HRESULT, LONG)(8, "BeginEnumeration"), + # Next -> lFlags:LONG, strName:*BSTR, pVal:*VARIANT, pType:*CIMTYPE, plFlavor:*LONG + "Next": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(BSTR), POINTER(VARIANT), POINTER(CIMTYPE), POINTER(LONG))(9, "Next"), + # EndEnumeration -> + "EndEnumeration": ctypes.WINFUNCTYPE(HRESULT)(10, "EndEnumeration"), + # GetPropertyQualifierSet -> wszProperty:LPCWSTR, ppQualSet:**IWbemQualifierSet + "GetPropertyQualifierSet": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, POINTER(PVOID))(11, "GetPropertyQualifierSet"), + # Clone -> ppCopy:**IWbemClassObject + "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(12, "Clone"), + # GetObjectText -> lFlags:LONG, pstrObjectText:*BSTR + "GetObjectText": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(BSTR))(13, "GetObjectText"), + # SpawnDerivedClass -> lFlags:LONG, ppNewClass:**IWbemClassObject + "SpawnDerivedClass": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(PVOID))(14, "SpawnDerivedClass"), + # SpawnInstance -> lFlags:LONG, ppNewInstance:**IWbemClassObject + "SpawnInstance": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(PVOID))(15, "SpawnInstance"), + # CompareTo -> lFlags:LONG, pCompareTo:*IWbemClassObject + "CompareTo": ctypes.WINFUNCTYPE(HRESULT, LONG, PVOID)(16, "CompareTo"), + # GetPropertyOrigin -> wszName:LPCWSTR, pstrClassName:*BSTR + "GetPropertyOrigin": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, POINTER(BSTR))(17, "GetPropertyOrigin"), + # InheritsFrom -> strAncestor:LPCWSTR + "InheritsFrom": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(18, "InheritsFrom"), + # GetMethod -> wszName:LPCWSTR, lFlags:LONG, ppInSignature:**IWbemClassObject, ppOutSignature:**IWbemClassObject + "GetMethod": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(PVOID), POINTER(PVOID))(19, "GetMethod"), + # PutMethod -> wszName:LPCWSTR, lFlags:LONG, pInSignature:*IWbemClassObject, pOutSignature:*IWbemClassObject + "PutMethod": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, PVOID, PVOID)(20, "PutMethod"), + # DeleteMethod -> wszName:LPCWSTR + "DeleteMethod": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(21, "DeleteMethod"), + # BeginMethodEnumeration -> lEnumFlags:LONG + "BeginMethodEnumeration": ctypes.WINFUNCTYPE(HRESULT, LONG)(22, "BeginMethodEnumeration"), + # NextMethod -> lFlags:LONG, pstrName:*BSTR, ppInSignature:**IWbemClassObject, ppOutSignature:**IWbemClassObject + "NextMethod": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(BSTR), POINTER(PVOID), POINTER(PVOID))(23, "NextMethod"), + # EndMethodEnumeration -> + "EndMethodEnumeration": ctypes.WINFUNCTYPE(HRESULT)(24, "EndMethodEnumeration"), + # GetMethodQualifierSet -> wszMethod:LPCWSTR, ppQualSet:**IWbemQualifierSet + "GetMethodQualifierSet": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, POINTER(PVOID))(25, "GetMethodQualifierSet"), + # GetMethodOrigin -> wszMethodName:LPCWSTR, pstrClassName:*BSTR + "GetMethodOrigin": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, POINTER(BSTR))(26, "GetMethodOrigin"), } - -class IWbemContext(COMInterface): - IID = generate_IID(0x44ACA674, 0xE8FC, 0x11D0, 0xA0, 0x7C, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20, name="IWbemContext", strid="44ACA674-E8FC-11D0-A07C-00C04FB68820") - +class IEnumWbemClassObject(COMInterface): + IID = generate_IID(0x027947E1, 0xD731, 0x11CE, 0xA3, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, name="IEnumWbemClassObject", strid="027947E1-D731-11CE-A357-000000000001") _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #Clone -> ppNewCopy:**IWbemContext - "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(3, "Clone"), - #GetNames -> lFlags:LONG, pNames:**SAFEARRAY - "GetNames": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(POINTER(SAFEARRAY)))(4, "GetNames"), - #BeginEnumeration -> lFlags:LONG - "BeginEnumeration": ctypes.WINFUNCTYPE(HRESULT, LONG)(5, "BeginEnumeration"), - #Next -> lFlags:LONG, pstrName:*BSTR, pValue:*VARIANT - "Next": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(BSTR), POINTER(VARIANT))(6, "Next"), - #EndEnumeration -> - "EndEnumeration": ctypes.WINFUNCTYPE(HRESULT)(7, "EndEnumeration"), - #SetValue -> wszName:LPCWSTR, lFlags:LONG, pValue:*VARIANT - "SetValue": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(VARIANT))(8, "SetValue"), - #GetValue -> wszName:LPCWSTR, lFlags:LONG, pValue:*VARIANT - "GetValue": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(VARIANT))(9, "GetValue"), - #DeleteValue -> wszName:LPCWSTR, lFlags:LONG - "DeleteValue": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG)(10, "DeleteValue"), - #DeleteAll -> - "DeleteAll": ctypes.WINFUNCTYPE(HRESULT)(11, "DeleteAll"), + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # Reset -> + "Reset": ctypes.WINFUNCTYPE(HRESULT)(3, "Reset"), + # Next -> lTimeout:LONG, uCount:ULONG, apObjects:**IWbemClassObject, puReturned:*ULONG + "Next": ctypes.WINFUNCTYPE(HRESULT, LONG, ULONG, POINTER(PVOID), POINTER(ULONG))(4, "Next"), + # NextAsync -> uCount:ULONG, pSink:*IWbemObjectSink + "NextAsync": ctypes.WINFUNCTYPE(HRESULT, ULONG, PVOID)(5, "NextAsync"), + # Clone -> ppEnum:**IEnumWbemClassObject + "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(6, "Clone"), + # Skip -> lTimeout:LONG, nCount:ULONG + "Skip": ctypes.WINFUNCTYPE(HRESULT, LONG, ULONG)(7, "Skip"), } - -class IWbemLocator(COMInterface): - IID = generate_IID(0xDC12A687, 0x737F, 0x11CF, 0x88, 0x4D, 0x00, 0xAA, 0x00, 0x4B, 0x2E, 0x24, name="IWbemLocator", strid="DC12A687-737F-11CF-884D-00AA004B2E24") - +class INetFwPolicy2(COMInterface): + IID = generate_IID(0x98325047, 0xC671, 0x4174, 0x8D, 0x81, 0xDE, 0xFC, 0xD3, 0xF0, 0x31, 0x86, name="INetFwPolicy2", strid="98325047-C671-4174-8D81-DEFCD3F03186") _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #ConnectServer -> strNetworkResource:BSTR, strUser:BSTR, strPassword:BSTR, strLocale:BSTR, lSecurityFlags:LONG, strAuthority:BSTR, pCtx:*IWbemContext, ppNamespace:**IWbemServices - "ConnectServer": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, BSTR, BSTR, LONG, BSTR, PVOID, POINTER(PVOID))(3, "ConnectServer"), + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetTypeInfoCount -> pctinfo:*UINT + "GetTypeInfoCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(UINT))(3, "GetTypeInfoCount"), + # GetTypeInfo -> iTInfo:UINT, lcid:LCID, ppTInfo:**ITypeInfo + "GetTypeInfo": ctypes.WINFUNCTYPE(HRESULT, UINT, LCID, POINTER(PVOID))(4, "GetTypeInfo"), + # GetIDsOfNames -> riid:REFIID, rgszNames:*LPOLESTR, cNames:UINT, lcid:LCID, rgDispId:*DISPID + "GetIDsOfNames": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(LPOLESTR), UINT, LCID, POINTER(DISPID))(5, "GetIDsOfNames"), + # Invoke -> dispIdMember:DISPID, riid:REFIID, lcid:LCID, wFlags:WORD, pDispParams:*DISPPARAMS, pVarResult:*VARIANT, pExcepInfo:*EXCEPINFO, puArgErr:*UINT + "Invoke": ctypes.WINFUNCTYPE(HRESULT, DISPID, REFIID, LCID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT))(6, "Invoke"), + # get_CurrentProfileTypes -> profileTypesBitmask:*LONG + "get_CurrentProfileTypes": ctypes.WINFUNCTYPE(HRESULT, POINTER(LONG))(7, "get_CurrentProfileTypes"), + # get_FirewallEnabled -> profileType:NET_FW_PROFILE_TYPE2, enabled:*VARIANT_BOOL + "get_FirewallEnabled": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(VARIANT_BOOL))(8, "get_FirewallEnabled"), + # put_FirewallEnabled -> profileType:NET_FW_PROFILE_TYPE2, enabled:VARIANT_BOOL + "put_FirewallEnabled": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, VARIANT_BOOL)(9, "put_FirewallEnabled"), + # get_ExcludedInterfaces -> profileType:NET_FW_PROFILE_TYPE2, interfaces:*VARIANT + "get_ExcludedInterfaces": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(VARIANT))(10, "get_ExcludedInterfaces"), + # put_ExcludedInterfaces -> profileType:NET_FW_PROFILE_TYPE2, interfaces:VARIANT + "put_ExcludedInterfaces": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, VARIANT)(11, "put_ExcludedInterfaces"), + # get_BlockAllInboundTraffic -> profileType:NET_FW_PROFILE_TYPE2, Block:*VARIANT_BOOL + "get_BlockAllInboundTraffic": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(VARIANT_BOOL))(12, "get_BlockAllInboundTraffic"), + # put_BlockAllInboundTraffic -> profileType:NET_FW_PROFILE_TYPE2, Block:VARIANT_BOOL + "put_BlockAllInboundTraffic": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, VARIANT_BOOL)(13, "put_BlockAllInboundTraffic"), + # get_NotificationsDisabled -> profileType:NET_FW_PROFILE_TYPE2, disabled:*VARIANT_BOOL + "get_NotificationsDisabled": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(VARIANT_BOOL))(14, "get_NotificationsDisabled"), + # put_NotificationsDisabled -> profileType:NET_FW_PROFILE_TYPE2, disabled:VARIANT_BOOL + "put_NotificationsDisabled": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, VARIANT_BOOL)(15, "put_NotificationsDisabled"), + # get_UnicastResponsesToMulticastBroadcastDisabled -> profileType:NET_FW_PROFILE_TYPE2, disabled:*VARIANT_BOOL + "get_UnicastResponsesToMulticastBroadcastDisabled": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(VARIANT_BOOL))(16, "get_UnicastResponsesToMulticastBroadcastDisabled"), + # put_UnicastResponsesToMulticastBroadcastDisabled -> profileType:NET_FW_PROFILE_TYPE2, disabled:VARIANT_BOOL + "put_UnicastResponsesToMulticastBroadcastDisabled": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, VARIANT_BOOL)(17, "put_UnicastResponsesToMulticastBroadcastDisabled"), + # get_Rules -> rules:**INetFwRules + "get_Rules": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(18, "get_Rules"), + # get_ServiceRestriction -> ServiceRestriction:**INetFwServiceRestriction + "get_ServiceRestriction": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(19, "get_ServiceRestriction"), + # EnableRuleGroup -> profileTypesBitmask:LONG, group:BSTR, enable:VARIANT_BOOL + "EnableRuleGroup": ctypes.WINFUNCTYPE(HRESULT, LONG, BSTR, VARIANT_BOOL)(20, "EnableRuleGroup"), + # IsRuleGroupEnabled -> profileTypesBitmask:LONG, group:BSTR, enabled:*VARIANT_BOOL + "IsRuleGroupEnabled": ctypes.WINFUNCTYPE(HRESULT, LONG, BSTR, POINTER(VARIANT_BOOL))(21, "IsRuleGroupEnabled"), + # RestoreLocalFirewallDefaults -> + "RestoreLocalFirewallDefaults": ctypes.WINFUNCTYPE(HRESULT)(22, "RestoreLocalFirewallDefaults"), + # get_DefaultInboundAction -> profileType:NET_FW_PROFILE_TYPE2, action:*NET_FW_ACTION + "get_DefaultInboundAction": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(NET_FW_ACTION))(23, "get_DefaultInboundAction"), + # put_DefaultInboundAction -> profileType:NET_FW_PROFILE_TYPE2, action:NET_FW_ACTION + "put_DefaultInboundAction": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, NET_FW_ACTION)(24, "put_DefaultInboundAction"), + # get_DefaultOutboundAction -> profileType:NET_FW_PROFILE_TYPE2, action:*NET_FW_ACTION + "get_DefaultOutboundAction": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, POINTER(NET_FW_ACTION))(25, "get_DefaultOutboundAction"), + # put_DefaultOutboundAction -> profileType:NET_FW_PROFILE_TYPE2, action:NET_FW_ACTION + "put_DefaultOutboundAction": ctypes.WINFUNCTYPE(HRESULT, NET_FW_PROFILE_TYPE2, NET_FW_ACTION)(26, "put_DefaultOutboundAction"), + # get_IsRuleGroupCurrentlyEnabled -> group:BSTR, enabled:*VARIANT_BOOL + "get_IsRuleGroupCurrentlyEnabled": ctypes.WINFUNCTYPE(HRESULT, BSTR, POINTER(VARIANT_BOOL))(27, "get_IsRuleGroupCurrentlyEnabled"), + # get_LocalPolicyModifyState -> modifyState:*NET_FW_MODIFY_STATE + "get_LocalPolicyModifyState": ctypes.WINFUNCTYPE(HRESULT, POINTER(NET_FW_MODIFY_STATE))(28, "get_LocalPolicyModifyState"), } - -class IWbemObjectSink(COMInterface): - IID = generate_IID(0x7C857801, 0x7381, 0x11CF, 0x88, 0x4D, 0x00, 0xAA, 0x00, 0x4B, 0x2E, 0x24, name="IWbemObjectSink", strid="7C857801-7381-11CF-884D-00AA004B2E24") - +class IWbemCallResult(COMInterface): + IID = generate_IID(0x44ACA675, 0xE8FC, 0x11D0, 0xA0, 0x7C, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20, name="IWbemCallResult", strid="44ACA675-E8FC-11D0-A07C-00C04FB68820") _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #Indicate -> lObjectCount:LONG, apObjArray:**IWbemClassObject - "Indicate": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(PVOID))(3, "Indicate"), - #SetStatus -> lFlags:LONG, hResult:HRESULT, strParam:BSTR, pObjParam:*IWbemClassObject - "SetStatus": ctypes.WINFUNCTYPE(HRESULT, LONG, HRESULT, BSTR, PVOID)(4, "SetStatus"), + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetResultObject -> lTimeout:LONG, ppResultObject:**IWbemClassObject + "GetResultObject": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(PVOID))(3, "GetResultObject"), + # GetResultString -> lTimeout:LONG, pstrResultString:*BSTR + "GetResultString": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(BSTR))(4, "GetResultString"), + # GetResultServices -> lTimeout:LONG, ppServices:**IWbemServices + "GetResultServices": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(PVOID))(5, "GetResultServices"), + # GetCallStatus -> lTimeout:LONG, plStatus:*LONG + "GetCallStatus": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(LONG))(6, "GetCallStatus"), } - -class IWbemQualifierSet(COMInterface): - IID = generate_IID(0xDC12A680, 0x737F, 0x11CF, 0x88, 0x4D, 0x00, 0xAA, 0x00, 0x4B, 0x2E, 0x24, name="IWbemQualifierSet", strid="DC12A680-737F-11CF-884D-00AA004B2E24") - +class IEnumBackgroundCopyJobs(COMInterface): + IID = generate_IID(0x1AF4F612, 0x3B71, 0x466F, 0x8F, 0x58, 0x7B, 0x6F, 0x73, 0xAC, 0x57, 0xAD, name="IEnumBackgroundCopyJobs", strid="1AF4F612-3B71-466F-8F58-7B6F73AC57AD") _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #Get -> wszName:LPCWSTR, lFlags:LONG, pVal:*VARIANT, plFlavor:*LONG - "Get": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(VARIANT), POINTER(LONG))(3, "Get"), - #Put -> wszName:LPCWSTR, pVal:*VARIANT, lFlavor:LONG - "Put": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, POINTER(VARIANT), LONG)(4, "Put"), - #Delete -> wszName:LPCWSTR - "Delete": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(5, "Delete"), - #GetNames -> lFlags:LONG, pNames:**SAFEARRAY - "GetNames": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(POINTER(SAFEARRAY)))(6, "GetNames"), - #BeginEnumeration -> lFlags:LONG - "BeginEnumeration": ctypes.WINFUNCTYPE(HRESULT, LONG)(7, "BeginEnumeration"), - #Next -> lFlags:LONG, pstrName:*BSTR, pVal:*VARIANT, plFlavor:*LONG - "Next": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(BSTR), POINTER(VARIANT), POINTER(LONG))(8, "Next"), - #EndEnumeration -> - "EndEnumeration": ctypes.WINFUNCTYPE(HRESULT)(9, "EndEnumeration"), + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # Next -> celt:ULONG, rgelt:**IBackgroundCopyJob, pceltFetched:*ULONG + "Next": ctypes.WINFUNCTYPE(HRESULT, ULONG, POINTER(PVOID), POINTER(ULONG))(3, "Next"), + # Skip -> celt:ULONG + "Skip": ctypes.WINFUNCTYPE(HRESULT, ULONG)(4, "Skip"), + # Reset -> + "Reset": ctypes.WINFUNCTYPE(HRESULT)(5, "Reset"), + # Clone -> ppenum:**IEnumBackgroundCopyJobs + "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(6, "Clone"), + # GetCount -> puCount:*ULONG + "GetCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(ULONG))(7, "GetCount"), } +class IBackgroundCopyManager(COMInterface): + IID = generate_IID(0x5CE34C0D, 0x0DC9, 0x4C1F, 0x89, 0x7C, 0xDA, 0xA1, 0xB7, 0x8C, 0xEE, 0x7C, name="IBackgroundCopyManager", strid="5CE34C0D-0DC9-4C1F-897C-DAA1B78CEE7C") + _functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # CreateJob -> DisplayName:LPCWSTR, Type:BG_JOB_TYPE, pJobId:*GUID, ppJob:**IBackgroundCopyJob + "CreateJob": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, BG_JOB_TYPE, POINTER(GUID), POINTER(PVOID))(3, "CreateJob"), + # GetJob -> jobID:REFGUID, ppJob:**IBackgroundCopyJob + "GetJob": ctypes.WINFUNCTYPE(HRESULT, REFGUID, POINTER(PVOID))(4, "GetJob"), + # EnumJobs -> dwFlags:DWORD, ppEnum:**IEnumBackgroundCopyJobs + "EnumJobs": ctypes.WINFUNCTYPE(HRESULT, DWORD, POINTER(PVOID))(5, "EnumJobs"), + # GetErrorDescription -> hResult:HRESULT, LanguageId:DWORD, pErrorDescription:*LPWSTR + "GetErrorDescription": ctypes.WINFUNCTYPE(HRESULT, HRESULT, DWORD, POINTER(LPWSTR))(6, "GetErrorDescription"), + } + +class IDispatch(COMInterface): + IID = generate_IID(0x00020400, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IDispatch", strid="00020400-0000-0000-C000-000000000046") + _functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetTypeInfoCount -> pctinfo:*UINT + "GetTypeInfoCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(UINT))(3, "GetTypeInfoCount"), + # GetTypeInfo -> iTInfo:UINT, lcid:LCID, ppTInfo:**ITypeInfo + "GetTypeInfo": ctypes.WINFUNCTYPE(HRESULT, UINT, LCID, POINTER(PVOID))(4, "GetTypeInfo"), + # GetIDsOfNames -> riid:REFIID, rgszNames:*LPOLESTR, cNames:UINT, lcid:LCID, rgDispId:*DISPID + "GetIDsOfNames": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(LPOLESTR), UINT, LCID, POINTER(DISPID))(5, "GetIDsOfNames"), + # Invoke -> dispIdMember:DISPID, riid:REFIID, lcid:LCID, wFlags:WORD, pDispParams:*DISPPARAMS, pVarResult:*VARIANT, pExcepInfo:*EXCEPINFO, puArgErr:*UINT + "Invoke": ctypes.WINFUNCTYPE(HRESULT, DISPID, REFIID, LCID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT))(6, "Invoke"), + } class IWbemServices(COMInterface): IID = generate_IID(0x9556DC99, 0x828C, 0x11CF, 0xA3, 0x7E, 0x00, 0xAA, 0x00, 0x32, 0x40, 0xC7, name="IWbemServices", strid="9556DC99-828C-11CF-A37E-00AA003240C7") - _functions_ = { - #QueryInterface -> riid:REFIID, ppvObject:**void - "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), - #AddRef -> - "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), - #Release -> - "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), - #OpenNamespace -> strNamespace:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppWorkingNamespace:**IWbemServices, ppResult:**IWbemCallResult - "OpenNamespace": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, POINTER(PVOID), POINTER(PVOID))(3, "OpenNamespace"), - #CancelAsyncCall -> pSink:*IWbemObjectSink - "CancelAsyncCall": ctypes.WINFUNCTYPE(HRESULT, PVOID)(4, "CancelAsyncCall"), - #QueryObjectSink -> lFlags:LONG, ppResponseHandler:**IWbemObjectSink - "QueryObjectSink": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(PVOID))(5, "QueryObjectSink"), - #GetObject -> strObjectPath:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppObject:**IWbemClassObject, ppCallResult:**IWbemCallResult - "GetObject": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, POINTER(PVOID), POINTER(PVOID))(6, "GetObject"), - #GetObjectAsync -> strObjectPath:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink - "GetObjectAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, PVOID)(7, "GetObjectAsync"), - #PutClass -> pObject:*IWbemClassObject, lFlags:LONG, pCtx:*IWbemContext, ppCallResult:**IWbemCallResult - "PutClass": ctypes.WINFUNCTYPE(HRESULT, PVOID, LONG, PVOID, POINTER(PVOID))(8, "PutClass"), - #PutClassAsync -> pObject:*IWbemClassObject, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink - "PutClassAsync": ctypes.WINFUNCTYPE(HRESULT, PVOID, LONG, PVOID, PVOID)(9, "PutClassAsync"), - #DeleteClass -> strClass:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppCallResult:**IWbemCallResult - "DeleteClass": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, POINTER(PVOID))(10, "DeleteClass"), - #DeleteClassAsync -> strClass:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink - "DeleteClassAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, PVOID)(11, "DeleteClassAsync"), - #CreateClassEnum -> strSuperclass:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppEnum:**IEnumWbemClassObject - "CreateClassEnum": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, POINTER(PVOID))(12, "CreateClassEnum"), - #CreateClassEnumAsync -> strSuperclass:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink - "CreateClassEnumAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, PVOID)(13, "CreateClassEnumAsync"), - #PutInstance -> pInst:*IWbemClassObject, lFlags:LONG, pCtx:*IWbemContext, ppCallResult:**IWbemCallResult - "PutInstance": ctypes.WINFUNCTYPE(HRESULT, PVOID, LONG, PVOID, POINTER(PVOID))(14, "PutInstance"), - #PutInstanceAsync -> pInst:*IWbemClassObject, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink - "PutInstanceAsync": ctypes.WINFUNCTYPE(HRESULT, PVOID, LONG, PVOID, PVOID)(15, "PutInstanceAsync"), - #DeleteInstance -> strObjectPath:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppCallResult:**IWbemCallResult - "DeleteInstance": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, POINTER(PVOID))(16, "DeleteInstance"), - #DeleteInstanceAsync -> strObjectPath:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink - "DeleteInstanceAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, PVOID)(17, "DeleteInstanceAsync"), - #CreateInstanceEnum -> strFilter:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppEnum:**IEnumWbemClassObject - "CreateInstanceEnum": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, POINTER(PVOID))(18, "CreateInstanceEnum"), - #CreateInstanceEnumAsync -> strFilter:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink - "CreateInstanceEnumAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, PVOID)(19, "CreateInstanceEnumAsync"), - #ExecQuery -> strQueryLanguage:BSTR, strQuery:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppEnum:**IEnumWbemClassObject - "ExecQuery": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, LONG, PVOID, POINTER(PVOID))(20, "ExecQuery"), - #ExecQueryAsync -> strQueryLanguage:BSTR, strQuery:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink - "ExecQueryAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, LONG, PVOID, PVOID)(21, "ExecQueryAsync"), - #ExecNotificationQuery -> strQueryLanguage:BSTR, strQuery:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppEnum:**IEnumWbemClassObject - "ExecNotificationQuery": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, LONG, PVOID, POINTER(PVOID))(22, "ExecNotificationQuery"), - #ExecNotificationQueryAsync -> strQueryLanguage:BSTR, strQuery:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink - "ExecNotificationQueryAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, LONG, PVOID, PVOID)(23, "ExecNotificationQueryAsync"), - #ExecMethod -> strObjectPath:BSTR, strMethodName:BSTR, lFlags:LONG, pCtx:*IWbemContext, pInParams:*IWbemClassObject, ppOutParams:**IWbemClassObject, ppCallResult:**IWbemCallResult - "ExecMethod": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, LONG, PVOID, PVOID, POINTER(PVOID), POINTER(PVOID))(24, "ExecMethod"), - #ExecMethodAsync -> strObjectPath:BSTR, strMethodName:BSTR, lFlags:LONG, pCtx:*IWbemContext, pInParams:*IWbemClassObject, pResponseHandler:*IWbemObjectSink - "ExecMethodAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, LONG, PVOID, PVOID, PVOID)(25, "ExecMethodAsync"), + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # OpenNamespace -> strNamespace:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppWorkingNamespace:**IWbemServices, ppResult:**IWbemCallResult + "OpenNamespace": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, POINTER(PVOID), POINTER(PVOID))(3, "OpenNamespace"), + # CancelAsyncCall -> pSink:*IWbemObjectSink + "CancelAsyncCall": ctypes.WINFUNCTYPE(HRESULT, PVOID)(4, "CancelAsyncCall"), + # QueryObjectSink -> lFlags:LONG, ppResponseHandler:**IWbemObjectSink + "QueryObjectSink": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(PVOID))(5, "QueryObjectSink"), + # GetObject -> strObjectPath:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppObject:**IWbemClassObject, ppCallResult:**IWbemCallResult + "GetObject": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, POINTER(PVOID), POINTER(PVOID))(6, "GetObject"), + # GetObjectAsync -> strObjectPath:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink + "GetObjectAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, PVOID)(7, "GetObjectAsync"), + # PutClass -> pObject:*IWbemClassObject, lFlags:LONG, pCtx:*IWbemContext, ppCallResult:**IWbemCallResult + "PutClass": ctypes.WINFUNCTYPE(HRESULT, PVOID, LONG, PVOID, POINTER(PVOID))(8, "PutClass"), + # PutClassAsync -> pObject:*IWbemClassObject, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink + "PutClassAsync": ctypes.WINFUNCTYPE(HRESULT, PVOID, LONG, PVOID, PVOID)(9, "PutClassAsync"), + # DeleteClass -> strClass:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppCallResult:**IWbemCallResult + "DeleteClass": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, POINTER(PVOID))(10, "DeleteClass"), + # DeleteClassAsync -> strClass:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink + "DeleteClassAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, PVOID)(11, "DeleteClassAsync"), + # CreateClassEnum -> strSuperclass:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppEnum:**IEnumWbemClassObject + "CreateClassEnum": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, POINTER(PVOID))(12, "CreateClassEnum"), + # CreateClassEnumAsync -> strSuperclass:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink + "CreateClassEnumAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, PVOID)(13, "CreateClassEnumAsync"), + # PutInstance -> pInst:*IWbemClassObject, lFlags:LONG, pCtx:*IWbemContext, ppCallResult:**IWbemCallResult + "PutInstance": ctypes.WINFUNCTYPE(HRESULT, PVOID, LONG, PVOID, POINTER(PVOID))(14, "PutInstance"), + # PutInstanceAsync -> pInst:*IWbemClassObject, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink + "PutInstanceAsync": ctypes.WINFUNCTYPE(HRESULT, PVOID, LONG, PVOID, PVOID)(15, "PutInstanceAsync"), + # DeleteInstance -> strObjectPath:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppCallResult:**IWbemCallResult + "DeleteInstance": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, POINTER(PVOID))(16, "DeleteInstance"), + # DeleteInstanceAsync -> strObjectPath:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink + "DeleteInstanceAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, PVOID)(17, "DeleteInstanceAsync"), + # CreateInstanceEnum -> strFilter:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppEnum:**IEnumWbemClassObject + "CreateInstanceEnum": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, POINTER(PVOID))(18, "CreateInstanceEnum"), + # CreateInstanceEnumAsync -> strFilter:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink + "CreateInstanceEnumAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, LONG, PVOID, PVOID)(19, "CreateInstanceEnumAsync"), + # ExecQuery -> strQueryLanguage:BSTR, strQuery:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppEnum:**IEnumWbemClassObject + "ExecQuery": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, LONG, PVOID, POINTER(PVOID))(20, "ExecQuery"), + # ExecQueryAsync -> strQueryLanguage:BSTR, strQuery:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink + "ExecQueryAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, LONG, PVOID, PVOID)(21, "ExecQueryAsync"), + # ExecNotificationQuery -> strQueryLanguage:BSTR, strQuery:BSTR, lFlags:LONG, pCtx:*IWbemContext, ppEnum:**IEnumWbemClassObject + "ExecNotificationQuery": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, LONG, PVOID, POINTER(PVOID))(22, "ExecNotificationQuery"), + # ExecNotificationQueryAsync -> strQueryLanguage:BSTR, strQuery:BSTR, lFlags:LONG, pCtx:*IWbemContext, pResponseHandler:*IWbemObjectSink + "ExecNotificationQueryAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, LONG, PVOID, PVOID)(23, "ExecNotificationQueryAsync"), + # ExecMethod -> strObjectPath:BSTR, strMethodName:BSTR, lFlags:LONG, pCtx:*IWbemContext, pInParams:*IWbemClassObject, ppOutParams:**IWbemClassObject, ppCallResult:**IWbemCallResult + "ExecMethod": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, LONG, PVOID, PVOID, POINTER(PVOID), POINTER(PVOID))(24, "ExecMethod"), + # ExecMethodAsync -> strObjectPath:BSTR, strMethodName:BSTR, lFlags:LONG, pCtx:*IWbemContext, pInParams:*IWbemClassObject, pResponseHandler:*IWbemObjectSink + "ExecMethodAsync": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, LONG, PVOID, PVOID, PVOID)(25, "ExecMethodAsync"), } + +class IWbemQualifierSet(COMInterface): + IID = generate_IID(0xDC12A680, 0x737F, 0x11CF, 0x88, 0x4D, 0x00, 0xAA, 0x00, 0x4B, 0x2E, 0x24, name="IWbemQualifierSet", strid="DC12A680-737F-11CF-884D-00AA004B2E24") + _functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # Get -> wszName:LPCWSTR, lFlags:LONG, pVal:*VARIANT, plFlavor:*LONG + "Get": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(VARIANT), POINTER(LONG))(3, "Get"), + # Put -> wszName:LPCWSTR, pVal:*VARIANT, lFlavor:LONG + "Put": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, POINTER(VARIANT), LONG)(4, "Put"), + # Delete -> wszName:LPCWSTR + "Delete": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR)(5, "Delete"), + # GetNames -> lFlags:LONG, pNames:**SAFEARRAY + "GetNames": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(POINTER(SAFEARRAY)))(6, "GetNames"), + # BeginEnumeration -> lFlags:LONG + "BeginEnumeration": ctypes.WINFUNCTYPE(HRESULT, LONG)(7, "BeginEnumeration"), + # Next -> lFlags:LONG, pstrName:*BSTR, pVal:*VARIANT, plFlavor:*LONG + "Next": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(BSTR), POINTER(VARIANT), POINTER(LONG))(8, "Next"), + # EndEnumeration -> + "EndEnumeration": ctypes.WINFUNCTYPE(HRESULT)(9, "EndEnumeration"), + } + +class IWbemLocator(COMInterface): + IID = generate_IID(0xDC12A687, 0x737F, 0x11CF, 0x88, 0x4D, 0x00, 0xAA, 0x00, 0x4B, 0x2E, 0x24, name="IWbemLocator", strid="DC12A687-737F-11CF-884D-00AA004B2E24") + _functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # ConnectServer -> strNetworkResource:BSTR, strUser:BSTR, strPassword:BSTR, strLocale:BSTR, lSecurityFlags:LONG, strAuthority:BSTR, pCtx:*IWbemContext, ppNamespace:**IWbemServices + "ConnectServer": ctypes.WINFUNCTYPE(HRESULT, BSTR, BSTR, BSTR, BSTR, LONG, BSTR, PVOID, POINTER(PVOID))(3, "ConnectServer"), + } + +class IWbemObjectSink(COMInterface): + IID = generate_IID(0x7C857801, 0x7381, 0x11CF, 0x88, 0x4D, 0x00, 0xAA, 0x00, 0x4B, 0x2E, 0x24, name="IWbemObjectSink", strid="7C857801-7381-11CF-884D-00AA004B2E24") + _functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # Indicate -> lObjectCount:LONG, apObjArray:**IWbemClassObject + "Indicate": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(PVOID))(3, "Indicate"), + # SetStatus -> lFlags:LONG, hResult:HRESULT, strParam:BSTR, pObjParam:*IWbemClassObject + "SetStatus": ctypes.WINFUNCTYPE(HRESULT, LONG, HRESULT, BSTR, PVOID)(4, "SetStatus"), + } + +class IEnumVARIANT(COMInterface): + IID = generate_IID(0x00020404, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IEnumVARIANT", strid="00020404-0000-0000-C000-000000000046") + _functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # Next -> celt:ULONG, rgVar:*VARIANT, pCeltFetched:*ULONG + "Next": ctypes.WINFUNCTYPE(HRESULT, ULONG, POINTER(VARIANT), POINTER(ULONG))(3, "Next"), + # Skip -> celt:ULONG + "Skip": ctypes.WINFUNCTYPE(HRESULT, ULONG)(4, "Skip"), + # Reset -> + "Reset": ctypes.WINFUNCTYPE(HRESULT)(5, "Reset"), + # Clone -> ppEnum:**IEnumVARIANT + "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(6, "Clone"), + } + +class INetFwRules(COMInterface): + IID = generate_IID(0x9C4C6277, 0x5027, 0x441E, 0xAF, 0xAE, 0xCA, 0x1F, 0x54, 0x2D, 0xA0, 0x09, name="INetFwRules", strid="9C4C6277-5027-441E-AFAE-CA1F542DA009") + _functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetTypeInfoCount -> pctinfo:*UINT + "GetTypeInfoCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(UINT))(3, "GetTypeInfoCount"), + # GetTypeInfo -> iTInfo:UINT, lcid:LCID, ppTInfo:**ITypeInfo + "GetTypeInfo": ctypes.WINFUNCTYPE(HRESULT, UINT, LCID, POINTER(PVOID))(4, "GetTypeInfo"), + # GetIDsOfNames -> riid:REFIID, rgszNames:*LPOLESTR, cNames:UINT, lcid:LCID, rgDispId:*DISPID + "GetIDsOfNames": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(LPOLESTR), UINT, LCID, POINTER(DISPID))(5, "GetIDsOfNames"), + # Invoke -> dispIdMember:DISPID, riid:REFIID, lcid:LCID, wFlags:WORD, pDispParams:*DISPPARAMS, pVarResult:*VARIANT, pExcepInfo:*EXCEPINFO, puArgErr:*UINT + "Invoke": ctypes.WINFUNCTYPE(HRESULT, DISPID, REFIID, LCID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT))(6, "Invoke"), + # get_Count -> count:*LONG + "get_Count": ctypes.WINFUNCTYPE(HRESULT, POINTER(LONG))(7, "get_Count"), + # Add -> rule:*INetFwRule + "Add": ctypes.WINFUNCTYPE(HRESULT, PVOID)(8, "Add"), + # Remove -> name:BSTR + "Remove": ctypes.WINFUNCTYPE(HRESULT, BSTR)(9, "Remove"), + # Item -> name:BSTR, rule:**INetFwRule + "Item": ctypes.WINFUNCTYPE(HRESULT, BSTR, POINTER(PVOID))(10, "Item"), + # get__NewEnum -> newEnum:**IUnknown + "get__NewEnum": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(11, "get__NewEnum"), + } + +class IWbemContext(COMInterface): + IID = generate_IID(0x44ACA674, 0xE8FC, 0x11D0, 0xA0, 0x7C, 0x00, 0xC0, 0x4F, 0xB6, 0x88, 0x20, name="IWbemContext", strid="44ACA674-E8FC-11D0-A07C-00C04FB68820") + _functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # Clone -> ppNewCopy:**IWbemContext + "Clone": ctypes.WINFUNCTYPE(HRESULT, POINTER(PVOID))(3, "Clone"), + # GetNames -> lFlags:LONG, pNames:**SAFEARRAY + "GetNames": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(POINTER(SAFEARRAY)))(4, "GetNames"), + # BeginEnumeration -> lFlags:LONG + "BeginEnumeration": ctypes.WINFUNCTYPE(HRESULT, LONG)(5, "BeginEnumeration"), + # Next -> lFlags:LONG, pstrName:*BSTR, pValue:*VARIANT + "Next": ctypes.WINFUNCTYPE(HRESULT, LONG, POINTER(BSTR), POINTER(VARIANT))(6, "Next"), + # EndEnumeration -> + "EndEnumeration": ctypes.WINFUNCTYPE(HRESULT)(7, "EndEnumeration"), + # SetValue -> wszName:LPCWSTR, lFlags:LONG, pValue:*VARIANT + "SetValue": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(VARIANT))(8, "SetValue"), + # GetValue -> wszName:LPCWSTR, lFlags:LONG, pValue:*VARIANT + "GetValue": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG, POINTER(VARIANT))(9, "GetValue"), + # DeleteValue -> wszName:LPCWSTR, lFlags:LONG + "DeleteValue": ctypes.WINFUNCTYPE(HRESULT, LPCWSTR, LONG)(10, "DeleteValue"), + # DeleteAll -> + "DeleteAll": ctypes.WINFUNCTYPE(HRESULT)(11, "DeleteAll"), + } + +class INetFwRule(COMInterface): + IID = generate_IID(0xAF230D27, 0xBABA, 0x4E42, 0xAC, 0xED, 0xF5, 0x24, 0xF2, 0x2C, 0xFC, 0xE2, name="INetFwRule", strid="AF230D27-BABA-4E42-ACED-F524F22CFCE2") + _functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + # GetTypeInfoCount -> pctinfo:*UINT + "GetTypeInfoCount": ctypes.WINFUNCTYPE(HRESULT, POINTER(UINT))(3, "GetTypeInfoCount"), + # GetTypeInfo -> iTInfo:UINT, lcid:LCID, ppTInfo:**ITypeInfo + "GetTypeInfo": ctypes.WINFUNCTYPE(HRESULT, UINT, LCID, POINTER(PVOID))(4, "GetTypeInfo"), + # GetIDsOfNames -> riid:REFIID, rgszNames:*LPOLESTR, cNames:UINT, lcid:LCID, rgDispId:*DISPID + "GetIDsOfNames": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(LPOLESTR), UINT, LCID, POINTER(DISPID))(5, "GetIDsOfNames"), + # Invoke -> dispIdMember:DISPID, riid:REFIID, lcid:LCID, wFlags:WORD, pDispParams:*DISPPARAMS, pVarResult:*VARIANT, pExcepInfo:*EXCEPINFO, puArgErr:*UINT + "Invoke": ctypes.WINFUNCTYPE(HRESULT, DISPID, REFIID, LCID, WORD, POINTER(DISPPARAMS), POINTER(VARIANT), POINTER(EXCEPINFO), POINTER(UINT))(6, "Invoke"), + # get_Name -> name:*BSTR + "get_Name": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(7, "get_Name"), + # put_Name -> name:BSTR + "put_Name": ctypes.WINFUNCTYPE(HRESULT, BSTR)(8, "put_Name"), + # get_Description -> desc:*BSTR + "get_Description": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(9, "get_Description"), + # put_Description -> desc:BSTR + "put_Description": ctypes.WINFUNCTYPE(HRESULT, BSTR)(10, "put_Description"), + # get_ApplicationName -> imageFileName:*BSTR + "get_ApplicationName": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(11, "get_ApplicationName"), + # put_ApplicationName -> imageFileName:BSTR + "put_ApplicationName": ctypes.WINFUNCTYPE(HRESULT, BSTR)(12, "put_ApplicationName"), + # get_ServiceName -> serviceName:*BSTR + "get_ServiceName": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(13, "get_ServiceName"), + # put_ServiceName -> serviceName:BSTR + "put_ServiceName": ctypes.WINFUNCTYPE(HRESULT, BSTR)(14, "put_ServiceName"), + # get_Protocol -> protocol:*LONG + "get_Protocol": ctypes.WINFUNCTYPE(HRESULT, POINTER(LONG))(15, "get_Protocol"), + # put_Protocol -> protocol:LONG + "put_Protocol": ctypes.WINFUNCTYPE(HRESULT, LONG)(16, "put_Protocol"), + # get_LocalPorts -> portNumbers:*BSTR + "get_LocalPorts": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(17, "get_LocalPorts"), + # put_LocalPorts -> portNumbers:BSTR + "put_LocalPorts": ctypes.WINFUNCTYPE(HRESULT, BSTR)(18, "put_LocalPorts"), + # get_RemotePorts -> portNumbers:*BSTR + "get_RemotePorts": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(19, "get_RemotePorts"), + # put_RemotePorts -> portNumbers:BSTR + "put_RemotePorts": ctypes.WINFUNCTYPE(HRESULT, BSTR)(20, "put_RemotePorts"), + # get_LocalAddresses -> localAddrs:*BSTR + "get_LocalAddresses": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(21, "get_LocalAddresses"), + # put_LocalAddresses -> localAddrs:BSTR + "put_LocalAddresses": ctypes.WINFUNCTYPE(HRESULT, BSTR)(22, "put_LocalAddresses"), + # get_RemoteAddresses -> remoteAddrs:*BSTR + "get_RemoteAddresses": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(23, "get_RemoteAddresses"), + # put_RemoteAddresses -> remoteAddrs:BSTR + "put_RemoteAddresses": ctypes.WINFUNCTYPE(HRESULT, BSTR)(24, "put_RemoteAddresses"), + # get_IcmpTypesAndCodes -> icmpTypesAndCodes:*BSTR + "get_IcmpTypesAndCodes": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(25, "get_IcmpTypesAndCodes"), + # put_IcmpTypesAndCodes -> icmpTypesAndCodes:BSTR + "put_IcmpTypesAndCodes": ctypes.WINFUNCTYPE(HRESULT, BSTR)(26, "put_IcmpTypesAndCodes"), + # get_Direction -> dir:*NET_FW_RULE_DIRECTION + "get_Direction": ctypes.WINFUNCTYPE(HRESULT, POINTER(NET_FW_RULE_DIRECTION))(27, "get_Direction"), + # put_Direction -> dir:NET_FW_RULE_DIRECTION + "put_Direction": ctypes.WINFUNCTYPE(HRESULT, NET_FW_RULE_DIRECTION)(28, "put_Direction"), + # get_Interfaces -> interfaces:*VARIANT + "get_Interfaces": ctypes.WINFUNCTYPE(HRESULT, POINTER(VARIANT))(29, "get_Interfaces"), + # put_Interfaces -> interfaces:VARIANT + "put_Interfaces": ctypes.WINFUNCTYPE(HRESULT, VARIANT)(30, "put_Interfaces"), + # get_InterfaceTypes -> interfaceTypes:*BSTR + "get_InterfaceTypes": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(31, "get_InterfaceTypes"), + # put_InterfaceTypes -> interfaceTypes:BSTR + "put_InterfaceTypes": ctypes.WINFUNCTYPE(HRESULT, BSTR)(32, "put_InterfaceTypes"), + # get_Enabled -> enabled:*VARIANT_BOOL + "get_Enabled": ctypes.WINFUNCTYPE(HRESULT, POINTER(VARIANT_BOOL))(33, "get_Enabled"), + # put_Enabled -> enabled:VARIANT_BOOL + "put_Enabled": ctypes.WINFUNCTYPE(HRESULT, VARIANT_BOOL)(34, "put_Enabled"), + # get_Grouping -> context:*BSTR + "get_Grouping": ctypes.WINFUNCTYPE(HRESULT, POINTER(BSTR))(35, "get_Grouping"), + # put_Grouping -> context:BSTR + "put_Grouping": ctypes.WINFUNCTYPE(HRESULT, BSTR)(36, "put_Grouping"), + # get_Profiles -> profileTypesBitmask:*LONG + "get_Profiles": ctypes.WINFUNCTYPE(HRESULT, POINTER(LONG))(37, "get_Profiles"), + # put_Profiles -> profileTypesBitmask:LONG + "put_Profiles": ctypes.WINFUNCTYPE(HRESULT, LONG)(38, "put_Profiles"), + # get_EdgeTraversal -> enabled:*VARIANT_BOOL + "get_EdgeTraversal": ctypes.WINFUNCTYPE(HRESULT, POINTER(VARIANT_BOOL))(39, "get_EdgeTraversal"), + # put_EdgeTraversal -> enabled:VARIANT_BOOL + "put_EdgeTraversal": ctypes.WINFUNCTYPE(HRESULT, VARIANT_BOOL)(40, "put_EdgeTraversal"), + # get_Action -> action:*NET_FW_ACTION + "get_Action": ctypes.WINFUNCTYPE(HRESULT, POINTER(NET_FW_ACTION))(41, "get_Action"), + # put_Action -> action:NET_FW_ACTION + "put_Action": ctypes.WINFUNCTYPE(HRESULT, NET_FW_ACTION)(42, "put_Action"), + } + +class IUnknown(COMInterface): + IID = generate_IID(0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, name="IUnknown", strid="00000000-0000-0000-C000-000000000046") + _functions_ = { + # QueryInterface -> riid:REFIID, ppvObject:**void + "QueryInterface": ctypes.WINFUNCTYPE(HRESULT, REFIID, POINTER(PVOID))(0, "QueryInterface"), + # AddRef -> + "AddRef": ctypes.WINFUNCTYPE(ULONG)(1, "AddRef"), + # Release -> + "Release": ctypes.WINFUNCTYPE(ULONG)(2, "Release"), + } + diff --git a/windows/generated_def/meta.py b/windows/generated_def/meta.py index 00eef52..e71f9e4 100644 --- a/windows/generated_def/meta.py +++ b/windows/generated_def/meta.py @@ -1,21 +1,22 @@ -functions = set(['GetFileVersionInfoSizeA', 'NtOpenSection', 'GetStdHandle', 'GetDriveTypeW', 'GetModuleBaseNameA', 'ConvertSidToStringSidW', 'GetComputerNameA', 'NtQuerySymbolicLinkObject', 'AddVectoredContinueHandler', 'GetDriveTypeA', 'CertAddCertificateContextToStore', 'DebugBreak', 'GetFileVersionInfoSizeW', 'ConvertSidToStringSidA', 'DuplicateHandle', 'GetExtendedTcpTable', 'GetProcessId', 'GetSidSubAuthorityCount', 'GetCurrentProcess', 'NtReadVirtualMemory', 'ShellExecuteA', 'CertEnumCertificateContextProperties', 'NtWow64ReadVirtualMemory64', 'DebugActiveProcessStop', 'GetClipboardFormatNameW', 'RegOpenKeyExW', 'RtlDosPathNameToNtPathName_U', 'WindowFromPoint', 'InitializeProcThreadAttributeList', 'CryptMsgGetParam', 'NtOpenSymbolicLinkObject', 'CryptCATAdminEnumCatalogFromHash', 'NtAlpcCreateSecurityContext', 'RegOpenKeyExA', 'QueryWorkingSetEx', 'CertEnumCTLsInStore', 'MessageBoxW', 'GetThreadContext', 'GetTokenInformation', 'SetStdHandle', 'PFXImportCertStore', 'CloseEventLog', 'WaitForDebugEvent', 'GetNamedSecurityInfoA', 'NtSetInformationProcess', 'LocalFree', 'OpenThreadToken', 'NtAlpcDisconnectPort', 'WriteFile', 'GetCursorPos', 'NtCreateFile', 'WaitForSingleObject', 'GetLogicalDriveStringsW', 'CertStrToNameA', 'Thread32First', 'AlpcInitializeMessageAttribute', 'CryptAcquireCertificatePrivateKey', 'NtQueryObject', 'ResumeThread', 'NtAlpcConnectPortEx', 'QueryDosDeviceA', 'CryptMsgVerifyCountersignatureEncodedEx', 'AddVectoredExceptionHandler', 'GetMappedFileNameW', 'GetLogicalDriveStringsA', 'LoadResource', 'GetWindowTextW', 'EnumClipboardFormats', 'AllocConsole', 'CryptCATEnumerateMember', 'QueryDosDeviceW', 'CryptCATEnumerateCatAttr', 'GetWindowTextA', 'GetProcessImageFileNameA', 'RtlGetUnloadEventTraceEx', 'NtQueryInformationFile', 'CertStrToNameW', 'GetEventLogInformation', 'CryptDestroyKey', 'CryptMsgVerifyCountersignatureEncoded', 'OpenThread', 'GetProcessImageFileNameW', 'NtAlpcDeleteSecurityContext', 'OpenServiceA', 'WriteProcessMemory', 'NtSetContextThread', 'FindNextVolumeA', 'GetProcessDEPPolicy', 'GetModuleFileNameW', 'EnumWindows', 'RtlGetCompressionWorkSpaceSize', 'NtAlpcQueryInformationMessage', 'ExitProcess', 'CoInitializeSecurity', 'GetSecurityInfo', 'GetModuleFileNameA', 'CryptExportKey', 'NtAlpcDeletePortSection', 'RegQueryValueExW', 'NtQueryVirtualMemory', 'WinVerifyTrust', 'CloseServiceHandle', 'CryptCATGetAttrInfo', 'GetSidSubAuthority', 'GetPriorityClass', 'LoadLibraryExA', 'GetMappedFileNameA', 'NtAlpcConnectPort', 'SetConsoleCtrlHandler', 'NtAlpcCreateSectionView', 'CertDuplicateCertificateContext', 'TpCallbackSendAlpcMessageOnCompletion', 'SymInitialize', 'LoadLibraryExW', 'CryptEncryptMessage', 'GetClipboardData', 'MapViewOfFile', 'GetModuleBaseNameW', 'CryptGenKey', 'RtlDecompressBuffer', 'NtQuerySystemInformation', 'GetVolumeNameForVolumeMountPointA', 'CreateThread', 'NtUnmapViewOfSection', 'SetClipboardData', 'CreateProcessAsUserA', 'DebugSetProcessKillOnExit', 'StartServiceW', 'GetExitCodeThread', 'SetTcpEntry', 'CryptCATCatalogInfoFromContext', 'CryptCATAdminAcquireContext', 'GetIpAddrTable', 'GetVolumeNameForVolumeMountPointW', 'CertEnumCertificatesInStore', 'ExitThread', 'CreateProcessAsUserW', 'CryptDecodeObject', 'NtProtectVirtualMemory', 'SetPriorityClass', 'SetThreadContext', 'SymSetOptions', 'TerminateProcess', 'NtGetContextThread', 'NtAlpcCreatePortSection', 'GetWindowsDirectoryW', 'CryptCATGetMemberInfo', 'NtAlpcCreateResourceReserve', 'VirtualQuery', 'DebugActiveProcess', 'VirtualQueryEx', 'NtOpenDirectoryObject', 'SymGetTypeInfo', 'CryptCATAdminReleaseContext', 'ReadEventLogA', 'LdrLoadDll', 'GetCurrentThreadId', 'GetExtendedUdpTable', 'CreateWellKnownSid', 'CryptCATAdminCalcHashFromFileHandle', 'CreateToolhelp32Snapshot', 'StartServiceA', 'RtlInitUnicodeString', 'RegCloseKey', 'LookupAccountSidW', 'NtOpenEvent', 'Process32First', 'TerminateThread', 'LoadLibraryW', 'LookupPrivilegeValueA', 'GetVersionExW', 'GetExitCodeProcess', 'LookupAccountSidA', 'RegQueryValueExA', 'OpenEventLogA', 'GetNumberOfEventLogRecords', 'Wow64SetThreadContext', 'VirtualProtect', 'GetVersionExA', 'LoadLibraryA', 'GetSystemMetrics', 'ReadEventLogW', 'Process32Next', 'CreateRemoteThread', 'NtAlpcSendWaitReceivePort', 'NtCreateThreadEx', 'OpenProcessToken', 'GetWindowRect', 'QueryWorkingSet', 'OpenProcess', 'CryptDecryptMessage', 'GetWindowsDirectoryA', 'DeviceIoControl', 'ReadProcessMemory', 'GetProcAddress', 'CryptCATEnumerateAttr', 'VirtualProtectEx', 'CreateFileMappingW', 'RtlAnsiStringToUnicodeString', 'CryptAcquireContextA', 'GetCurrentProcessorNumber', 'GetSidIdentifierAuthority', 'CertCompareCertificate', 'Wow64GetThreadContext', 'DebugBreakProcess', 'CertFreeCTLContext', 'NtQueryInformationThread', 'CoInitializeEx', 'GetInterfaceInfo', 'CertGetNameStringA', 'FreeConsole', 'CreateFileMappingA', 'Thread32Next', 'lstrcmpW', 'SymLoadModuleEx', 'GlobalAlloc', 'CertGetCertificateContextProperty', 'OpenServiceW', 'SuspendThread', 'NtCreateSection', 'NtAlpcQueryInformation', 'FindFirstVolumeA', 'ShellExecuteW', 'CertOpenStore', 'VerQueryValueW', 'CreateFileW', 'UpdateProcThreadAttribute', 'NtWow64WriteVirtualMemory64', 'CryptCATAdminReleaseCatalogContext', 'CreateFileA', 'LookupPrivilegeValueW', 'CertFindCertificateInStore', 'RemoveVectoredExceptionHandler', 'FindFirstVolumeW', 'OpenClipboard', 'EmptyClipboard', 'GetLastError', 'NtAlpcCreatePort', 'PFXExportCertStoreEx', 'GetComputerNameW', 'GetShortPathNameW', 'VirtualAllocEx', 'NtAlpcDeleteResourceReserve', 'GlobalFree', 'OpenEventW', 'AlpcGetMessageAttribute', 'AdjustTokenPrivileges', 'FindNextVolumeW', 'CryptReleaseContext', 'GetProcessTimes', 'GetIfTable', 'GetVolumeInformationW', 'GlobalUnlock', 'SymFromName', 'CertCreateSelfSignCertificate', 'GetShortPathNameA', 'NtMapViewOfSection', 'Process32NextW', 'VirtualFree', 'NtAlpcAcceptConnectPort', 'CryptEncodeObjectEx', 'ConvertStringSidToSidW', 'SizeofResource', 'Wow64DisableWow64FsRedirection', 'VirtualFreeEx', 'RegGetValueW', 'LockResource', 'ContinueDebugEvent', 'ConvertStringSidToSidA', 'GetLongPathNameA', 'SetTokenInformation', 'CertDuplicateCTLContext', 'Wow64EnableWow64FsRedirection', 'NtAlpcDeleteSectionView', 'SetThreadAffinityMask', 'RegGetValueA', 'VerQueryValueA', 'ApiSetResolveToHost', 'Process32FirstW', 'GetCurrentThread', 'LookupPrivilegeNameW', 'NtQueryDirectoryObject', 'CoCreateInstance', 'GetWindowModuleFileNameA', 'NtAlpcRevokeSecurityContext', 'GetNamedSecurityInfoW', 'EnumServicesStatusExW', 'lstrcmpA', 'CertCreateCertificateContext', 'NtQueryVolumeInformationFile', 'NtQueryDirectoryFile', 'ReadFile', 'CryptQueryObject', 'OpenEventLogW', 'ZwDuplicateObject', 'GetWindowModuleFileNameW', 'Wow64RevertWow64FsRedirection', 'CloseHandle', 'LookupPrivilegeNameA', 'GetLengthSid', 'GetClipboardFormatNameA', 'CertGetCertificateChain', 'GlobalLock', 'GetVersion', 'EnumServicesStatusExA', 'OpenSCManagerA', 'CryptAcquireContextW', 'DeleteProcThreadAttributeList', 'OpenEventA', 'GetFileVersionInfoA', 'GetLongPathNameW', 'CreateProcessA', 'MessageBoxA', 'GetThreadId', 'RtlDecompressBufferEx', 'OpenSCManagerW', 'FindResourceW', 'CreateProcessW', 'CryptUIDlgViewContext', 'GetFileVersionInfoW', 'GetVolumeInformationA', 'CertGetNameStringW', 'CloseClipboard', 'RtlInitString', 'FindResourceA', 'VirtualAlloc', 'NtQueryInformationProcess']) -enums = set(['BG_JOB_PROXY_USAGE', '_BG_JOB_PROXY_USAGE', '_IMAGEHLP_SYMBOL_TYPE_INFO', '_THREAD_INFORMATION_CLASS', 'tagCLSCTX', '_VARENUM', 'FS_INFORMATION_CLASS', 'BG_JOB_TYPE', 'tag_WBEM_GENERIC_FLAG_TYPE', 'ALPC_PORT_INFORMATION_CLASS', 'tag_WBEM_CHANGE_FLAG_TYPE', '_SC_ENUM_TYPE', '_IO_PRIORITY_HINT', 'PSID_NAME_USE', 'IMAGEHLP_SYMBOL_TYPE_INFO', '_BG_JOB_PRIORITY', 'NET_FW_MODIFY_STATE_', 'NET_FW_PROFILE_TYPE2', '_ALPC_PORT_INFORMATION_CLASS', '_INTERNAL_IF_OPER_STATUS', 'SC_STATUS_TYPE', 'PTHREAD_INFORMATION_CLASS', 'NET_FW_IP_PROTOCOL_', 'tagTYPEKIND', 'BG_ERROR_CONTEXT', 'PFILE_INFORMATION_CLASS', '_BG_JOB_TYPE', 'VARENUM', 'INTERNAL_IF_OPER_STATUS', 'TYPEKIND', 'SE_OBJECT_TYPE', 'SC_ENUM_TYPE', '_BG_JOB_STATE', '_MEMORY_INFORMATION_CLASS', 'UDP_TABLE_CLASS', 'PROCESS_INFORMATION_CLASS', 'CLSCTX', 'IO_PRIORITY_HINT', '_SECURITY_IMPERSONATION_LEVEL', 'MIB_TCP_STATE', '_SC_STATUS_TYPE', '_SE_OBJECT_TYPE', '_UDP_TABLE_CLASS', '_PROCESSINFOCLASS', '_BG_ERROR_CONTEXT', 'PTOKEN_INFORMATION_CLASS', 'BG_JOB_PRIORITY', 'PALPC_MESSAGE_INFORMATION_CLASS', 'tag_WBEMSTATUS', 'SECURITY_IMPERSONATION_LEVEL', 'TOKEN_INFORMATION_CLASS', 'COINIT', 'tag_WBEM_TIMEOUT_TYPE', 'THREAD_INFORMATION_CLASS', 'NET_FW_RULE_DIRECTION', '_TOKEN_INFORMATION_CLASS', 'tagCOINIT', 'NET_FW_ACTION', 'NET_FW_PROFILE_TYPE2_', '_FS_INFORMATION_CLASS', 'OBJECT_INFORMATION_CLASS', 'ALPC_MESSAGE_INFORMATION_CLASS', '_ALPC_MESSAGE_INFORMATION_CLASS', 'PROCESSINFOCLASS', 'SECTION_INHERIT', '_SYSTEM_INFORMATION_CLASS', 'SYSTEM_INFORMATION_CLASS', 'RTL_PATH_TYPE', '_SECTION_INHERIT', 'PSECURITY_IMPERSONATION_LEVEL', 'SID_NAME_USE', 'MEMORY_INFORMATION_CLASS', '_SID_NAME_USE', 'WBEM_GENERIC_FLAG_TYPE', 'NET_FW_MODIFY_STATE', 'NET_FW_RULE_DIRECTION_', 'BG_JOB_STATE', '_TCP_TABLE_CLASS', 'WBEM_TIMEOUT_TYPE', 'FILE_INFORMATION_CLASS', '_FILE_INFORMATION_CLASS', 'NET_FW_ACTION_', '_WELL_KNOWN_SID_TYPE', '_RTL_PATH_TYPE', 'WBEM_CHANGE_FLAG_TYPE', 'TCP_TABLE_CLASS', '_MIB_TCP_STATE', 'WBEMSTATUS', '_OBJECT_INFORMATION_CLASS', 'WELL_KNOWN_SID_TYPE', 'NET_FW_IP_PROTOCOL']) -structs = set(['PFILE_ALIGNMENT_INFORMATION', 'PCRYPT_ATTRIBUTE_TYPE_VALUE', '_DEBUG_STACK_FRAME', 'CERT_INFO', 'PCRYPT_ATTRIBUTES', 'MIB_UDPTABLE_OWNER_PID', '_FILE_FS_LABEL_INFORMATION', 'CRYPT_KEY_PROV_PARAM', 'PORT_MESSAGE_TMP_UNION', 'DEBUG_PROCESSOR_IDENTIFICATION_IA64', 'LPUNLOAD_DLL_DEBUG_INFO', '_FILE_FS_VOLUME_INFORMATION', 'PACCESS_DENIED_CALLBACK_ACE', 'LPEXCEPTION_DEBUG_INFO', '__tagVARIANT', 'PCERT_INFO', '_CERT_TRUST_LIST_INFO', 'API_SET_VALUE_ARRAY_V4', '_ALPC_MESSAGE_ATTRIBUTES', 'PALPC_PORT_ATTRIBUTES64', '_MIB_IFTABLE', 'CURDIR', 'NPRGBTRIPLE', 'LPRIP_INFO', '__PUBLIC_OBJECT_TYPE_INFORMATION', 'FILE_FS_VOLUME_INFORMATION', 'IP_ADAPTER_INDEX_MAP', 'PANSI_STRING', 'PRTL_UNLOAD_EVENT_TRACE64', 'PALPC_TOKEN_ATTR', '_ALPC_PORT_ATTRIBUTES64', '_PSAPI_WORKING_SET_EX_BLOCK32', 'CRYPT_UINT_BLOB', 'PRTL_RELATIVE_NAME_U', '_RIP_INFO', 'LOAD_DLL_DEBUG_INFO', '_SYSTEMTIME', 'PCERT_RDN_VALUE_BLOB', 'PPSAPI_WORKING_SET_EX_INFORMATION', '_FILE_IO_PRIORITY_HINT_INFORMATION', 'SERVICE_STATUS', 'API_SET_NAMESPACE_ARRAY_V4', 'API_SET_NAMESPACE_ARRAY_V2', 'PDEBUG_REGISTER_DESCRIPTION', 'GUID', 'PDEBUG_MODULE_AND_ID', 'SYSTEM_HANDLE_INFORMATION', 'PUNICODE_STRING', 'PBITMAPCOREINFO', 'CRL_CONTEXT', 'SERVICE_STATUS_PROCESS', 'WINTRUST_FILE_INFO_', 'PIMAGE_OPTIONAL_HEADER32', 'PBITMAP', '_CMSG_SIGNER_INFO', '_IP_INTERFACE_INFO', 'SYSTEM_MANDATORY_LABEL_ACE', 'PSPC_SP_OPUS_INFO', 'ALPC_DIRECT_ATTR64', '_IMAGE_OPTIONAL_HEADER', 'XSAVE_FORMAT_32', 'LPCONTEXT64', '_LOAD_DLL_DEBUG_INFO', 'PFILE_ALL_INFORMATION', 'PALPC_CONTEXT_ATTR', 'PDEBUG_PROCESSOR_IDENTIFICATION_ALL', 'FILE_EA_INFORMATION', 'LPJIT_DEBUG_INFO', 'PXSAVE_FORMAT_32', '_MIB_TCP6ROW_OWNER_PID', 'ALPC_CONTEXT_ATTR64', '_FILE_NAME_INFORMATION', '_CRYPT_KEY_PROV_PARAM', 'PACE_HEADER', '_ALPC_CONTEXT_ATTR', 'WINTRUST_CATALOG_INFO_', '_DEBUG_OFFSET_REGION', 'PROCESS_BASIC_INFORMATION', 'CTL_INFO', '_FILE_ALL_INFORMATION', 'BG_FILE_INFO', 'OSVERSIONINFOW', 'LPSECURITY_ATTRIBUTES', 'FILE_FS_DEVICE_INFORMATION', 'OSVERSIONINFOA', 'EXCEPTION_POINTERS64', '_PSAPI_WORKING_SET_BLOCK64', 'BG_FILE_PROGRESS', 'PFILE_MODE_INFORMATION', 'EXCEPINFO', 'PBITMAPFILEHEADER', '_DEBUG_LAST_EVENT_INFO_EXCEPTION', 'PMIB_IFROW', 'LPLOAD_DLL_DEBUG_INFO', 'PCRYPT_BIT_BLOB', 'PSIP_INDIRECT_DATA', 'PFILE_FS_SIZE_INFORMATION', '_DEBUG_SYMBOL_ENTRY', 'PPROCESS_BASIC_INFORMATION', 'SPC_LINK_', 'PFILE_FS_OBJECTID_INFORMATION', '_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE', '_UNLOAD_DLL_DEBUG_INFO', 'PFILE_POSITION_INFORMATION', '_FILE_FS_SIZE_INFORMATION', '_JIT_DEBUG_INFO', '_DEBUG_EVENT', 'CONTEXT32', 'LPBITMAPFILEHEADER', 'PMIB_UDPROW_OWNER_PID', 'FILE_ATTRIBUTE_TAG_INFORMATION', 'LPEXIT_THREAD_DEBUG_INFO', 'PSYMBOL_INFO', 'PUBLIC_OBJECT_BASIC_INFORMATION', 'FILE_FS_CONTROL_INFORMATION', '_ALPC_SERVER_INFORMATION_TMP_IN', 'ACCESS_DENIED_CALLBACK_ACE', '_DEBUG_SPECIFIC_FILTER_PARAMETERS', '_CRL_ENTRY', '_SYSTEM_MODULE64', 'BITMAPCOREINFO', 'PPROCESSENTRY32', 'DEBUG_VALUE_TMP_UNION', 'BITMAPINFOHEADER', 'WINTRUST_FILE_INFO', 'FILE_STANDARD_INFORMATION', 'REFGUID', '_SERVICE_STATUS_PROCESS', 'TOKEN_PRIVILEGES', 'PMIB_TCPTABLE_OWNER_PID', 'REFIID', 'PFILE_FS_DRIVER_PATH_INFORMATION', 'POSVERSIONINFOEXA', '_CREATE_THREAD_DEBUG_INFO', 'PFILE_IS_REMOTE_DEVICE_INFORMATION', 'MIB_IPADDRROW_XP', 'MEMORY_BASIC_INFORMATION32', 'SECURITY_ATTRIBUTES', 'IMAGE_NT_HEADERS32', '_IMAGE_IMPORT_BY_NAME', 'PALPC_SECURITY_ATTR64', 'PALPC_HANDLE_ATTR32', 'PIMAGE_EXPORT_DIRECTORY', 'MIB_TCPTABLE_OWNER_PID', 'LPDEBUG_EVENT', 'PACCESS_DENIED_OBJECT_ACE', 'DISPPARAMS', 'LPCREATE_PROCESS_DEBUG_INFO', 'PCRYPTCATMEMBER', 'ALPC_HANDLE_ATTR', 'FILE_IO_PRIORITY_HINT_INFORMATION', 'CRYPT_DIGEST_BLOB', 'tagBITMAP', 'tagBITMAPINFOHEADER', '_ACCESS_DENIED_OBJECT_ACE', 'PDEBUG_PROCESSOR_IDENTIFICATION_ARM', '_ACCESS_ALLOWED_ACE', 'RTL_RELATIVE_NAME_U', '_ALPC_DIRECT_ATTR32', 'PCCTL_CONTEXT', 'CTL_ENTRY', 'LPBITMAPCOREINFO', 'PCRL_INFO', '_ALPC_TOKEN_ATTR', 'CRYPT_ENCRYPT_MESSAGE_PARA', 'CERT_CHAIN_PARA', '_STARTUPINFOEXW', '_MIB_TCPROW', 'STARTUPINFOEXW', '_DEBUG_PROCESSOR_IDENTIFICATION_X86', 'PPORT_MESSAGE32', 'PALPC_DATA_VIEW_ATTR32', '_DEBUG_PROCESSOR_IDENTIFICATION_ALL', '_IMAGE_NT_HEADERS', 'STARTUPINFOEXA', 'PFILE_ACCESS_INFORMATION', 'PMIB_UDP6TABLE_OWNER_PID', 'MIB_IPADDRROW', '_RPC_IF_ID', 'SOLE_AUTHENTICATION_SERVICE', '_API_SET_NAMESPACE_ARRAY', 'PSPC_SERIALIZED_OBJECT', 'FILE_MODE_INFORMATION', 'ACCESS_ALLOWED_CALLBACK_OBJECT_ACE', '_TMP_lowmid', 'WINTRUST_BLOB_INFO', '_CLIENT_ID32', 'PALPC_DIRECT_ATTR32', 'PCRYPT_ATTR_BLOB', 'ALPC_SERVER_INFORMATION_TMP_IN', 'PPSAPI_WORKING_SET_INFORMATION32', 'PCTL_CONTEXT', 'PPUBLIC_OBJECT_BASIC_INFORMATION', 'REFCLSID', '_SECURITY_ATTRIBUTES', 'PCRL_CONTEXT', 'LSA_UNICODE_STRING', 'PCRYPT_UINT_BLOB', '_CRL_CONTEXT', 'OBJECT_DIRECTORY_INFORMATION', '_ALPC_DIRECT_ATTR', '_LUID', 'IID', 'CLIENT_ID32', 'SPC_SERIALIZED_OBJECT', 'CRYPTCATATTRIBUTE_', 'ALPC_DIRECT_ATTR', '_API_SET_NAMESPACE_ENTRY_V4', 'PDEBUG_SYMBOL_ENTRY', 'PCERT_KEY_CONTEXT', 'LPTHREADENTRY32', 'CATALOG_INFO_', 'PSTRING', 'SAFEARRAY', '_ALPC_SECURITY_ATTR', 'PPSAPI_WORKING_SET_BLOCK64', 'PAPI_SET_NAMESPACE_ENTRY_V2', 'PCANSI_STRING', '_MIB_TCPROW_OWNER_PID', '_CREATE_PROCESS_DEBUG_INFO', 'PDEBUG_MODULE_PARAMETERS', 'IO_STATUS_BLOCK', 'PTOKEN_MANDATORY_LABEL', '_API_SET_NAMESPACE_ENTRY_V2', 'EXIT_THREAD_DEBUG_INFO', 'PSID_AND_ATTRIBUTES', 'ALPC_SECURITY_ATTR32', '_API_SET_VALUE_ARRAY_V2', 'CRYPTCATMEMBER', 'ALPC_DATA_VIEW_ATTR32', 'API_SET_NAMESPACE_ENTRY_V6', '_API_SET_VALUE_ARRAY_V4', 'API_SET_NAMESPACE_ENTRY_V4', '_API_SET_NAMESPACE_ARRAY_V4', '_IMAGE_NT_HEADERS64', 'PCRYPT_KEY_PROV_INFO', '_API_SET_NAMESPACE_ARRAY_V2', '_DEBUG_VALUE_TMP_SUBSTRUCT2', 'DEBUG_LAST_EVENT_INFO_EXCEPTION', '_DEBUG_VALUE_TMP_SUBSTRUCT1', 'EXCEPTION_POINTERS32', '_TMP_UNION_DEBUG_INFO', 'PFILE_IO_PRIORITY_HINT_INFORMATION', 'PCERT_CHAIN_ELEMENT', 'RTL_OSVERSIONINFOEXW', 'PMEMORY_BASIC_INFORMATION', 'PMEMORY_BASIC_INFORMATION32', 'ALPC_SECURITY_ATTR64', '_IMAGE_DATA_DIRECTORY', 'TMP_UNION_DEBUG_INFO', '_ANON_PEB_SYSTEM_DEPENDENT_03', '_ANON_PEB_SYSTEM_DEPENDENT_02', 'OBJECT_ATTRIBUTES', 'PCRYPT_DATA_BLOB', '_ANON_PEB_SYSTEM_DEPENDENT_07', '_ANON_PEB_SYSTEM_DEPENDENT_06', '_THREAD_BASIC_INFORMATION', 'PBITMAPINFOHEADER', '_PORT_MESSAGE32_TMP_UNION', 'LPCREATE_THREAD_DEBUG_INFO', 'PCRYPT_DER_BLOB', 'PALPC_DIRECT_ATTR64', 'tagTHREADENTRY32', 'PDEBUG_SYMBOL_SOURCE_ENTRY', 'PFILE_INTERNAL_INFORMATION', 'PCTL_USAGE', 'PFILE_FS_SECTOR_SIZE_INFORMATION', 'PSYSTEM_HANDLE_INFORMATION', 'DEBUG_OFFSET_REGION', '_EVENTLOGRECORD', 'EXCEPTION_DEBUG_INFO', 'PFILE_FS_DEVICE_INFORMATION', 'PSAPI_WORKING_SET_BLOCK64', 'PSYSTEM_MODULE_INFORMATION32', 'PCERT_ENHKEY_USAGE', '_OSVERSIONINFOW', 'PALPC_CONTEXT_ATTR64', 'PRTL_USER_PROCESS_PARAMETERS', 'PCRYPTCATATTRIBUTE', '_SYSTEM_MODULE_INFORMATION32', 'CERT_ENHKEY_USAGE', '_CERT_REVOCATION_CRL_INFO', 'PFILE_FS_FULL_SIZE_INFORMATION', 'PALPC_HANDLE_ATTR', '_OSVERSIONINFOA', 'CERT_REVOCATION_CRL_INFO', 'PSAPI_WORKING_SET_BLOCK', 'PSPC_LINK', 'PBITMAPINFO', 'PRGBTRIPLE', 'FLOATING_SAVE_AREA', 'LPSTARTUPINFOEXA', 'PROCESSENTRY32', 'PWINTRUST_CERT_INFO', 'LUID_AND_ATTRIBUTES', 'PCCERT_CHAIN_ELEMENT', '_CERT_USAGE_MATCH', 'IMAGE_NT_HEADERS64', 'tagEXCEPINFO', 'CREATE_THREAD_DEBUG_INFO', 'LPSTARTUPINFOEXW', '_CRYPT_DECRYPT_MESSAGE_PARA', '_MIB_IFROW', 'PCERT_SIMPLE_CHAIN', '_MIB_TCPTABLE_OWNER_PID', '_ACCESS_ALLOWED_OBJECT_ACE', '_TMP_UNION_IO_STATUS_BLOCK', '_MEMORY_BASIC_INFORMATION', 'PRTL_OSVERSIONINFOEXW', '_CERT_CHAIN_PARA', 'PMIB_TCPROW_OWNER_PID', 'BG_JOB_TIMES', '_SYSTEM_VERIFIER_INFORMATION', '_TMP_WINTRUST_UNION_TYPE', 'PACL', 'RPC_IF_ID', '_CONTEXT32', 'CERT_EXTENSION', '_PORT_MESSAGE64', '_EXCEPTION_POINTERS32', '_EXCEPTION_DEBUG_INFO', 'PIMAGE_SECTION_HEADER', '_PEB_LDR_DATA', '_TMP_DUMMYSTRUCTNAME', 'SYSTEM_MODULE32', 'PCERT_PUBLIC_KEY_INFO', 'CRYPT_ATTRIBUTES', 'CRYPTCATATTRIBUTE', '_RTL_RELATIVE_NAME_U', '_DEBUG_EXCEPTION_FILTER_PARAMETERS', '_TOKEN_ELEVATION', '_GUID', 'ACCESS_ALLOWED_OBJECT_ACE', 'PCERT_REVOCATION_INFO', 'PCRYPT_DECRYPT_MESSAGE_PARA', '_MODLOAD_DATA', 'PCERT_CHAIN_CONTEXT', 'PPSAPI_WORKING_SET_INFORMATION64', 'MIB_TCP6ROW_OWNER_PID', 'THREAD_BASIC_INFORMATION', 'SID_IDENTIFIER_AUTHORITY', 'ALPC_DATA_VIEW_ATTR64', '_FILE_FS_FULL_SIZE_INFORMATION', 'ALPC_PORT_ATTRIBUTES64', '_OVERLAPPED', 'OVERLAPPED', 'ALPC_DATA_VIEW_ATTR', 'RTL_OSVERSIONINFOW', 'IMAGE_IMPORT_BY_NAME', '_ALPC_DATA_VIEW_ATTR64', 'RGBTRIPLE', 'PFILE_FS_VOLUME_INFORMATION', '_STARTUPINFOEXA', '_SYMBOL_INFO', 'API_SET_VALUE_ARRAY_V2', '_IMAGE_IMPORT_DESCRIPTOR', 'ENUM_SERVICE_STATUS_PROCESSA', 'PSOLE_AUTHENTICATION_SERVICE', '_TOKEN_MANDATORY_LABEL', '_DEBUG_VALUE_TMP_SUBSTRUCT3', 'TMP_lowmid_union', 'CLIENT_ID64', '_MIB_UDPTABLE_OWNER_PID', 'CERT_USAGE_MATCH', 'DEBUG_MODULE_PARAMETERS', 'PMODLOAD_DATA', 'tagPROCESSENTRY32', 'SYSTEM_MODULE_INFORMATION32', 'LPEVENTLOG_FULL_INFORMATION', '_FILE_ACCESS_INFORMATION', 'PACCESS_ALLOWED_OBJECT_ACE', 'API_SET_NAMESPACE_V6', '_API_SET_NAMESPACE_V6', 'DEBUG_PROCESSOR_IDENTIFICATION_X86', 'PMIB_UDPTABLE_OWNER_PID', 'ACCESS_DENIED_ACE', '_OBJECT_DIRECTORY_INFORMATION', 'PIMAGE_DATA_DIRECTORY', 'PPSAPI_WORKING_SET_EX_BLOCK32', '_ALPC_DIRECT_ATTR64', 'THREADENTRY32', 'CRL_INFO', '_ALPC_HANDLE_ATTR64', '_PUBLIC_OBJECT_BASIC_INFORMATION', 'PPSAPI_WORKING_SET_BLOCK32', '_MIB_TCP6TABLE_OWNER_PID', '_CLIENT_ID', '_API_SET_NAMESPACE_ENTRY', '_CERT_INFO', 'MODLOAD_DATA', 'MIB_IFTABLE', '_ALPC_SECURITY_ATTR32', 'POBJECT_DIRECTORY_INFORMATION', 'SYSTEM_VERIFIER_INFORMATION', 'PEXCEPTION_RECORD32', 'LPVARIANT', 'API_SET_NAMESPACE_ENTRY_V2', 'ALPC_HANDLE_ATTR32', 'PPROCESSENTRY32W', 'DECIMAL', 'SID_AND_ATTRIBUTES', '_ACL', 'EXCEPTION_RECORD64', 'tagSOLE_AUTHENTICATION_SERVICE', '_ENUM_SERVICE_STATUS_PROCESSW', '_MIB_UDPROW_OWNER_PID', 'SYMBOL_INFO', '_CRYPT_ENCODE_PARA', 'PDEBUG_VALUE', 'PSAPI_WORKING_SET_BLOCK32', 'PACCESS_ALLOWED_ACE', 'PSYSTEM_MODULE_INFORMATION64', '_STARTUPINFOA', '_PORT_MESSAGE_TMP_SUBSTRUCT_S1', 'PALPC_DIRECT_ATTR', 'PDEBUG_LAST_EVENT_INFO_SYSTEM_ERROR', '_LUID_AND_ATTRIBUTES', 'PALPC_SECURITY_ATTR', 'DEBUG_LAST_EVENT_INFO_LOAD_MODULE', 'PCRYPT_DIGEST_BLOB', 'DEBUG_REGISTER_DESCRIPTION', 'PIMAGE_IMPORT_BY_NAME', 'PDEBUG_LAST_EVENT_INFO_EXCEPTION', 'SECURITY_QUALITY_OF_SERVICE', 'PPSAPI_WORKING_SET_INFORMATION', '_ALPC_HANDLE_ATTR', 'LPPROCESSENTRY32W', 'PFILE_FS_CONTROL_INFORMATION', 'PRLIST_ENTRY', 'POSVERSIONINFOA', 'PLIST_ENTRY', 'tagPROCESSENTRY32W', 'LUID', '_RTL_UNLOAD_EVENT_TRACE64', '_FILE_ATTRIBUTE_TAG_INFORMATION', 'TOKEN_USER', 'SIP_INDIRECT_DATA_', 'PCRYPT_OBJID_BLOB', 'CLIENT_ID', 'IMAGE_OPTIONAL_HEADER64', 'tagRGBTRIPLE', '_PSAPI_WORKING_SET_EX_BLOCK64', '_ENUM_SERVICE_STATUS_PROCESSA', 'PCRL_BLOB', 'PCERT_EXTENSIONS', 'PAPI_SET_VALUE_ENTRY', 'MIB_TCPROW', 'TMP_SPC_LINK_UNION', '_IMAGE_FILE_HEADER', '_RTLP_CURDIR_REF', 'LPOVERLAPPED', 'PALPC_DATA_VIEW_ATTR', 'PSID_IDENTIFIER_AUTHORITY', '_FILE_BASIC_INFORMATION', 'PLSA_UNICODE_STRING', '_CTL_INFO', 'PLDR_DATA_TABLE_ENTRY', 'PDEBUG_LAST_EVENT_INFO_LOAD_MODULE', 'PALPC_CONTEXT_ATTR32', 'MIB_UDP6TABLE_OWNER_PID', 'PIMAGE_NT_HEADERS32', 'STRING', 'LPSAFEARRAYBOUND', '_CERT_CHAIN_ELEMENT', 'PCONTEXT32', '_ACCESS_ALLOWED_CALLBACK_ACE', 'ACCESS_ALLOWED_CALLBACK_ACE', 'PMIB_UDP6ROW_OWNER_PID', 'CRL_BLOB', 'FILE_ACCESS_INFORMATION', 'BITMAPCOREHEADER', 'POBJECT_ATTRIBUTES', 'PFILE_BASIC_INFORMATION', 'PCERT_CHAIN_ENGINE_CONFIG', '_DEBUG_LAST_EVENT_INFO_BREAKPOINT', 'PTOKEN_ELEVATION', 'PFILE_EA_INFORMATION', '_CRL_INFO', 'WOW64_FLOATING_SAVE_AREA', '_LIST_ENTRY', '_PORT_MESSAGE32', 'PCERT_REVOCATION_CRL_INFO', 'ACCESS_ALLOWED_ACE', 'CERT_EXTENSIONS', '_BG_FILE_PROGRESS', 'PPSAPI_WORKING_SET_EX_BLOCK64', 'PDEBUG_BREAKPOINT_PARAMETERS', '_CTL_ENTRY', '_WOW64_FLOATING_SAVE_AREA', 'LPBITMAPINFOHEADER', '_IMAGE_OPTIONAL_HEADER64', '_SID_AND_ATTRIBUTES', 'MIB_IFROW', '_TOKEN_PRIVILEGES', 'FILE_FS_SECTOR_SIZE_INFORMATION', '_PROCESS_INFORMATION', '_CERT_CHAIN_CONTEXT', '_SYSTEM_HANDLE_INFORMATION', '_MIB_UDP6ROW_OWNER_PID', 'LPSTARTUPINFOW', 'EVENTLOGRECORD', '_LSA_UNICODE_STRING', '_MIB_IPADDRTABLE', '_FILE_MODE_INFORMATION', 'PM128A', 'LPSTARTUPINFOA', 'PAPI_SET_NAMESPACE_ARRAY_V4', 'PPSAPI_WORKING_SET_EX_BLOCK', 'ALPC_PORT_ATTRIBUTES32', '_FILE_FS_ATTRIBUTE_INFORMATION', 'DEBUG_SYMBOL_ENTRY', 'PAPI_SET_NAMESPACE_ARRAY_V2', '_WOW64_CONTEXT', 'LPBITMAPINFO', 'PWINTRUST_CATALOG_INFO', 'PFILE_NAME_INFORMATION', '_CRYPT_ATTRIBUTES', 'DEBUG_BREAKPOINT_PARAMETERS', 'PAPI_SET_VALUE_ARRAY_V2', 'CREATE_PROCESS_DEBUG_INFO', '_EXIT_THREAD_DEBUG_INFO', 'tagDISPPARAMS', 'PIP_INTERFACE_INFO', 'PFILE_ATTRIBUTE_TAG_INFORMATION', '_ANON_PEB_UNION_1', '_ANON_PEB_UNION_2', 'PMIB_TCP6TABLE_OWNER_PID', 'ALPC_SERVER_INFORMATION_TMP_OUT', 'WINTRUST_SGNR_INFO', 'PCMSG_SIGNER_INFO', 'PALPC_HANDLE_ATTR64', '_CRYPT_KEY_PROV_INFO', 'FILE_ALIGNMENT_INFORMATION', 'PRTL_UNLOAD_EVENT_TRACE', 'PSECURITY_ATTRIBUTES', 'MEMORY_BASIC_INFORMATION64', '_API_SET_NAMESPACE_ENTRY_V6', 'BITMAPINFO', '_XSAVE_FORMAT_32', 'CERT_CONTEXT', 'PRTLP_CURDIR_REF', '_OUTPUT_DEBUG_STRING_INFO', 'PDEBUG_PROCESSOR_IDENTIFICATION_AMD64', 'PPEB', 'PRTL_DRIVE_LETTER_CURDIR', '_PORT_MESSAGE64_TMP_UNION', 'PDEBUG_LAST_EVENT_INFO_EXIT_THREAD', '_CRYPT_ATTRIBUTE', 'SYSTEM_MODULE_INFORMATION64', 'tagSAFEARRAY', 'DEBUG_MODULE_AND_ID', '_DEBUG_LAST_EVENT_INFO_LOAD_MODULE', 'FILE_INTERNAL_INFORMATION', 'WINTRUST_BLOB_INFO_', 'PCERT_USAGE_MATCH', 'PWOW64_CONTEXT', 'CRYPT_BIT_BLOB', 'PIMAGE_IMPORT_DESCRIPTOR', 'DEBUG_EXCEPTION_FILTER_PARAMETERS', '_WINTRUST_DATA', 'DEBUG_LAST_EVENT_INFO_EXIT_THREAD', 'PCRYPT_ENCODE_PARA', '_FILE_FS_SECTOR_SIZE_INFORMATION', '_CRYPT_ENCRYPT_MESSAGE_PARA', '_CERT_KEY_CONTEXT', 'PDEBUG_OFFSET_REGION', '_IP_ADAPTER_INDEX_MAP', 'PPROCESS_INSTRUMENTATION_CALLBACK_INFORMATION', 'MIB_TCPROW_OWNER_PID', 'CRYPT_KEY_PROV_INFO', 'FILE_NETWORK_OPEN_INFORMATION', '_ALPC_PORT_ATTRIBUTES32', 'PMIB_TCP6ROW_OWNER_PID', 'PROCESS_INFORMATION', 'PWINTRUST_SGNR_INFO', 'BITMAPFILEHEADER', 'CONTEXT64', 'PAPI_SET_VALUE_ENTRY_V2', 'RTL_DRIVE_LETTER_CURDIR', 'JIT_DEBUG_INFO', '_ALPC_WORK_ON_BEHALF_ATTR', 'IMAGE_IMPORT_DESCRIPTOR', 'LPRGBTRIPLE', 'PEXCEPTION_RECORD64', 'PCERT_NAME_BLOB', 'PLUID', 'CRYPT_DECRYPT_MESSAGE_PARA', '_CERT_EXTENSIONS', 'WINTRUST_CATALOG_INFO', 'PCCERT_SIMPLE_CHAIN', 'SPC_LINK', 'PMIB_IFTABLE', 'IMAGE_OPTIONAL_HEADER32', '_SECURITY_QUALITY_OF_SERVICE', 'CRYPT_HASH_BLOB', '_DEBUG_PROCESSOR_IDENTIFICATION_IA64', 'PCCERT_CHAIN_CONTEXT', 'LPSERVICE_STATUS', 'PAPI_SET_NAMESPACE_ENTRY', '_CERT_REVOCATION_INFO', 'PCRYPT_ALGORITHM_IDENTIFIER', '_DEBUG_LAST_EVENT_INFO_UNLOAD_MODULE', '_PSAPI_WORKING_SET_EX_INFORMATION', 'LPOUTPUT_DEBUG_STRING_INFO', 'PPSAPI_WORKING_SET_BLOCK', 'CERT_BLOB', 'PEXCEPTION_POINTERS64', 'WINTRUST_CERT_INFO_', 'PCTL_INFO', 'CERT_SIMPLE_CHAIN', '_FILE_EA_INFORMATION', '_RTL_UNLOAD_EVENT_TRACE32', 'PSYSTEMTIME', '_PSAPI_WORKING_SET_EX_INFORMATION64', 'IMAGE_FILE_HEADER', '_MIB_IPADDRROW_XP', 'UNICODE_STRING', '_MEMORY_BASIC_INFORMATION64', 'PCERT_TRUST_STATUS', 'PAPI_SET_NAMESPACE_ENTRY_V4', '_CTL_CONTEXT', '_DEBUG_REGISTER_DESCRIPTION', 'TOKEN_MANDATORY_LABEL', 'PEVENTLOGRECORD', 'PSAPI_WORKING_SET_EX_BLOCK64', '_ACCESS_DENIED_ACE', '_IMAGE_EXPORT_DIRECTORY', 'PFILE_FS_LABEL_INFORMATION', 'FILE_BASIC_INFORMATION', '_DEBUG_LAST_EVENT_INFO_EXIT_PROCESS', 'DEBUG_LAST_EVENT_INFO_BREAKPOINT', 'DEBUG_LAST_EVENT_INFO_EXIT_PROCESS', 'PAPI_SET_NAMESPACE_ARRAY', 'tagBITMAPCOREHEADER', 'PSYSTEM_MANDATORY_LABEL_ACE', 'PEB', 'ALPC_SECURITY_ATTR', '_FILE_FS_CONTROL_INFORMATION', '_SERVICE_STATUS', 'PPSAPI_WORKING_SET_EX_INFORMATION32', 'DEBUG_SYMBOL_SOURCE_ENTRY', 'CMSG_SIGNER_INFO', '_SYSTEM_MANDATORY_LABEL_ACE', 'RTL_UNLOAD_EVENT_TRACE32', 'PSYSTEM_VERIFIER_INFORMATION', 'PRTL_UNLOAD_EVENT_TRACE32', '_CERT_PUBLIC_KEY_INFO', 'ENUM_SERVICE_STATUS_PROCESSW', '_DEBUG_BREAKPOINT_PARAMETERS', 'PIMAGE_NT_HEADERS64', 'PXSAVE_FORMAT_64', 'PBITMAPCOREHEADER', '_DEBUG_LAST_EVENT_INFO_SYSTEM_ERROR', 'PCRYPT_ATTRIBUTE', 'IMAGE_EXPORT_DIRECTORY', 'XSAVE_FORMAT_64', 'PIP_ADAPTER_INDEX_MAP', '_CERT_SIMPLE_CHAIN', 'CERT_KEY_CONTEXT', 'PCERT_TRUST_LIST_INFO', 'PMEMORY_BASIC_INFORMATION64', '_FILE_INTERNAL_INFORMATION', 'VARIANT', '_OBJECT_ATTRIBUTES', 'CERT_RDN_VALUE_BLOB', '_SPC_SERIALIZED_OBJECT', '_tagVARIANT', 'CRYPT_ATTRIBUTE', 'BG_JOB_PROGRESS', 'CERT_TRUST_LIST_INFO', 'PCRYPT_ENCRYPT_MESSAGE_PARA', 'FILE_FS_OBJECTID_INFORMATION', '_PSAPI_WORKING_SET_BLOCK32', '_PSAPI_WORKING_SET_INFORMATION32', 'PDEBUG_STACK_FRAME', 'DEBUG_LAST_EVENT_INFO_SYSTEM_ERROR', '_FILE_FS_OBJECTID_INFORMATION', 'LIST_ENTRY', 'M128A', 'PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION', 'CTL_USAGE', '_FILE_ALIGNMENT_INFORMATION', '_DEBUG_PROCESSOR_IDENTIFICATION_ALPHA', 'PFILE_FS_ATTRIBUTE_INFORMATION', '_XSAVE_FORMAT_64', '_DEBUG_LAST_EVENT_INFO_EXIT_THREAD', '_RTL_UNLOAD_EVENT_TRACE', 'SIP_INDIRECT_DATA', 'RTLP_CURDIR_REF', 'PMIB_IPADDRTABLE', '_PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION', '_PEB', '_OSVERSIONINFOEXW', '_DEBUG_MODULE_AND_ID', 'PCURDIR', '_FLOATING_SAVE_AREA', 'CATALOG_INFO', '_SYSTEM_MODULE32', 'MEMORY_BASIC_INFORMATION', '_OSVERSIONINFOEXA', 'POSVERSIONINFOW', 'PCRYPT_INTEGER_BLOB', 'PCERT_BLOB', '_ALPC_CONTEXT_ATTR32', 'PPUBLIC_OBJECT_TYPE_INFORMATION', '_PORT_MESSAGE_TMP_UNION_U2', '_CERT_CHAIN_ENGINE_CONFIG', '_PORT_MESSAGE_TMP_UNION_U1', '_tagBRECORD', '_LDR_DATA_TABLE_ENTRY', '_PSAPI_WORKING_SET_INFORMATION', 'DEBUG_PROCESSOR_IDENTIFICATION_ALPHA', 'CERT_CHAIN_CONTEXT', 'PALPC_MESSAGE_ATTRIBUTES', 'PTHREADENTRY32', 'DEBUG_VALUE', 'PSAPI_WORKING_SET_EX_INFORMATION32', 'DEBUG_PROCESSOR_IDENTIFICATION_ALL', '_DEBUG_VALUE', 'PDEBUG_PROCESSOR_IDENTIFICATION_IA64', 'PORT_MESSAGE32', 'CRYPT_OBJID_BLOB', 'PROCESSENTRY32W', 'PALPC_DATA_VIEW_ATTR64', '_EXCEPTION_RECORD64', 'PALPC_SECURITY_ATTR32', '_STARTUPINFOW', '_CRYPT_BIT_BLOB', 'CERT_TRUST_STATUS', '_EXCEPTION_POINTERS64', 'FILE_IS_REMOTE_DEVICE_INFORMATION', 'PDEBUG_SYMBOL_PARAMETERS', 'CERT_CHAIN_ENGINE_CONFIG', 'CRL_ENTRY', '_PSAPI_WORKING_SET_INFORMATION64', 'PSAPI_WORKING_SET_EX_INFORMATION', 'PTOKEN_USER', 'PDEBUG_LAST_EVENT_INFO_UNLOAD_MODULE', 'DEBUG_PROCESSOR_IDENTIFICATION_ARM', 'LPPROCESSENTRY32', 'IP_INTERFACE_INFO', '_PSAPI_WORKING_SET_EX_INFORMATION32', 'ALPC_CONTEXT_ATTR32', 'RGBQUAD', '_TMP_signscale', 'TMP_DUMMYSTRUCTNAME', 'LPEXIT_PROCESS_DEBUG_INFO', 'FILE_FS_ATTRIBUTE_INFORMATION', 'EXCEPTION_RECORD', '_DEBUG_PROCESSOR_IDENTIFICATION_AMD64', '_ALPC_SERVER_INFORMATION_TMP_OUT', 'TMP_signscale_union', 'CRYPT_ATTRIBUTE_TYPE_VALUE', '_MEMORY_BASIC_INFORMATION32', 'PSAPI_WORKING_SET_EX_BLOCK', 'PEXCEPTION_POINTERS32', 'PSECURITY_QUALITY_OF_SERVICE', 'PTHREAD_BASIC_INFORMATION', 'DEBUG_PROCESSOR_IDENTIFICATION_AMD64', 'PUBLIC_OBJECT_TYPE_INFORMATION', '_CURDIR', 'LPVARIANTARG', 'ALPC_HANDLE_ATTR64', '_FILE_IS_REMOTE_DEVICE_INFORMATION', 'API_SET_NAMESPACE_ENTRY', 'CERT_REVOCATION_INFO', 'ALPC_CONTEXT_ATTR', '_PROCESS_BASIC_INFORMATION', '_PSAPI_WORKING_SET_EX_BLOCK', 'CRYPT_DATA_BLOB', 'PEB_LDR_DATA', 'PWINTRUST_FILE_INFO', 'RTL_UNLOAD_EVENT_TRACE64', '_FILE_FS_DEVICE_INFORMATION', 'ALPC_MESSAGE_ATTRIBUTES', '_CRYPT_ALGORITHM_IDENTIFIER', 'RTL_UNLOAD_EVENT_TRACE', 'PACCESS_DENIED_ACE', 'PSAPI_WORKING_SET_INFORMATION32', '_CLIENT_ID64', 'ACCESS_DENIED_OBJECT_ACE', 'PWINTRUST_BLOB_INFO', '_TOKEN_USER', 'OUTPUT_DEBUG_STRING_INFO', 'tagSAFEARRAYBOUND', 'PPSAPI_WORKING_SET_EX_INFORMATION64', 'PALPC_PORT_ATTRIBUTES32', 'LPOSVERSIONINFOA', 'PCTL_ENTRY', 'FILE_ALL_INFORMATION', '_FILE_NETWORK_OPEN_INFORMATION', 'PSAPI_WORKING_SET_EX_BLOCK32', '_ALPC_HANDLE_ATTR32', '_FILE_STANDARD_INFORMATION', '_EXIT_PROCESS_DEBUG_INFO', 'LPOSVERSIONINFOW', 'ALPC_SERVER_INFORMATION', '_ACCESS_DENIED_CALLBACK_ACE', 'PEXCEPTION_RECORD', '_PORT_MESSAGE_TMP_SUBSTRUCT_S2', '_ALPC_SECURITY_ATTR64', 'IMAGE_DATA_DIRECTORY', '_ALPC_DATA_VIEW_ATTR32', 'BITMAP', 'FILE_FS_DRIVER_PATH_INFORMATION', '_FILE_FS_DRIVER_PATH_INFORMATION', 'MIB_IPADDRTABLE', 'PFILE_NETWORK_OPEN_INFORMATION', '_CRYPT_ATTRIBUTE_TYPE_VALUE', '_MIB_UDP6TABLE_OWNER_PID', 'PMIB_IPADDRROW_XP', 'PACCESS_ALLOWED_CALLBACK_OBJECT_ACE', 'PCERT_CHAIN_PARA', 'LPPROCESS_INFORMATION', 'EXIT_PROCESS_DEBUG_INFO', 'FILE_FS_FULL_SIZE_INFORMATION', '_TMP_SPC_LINK_UNION', 'ALPC_WORK_ON_BEHALF_ATTR', 'PCERT_EXTENSION', '_EVENTLOG_FULL_INFORMATION', 'PSYSTEM_MODULE64', 'tagBITMAPCOREINFO', 'MIB_UDPROW_OWNER_PID', 'VARIANTARG', 'PDEBUG_SPECIFIC_FILTER_PARAMETERS', 'PCRYPT_HASH_BLOB', '_CRYPTOAPI_BLOB', '_API_SET_VALUE_ENTRY', 'LPBITMAP', 'ALPC_DIRECT_ATTR32', '_TMP_CONTEXT64_SUBUNION', 'SAFEARRAYBOUND', 'LPGUID', '__tagBRECORD', '_FILE_POSITION_INFORMATION', '_PSAPI_WORKING_SET_BLOCK', 'API_SET_NAMESPACE_ARRAY', 'WINTRUST_CERT_INFO', 'tagRGBQUAD', 'PMIB_TCPROW', 'FILE_NAME_INFORMATION', 'TMP_variant_sub_union', '_ALPC_DATA_VIEW_ATTR', 'UNLOAD_DLL_DEBUG_INFO', 'EVENTLOG_FULL_INFORMATION', '_STRING', 'CRYPT_DER_BLOB', '_ALPC_CONTEXT_ATTR64', 'TMP_WINTRUST_UNION_TYPE', 'PPORT_MESSAGE64', 'PCONTEXT64', 'SYSTEMTIME', 'tagBITMAPFILEHEADER', 'SPC_SP_OPUS_INFO', '_RTL_DRIVE_LETTER_CURDIR', 'PIMAGE_OPTIONAL_HEADER64', 'CERT_PUBLIC_KEY_INFO', 'DEBUG_SPECIFIC_FILTER_PARAMETERS', 'IMAGE_SECTION_HEADER', 'ACL', 'API_SET_VALUE_ENTRY', 'WOW64_CONTEXT', '_DEBUG_VALUE_TMP_UNION', 'DEBUG_LAST_EVENT_INFO_UNLOAD_MODULE', 'PSAPI_WORKING_SET_EX_INFORMATION64', '_RTL_USER_PROCESS_PARAMETERS', 'PACCESS_ALLOWED_CALLBACK_ACE', 'PPROCESS_INFORMATION', 'TMP_CONTEXT64_SUBUNION', '_BG_JOB_TIMES', '_EXCEPTION_RECORD32', 'MIB_TCP6TABLE_OWNER_PID', 'LDR_DATA_TABLE_ENTRY', 'PDEBUG_LAST_EVENT_INFO_EXIT_PROCESS', '_CTL_USAGE', 'PCCRL_CONTEXT', 'LPOSVERSIONINFOEXW', '_SYSTEM_HANDLE', 'CERT_NAME_BLOB', 'PWINTRUST_DATA', 'PTOKEN_PRIVILEGES', 'CRYPTCATMEMBER_', '_CERT_CONTEXT', 'LPOSVERSIONINFOEXA', '_SYSTEM_MODULE_INFORMATION64', 'POSVERSIONINFOEXW', 'LPBITMAPCOREHEADER', 'STARTUPINFOA', 'DATA_BLOB', 'PCRYPT_KEY_PROV_PARAM', 'PPEB_LDR_DATA', 'tagDEC', 'STARTUPINFOW', 'EXCEPTION_RECORD32', '_CERT_EXTENSION', '_IO_STATUS_BLOCK', 'ALPC_TOKEN_ATTR', 'PLUID_AND_ATTRIBUTES', 'MIB_UDP6ROW_OWNER_PID', 'PDEBUG_PROCESSOR_IDENTIFICATION_ALPHA', 'RIP_INFO', 'PCERT_CONTEXT', '_CONTEXT64', '_SID_IDENTIFIER_AUTHORITY', 'FILE_FS_LABEL_INFORMATION', '_CERT_TRUST_STATUS', 'PORT_MESSAGE64', '_DEBUG_SYMBOL_PARAMETERS', 'SYSTEM_MODULE64', 'PDEBUG_EXCEPTION_FILTER_PARAMETERS', 'WINTRUST_DATA', 'SYSTEM_HANDLE', '_DEBUG_MODULE_PARAMETERS', '_ACE_HEADER', 'OSVERSIONINFOEXW', '_M128A', 'PCCERT_CONTEXT', 'CRYPT_INTEGER_BLOB', 'CTL_CONTEXT', 'PCRL_ENTRY', 'LPENUM_SERVICE_STATUS_PROCESSW', 'OSVERSIONINFOEXA', '_DEBUG_SYMBOL_SOURCE_ENTRY', 'PRTL_OSVERSIONINFOW', 'tagBITMAPINFO', 'LPENUM_SERVICE_STATUS_PROCESSA', 'PSAPI_WORKING_SET_INFORMATION64', 'CRYPT_ATTR_BLOB', '_API_SET_VALUE_ENTRY_V2', '_SPC_SP_OPUS_INFO', 'DEBUG_STACK_FRAME', 'PDEBUG_PROCESSOR_IDENTIFICATION_X86', 'PSAPI_WORKING_SET_INFORMATION', '_EXCEPTION_RECORD', 'DEBUG_VALUE_TMP_SUBSTRUCT1', 'PSYSTEM_MODULE32', 'TMP_UNION_IO_STATUS_BLOCK', 'LPCONTEXT32', 'FILE_POSITION_INFORMATION', '_IMAGE_SECTION_HEADER', '_BG_JOB_PROGRESS', 'DEBUG_EVENT', 'LPSERVICE_STATUS_PROCESS', 'PALPC_WORK_ON_BEHALF_ATTR', 'CRYPT_ENCODE_PARA', 'WINTRUST_SGNR_INFO_', 'PIO_STATUS_BLOCK', 'ACE_HEADER', '_DEBUG_PROCESSOR_IDENTIFICATION_ARM', 'PIMAGE_FILE_HEADER', 'RTL_USER_PROCESS_PARAMETERS', 'FILE_FS_SIZE_INFORMATION', 'TOKEN_ELEVATION', 'DEBUG_SYMBOL_PARAMETERS', 'PDEBUG_LAST_EVENT_INFO_BREAKPOINT', 'CRYPT_ALGORITHM_IDENTIFIER', 'API_SET_VALUE_ENTRY_V2', 'NPBITMAP', 'PDATA_BLOB', 'DEBUG_VALUE_TMP_SUBSTRUCT3', 'DEBUG_VALUE_TMP_SUBSTRUCT2', 'CERT_CHAIN_ELEMENT', 'PFILE_STANDARD_INFORMATION', '_BG_FILE_INFO']) -windef = set(['ERROR_BAD_NET_NAME', 'STANDARD_RIGHTS_WRITE', 'RRF_RT_REG_QWORD', 'ERROR_SYSTEM_SHUTDOWN', 'PROV_FORTEZZA', 'AF_HYLINK', 'ERROR_INVALID_VARIANT', 'CMSG_HASH_DATA_PARAM', 'IMAGE_SCN_LNK_REMOVE', 'CONTEXT_FULL', 'ERROR_CANTOPEN', 'CRYPT_ASN_ENCODING', 'EXCEPTION_FLT_UNDERFLOW', 'CMSG_CMS_RECIPIENT_INDEX_PARAM', 'ERROR_BAD_NETPATH', 'CERT_X500_NAME_STR', 'KEY_QUERY_VALUE', 'ERROR_NO_SPOOL_SPACE', 'CERT_QUERY_CONTENT_FLAG_PKCS10', 'ANYSIZE_ARRAY', 'szOID_OIWSEC_desEDE', 'AF_NS', 'ERROR_WOW_ASSERTION', 'DIGSIG_E_CRYPTO', 'ERROR_DBG_TERMINATE_THREAD', 'PAGE_EXECUTE_READ', 'SEC_COMMIT', 'ERROR_BAD_UNIT', 'SM_CXDOUBLECLK', 'ERROR_PAGE_FAULT_TRANSITION', 'ERROR_HANDLE_DISK_FULL', 'CERT_PUBKEY_ALG_PARA_PROP_ID', 'ERROR_PWD_HISTORY_CONFLICT', 'CERT_TRUST_HAS_KEY_MATCH_ISSUER', 'szOID_OIWSEC_mdc2RSA', 'ERROR_REGISTRY_CORRUPT', 'ERROR_PROCESS_NOT_IN_JOB', 'SC_MANAGER_ENUMERATE_SERVICE', 'SERVICE_STOP_PENDING', 'szOID_RSA_certExtensions', 'ERROR_INVALID_OPLOCK_PROTOCOL', 'EXCEPTION_ARRAY_BOUNDS_EXCEEDED', 'KEY_WOW64_32KEY', 'szOID_OIWSEC_desMAC', 'SM_IMMENABLED', 'CERT_E_VALIDITYPERIODNESTING', 'ERROR_NOTIFY_CLEANUP', 'FILE_OPEN_REQUIRING_OPLOCK', 'ERROR_RESOURCE_REQUIREMENTS_CHANGED', 'PAGE_WRITECOPY', 'RPC_RESPONSE_TYPE_FAIL', 'CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE', 'EXCEPTION_BREAKPOINT', 'szOID_ECC_PUBLIC_KEY', 'EXCEPTION_POSSIBLE_DEADLOCK', 'CMSG_VERSION_PARAM', 'szOID_X957_SHA1DSA', 'ERROR_INVALID_AT_INTERRUPT_TIME', 'TRUST_E_EXPLICIT_DISTRUST', 'FILE_FLAG_POSIX_SEMANTICS', 'SERVICE_CONTROL_DEVICEEVENT', 'ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED', 'RPC_RESPONSE_TYPE_BIND_OK', 'szOID_PKCS_8', 'szOID_PKCS_9', 'CRYPT_E_AUTH_ATTR_MISSING', 'szOID_PKCS_4', 'szOID_PKCS_5', 'szOID_PKCS_6', 'szOID_PKCS_7', 'szOID_PKCS_1', 'szOID_PKCS_2', 'szOID_PKCS_3', 'FILE_NOTIFY_CHANGE_SECURITY', 'FILE_ATTRIBUTE_REPARSE_POINT', 'ACCESS_MAX_MS_V4_ACE_TYPE', 'CERT_SYSTEM_STORE_LOCATION_SHIFT', 'ERROR_BACKUP_CONTROLLER', 'DEBUG_PROCESS', 'ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE', 'szOID_RSA_envelopedData', 'DEBUG_EVENT_CHANGE_DEBUGGEE_STATE', 'ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE', 'ERROR_NETNAME_DELETED', 'szOID_OIWDIR_HASH', 'CERT_NAME_EMAIL_TYPE', 'SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE', 'szOID_RSA_SMIMECapabilities', 'CERT_QUERY_CONTENT_FLAG_CERT_PAIR', 'ERROR_WAIT_63', 'ERROR_TIMER_RESUME_IGNORED', 'KEY_ENUMERATE_SUB_KEYS', 'IMAGE_SCN_MEM_WRITE', 'CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED', 'ERROR_INSUFFICIENT_LOGON_INFO', 'MS_DEF_PROV_A', 'ERROR_TRANSLATION_COMPLETE', 'IMAGE_FILE_MACHINE_EBC', 'CERT_SYSTEM_STORE_USERS_ID', 'FILE_CREATE_PIPE_INSTANCE', 'szOID_OIWSEC_desCFB', 'IMAGE_SCN_MEM_DISCARDABLE', 'MS_DEF_PROV_W', 'FILE_SUPPORTS_TRANSACTIONS', 'MEM_4MB_PAGES', 'PKCS_7_NDR_ENCODING', 'ERROR_IO_PENDING', 'CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY', 'API_SET_SCHEMA_ENTRY_FLAGS_SEALED', 'ERROR_DBG_EXCEPTION_HANDLED', 'ERROR_SIGNAL_PENDING', 'ERROR_NO_GUID_TRANSLATION', 'X509_CERT_CRL_TO_BE_SIGNED', 'EXCEPTION_INVALID_DISPOSITION', 'CMSG_ENCRYPTED_DIGEST', 'CERT_FIND_SUBJECT_INFO_ACCESS', 'LPC_CLIENT_DIED', 'AT_KEYEXCHANGE', 'CERT_IE30_RESERVED_PROP_ID', 'szOID_RSA_unstructAddr', 'THREAD_SUSPEND_RESUME', 'LPC_ERROR_EVENT', 'TH32CS_INHERIT', 'IMAGE_SCN_LNK_NRELOC_OVFL', 'szOID_RSA_DH', 'ERROR_ACPI_ERROR', 'szOID_RSA_HASH', 'IMAGE_SCN_MEM_SHARED', 'EXCEPTION_FLT_INEXACT_RESULT', 'SM_CXMINSPACING', 'FILE_SHARE_READ', 'ACCESS_DENIED_OBJECT_ACE_TYPE', 'INHERIT_PARENT_AFFINITY', 'OBJ_KERNEL_HANDLE', 'ERROR_VOLSNAP_HIBERNATE_READY', 'SW_SHOWNOACTIVATE', 'CERT_OID_NAME_STR', 'ERROR_FAIL_NOACTION_REBOOT', 'BIND_IF_SYNTAX_NDR64', 'CERT_FORTEZZA_DATA_PROP_ID', 'szOID_RSA_counterSign', 'CREATE_NEW_CONSOLE', 'X509_CERT', 'IMAGE_SCN_TYPE_GROUP', 'CERT_KEY_CONTEXT_PROP_ID', 'ANY_SIZE', 'WTD_STATEACTION_CLOSE', 'ERROR_WRITE_PROTECT', 'CERT_FIND_PUBKEY_MD5_HASH', 'szOID_INFOSEC_SuiteAConfidentiality', 'ERROR_LOST_WRITEBEHIND_DATA', 'CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID', 'SM_CYKANJIWINDOW', 'ERROR_SYSTEM_POWERSTATE_TRANSITION', 'CERT_KEY_SPEC_PROP_ID', 'SEC_WRITECOMBINE', 'DIRECTORY_TRAVERSE', 'SM_CYVIRTUALSCREEN', 'CERT_TRUST_HAS_PREFERRED_ISSUER', 'AF_IPX', 'FILE_EXISTS', 'X509_KEY_USAGE_RESTRICTION', 'SM_CYMAXTRACK', 'WTD_STATEACTION_IGNORE', 'CERT_TRUST_IS_EXPLICIT_DISTRUST', 'CERT_INFO_NOT_BEFORE_FLAG', 'API_SET_SCHEMA_FLAGS_SEALED', 'DIGSIG_E_DECODE', 'ERROR_TOO_MANY_CMDS', 'OBJ_CASE_INSENSITIVE', 'API_SET_SCHEMA_ENTRY_FLAGS_EXTENSION', 'THREAD_GET_CONTEXT', 'CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID', 'REG_RESOURCE_REQUIREMENTS_LIST', 'RPC_X_BAD_STUB_DATA', 'szOID_RSAES_OAEP', 'ERROR_FAIL_RESTART', 'ERROR_EA_TABLE_FULL', 'CERT_SYSTEM_STORE_SERVICES', 'MEM_RESET', 'DIGSIG_E_EXTENSIBILITY', 'EXCEPTION_FLT_INVALID_OPERATION', 'API_SET_LOOKUP_ORDINAL', 'FILE_FLAG_OPEN_REPARSE_POINT', 'ERROR_CURRENT_DIRECTORY', 'RPC_S_UNSUPPORTED_TRANS_SYN', 'ERROR_DUP_NAME', 'PKCS12_EXPORT_RESERVED_MASK', 'FILE_ATTRIBUTE_ARCHIVE', 'ERROR_INVALID_UNWIND_TARGET', 'IMAGE_SCN_ALIGN_512BYTES', 'CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID', 'ERROR_NOT_TINY_STREAM', 'ERROR_SECTOR_NOT_FOUND', 'ERROR_INVALID_ACCESS', 'RPC_C_AUTHN_LEVEL_DEFAULT', 'HKEY_USERS', 'szOID_RSA_MD2', 'szOID_RSA_MD5', 'szOID_RSA_MD4', 'DEBUG_EVENT_EXIT_THREAD', 'SM_CYDOUBLECLK', 'szOID_RSA_SMIMEalgCMS3DESwrap', 'CERT_COMPARE_SHA1_HASH', 'ERROR_NOT_CAPABLE', 'WTD_UI_NOBAD', 'CERT_FIND_ISSUER_STR_A', 'DEBUG_EVENT_CHANGE_SYMBOL_STATE', 'ERROR_BUSY', 'szOID_INFOSEC_SuiteASignature', 'SM_CYVSCROLL', 'ERROR_USER_PROFILE_LOAD', 'CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED', 'STD_INPUT_HANDLE', 'CRYPT_KEK', 'TH32CS_SNAPALL', 'ERROR_DOMAIN_CTRLR_CONFIG_ERROR', 'CMSG_ENCODED_MESSAGE', 'ERROR_NET_WRITE_FAULT', 'IMAGE_FILE_MACHINE_ARM', 'CREATE_DEFAULT_ERROR_MODE', 'IMAGE_SCN_ALIGN_4096BYTES', 'CERT_SOURCE_LOCATION_PROP_ID', 'ERROR_SYNCHRONIZATION_REQUIRED', 'ERROR_DISK_CHANGE', 'SERVICE_START_PENDING', 'SERVICE_START', 'IMAGE_SCN_ALIGN_128BYTES', 'SW_SHOWMAXIMIZED', 'SM_CXMENUCHECK', 'ERROR_BADSTARTPOSITION', 'CERT_INFO_SERIAL_NUMBER_FLAG', 'CERT_FIND_PUBLIC_KEY', 'CERT_COMPARE_SHIFT', 'PROV_RSA_AES', 'CERT_COMPARE_MASK', 'ERROR_WAIT_3', 'ERROR_WAIT_2', 'ERROR_WAIT_1', 'ALPC_MESSAGE_TOKEN_ATTRIBUTE', 'szOID_NIST_sha256', 'COMPRESSION_ENGINE_MAXIMUM', 'CERT_QUERY_OBJECT_BLOB', 'ERROR_DRIVER_CANCEL_TIMEOUT', 'EXCEPTION_PRIV_INSTRUCTION', 'FILE_ACTION_RENAMED_NEW_NAME', 'DIRECTORY_QUERY', 'ERROR_DBG_PRINTEXCEPTION_C', 'AF_IRDA', 'CERT_ARCHIVED_PROP_ID', 'DIRECTORY_ALL_ACCESS', 'GROUP_SECURITY_INFORMATION', 'RPC_C_AUTHN_LEVEL_PKT', 'MAXIMUM_ALLOWED', 'ERROR_REDIR_PAUSED', 'FILE_VOLUME_IS_COMPRESSED', 'COMPRESSION_FORMAT_NONE', 'HIGH_PRIORITY_CLASS', 'NORMAL_PRIORITY_CLASS', 'ERROR_FAIL_SHUTDOWN', 'X509_CERT_TO_BE_SIGNED', 'ERROR_WAS_LOCKED', 'szOID_DSALG_SIGN', 'ERROR_REPARSE', 'SERVICE_PAUSED', 'IMAGE_SIZEOF_SHORT_NAME', 'CMSG_RECIPIENT_COUNT_PARAM', 'szOID_RSA_challengePwd', 'SERVICE_ACCEPT_SESSIONCHANGE', 'CMSG_ENCODING_TYPE_MASK', 'IMAGE_SCN_ALIGN_64BYTES', 'ERROR_EA_LIST_INCONSISTENT', 'ERROR_CANT_ENABLE_DENY_ONLY', 'CERT_TRUST_INVALID_POLICY_CONSTRAINTS', 'szOID_RSA_ENCRYPT', 'CERT_COMPARE_PUBKEY_MD5_HASH', 'STARTF_USESHOWWINDOW', 'ERROR_GUID_SUBSTITUTION_MADE', 'DEBUG_EVENT_CREATE_PROCESS', 'IMAGE_SCN_ALIGN_1BYTES', 'EXCEPTION_CONTINUE_SEARCH', 'EVENTLOG_SEEK_READ', 'REG_FULL_RESOURCE_DESCRIPTOR', 'MEM_MAPPED', 'CERT_FIND_EXISTING', 'KEY_ALL_ACCESS', 'TOKEN_IMPERSONATE', 'ERROR_INVALID_LEVEL', 'ERROR_THREAD_WAS_SUSPENDED', 'CERT_COMPARE_HASH', 'RRF_RT_REG_DWORD', 'TRUST_E_SUBJECT_FORM_UNKNOWN', 'RPC_C_IMP_LEVEL_IMPERSONATE', 'ERROR_FAILED_DRIVER_ENTRY', 'CRYPT_VERIFYCONTEXT', 'SERVICE_CONTROL_POWEREVENT', 'SERVICE_STATE_ALL', 'SERVICE_ACCEPT_PAUSE_CONTINUE', 'ERROR_INVALID_DEVICE_OBJECT_PARAMETER', 'IMAGE_SCN_ALIGN_256BYTES', 'FILE_NAMED_STREAMS', 'SYSTEM_AUDIT_ACE_TYPE', 'RPC_C_QOS_CAPABILITIES_DEFAULT', 'IMAGE_FILE_BYTES_REVERSED_HI', 'FILE_SUPPORTS_SPARSE_FILES', 'ERROR_MEDIA_CHECK', 'ERROR_ELEVATION_REQUIRED', 'ERROR_PNP_BAD_MPS_TABLE', 'CRYPT_ACQUIRE_SILENT_FLAG', 'CERT_COMPARE_ISSUER_OF', 'CRYPT_ACQUIRE_NO_HEALING', 'GENERIC_ALL', 'THREAD_DIRECT_IMPERSONATION', 'CERT_OCSP_RESPONSE_PROP_ID', 'CERT_E_MALFORMED', 'WTD_UI_ALL', 'DEBUG_EVENT_SYSTEM_ERROR', 'CERT_SYSTEM_STORE_CURRENT_SERVICE', 'ERROR_STOPPED_ON_SYMLINK', 'CERT_STORE_PROV_SYSTEM_REGISTRY_A', 'ERROR_DLL_INIT_FAILED_LOGOFF', 'IMAGE_FILE_MACHINE_ARMNT', 'MEM_PRIVATE', 'szOID_RSA_extCertAttrs', 'szOID_ECC_CURVE_P521', 'SE_PRIVILEGE_REMOVED', 'WTD_CHOICE_FILE', 'ERROR_CARDBUS_NOT_SUPPORTED', 'CMSG_SIGNER_COUNT_PARAM', 'ERROR_TOO_MANY_SESS', 'CERT_INFO_EXTENSION_FLAG', 'szOID_RSA_SHA384RSA', 'ALPC_PORFLG_ALLOW_LPC_REQUESTS', 'SERVICE_ACCEPT_HARDWAREPROFILECHANGE', 'CERT_STORE_ADD_REPLACE_EXISTING', 'CMSG_COMPUTED_HASH_PARAM', 'AF_UNSPEC', 'CMSG_SIGNER_UNAUTH_ATTR_PARAM', 'ALPC_HANDLEFLG_DUPLICATE_SAME_ACCESS', 'ERROR_NOT_SAME_DEVICE', 'ERROR_REQ_NOT_ACCEP', 'USAGE_MATCH_TYPE_AND', 'DRIVE_FIXED', 'SECTION_QUERY', 'ERROR_BUFFER_ALL_ZEROS', 'ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE', 'STARTF_USESTDHANDLES', 'PROV_SPYRUS_LYNKS', 'AF_DECnet', 'PROCESS_CREATE_PROCESS', 'CERT_DATE_STAMP_PROP_ID', 'szOID_RSA_unstructName', 'ACCESS_MIN_MS_ACE_TYPE', 'AF_INET6', 'SM_MENUDROPALIGNMENT', 'CRYPT_E_INVALID_MSG_TYPE', 'RRF_RT_REG_SZ', 'ERROR_BAD_FUNCTION_TABLE', 'SEC_IMAGE', 'SEC_PROTECTED_IMAGE', 'SERVICE_RUNS_IN_SYSTEM_PROCESS', 'ACCESS_MAX_MS_V2_ACE_TYPE', 'ERROR_INVALID_HW_PROFILE', 'IMAGE_FILE_MACHINE_M32R', 'IMAGE_SCN_MEM_NOT_PAGED', 'ERROR_PREDEFINED_HANDLE', 'ERROR_BAD_SERVICE_ENTRYPOINT', 'ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE', 'ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE', 'CERT_COMPARE_SUBJECT_INFO_ACCESS', 'IMAGE_SCN_ALIGN_16BYTES', 'CERT_COMPARE_NAME_STR_A', 'ERROR_INVALID_EXE_SIGNATURE', 'ERROR_TOO_MANY_OPEN_FILES', 'CERT_E_INVALID_POLICY', 'ERROR_BROKEN_PIPE', 'CREATE_IGNORE_SYSTEM_DEFAULT', 'ERROR_EVALUATION_EXPIRATION', 'EVENTLOG_AUDIT_SUCCESS', 'CERT_COMPARE_NAME_STR_W', 'FILE_ACTION_MODIFIED', 'ERROR_NETWORK_BUSY', 'ERROR_SEM_USER_LIMIT', 'szOID_INFOSEC_mosaicKMandSig', 'ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION', 'FILE_FLAG_OPEN_NO_RECALL', 'SM_MOUSEHORIZONTALWHEELPRESENT', 'FILE_NO_INTERMEDIATE_BUFFERING', 'ERROR_PIPE_LOCAL', 'X509_NAME_VALUE', 'ERROR_FILE_SYSTEM_LIMITATION', 'CERT_STORE_PROV_MEMORY', 'IMAGE_SCN_TYPE_NOLOAD', 'ALPC_PORFLG_SYSTEM_PROCESS', 'szOID_OIWSEC_keyHashSeal', 'ERROR_PAGE_FAULT_COPY_ON_WRITE', 'ERROR_EXE_MACHINE_TYPE_MISMATCH', 'LABEL_SECURITY_INFORMATION', 'RPC_C_IMP_LEVEL_ANONYMOUS', 'ERROR_INVALID_DRIVE', 'CERT_KEY_PROV_HANDLE_PROP_ID', 'IMAGE_SCN_MEM_FARDATA', 'GENERIC_READ', 'szOID_RSA_RC5_CBCPad', 'ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY', 'CMSG_CMS_SIGNER_INFO_PARAM', 'ERROR_MAX_SESSIONS_REACHED', 'SECURITY_MANDATORY_HIGH_RID', 'CMSG_TYPE_PARAM', 'MS_STRONG_PROV', 'SEC_NOCACHE', 'ERROR_IP_ADDRESS_CONFLICT2', 'ERROR_IP_ADDRESS_CONFLICT1', 'REG_QWORD', 'ERROR_USER_APC', 'SM_CXMIN', 'CERT_MD5_HASH_PROP_ID', 'ERROR_CANNOT_MAKE', 'EVENTLOG_INFORMATION_TYPE', 'FILE_OPEN_IF', 'CREATE_BREAKAWAY_FROM_JOB', 'IMAGE_SCN_CNT_INITIALIZED_DATA', 'X509_EXTENSIONS', 'RPC_C_AUTHN_LEVEL_NONE', 'ERROR_ASSERTION_FAILURE', 'szOID_INFOSEC_sdnsIntegrity', 'CERT_NAME_FRIENDLY_DISPLAY_TYPE', 'ERROR_REM_NOT_LIST', 'SM_CXSMICON', 'ERROR_NO_ACE_CONDITION', 'REPORT_NO_PRIVATE_KEY', 'CRYPT_E_OID_FORMAT', 'CERT_STORE_PROV_SYSTEM_REGISTRY', 'MEM_IMAGE', 'CRYPT_USER_KEYSET', 'ERROR_SEGMENT_NOTIFICATION', 'szOID_RSA_preferSignedData', 'ERROR_SAME_DRIVE', 'ERROR_NOACCESS', 'X509_PUBLIC_KEY_INFO', 'KEY_EXECUTE', 'EXCEPTION_INVALID_HANDLE', 'MS_DEF_RSA_SIG_PROV', 'RPC_S_UNKNOWN_IF', 'THREAD_TERMINATE', 'SW_SHOWNA', 'CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT', 'szOID_OIWSEC_md4RSA', 'CERT_CHAIN_REVOCATION_CHECK_END_CERT', 'S_OK', 'ERROR_NO_MORE_MATCHES', 'IMAGE_FILE_MACHINE_MIPS16', 'FILE_ADD_FILE', 'EXCEPTION_FLT_STACK_CHECK', 'CMSG_BARE_CONTENT_PARAM', 'OBJ_OPENIF', 'MS_DEF_RSA_SIG_PROV_W', 'SERVICE_DEMAND_START', 'CONTROL_C_EXIT', 'MS_DEF_RSA_SIG_PROV_A', 'CERT_ENCODING_TYPE_MASK', 'ERROR_QUOTA_LIST_INCONSISTENT', 'ERROR_STACK_OVERFLOW', 'ERROR_IMAGE_NOT_AT_BASE', 'ERROR_SEM_TIMEOUT', 'CMSG_UNPROTECTED_ATTR_PARAM', 'FILE_SUPPORTS_OBJECT_IDS', 'EVENTLOG_SEQUENTIAL_READ', 'IMAGE_SCN_CNT_CODE', 'CERT_NAME_DISABLE_IE4_UTF8_FLAG', 'ABOVE_NORMAL_PRIORITY_CLASS', 'PROV_DSS', 'ERROR_INVALID_FLAG_NUMBER', 'CERT_AUTO_ENROLL_RETRY_PROP_ID', 'IMAGE_SCN_GPREL', 'szOID_RFC3161_counterSign', 'ERROR_FILE_INVALID', 'ERROR_OPLOCK_NOT_GRANTED', 'ERROR_INVALID_SEGDPL', 'ERROR_ABIOS_ERROR', 'RPC_RESPONSE_TYPE_SUCCESS', 'WTD_UI_NONE', 'FILE_ATTRIBUTE_SYSTEM', 'X509_OCTET_STRING', 'FILE_WRITE_ATTRIBUTES', 'ERROR_NO_TOKEN', 'ERROR_INVALID_ORDINAL', 'IMAGE_SCN_MEM_READ', 'ERROR_MAX_THRDS_REACHED', 'SERVICE_CONTROL_NETBINDADD', 'X509_ANY_STRING', 'ERROR_EAS_NOT_SUPPORTED', 'CONTEXT_CONTROL', 'szOID_RSA_SHA256RSA', 'PAGE_EXECUTE_WRITECOPY', 'SM_CXSCREEN', 'CRYPT_E_NOT_DECRYPTED', 'SM_CXDLGFRAME', 'ERROR_REGISTRY_RECOVERED', 'SECURITY_MANDATORY_SYSTEM_RID', 'CREATE_SEPARATE_WOW_VDM', 'ERROR_ENVVAR_NOT_FOUND', 'ERROR_INVALID_FLAGS', 'STARTF_FORCEOFFFEEDBACK', 'ERROR_TOO_MANY_NAMES', 'SERVICE_INTERACTIVE_PROCESS', 'CREATE_THREAD_DEBUG_EVENT', 'SW_MAXIMIZE', 'X509_AUTHORITY_KEY_ID', 'ERROR_FORMS_AUTH_REQUIRED', 'ERROR_CALL_NOT_IMPLEMENTED', 'IMAGE_FILE_MACHINE_MIPSFPU', 'CERT_TRUST_IS_OFFLINE_REVOCATION', 'SM_ARRANGE', 'SW_SHOWNORMAL', 'CRYPT_ENCODE_DECODE_NONE', 'MS_ENHANCED_PROV_W', 'PROV_DSS_DH', 'CMSG_CERT_PARAM', 'ERROR_FILE_NOT_FOUND', 'CRYPT_DEFAULT_CONTAINER_OPTIONAL', 'ERROR_DBG_CONTROL_BREAK', 'CERT_TRUST_IS_PARTIAL_CHAIN', 'ERROR_ABANDON_HIBERFILE', 'ERROR_FLOPPY_VOLUME', 'AF_UNKNOWN1', 'SERVICE_CONTROL_NETBINDENABLE', 'szOID_RSA_signEnvData', 'SECTION_MAP_READ', 'SECTION_MAP_EXECUTE', 'CERT_FIND_SUBJECT_ATTR', 'FILE_FLAG_FIRST_PIPE_INSTANCE', 'IMAGE_FILE_AGGRESIVE_WS_TRIM', 'ERROR_DIR_NOT_EMPTY', 'IMAGE_FILE_DLL', 'ERROR_NO_CALLBACK_ACTIVE', 'ERROR_GEN_FAILURE', 'CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED', 'FILE_SHARE_DELETE', 'CRYPT_E_UNEXPECTED_ENCODING', 'SM_CXFULLSCREEN', 'ERROR_CALLBACK_POP_STACK', 'ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED', 'CERT_TRUST_IS_NOT_TIME_VALID', 'SERVICE_ACCEPT_STOP', 'CMSG_VERIFY_SIGNER_CERT', 'CERT_STORE_PROV_SYSTEM_W', 'STANDARD_RIGHTS_REQUIRED', 'ERROR_UNEXPECTED_MM_MAP_ERROR', 'SERVICE_RECOGNIZER_DRIVER', 'RRF_RT_ANY', 'CERT_INFO_VERSION_FLAG', 'CERT_TRUST_IS_COMPLEX_CHAIN', 'CRYPT_USER_PROTECTED', 'ERROR_FS_DRIVER_REQUIRED', 'FILE_CASE_SENSITIVE_SEARCH', 'FILE_SUPPORTS_OPEN_BY_FILE_ID', 'SW_SHOWMINIMIZED', 'ERROR_DRIVER_FAILED_PRIOR_UNLOAD', 'PROCESS_QUERY_LIMITED_INFORMATION', 'SM_CYCAPTION', 'CMSG_CMS_RECIPIENT_INFO_PARAM', 'CERT_INFO_ISSUER_UNIQUE_ID_FLAG', 'szOID_ECDSA_SHA384', 'szOID_RSA_SMIMEalgCMSRC2wrap', 'szOID_RSA_contentType', 'DRIVE_NO_ROOT_DIR', 'MS_ENHANCED_PROV', 'CERT_SUBJECT_NAME_MD5_HASH_PROP_ID', 'szOID_NIST_AES192_CBC', 'ERROR_OUT_OF_STRUCTURES', 'CMSG_RECIPIENT_INDEX_PARAM', 'IMAGE_FILE_MACHINE_R4000', 'COMPRESSION_ENGINE_STANDARD', 'SM_CLEANBOOT', 'LPC_DEBUG_EVENT', 'IMAGE_SCN_ALIGN_1024BYTES', 'CRYPT_E_MSG_ERROR', 'ERROR_CANCEL_VIOLATION', 'ERROR_READ_FAULT', 'SERVICE_RUNNING', 'CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED', 'FILE_OVERWRITE_IF', 'SERVICE_CONTROL_SHUTDOWN', 'CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT', 'CMSG_VERIFY_SIGNER_NULL', 'KEY_CREATE_LINK', 'szOID_INFOSEC_mosaicSignature', 'ERROR_INVALID_ADDRESS', 'PROV_DH_SCHANNEL', 'FILE_NOTIFY_CHANGE_FILE_NAME', 'ERROR_INVALID_LOCK_RANGE', 'RPC_C_QOS_IDENTITY_STATIC', 'CERT_STORE_CRL_CONTEXT', 'SECTION_EXTEND_SIZE', 'ERROR_REGISTRY_HIVE_RECOVERED', 'CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY', 'FILE_TRAVERSE', 'SERVICE_CONTROL_NETBINDREMOVE', 'szOID_INFOSEC', 'PROCESS_VM_READ', 'TOKEN_ALL_ACCESS', 'szOID_INFOSEC_mosaicKMandUpdSig', 'ERROR_NO_PAGEFILE', 'ERROR_UNRECOGNIZED_VOLUME', 'CRYPT_NDR_ENCODING', 'ERROR_NOTIFY_ENUM_DIR', 'FILE_NOTIFY_CHANGE_LAST_ACCESS', 'ERROR_PORT_NOT_SET', 'SM_CXICONSPACING', 'CERT_SYSTEM_STORE_CURRENT_USER_ID', 'ERROR_CRASH_DUMP', 'ERROR_LOCK_VIOLATION', 'DEBUG_EVENT_EXIT_PROCESS', 'MEM_RELEASE', 'ALPC_HANDLEFLG_DUPLICATE_INHERIT', 'ALPC_MESSAGE_CONTEXT_ATTRIBUTE', 'INHERIT_CALLER_PRIORITY', 'IMAGE_SCN_NO_DEFER_SPEC_EXC', 'ERROR_OBJECT_NAME_EXISTS', 'ERROR_BAD_DRIVER_LEVEL', 'CERT_QUERY_FORMAT_FLAG_BINARY', 'ERROR_BUFFER_OVERFLOW', 'ERROR_ACCESS_DENIED', 'SERVICE_ACCEPT_TIMECHANGE', 'CERT_TRUST_IS_PEER_TRUSTED', 'szOID_OIWSEC_shaDSA', 'KEY_CREATE_SUB_KEY', 'SM_CXCURSOR', 'PKCS12_PREFER_CNG_KSP', 'SERVICE_AUTO_START', 'WTD_CHOICE_CATALOG', 'CERT_STORE_PROV_PKCS12', 'SM_CYMINSPACING', 'ALPC_MESSAGE_WORK_ON_BEHALF_ATTRIBUTE', 'SM_XVIRTUALSCREEN', 'TOKEN_ADJUST_GROUPS', 'CMSG_SIGNER_INFO_PARAM', 'FILE_SUPPORTS_EXTENDED_ATTRIBUTES', 'ACCESS_ALLOWED_ACE_TYPE', 'X509_MULTI_BYTE_INTEGER', 'ACCESS_DENIED_ACE_TYPE', 'SM_CXEDGE', 'szOID_INFOSEC_sdnsTokenProtection', 'HKEY_CLASSES_ROOT', 'IMAGE_FILE_MACHINE_TRICORE', 'EXCEPTION_ACCESS_VIOLATION', 'ACCESS_ALLOWED_COMPOUND_ACE_TYPE', 'X509_BASIC_CONSTRAINTS', 'PERSIST_E_SIZEDEFINITE', 'ERROR_BAD_ENVIRONMENT', 'REG_SZ', 'EXIT_THREAD_DEBUG_EVENT', 'CRYPT_SILENT', 'ERROR_DEVICE_ALREADY_ATTACHED', 'CERT_STORE_DELETE_FLAG', 'ERROR_NO_YIELD_PERFORMED', 'SM_RESERVED1', 'SERVICE_KERNEL_DRIVER', 'SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE', 'szOID_OIWSEC_desCBC', 'SM_RESERVED3', 'SERVICE_CONTROL_TRIGGEREVENT', 'SERVICE_CONTROL_SESSIONCHANGE', 'CERT_ENROLLMENT_PROP_ID', 'IMAGE_SCN_ALIGN_32BYTES', 'szOID_NIST_AES256_WRAP', 'PAGE_READWRITE', 'MEM_TOP_DOWN', 'CERT_NAME_URL_TYPE', 'SM_YVIRTUALSCREEN', 'SM_MAXIMUMTOUCHES', 'ERROR_FT_READ_RECOVERY_FROM_BACKUP', 'SERVICE_CONTROL_PRESHUTDOWN', 'ERROR_DBG_CONTROL_C', 'ERROR_PIPE_LISTENING', 'ALPC_SECFLG_CREATE_HANDLE', 'szOID_INFOSEC_sdnsSignature', 'ERROR_BAD_STACK', 'CRYPT_NEWKEYSET', 'CERT_FIND_PROPERTY', 'FILE_ACTION_ADDED', 'szOID_NIST_sha512', 'CERT_REQUEST_ORIGINATOR_PROP_ID', 'FILE_ATTRIBUTE_READONLY', 'szOID_RSA_SHA1RSA', 'ERROR_BAD_ACCESSOR_FLAGS', 'SPECIFIC_RIGHTS_ALL', 'MEM_COMMIT', 'FILE_NOTIFY_CHANGE_CREATION', 'szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF', 'ERROR_RELOC_CHAIN_XEEDS_SEGLIM', 'CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT', 'SC_MANAGER_CREATE_SERVICE', 'FILE_ATTRIBUTE_DIRECTORY', 'CERT_QUERY_CONTENT_SERIALIZED_CRL', 'FILE_ACTION_REMOVED', 'RRF_RT_DWORD', 'RPC_S_PROTOCOL_ERROR', 'X509_INTEGER', 'szOID_DSALG_HASH', 'DRIVE_RAMDISK', 'szOID_RSA_RC2CBC', 'SM_CXMENUSIZE', 'CERT_FIND_ISSUER_STR_W', 'PAGE_EXECUTE_READWRITE', 'ERROR_INVALID_CATEGORY', 'CMSG_CMS_RECIPIENT_COUNT_PARAM', 'szOID_ECDSA_SHA1', 'szOID_DSALG_CRPT', 'FILE_SYNCHRONOUS_IO_NONALERT', 'DUPLICATE_CLOSE_SOURCE', 'IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP', 'DACL_SECURITY_INFORMATION', 'OBJ_OPENLINK', 'THREAD_IMPERSONATE', 'CMSG_VERIFY_SIGNER_CHAIN', 'CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID', 'CERT_TRUST_IS_UNTRUSTED_ROOT', 'SW_RESTORE', 'ERROR_CORRUPT_SYSTEM_FILE', 'FILE_NO_EA_KNOWLEDGE', 'CRYPT_ACQUIRE_COMPARE_KEY_FLAG', 'CRYPT_E_UNKNOWN_ALGO', 'ERROR_NETWORK_ACCESS_DENIED', 'SYSTEM_ALARM_CALLBACK_ACE_TYPE', 'CERT_STORE_PROV_PHYSICAL', 'FILE_VALID_SET_FLAGS', 'ERROR_FILENAME_EXCED_RANGE', 'AF_PUP', 'ERROR_DIRECT_ACCESS_HANDLE', 'ERROR_SYSTEM_HIVE_TOO_LARGE', 'FILE_DOES_NOT_EXIST', 'szOID_RSA_MGF1', 'LPC_REPLY', 'ERROR_SEM_IS_SET', 'PROCESS_TERMINATE', 'SM_CYMINIMIZED', 'ALPC_MSGFLG_RELEASE_MESSAGE', 'WTD_REVOKE_NONE', 'szOID_NIST_AES192_WRAP', 'ERROR_DBG_EXCEPTION_NOT_HANDLED', 'FILE_SUPPORTS_ENCRYPTION', 'CERT_STORE_PROV_SYSTEM', 'SM_CYSCREEN', 'CERT_STORE_PROV_MSG', 'ERROR_INSUFFICIENT_POWER', 'szOID_OIWSEC_dhCommMod', 'ERROR_EA_ACCESS_DENIED', 'CERT_SYSTEM_STORE_CURRENT_SERVICE_ID', 'SACL_SECURITY_INFORMATION', 'ERROR_NESTING_NOT_ALLOWED', 'CREATE_UNICODE_ENVIRONMENT', 'ERROR_NOT_SUBSTED', 'ERROR_BAD_LENGTH', 'RPC_C_AUTHN_LEVEL_CALL', 'IMAGE_SCN_MEM_PRELOAD', 'ERROR_BAD_FORMAT', 'szOID_OIWSEC_sha1RSASign', 'ERROR_NOT_REGISTRY_FILE', 'ERROR_UNSUPPORTED_COMPRESSION', 'VER_NT_DOMAIN_CONTROLLER', 'CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS', 'SERVICE_INTERROGATE', 'EXPORT_PRIVATE_KEYS', 'X509_UNICODE_ANY_STRING', 'IMAGE_FILE_MACHINE_R3000', 'FILE_OPEN_BY_FILE_ID', 'TOKEN_QUERY', 'CERT_FIND_ISSUER_NAME', 'CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT', 'ERROR_ARENA_TRASHED', 'OPEN_EXISTING', 'FILE_MAP_READ', 'ACCESS_MAX_MS_V3_ACE_TYPE', 'PROV_REPLACE_OWF', 'STARTF_RUNFULLSCREEN', 'MAX_PATH', 'CERT_QUERY_CONTENT_FLAG_CRL', 'THREAD_QUERY_INFORMATION', 'ERROR_DBG_CONTINUE', 'IMAGE_SCN_LNK_COMDAT', 'SC_MANAGER_QUERY_LOCK_STATUS', 'ALPC_CANCELFLGP_FLUSH', 'ERROR_META_EXPANSION_TOO_LONG', 'szOID_INFOSEC_mosaicKeyManagement', 'szOID_INFOSEC_SuiteAKeyManagement', 'CERT_COMPARE_NAME', 'IMAGE_FILE_MACHINE_MIPSFPU16', 'FILE_OPEN_REMOTE_INSTANCE', 'IMAGE_FILE_MACHINE_WCEMIPSV2', 'ERROR_DELETE_PENDING', 'SM_CXBORDER', 'ERROR_DRIVER_DATABASE_ERROR', 'CERT_TRUST_REVOCATION_STATUS_UNKNOWN', 'SM_REMOTESESSION', 'ERROR_TOO_MANY_THREADS', 'szOID_TIMESTAMP_TOKEN', 'CERT_STORE_OPEN_EXISTING_FLAG', 'ERROR_CANTFETCHBACKWARDS', 'CERT_SMART_CARD_DATA_PROP_ID', 'CERT_COMPARE_SUBJECT_CERT', 'ERROR_SHARING_BUFFER_EXCEEDED', 'SERVICE_WIN32', 'SM_MOUSEWHEELPRESENT', 'EXTENDED_STARTUPINFO_PRESENT', 'FILE_OVERWRITE', 'SM_CXMAXTRACK', 'ERROR_NO_PROC_SLOTS', 'szOID_X957', 'ERROR_BAD_ARGUMENTS', 'FILE_DIRECTORY_FILE', 'FILE_FLAG_DELETE_ON_CLOSE', 'ERROR_CHILD_MUST_BE_VOLATILE', 'IMAGE_FILE_LOCAL_SYMS_STRIPPED', 'TOKEN_ADJUST_SESSIONID', 'CERT_TRUST_IS_SELF_SIGNED', 'ERROR_EAS_DIDNT_FIT', 'ERROR_INVALID_LDT_DESCRIPTOR', 'ERROR_MULTIPLE_FAULT_VIOLATION', 'TRUST_E_FAIL', 'szOID_OIWSEC_mdc2', 'SM_SERVERR2', 'ERROR_BAD_EXE_FORMAT', 'CERT_STORE_PROV_PHYSICAL_W', 'ERROR_HIBERNATED', 'DEBUG_EVENT_SESSION_STATUS', 'FILE_ADD_SUBDIRECTORY', 'ERROR_LABEL_TOO_LONG', 'CERT_SYSTEM_STORE_LOCAL_MACHINE_ID', 'ERROR_PROFILING_NOT_STOPPED', 'CERT_AIA_URL_RETRIEVED_PROP_ID', 'ACCESS_ALLOWED_CALLBACK_ACE_TYPE', 'SM_CYMENUSIZE', 'AF_12844', 'SERVICE_ENUMERATE_DEPENDENTS', 'GENERIC_WRITE', 'ERROR_EVENT_DONE', 'FILE_DELETE_ON_CLOSE', 'szOID_INFOSEC_mosaicUpdatedSig', 'ERROR_RESUME_HIBERNATION', 'ERROR_CLIENT_SERVER_PARAMETERS_INVALID', 'CERT_STORE_UPDATE_KEYID_FLAG', 'CMSG_VERIFY_SIGNER_PUBKEY', 'EXCEPTION_NONCONTINUABLE_EXCEPTION', 'SM_DBCSENABLED', 'IMAGE_FILE_BYTES_REVERSED_LO', 'ERROR_CANT_TERMINATE_SELF', 'X509_BASIC_CONSTRAINTS2', 'REG_MULTI_SZ', 'FILE_NO_COMPRESSION', 'ERROR_OPERATION_ABORTED', 'AF_VOICEVIEW', 'szOID_NIST_sha384', 'SM_CXPADDEDBORDER', 'BIND_IF_SYNTAX_NDR32', 'ERROR_THREAD_1_INACTIVE', 'FILE_FLAG_WRITE_THROUGH', 'FILE_RESERVE_OPFILTER', 'ERROR_WAKE_SYSTEM', 'ERROR_NO_SIGNAL_SENT', 'szOID_OIWSEC', 'ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING', 'CREATE_SHARED_WOW_VDM', 'SM_CYSMSIZE', 'SERVICE_ACCEPT_TRIGGEREVENT', 'ERROR_FIRMWARE_UPDATED', 'CRYPT_ACQUIRE_USE_PROV_INFO_FLAG', 'API_SET_SCHEMA_FLAGS_HOST_EXTENSION', 'FILE_MAP_COPY', 'ERROR_ILLEGAL_CHARACTER', 'FILE_READ_ONLY_VOLUME', 'szOID_OIW', 'FILE_ATTRIBUTE_HIDDEN', 'ERROR_INVALID_EA_HANDLE', 'CERT_E_CN_NO_MATCH', 'ALPC_MESSAGE_SECURITY_ATTRIBUTE', 'PROV_MS_EXCHANGE', 'CREATE_FORCEDOS', 'szOID_OIWSEC_md4RSA2', 'SYSTEM_MANDATORY_LABEL_ACE_TYPE', 'ERROR_CAN_NOT_COMPLETE', 'TH32CS_SNAPPROCESS', 'SM_CXMINTRACK', 'CERT_E_EXPIRED', 'ERROR_PRINT_CANCELLED', 'ERROR_BAD_THREADID_ADDR', 'szOID_OIWSEC_rsaXchg', 'szOID_ECC_CURVE_P384', 'ERROR_CONVERT_TO_LARGE', 'ERROR_INVALID_EVENT_COUNT', 'S_FALSE', 'AF_OSI', 'ERROR_BAD_MCFG_TABLE', 'ERROR_KEY_DELETED', 'FILE_MAP_EXECUTE', 'SM_CXDRAG', 'WTD_CHOICE_SIGNER', 'ALPC_MESSAGE_DIRECT_ATTRIBUTE', 'SM_PENWINDOWS', 'CERT_QUERY_CONTENT_PKCS7_SIGNED', 'ACCESS_MAX_MS_V5_ACE_TYPE', 'FILE_APPEND_DATA', 'SERVICE_TYPE_ALL', 'ERROR_FAIL_I24', 'SERVICE_CONTROL_CONTINUE', 'CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT', 'SM_CYMAXIMIZED', 'X509_KEY_USAGE', 'VER_NT_SERVER', 'GENERIC_EXECUTE', 'CERT_TRUST_IS_NOT_TIME_NESTED', 'ERROR_REGISTRY_QUOTA_LIMIT', 'ERROR_IS_SUBST_PATH', 'FILE_ACTION_RENAMED_OLD_NAME', 'CERT_QUERY_CONTENT_FLAG_PFX', 'FILE_NOTIFY_CHANGE_DIR_NAME', 'SM_CYVTHUMB', 'CERT_TRUST_INVALID_NAME_CONSTRAINTS', 'TOKEN_ADJUST_PRIVILEGES', 'ERROR_THREAD_MODE_NOT_BACKGROUND', 'SERVICE_PAUSE_CONTINUE', 'CERT_STORE_ENUM_ARCHIVED_FLAG', 'FILE_MAP_ALL_ACCESS', 'LPC_LOST_REPLY', 'CERT_STORE_MAXIMUM_ALLOWED_FLAG', 'CREATE_NEW', 'CERT_STORE_PROV_FILE', 'szOID_RSA_SHA512RSA', 'SW_SHOWDEFAULT', 'szOID_OIWDIR', 'FILE_LIST_DIRECTORY', 'szOID_INFOSEC_mosaicIntegrity', 'FILE_OPEN_REPARSE_POINT', 'DIRECTORY_CREATE_SUBDIRECTORY', 'IMAGE_FILE_MACHINE_ALPHA64', 'FILE_ATTRIBUTE_NOT_CONTENT_INDEXED', 'ERROR_MISSING_SYSTEMFILE', 'ERROR_CACHE_PAGE_LOCKED', 'IMAGE_SCN_TYPE_DSECT', 'AF_CHAOS', 'ERROR_RECEIVE_EXPEDITED', 'PAGE_NOCACHE', 'SM_CYEDGE', 'ERROR_UNEXP_NET_ERR', 'BELOW_NORMAL_PRIORITY_CLASS', 'SERVICE_ACCEPT_NETBINDCHANGE', 'ERROR_IS_JOIN_TARGET', 'ERROR_MEMORY_HARDWARE', 'CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL', 'ERROR_WX86_ERROR', 'ERROR_INVALID_VERIFY_SWITCH', 'ERROR_BADDB', 'CREATE_NEW_PROCESS_GROUP', 'ERROR_VC_DISCONNECTED', 'CMSG_ENVELOPE_ALGORITHM_PARAM', 'DEBUG_EVENT_CHANGE_ENGINE_STATE', 'FILE_EXECUTE', 'IMAGE_FILE_DEBUG_STRIPPED', 'CMSG_RECIPIENT_INFO_PARAM', 'CERT_COMPARE_CROSS_CERT_DIST_POINTS', 'SERVICE_PAUSE_PENDING', 'CERT_NAME_RDN_TYPE', 'SM_CYDLGFRAME', 'FILE_OPEN_FOR_FREE_SPACE_QUERY', 'ERROR_VOLUME_MOUNTED', 'CMSG_ENCRYPT_PARAM', 'ERROR_WRITE_FAULT', 'FILE_FILE_COMPRESSION', 'CERT_RENEWAL_PROP_ID', 'CERT_QUERY_CONTENT_SERIALIZED_CTL', 'SW_HIDE', 'szOID_OIWSEC_desECB', 'CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG', 'ERROR_UNEXPECTED_MM_EXTEND_ERR', 'CERT_COMPARE_CERT_ID', 'szOID_RSA_signingTime', 'ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR', 'CERT_E_PURPOSE', 'RPC_C_QOS_IDENTITY_DYNAMIC', 'ERROR_NOINTERFACE', 'CERT_E_REVOKED', 'szOID_OIWSEC_dsaCommSHA1', 'FILE_SUPPORTS_REPARSE_POINTS', 'IMAGE_SCN_TYPE_COPY', 'ERROR_VALIDATE_CONTINUE', 'ERROR_SUBST_TO_JOIN', 'LPC_CONNECTION_REQUEST', 'EXCEPTION_DEBUG_EVENT', 'REPORT_NOT_ABLE_TO_EXPORT_PRIVATE_KEY', 'SM_CXSMSIZE', 'CMSG_CRL_COUNT_PARAM', 'SERVICE_CONTROL_PAUSE', 'FILE_SUPERSEDED', 'ERROR_RANGE_LIST_CONFLICT', 'CONTEXT_ALL', 'ERROR_CHILD_NOT_COMPLETE', 'CERT_TRUST_NO_ERROR', 'FILE_VALID_MAILSLOT_OPTION_FLAGS', 'CERT_FIND_CROSS_CERT_DIST_POINTS', 'ERROR_NOT_ALL_ASSIGNED', 'ERROR_CANTREAD', 'ERROR_VIRUS_DELETED', 'IMAGE_SCN_ALIGN_MASK', 'X509_KEYGEN_REQUEST_TO_BE_SIGNED', 'ERROR_FULLSCREEN_MODE', 'CERT_STORE_SHARE_CONTEXT_FLAG', 'ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR', 'SM_CYMINTRACK', 'SERVICE_ACCEPT_PARAMCHANGE', 'FILE_SEQUENTIAL_ONLY', 'ERROR_RING2_STACK_IN_USE', 'STILL_ACTIVE', 'CERT_STORE_CTL_CONTEXT', 'CREATE_PROCESS_DEBUG_EVENT', 'CERT_NAME_UPN_TYPE', 'SERVICE_ERROR_SEVERE', 'szOID_ECDSA_SHA256', 'ERROR_INVALID_PARAMETER', 'szOID_RSA_MD4RSA', 'ALPC_MSGFLG_SYNC_REQUEST', 'PKCS12_INCLUDE_EXTENDED_PROPERTIES', 'RPC_REQUEST_TYPE_BIND', 'PROCESS_DUP_HANDLE', 'ERROR_COMPRESSION_DISABLED', 'FILE_FLAG_BACKUP_SEMANTICS', 'ERROR_OPEN_FAILED', 'CRYPT_CREATE_IV', 'FILE_VOLUME_QUOTAS', 'CERT_STORE_PROV_PKCS7', 'REG_EXPAND_SZ', 'CRYPT_E_ATTRIBUTES_MISSING', 'FILE_VALID_PIPE_OPTION_FLAGS', 'CERT_FIND_SUBJECT_NAME', 'FILE_READ_DATA', 'EXCEPTION_FLT_DENORMAL_OPERAND', 'szOID_OIWSEC_sha1', 'SM_CYFRAME', 'szOID_RSA_RC4', 'FILE_GENERIC_EXECUTE', 'EXCEPTION_STACK_OVERFLOW', 'CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY', 'szOID_OIWSEC_dsa', 'SERVICE_DISABLED', 'FILE_NOTIFY_CHANGE_LAST_WRITE', 'CERT_COMPARE_ATTR', 'CERT_STORE_CERTIFICATE_CONTEXT', 'CERT_ENHKEY_USAGE_PROP_ID', 'SE_PRIVILEGE_ENABLED', 'WTD_STATEACTION_AUTO_CACHE_FLUSH', 'MAX_INTERFACE_NAME_LEN', 'ERROR_PATH_BUSY', 'ERROR_THREAD_MODE_ALREADY_BACKGROUND', 'szOID_OIWSEC_md2RSASign', 'MAX_ADAPTER_NAME', 'ERROR_TOO_MANY_POSTS', 'CONTEXT_SEGMENTS', 'ERROR_NO_MORE_FILES', 'SM_DIGITIZER', 'CERT_QUERY_CONTENT_PKCS7_UNSIGNED', 'IMAGE_FILE_MACHINE_AMD64', 'ERROR_NET_OPEN_FAILED', 'CRYPT_CREATE_SALT', 'FILE_OPEN_NO_RECALL', 'szOID_ANSI_X942', 'SM_CXFOCUSBORDER', 'SECURITY_MANDATORY_UNTRUSTED_RID', 'CERT_SHA1_HASH_PROP_ID', 'CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT', 'ERROR_EVENT_PENDING', 'EXCEPTION_INT_DIVIDE_BY_ZERO', 'IMAGE_FILE_SYSTEM', 'AF_DLI', 'CERT_QUERY_CONTENT_SERIALIZED_STORE', 'CERT_FIND_KEY_IDENTIFIER', 'SM_CYSMICON', 'ERROR_THREAD_NOT_IN_PROCESS', 'PKCS12_ALWAYS_CNG_KSP', 'CERT_SYSTEM_STORE_USERS', 'OBJ_FORCE_ACCESS_CHECK', 'ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY', 'CERT_COMPARE_SIGNATURE_HASH', 'szOID_INFOSEC_sdnsConfidentiality', 'ERROR_BAD_FILE_TYPE', 'ERROR_PNP_RESTART_ENUMERATION', 'ERROR_HANDLE_EOF', 'ERROR_RXACT_STATE_CREATED', 'RSA_CSP_PUBLICKEYBLOB', 'AF_INET', 'KEY_WOW64_RES', 'ERROR_TOO_MANY_MUXWAITERS', 'CONTEXT_EXTENDED_REGISTERS', 'ERROR_NO_VOLUME_LABEL', 'ALPC_PORFLG_WAITABLE_PORT', 'ERROR_PNP_REBOOT_REQUIRED', 'X509_NDR_ENCODING', 'THREAD_SET_THREAD_TOKEN', 'ERROR_DRIVE_LOCKED', 'CERT_FIND_HASH', 'ERROR_ACCESS_AUDIT_BY_POLICY', 'AF_NETDES', 'ERROR_BAD_COMMAND', 'AF_SNA', 'CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD', 'szOID_RSA_SSA_PSS', 'PROV_RSA_FULL', 'SM_RESERVED4', 'szOID_DSALG', 'ERROR_PAGE_FAULT_DEMAND_ZERO', 'SM_RESERVED2', 'RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC', 'szOID_RSA_MD5RSA', 'MS_ENHANCED_PROV_A', 'ERROR_DIR_NOT_ROOT', 'szOID_INFOSEC_mosaicUpdatedInteg', 'CERT_TRUST_INVALID_EXTENSION', 'CERT_STORE_NO_CRYPT_RELEASE_FLAG', 'ERROR_DISK_FULL', 'ERROR_INTERRUPT_STILL_CONNECTED', 'ERROR_LONGJUMP', 'CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY', 'CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY', 'szOID_OIWSEC_dsaCommSHA', 'MAILSLOT_NO_MESSAGE', 'szOID_RSA_data', 'ERROR_ALREADY_ASSIGNED', 'ERROR_WAKE_SYSTEM_DEBUGGER', 'CERT_E_UNTRUSTEDROOT', 'CERT_E_UNTRUSTEDCA', 'FILE_ATTRIBUTE_DEVICE', 'CERT_ARCHIVED_KEY_HASH_PROP_ID', 'ERROR_APP_INIT_FAILURE', 'szOID_OIWSEC_md5RSA', 'REG_LINK', 'FILE_ATTRIBUTE_ENCRYPTED', 'CERT_FRIENDLY_NAME_PROP_ID', 'CMSG_HASH_ALGORITHM_PARAM', 'STARTF_USESIZE', 'SERVICE_ACTIVE', 'ERROR_IO_INCOMPLETE', 'CERT_QUERY_FORMAT_BASE64_ENCODED', 'SERVICE_WIN32_OWN_PROCESS', 'ERROR_UNWIND_CONSOLIDATE', 'RPC_C_AUTHN_LEVEL_PKT_INTEGRITY', 'ERROR_ILLEGAL_FLOAT_CONTEXT', 'SERVICE_ERROR_IGNORE', 'ERROR_CRC', 'SM_MOUSEPRESENT', 'ACCESS_ALLOWED_OBJECT_ACE_TYPE', 'CERT_STORE_PROV_REG', 'ERROR_SERVER_SID_MISMATCH', 'ERROR_DIRECTORY', 'EXCEPTION_SINGLE_STEP', 'CERT_AUTO_ENROLL_PROP_ID', 'ERROR_ABANDONED_WAIT_63', 'ERROR_VOLSNAP_PREPARE_HIBERNATE', 'SERVICE_CONTROL_STOP', 'DELETE', 'MS_STRONG_PROV_A', 'ERROR_FILE_TOO_LARGE', 'IMAGE_FILE_32BIT_MACHINE', 'MS_STRONG_PROV_W', 'SM_CXVSCROLL', 'ERROR_NOT_OWNER', 'PROFILE_KERNEL', 'IMAGE_FILE_UP_SYSTEM_ONLY', 'SM_SLOWMACHINE', 'ERROR_DRIVERS_LEAKING_LOCKED_PAGES', 'E_INVALIDARG', 'SECTION_MAP_WRITE', 'ERROR_JOIN_TO_JOIN', 'ERROR_TIMER_NOT_CANCELED', 'ERROR_OPLOCK_HANDLE_CLOSED', 'ERROR_INVALID_ACE_CONDITION', 'ERROR_PWD_TOO_RECENT', 'ERROR_PORT_MESSAGE_TOO_LONG', 'ERROR_UNWIND', 'ERROR_EXCL_SEM_ALREADY_OWNED', 'CERT_E_WRONG_USAGE', 'DUPLICATE_SAME_ACCESS', 'CERT_FIND_ANY', 'szOID_RSA', 'CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID', 'ALPC_MSGFLG_WAIT_USER_MODE', 'ERROR_JOIN_TO_SUBST', 'PKCS_7_ASN_ENCODING', 'PROV_RSA_SIG', 'IMAGE_SCN_TYPE_OVER', 'ERROR_VERSION_PARSE_ERROR', 'ERROR_DEBUG_ATTACH_FAILED', 'IMAGE_SCN_MEM_16BIT', 'ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT', 'ERROR_FT_WRITE_RECOVERY', 'CERT_FIND_ISSUER_ATTR', 'AF_UNIX', 'ERROR_DEVICE_ENUMERATION_ERROR', 'CERT_INFO_SIGNATURE_ALGORITHM_FLAG', 'SERVICE_FILE_SYSTEM_DRIVER', 'TOKEN_DUPLICATE', 'CERT_COMPARE_CTL_USAGE', 'LPC_PORT_CLOSED', 'ERROR_INVALID_MINALLOCSIZE', 'CERT_INFO_SUBJECT_UNIQUE_ID_FLAG', 'STANDARD_RIGHTS_EXECUTE', 'MEM_ROTATE', 'ERROR_FILE_CHECKED_OUT', 'SM_CYSIZEFRAME', 'FILE_WRITE_THROUGH', 'ERROR_SIGNAL_REFUSED', 'ERROR_REPLY_MESSAGE_MISMATCH', 'ERROR_PNP_IRQ_TRANSLATION_FAILED', 'ERROR_ALREADY_WIN32', 'ERROR_NO_MORE_SEARCH_HANDLES', 'ALPC_MESSAGE_HANDLE_ATTRIBUTE', 'VER_NT_WORKSTATION', 'ERROR_SYSTEM_IMAGE_BAD_SIGNATURE', 'szOID_ECDSA_SPECIFIED', 'PKCS12_ALLOW_OVERWRITE_KEY', 'CRYPT_E_INVALID_INDEX', 'ERROR_BUSY_DRIVE', 'AF_BAN', 'szOID_RSA_signedData', 'KEY_NOTIFY', 'ERROR_HIBERNATION_FAILURE', 'CMSG_SIGNER_CERT_INFO_PARAM', 'ERROR_PROCESS_MODE_ALREADY_BACKGROUND', 'AF_APPLETALK', 'ERROR_DBG_RIPEXCEPTION', 'SC_MANAGER_MODIFY_BOOT_CONFIG', 'ERROR_RECEIVE_PARTIAL', 'CERT_E_UNTRUSTEDTESTROOT', 'SM_REMOTECONTROL', 'ERROR_AUDIT_FAILED', 'CERT_QUERY_OBJECT_FILE', 'CREATE_ALWAYS', 'ERROR_SCOPE_NOT_FOUND', 'PROCESS_SET_QUOTA', 'ERROR_MOUNT_POINT_NOT_RESOLVED', 'PROCESS_MODE_BACKGROUND_BEGIN', 'READ_CONTROL', 'EXCEPTION_FLT_OVERFLOW', 'ERROR_INVALID_SEGMENT_NUMBER', 'FILE_CREATE_TREE_CONNECTION', 'TRUST_E_ACTION_UNKNOWN', 'CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT', 'CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED', 'ERROR_INVALID_STACKSEG', 'SM_CXSIZE', 'CERT_QUERY_FORMAT_BINARY', 'ERROR_BAD_CURRENT_DIRECTORY', 'ERROR_PIPE_CONNECTED', 'CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES', 'SERVICE_ERROR_CRITICAL', 'ERROR_VERIFIER_STOP', 'ERROR_UNHANDLED_EXCEPTION', 'CERT_NAME_ATTR_TYPE', 'ERROR_INVALID_PLUGPLAY_DEVICE_PATH', 'DIGSIG_E_ENCODE', 'MEM_RESERVE', 'ERROR_LOGON_SERVER_CONFLICT', 'CERT_TRUST_INVALID_BASIC_CONSTRAINTS', 'SERVICE_CONTINUE_PENDING', 'IMAGE_FILE_MACHINE_CEE', 'IMAGE_FILE_MACHINE_CEF', 'ERROR_INVALID_LDT_SIZE', 'ERROR_NOT_SUPPORTED', 'PROCESS_SET_SESSIONID', 'ERROR_TOO_MANY_SEM_REQUESTS', 'ERROR_NO_EVENT_PAIR', 'ERROR_INVALID_SIGNAL_NUMBER', 'FILE_DELETE_CHILD', 'SM_CYHSCROLL', 'CMSG_SIGNER_HASH_ALGORITHM_PARAM', 'STANDARD_RIGHTS_ALL', 'CERT_STORE_ADD_ALWAYS', 'ERROR_SERVICE_NOTIFICATION', 'REG_DWORD_LITTLE_ENDIAN', 'TRUST_E_NOSIGNATURE', 'OPEN_ALWAYS', 'CERT_QUERY_CONTENT_PFX_AND_LOAD', 'ERROR_ERRORS_ENCOUNTERED', 'AF_CLUSTER', 'SERVICE_USER_DEFINED_CONTROL', 'FILE_FLAG_OVERLAPPED', 'CRYPT_E_NOT_FOUND', 'RRF_RT_REG_NONE', 'ERROR_AUTODATASEG_EXCEEDS_64k', 'ERROR_CANNOT_BREAK_OPLOCK', 'FILE_OPENED', 'CERT_STORE_PROV_SYSTEM_A', 'SM_MIDEASTENABLED', 'ALPC_MSGFLG_LPC_MODE', 'FILE_SHARE_WRITE', 'ERROR_LOCK_FAILED', 'ERROR_IOPL_NOT_ENABLED', 'CMSG_SIGNER_AUTH_ATTR_PARAM', 'ERROR_IMAGE_MACHINE_TYPE_MISMATCH', 'E_FAIL', 'EXCEPTION_NONCONTINUABLE', 'ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY', 'CERT_FIND_SIGNATURE_HASH', 'CRYPT_E_HASH_VALUE', 'ERROR_TOO_MANY_MODULES', 'IMAGE_FILE_MACHINE_AM33', 'MAXLEN_PHYSADDR', 'WRITE_DAC', 'szOID_PKCS', 'ERROR_PROCESS_IN_JOB', 'IMAGE_SCN_MEM_EXECUTE', 'PROV_EC_ECNRA_FULL', 'szOID_INFOSEC_SuiteAIntegrity', 'FILE_ATTRIBUTE_COMPRESSED', 'CERT_COMPARE_PUBLIC_KEY', 'AF_NETBIOS', 'FILE_SUPERSEDE', 'IMAGE_NUMBEROF_DIRECTORY_ENTRIES', 'szOID_RSA_messageDigest', 'ERROR_IS_SUBST_TARGET', 'SERVICE_ADAPTER', 'ERROR_DISCARDED', 'ERROR_OUTOFMEMORY', 'szOID_RSA_MD2RSA', 'szOID_RSA_encryptedData', 'ERROR_SYSTEM_PROCESS_TERMINATED', 'WRITE_OWNER', 'FILE_MAXIMUM_DISPOSITION', 'ERROR_INFLOOP_IN_RELOC_CHAIN', 'SW_MAX', 'RPC_C_IMP_LEVEL_DELEGATE', 'ERROR_BAD_PATHNAME', 'SM_CYDRAG', 'ERROR_INVALID_IMAGE_HASH', 'ERROR_IO_PRIVILEGE_FAILED', 'FILE_CREATE', 'ALPC_MESSAGE_VIEW_ATTRIBUTE', 'CERT_E_REVOCATION_FAILURE', 'ERROR_EXE_MARKED_INVALID', 'FILE_SUPPORTS_HARD_LINKS', 'FILE_READ_EA', 'COMPRESSION_FORMAT_XPRESS_HUFF', 'ERROR_PAGEFILE_QUOTA_EXCEEDED', 'ERROR_MCA_OCCURED', 'WTD_CHOICE_CERT', 'IMAGE_FILE_MACHINE_R10000', 'SERVICE_CHANGE_CONFIG', 'ERROR_NOT_SAFE_MODE_DRIVER', 'CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG', 'REG_QWORD_LITTLE_ENDIAN', 'SERVICE_DRIVER', 'IMAGE_SCN_ALIGN_8BYTES', 'RRF_ZEROONFAILURE', 'ERROR_INVALID_QUOTA_LOWER', 'USAGE_MATCH_TYPE_OR', 'ERROR_SEM_NOT_FOUND', 'THREAD_ALL_ACCESS', 'szOID_OIWDIR_CRPT', 'ERROR_RXACT_COMMIT_NECESSARY', 'E_NOINTERFACE', 'TH32CS_SNAPTHREAD', 'IMAGE_SCN_LNK_OTHER', 'SM_TABLETPC', 'PROV_INTEL_SEC', 'PROCESS_SET_INFORMATION', 'TH32CS_SNAPHEAPLIST', 'ERROR_INVALID_PASSWORD', 'szOID_OIWSEC_shaRSA', 'SM_CXICON', 'SM_CMONITORS', 'LPC_REQUEST', 'CERT_XML_NAME_STR', 'IMAGE_SCN_ALIGN_8192BYTES', 'PROCESS_ALL_ACCESS', 'DETACHED_PROCESS', 'SM_CYMIN', 'ERROR_TOO_MANY_SEMAPHORES', 'SW_MINIMIZE', 'CRYPT_E_FILE_ERROR', 'CERT_BACKED_UP_PROP_ID', 'CERT_TRUST_HAS_NAME_MATCH_ISSUER', 'CERT_SIMPLE_NAME_STR', 'CMSG_CERT_COUNT_PARAM', 'ALPC_MSGFLG_WOW64_CALL', 'szOID_NIST_AES256_CBC', 'CRYPT_SF', 'OWNER_SECURITY_INFORMATION', 'ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT', 'SE_PRIVILEGE_ENABLED_BY_DEFAULT', 'ERROR_BAD_COMPRESSION_BUFFER', 'REG_RESOURCE_LIST', 'ERROR_INVALID_LIST_FORMAT', 'ERROR_PAGE_FAULT_PAGING_FILE', 'IMAGE_SCN_TYPE_REG', 'CERT_EFS_PROP_ID', 'CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL', 'SEC_FILE', 'IMAGE_FILE_MACHINE_SH3DSP', 'SECURITY_MANDATORY_PROTECTED_PROCESS_RID', 'ERROR_SHARING_PAUSED', 'RRF_RT_QWORD', 'FILE_NON_DIRECTORY_FILE', 'COMPRESSION_FORMAT_DEFAULT', 'UNLOAD_DLL_DEBUG_EVENT', 'SEC_LARGE_PAGES', 'EXCEPTION_FLT_DIVIDE_BY_ZERO', 'FILE_SEQUENTIAL_WRITE_ONCE', 'EXCEPTION_INT_OVERFLOW', 'szOID_ECDSA_SHA512', 'szOID_PKCS_12', 'szOID_PKCS_10', 'PROV_SSL', 'CERT_QUERY_CONTENT_FLAG_ALL', 'EXCEPTION_GUARD_PAGE', 'IMAGE_FILE_LINE_NUMS_STRIPPED', 'ERROR_ROWSNOTRELEASED', 'ERROR_FILE_EXISTS', 'IMAGE_FILE_MACHINE_SH3E', 'ERROR_ADAP_HDW_ERR', 'CERT_QUERY_CONTENT_CRL', 'IMAGE_SCN_ALIGN_2BYTES', 'DRIVE_CDROM', 'EVENTLOG_FORWARDS_READ', 'DRIVE_UNKNOWN', 'FILE_PERSISTENT_ACLS', 'CERT_FIND_MD5_HASH', 'CMSG_SIGNER_CERT_ID_PARAM', 'CERT_TRUST_IS_NOT_SIGNATURE_VALID', 'CERT_QUERY_CONTENT_PKCS10', 'PAGE_GUARD', 'LPC_DATAGRAM', 'DEBUG_ONLY_THIS_PROCESS', 'AF_FIREFOX', 'ERROR_PLUGPLAY_QUERY_VETOED', 'ERROR_DATA_NOT_ACCEPTED', 'ERROR_INVALID_BLOCK', 'SM_SECURE', 'ERROR_CONTROL_C_EXIT', 'EXIT_PROCESS_DEBUG_EVENT', 'TRUST_E_PROVIDER_UNKNOWN', 'CREATE_PRESERVE_CODE_AUTHZ_LEVEL', 'ERROR_WAIT_FOR_OPLOCK', 'KEY_READ', 'CERT_FIND_ISSUER_OF', 'szOID_INFOSEC_mosaicConfidentiality', 'CERT_STORE_PROV_FILENAME_A', 'MS_DEF_PROV', 'CERT_E_ISSUERCHAINING', 'FILE_ATTRIBUTE_SPARSE_FILE', 'CERT_STORE_PROV_FILENAME_W', 'ERROR_SUBST_TO_SUBST', 'FILE_ATTRIBUTE_OFFLINE', 'CERT_CHAIN_REVOCATION_CHECK_CHAIN', 'ERROR_CHECKING_FILE_SYSTEM', 'ERROR_FLOAT_MULTIPLE_TRAPS', 'ERROR_PATH_NOT_FOUND', 'SE_PRIVILEGE_USED_FOR_ACCESS', 'STD_OUTPUT_HANDLE', 'CERT_EXTENDED_ERROR_INFO_PROP_ID', 'COMPRESSION_ENGINE_HIBER', 'ERROR_RANGE_NOT_FOUND', 'FILE_SUPPORTS_USN_JOURNAL', 'CRYPT_NO_SALT', 'ERROR_NOT_LOCKED', 'LPC_EXCEPTION', 'PAGE_READONLY', 'AF_ATM', 'EXCEPTION_IN_PAGE_ERROR', 'STARTF_USEFILLATTRIBUTE', 'STARTF_USECOUNTCHARS', 'IMAGE_SCN_LNK_INFO', 'FILE_OVERWRITTEN', 'FILE_SUPPORTS_REMOTE_STORAGE', 'CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE', 'CERT_COMPARE_KEY_IDENTIFIER', 'SERVICE_ERROR_NORMAL', 'SM_CYFULLSCREEN', 'HKEY_LOCAL_MACHINE', 'szOID_RSA_digestedData', 'ERROR_ILLEGAL_DLL_RELOCATION', 'MEM_PHYSICAL', 'szOID_DS', 'ERROR_NOT_JOINED', 'SM_CYSIZE', 'WTD_CHOICE_BLOB', 'CRYPT_FORCE_KEY_PROTECTION_HIGH', 'CERT_COMPARE_MD5_HASH', 'SERVICE_CONTROL_PARAMCHANGE', 'szOID_ECC_CURVE_P256', 'MAXLEN_IFDESCR', 'CERT_COMPARE_EXISTING', 'RRF_RT_REG_BINARY', 'AF_DATAKIT', 'ERROR_DBG_COMMAND_EXCEPTION', 'ALPC_VIEWFLG_NOT_SECURE', 'KEY_WRITE', 'X509_CERT_REQUEST_TO_BE_SIGNED', 'ERROR_MARSHALL_OVERFLOW', 'SERVICE_STOPPED', 'SERVICE_QUERY_STATUS', 'WTD_STATEACTION_VERIFY', 'ERROR_PROFILING_AT_LIMIT', 'OBJ_PERMANENT', 'CERT_INFO_SUBJECT_FLAG', 'ERROR_PROFILING_NOT_STARTED', 'HKEY_PERFORMANCE_TEXT', 'TRUST_E_SUBJECT_NOT_TRUSTED', 'SM_CXFRAME', 'WTD_UI_NOGOOD', 'ERROR_ALLOCATE_BUCKET', 'szOID_RSA_emailAddr', 'CERT_STORE_UNSAFE_PHYSICAL_FLAG', 'ERROR_SHARING_VIOLATION', 'CONTEXT_DEBUG_REGISTERS', 'SM_CMOUSEBUTTONS', 'ERROR_REQUEST_OUT_OF_SEQUENCE', 'ERROR_INVALID_PORT_ATTRIBUTES', 'CMSG_ATTR_CERT_COUNT_PARAM', 'RPC_C_IMP_LEVEL_IDENTIFY', 'ERROR_PRINTQ_FULL', 'EVENTLOG_WARNING_TYPE', 'CERT_STORE_BACKUP_RESTORE_FLAG', 'ERROR_PNP_INVALID_ID', 'ERROR_PROC_NOT_FOUND', 'ERROR_OUT_OF_PAPER', 'SM_CXVIRTUALSCREEN', 'ALPC_MSGFLG_REPLY_MESSAGE', 'ACCESS_DENIED_CALLBACK_ACE_TYPE', 'ERROR_INVALID_MESSAGE', 'SM_STARTER', 'KEY_SET_VALUE', 'ERROR_EXTRANEOUS_INFORMATION', 'ERROR_RING2SEG_MUST_BE_MOVABLE', 'CERT_STORE_SHARE_STORE_FLAG', 'RRF_RT_REG_EXPAND_SZ', 'ERROR_PIPE_NOT_CONNECTED', 'ERROR_DBG_REPLY_LATER', 'SM_CXHSCROLL', 'ACCESS_MIN_MS_OBJECT_ACE_TYPE', 'szOID_OIWDIR_md2RSA', 'ERROR_PNP_TRANSLATION_FAILED', 'FILE_FLAG_SEQUENTIAL_SCAN', 'WARMING_NOT_SAME_FLAG_FOR_WINXP', 'CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID', 'SW_NORMAL', 'szOID_INFOSEC_sdnsKMandSig', 'ERROR_PAGEFILE_CREATE_FAILED', 'IMAGE_SCN_TYPE_NO_PAD', 'FILE_RANDOM_ACCESS', 'ERROR_NOT_ENOUGH_MEMORY', 'SYSTEM_ALARM_OBJECT_ACE_TYPE', 'IMAGE_SCN_MEM_LOCKED', 'CONTEXT_FLOATING_POINT', 'ERROR_KEY_HAS_CHILDREN', 'CERT_CTL_USAGE_PROP_ID', 'ERROR_INSUFFICIENT_BUFFER', 'ERROR_INVALID_TARGET_HANDLE', 'EXCEPTION_DATATYPE_MISALIGNMENT', 'API_SET_SCHEMA_VERSION_V4', 'API_SET_SCHEMA_VERSION_V2', 'API_SET_SCHEMA_VERSION_V3', 'SM_CXMINIMIZED', 'FILE_FLAG_NO_BUFFERING', 'DEBUG_EVENT_EXCEPTION', 'ERROR_COMMITMENT_MINIMUM', 'FILE_VALID_OPTION_FLAGS', 'ERROR_INVALID_STARTING_CODESEG', 'WAIT_IO_COMPLETION', 'ERROR_INSTRUCTION_MISALIGNMENT', 'ERROR_INVALID_MODULETYPE', 'CRYPT_UPDATE_KEY', 'CERT_STORE_SET_LOCALIZED_NAME_FLAG', 'CERT_COMPARE_ANY', 'CRYPT_DATA_KEY', 'SERVICE_STOP', 'RPC_REQUEST_TYPE_CALL', 'PERSIST_E_SIZEINDEFINITE', 'ERROR_DLL_MIGHT_BE_INSECURE', 'szOID_OIWSEC_dsaSHA1', 'DEBUG_EVENT_UNLOAD_MODULE', 'SERVICE_CONTROL_TIMECHANGE', 'CERT_TRUST_CTL_IS_NOT_TIME_VALID', 'PERSIST_E_NOTSELFSIZING', 'CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED', 'SERVICE_BOOT_START', 'PKCS_ATTRIBUTE', 'ERROR_WX86_WARNING', 'WTD_STATEACTION_AUTO_CACHE', 'KEY_WOW64_64KEY', 'FILE_FLAG_RANDOM_ACCESS', 'IMAGE_SCN_CNT_UNINITIALIZED_DATA', 'CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE', 'ERROR_PARTIAL_COPY', 'ERROR_PIPE_BUSY', 'CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK', 'ALPC_HANDLEFLG_DUPLICATE_SAME_ATTRIBUTES', 'CERT_FIND_SUBJECT_CERT', 'PAGE_NOACCESS', 'CERT_COMPARE_ENHKEY_USAGE', 'EVENTLOG_ERROR_TYPE', 'ERROR_BAD_PIPE', 'szOID_OIWDIR_SIGN', 'FILE_READ_ATTRIBUTES', 'PKCS_UTC_TIME', 'SC_MANAGER_ALL_ACCESS', 'IMAGE_FILE_NET_RUN_FROM_SWAP', 'CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID', 'X509_CHOICE_OF_TIME', 'API_SET_LOAD_SCHEMA_ORDINAL', 'IMAGE_FILE_MACHINE_I386', 'SECURITY_MANDATORY_LOW_RID', 'ERROR_FATAL_APP_EXIT', 'CREATE_SUSPENDED', 'CERT_E_INVALID_NAME', 'MEM_LARGE_PAGES', 'ERROR_DEV_NOT_EXIST', 'MEM_WRITE_WATCH', 'szOID_RSA_DES_EDE3_CBC', 'LOAD_DLL_DEBUG_EVENT', 'PROFILE_SERVER', 'CMSG_CONTENT_PARAM', 'CERT_INFO_ISSUER_FLAG', 'ERROR_DRIVER_FAILED_SLEEP', 'DRIVE_REMOTE', 'CERT_SYSTEM_STORE_LOCATION_MASK', 'CERT_QUERY_CONTENT_PFX', 'CERT_TRUST_HAS_EXACT_MATCH_ISSUER', 'ERROR_SWAPERROR', 'EXCEPTION_MAXIMUM_PARAMETERS', 'WTD_REVOKE_WHOLECHAIN', 'INFINITE', 'CRYPT_INITIATOR', 'X509_ALTERNATE_NAME', 'MEM_FREE', 'CERT_QUERY_CONTENT_CERT_PAIR', 'ERROR_MOD_NOT_FOUND', 'REG_DWORD', 'IMAGE_FILE_RELOCS_STRIPPED', 'ERROR_OPLOCK_BREAK_IN_PROGRESS', 'SM_CYSMCAPTION', 'SM_SAMEDISPLAYFORMAT', 'ERROR_ITERATED_DATA_EXCEEDS_64k', 'CERT_STORE_PROV_SMART_CARD', 'CMSG_INNER_CONTENT_TYPE_PARAM', 'ERROR_SEEK', 'EXCEPTION_ILLEGAL_INSTRUCTION', 'IMAGE_FILE_EXECUTABLE_IMAGE', 'FILE_ATTRIBUTE_VIRTUAL', 'szOID_RSA_SMIMEalg', 'FILE_WRITE_DATA', 'szOID_INFOSEC_SuiteAKMandSig', 'X509_NAME', 'CERT_FIND_CTL_USAGE', 'ERROR_IS_JOINED', 'CONTEXT_I386', 'SC_MANAGER_CONNECT', 'PROCESS_VM_WRITE', 'DRIVE_REMOVABLE', 'SM_CXMAXIMIZED', 'ERROR_INVALID_FUNCTION', 'FILE_NOTIFY_CHANGE_ATTRIBUTES', 'CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES', 'ERROR_LOG_HARD_ERROR', 'IMAGE_FILE_MACHINE_POWERPCFP', 'PROCESS_CREATE_THREAD', 'STARTF_USEPOSITION', 'CERT_TRUST_IS_REVOKED', 'ERROR_MCA_EXCEPTION', 'COMPRESSION_FORMAT_LZNT1', 'REG_NONE', 'SM_CARETBLINKINGENABLED', 'SECTION_MAP_EXECUTE_EXPLICIT', 'SM_CYCURSOR', 'SERVICE_ACCEPT_SHUTDOWN', 'SYSTEM_ALARM_ACE_TYPE', 'CERT_DESCRIPTION_PROP_ID', 'ERROR_BAD_REM_ADAP', 'szOID_INFOSEC_SuiteATokenProtection', 'ERROR_LOCKED', 'ERROR_NEGATIVE_SEEK', 'ERROR_SECURITY_STREAM_IS_INCONSISTENT', 'FILE_WRITE_EA', 'CRYPT_VOLATILE', 'CERT_HASH_PROP_ID', 'CERT_STORE_PROV_LDAP', 'EVENTLOG_SUCCESS', 'CERT_STORE_ADD_USE_EXISTING', 'RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH', 'CRYPT_DELETEKEYSET', 'IMAGE_FILE_LARGE_ADDRESS_AWARE', 'PROV_EC_ECDSA_FULL', 'OBJ_INHERIT', 'IMAGE_FILE_MACHINE_UNKNOWN', 'PKCS_CONTENT_INFO_SEQUENCE_OF_ANY', 'RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY', 'CRYPT_SGCKEY', 'PKCS12_NO_PERSIST_KEY', 'CERT_QUERY_FORMAT_FLAG_ALL', 'CERT_SYSTEM_STORE_LOCAL_MACHINE', 'CERT_QUERY_CONTENT_CTL', 'X509_ENUMERATED', 'PROCESS_VM_OPERATION', 'SM_CYFOCUSBORDER', 'CERT_NAME_SIMPLE_DISPLAY_TYPE', 'ERROR_STACK_OVERFLOW_READ', 'CRYPT_RECIPIENT', 'SERVICE_ALL_ACCESS', 'szOID_NIST_AES128_CBC', 'MAILSLOT_WAIT_FOREVER', 'CERT_STORE_PROV_COLLECTION', 'CERT_SYSTEM_STORE_CURRENT_USER', 'ACCESS_MAX_MS_OBJECT_ACE_TYPE', 'szOID_OIWDIR_md2', 'RPC_C_AUTHN_LEVEL_CONNECT', 'SM_CYBORDER', 'ERROR_REGISTRY_IO_FAILED', 'CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE', 'PROFILE_USER', 'AF_LAT', 'ERROR_INVALID_DATA', 'AT_SIGNATURE', 'PAGE_WRITECOMBINE', 'CERT_AUTHORITY_INFO_ACCESS_PROP_ID', 'szOID_OIWSEC_rsaSign', 'ERROR_IS_SUBSTED', 'SYSTEM_AUDIT_OBJECT_ACE_TYPE', 'CERT_E_CHAINING', 'FILE_SYNCHRONOUS_IO_ALERT', 'CMSG_ATTR_CERT_PARAM', 'CONTEXT_INTEGER', 'REG_DWORD_BIG_ENDIAN', 'ERROR_CANT_WAIT', 'SERVICE_ACCEPT_POWEREVENT', 'SW_SHOW', 'FILE_OPEN_FOR_BACKUP_INTENT', 'EVENTLOG_AUDIT_FAILURE', 'ERROR_NOT_READY', 'SECURITY_MANDATORY_MEDIUM_PLUS_RID', 'ERROR_DBG_TERMINATE_PROCESS', 'SM_CYFIXEDFRAME', 'CERT_COMPARE_KEY_SPEC', 'SM_NETWORK', 'EXCEPTION_CONTINUE_EXECUTION', 'ERROR_FLOAT_MULTIPLE_FAULTS', 'ERROR_PWD_TOO_SHORT', 'TOKEN_ALL_ACCESS_P', 'STARTF_FORCEONFEEDBACK', 'ERROR_TOO_MANY_TCBS', 'HKEY_PERFORMANCE_NLSTEXT', 'IMAGE_SCN_MEM_PURGEABLE', 'CERT_STORE_ADD_NEWER', 'ERROR_BADKEY', 'ALPC_CANCELFLG_TRY_CANCEL', 'CRYPT_EXPORTABLE', 'RIP_EVENT', 'ERROR_CHECKOUT_REQUIRED', 'AF_IMPLINK', 'ERROR_NO_DATA', 'CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED', 'ERROR_DYNLINK_FROM_INVALID_RING', 'PROV_RNG', 'CREATE_NO_WINDOW', 'szOID_DSALG_RSA', 'PROV_RSA_SCHANNEL', 'CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG', 'CERT_TRUST_IS_NOT_VALID_FOR_USAGE', 'AF_CCITT', 'SERVICE_CONTROL_HARDWAREPROFILECHANGE', 'TOKEN_QUERY_SOURCE', 'FILE_MAP_WRITE', 'X509_CERT_POLICIES', 'SM_SHUTTINGDOWN', 'szOID_OIWSEC_sha', 'CERT_SYSTEM_STORE_UNPROTECTED_FLAG', 'OUTPUT_DEBUG_STRING_EVENT', 'CERT_NAME_DNS_TYPE', 'ERROR_MORE_DATA', 'szOID_ANSI_X942_DH', 'PKCS_TIME_REQUEST', 'ERROR_ABANDONED_WAIT_0', 'ERROR_WAS_UNLOCKED', 'FILE_GENERIC_READ', 'AF_ISO', 'FILE_OPEN', 'STANDARD_RIGHTS_READ', 'CERT_SIGNATURE_HASH_PROP_ID', 'CONTEXT_XSTATE', 'SECTION_ALL_ACCESS', 'ERROR_INVALID_EA_NAME', 'CERT_PUBKEY_HASH_RESERVED_PROP_ID', 'CERT_INFO_NOT_AFTER_FLAG', 'REG_BINARY', 'SEC_RESERVE', 'CERT_STORE_PROV_FILENAME', 'MEM_DECOMMIT', 'DEBUG_EVENT_BREAKPOINT', 'IMAGE_SCN_MEM_NOT_CACHED', 'ERROR_TIMER_RESOLUTION_NOT_SET', 'szOID_INFOSEC_mosaicTokenProtection', 'SM_SWAPBUTTON', 'SM_DEBUG', 'CERT_TRUST_IS_CYCLIC', 'CERT_KEY_IDENTIFIER_PROP_ID', 'OBJ_VALID_ATTRIBUTES', 'ERROR_DS_VERSION_CHECK_FAILURE', 'SM_CYICONSPACING', 'ERROR_ATOMIC_LOCKS_NOT_SUPPORTED', 'CERT_FIND_CERT_ID', 'PAGE_EXECUTE', 'SM_CYICON', 'RPC_C_IMP_LEVEL_DEFAULT', 'ERROR_ALREADY_EXISTS', 'TOKEN_ASSIGN_PRIMARY', 'FILE_UNICODE_ON_DISK', 'CERT_STORE_READONLY_FLAG', 'RPC_C_AUTHN_LEVEL_PKT_PRIVACY', 'CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED', 'szOID_OIWSEC_dsaComm', 'REALTIME_PRIORITY_CLASS', 'ACCESS_MAX_MS_ACE_TYPE', 'SM_CXSIZEFRAME', 'ERROR_MUTANT_LIMIT_EXCEEDED', 'DEBUG_EVENT_CREATE_THREAD', 'ERROR_BAD_NET_RESP', 'CERT_PVK_FILE_PROP_ID', 'ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY', 'ERROR_RXACT_COMMITTED', 'ERROR_ARBITRATION_UNHANDLED', 'CERT_FIND_ISSUER_STR', 'ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME', 'CERT_QUERY_CONTENT_FLAG_CERT', 'TRUNCATE_EXISTING', 'SM_CXHTHUMB', 'CERT_KEY_PROV_INFO_PROP_ID', 'BIND_IF_SYNTAX_UNKNOWN', 'AF_ECMA', 'ERROR_SYSTEM_TRACE', 'DIRECTORY_CREATE_OBJECT', 'CERT_STORE_CREATE_NEW_FLAG', 'IMAGE_FILE_MACHINE_IA64', 'SW_FORCEMINIMIZE', 'ERROR_VDM_HARD_ERROR', 'ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED', 'CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG', 'ERROR_NOTHING_TO_TERMINATE', 'szOID_OIWSEC_md5RSASign', 'INVALID_HANDLE_VALUE', 'CERT_FIND_SHA1_HASH', 'IDLE_PRIORITY_CLASS', 'IMAGE_SCN_ALIGN_4BYTES', 'szOID_OIWSEC_desOFB', 'CERT_NEXT_UPDATE_LOCATION_PROP_ID', 'X509_BITS', 'CERT_STORE_PROV_SERIALIZED', 'szOID_RSA_RSA', 'szOID_X957_DSA', 'NULL', 'ERROR_INVALID_LDT_OFFSET', 'FILE_ATTRIBUTE_TEMPORARY', 'ERROR_MP_PROCESSOR_MISMATCH', 'ERROR_BAD_DEV_TYPE', 'FILE_GENERIC_WRITE', 'CERT_STORE_PROV_LDAP_W', 'EXCEPTION_EXECUTE_HANDLER', 'CMSG_ENCODED_SIGNER', 'CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM', 'ERROR_EA_FILE_CORRUPT', 'HKEY_CURRENT_USER', 'CERT_FIND_SUBJECT_STR_W', 'THREAD_SET_CONTEXT', 'ERROR_UNEXPECTED_MM_CREATE_ERR', 'PROCESS_MODE_BACKGROUND_END', 'SERVICE_QUERY_CONFIG', 'CERT_FIND_SUBJECT_STR_A', 'ERROR_REPARSE_OBJECT', 'OBJ_EXCLUSIVE', 'ERROR_DISK_TOO_FRAGMENTED', 'WOW64_MAXIMUM_SUPPORTED_EXTENSION', 'SERVICE_ACCEPT_PRESHUTDOWN', 'FILE_ATTRIBUTE_NORMAL', 'TH32CS_SNAPMODULE', 'IMAGE_FILE_MACHINE_AXP64', 'CMSG_CRL_PARAM', 'SYNCHRONIZE', 'CERT_COMPARE_PROPERTY', 'TOKEN_ADJUST_DEFAULT', 'SC_MANAGER_LOCK', 'SM_CYMENUCHECK', 'ERROR_CANTSCROLLBACKWARDS', 'WRITE_WATCH_FLAG_RESET', 'DEBUG_EVENT_LOAD_MODULE', 'SERVICE_CONTROL_INTERROGATE', 'ERROR_NO_LOG_SPACE', 'ALPC_MSGFLG_WAIT_ALERTABLE', 'ERROR_PAGE_FAULT_GUARD_PAGE', 'ALPC_CANCELFLG_NO_CONTEXT_CHECK', 'SERVICE_INACTIVE', 'ERROR_CANNOT_COPY', 'COMPRESSION_FORMAT_XPRESS', 'ERROR_DLL_MIGHT_BE_INCOMPATIBLE', 'CRYPT_ONLINE', 'SYSTEM_AUDIT_CALLBACK_ACE_TYPE', 'SM_SHOWSOUNDS', 'szOID_RSA_PSPECIFIED', 'ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE', 'ERROR_MR_MID_NOT_FOUND', 'ERROR_SUCCESS', 'ERROR_CANNOT_GRANT_REQUESTED_OPLOCK', 'SM_CYMENU', 'FILE_CASE_PRESERVED_NAMES', 'szOID_RSA_hashedData', 'ERROR_ALERTED', 'ERROR_INVALID_NAME', 'szOID_INFOSEC_sdnsKeyManagement', 'X509_UNICODE_NAME_VALUE', 'CRYPT_ARCHIVABLE', 'X509_UNICODE_NAME', 'ERROR_WRONG_DISK', 'SM_MEDIACENTER', 'ERROR_BAD_DLL_ENTRYPOINT', 'ERROR_WAIT_NO_CHILDREN', 'CERT_NAME_ISSUER_FLAG', 'PROCESS_QUERY_INFORMATION', 'szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF', 'FILE_ALL_ACCESS', 'IMAGE_FILE_MACHINE_THUMB', 'ERROR_COULD_NOT_INTERPRET', 'ERROR_ARITHMETIC_OVERFLOW', 'X509_KEY_ATTRIBUTES', 'X509_ASN_ENCODING', 'ERROR_UNDEFINED_CHARACTER', 'CERT_FIND_ENHKEY_USAGE', 'ERROR_SEM_OWNER_DIED', 'szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF', 'CERT_QUERY_CONTENT_SERIALIZED_CERT', 'szOID_RSA_SETOAEP_RSA', 'ERROR_NOT_DOS_DISK', 'szOID_NIST_AES128_WRAP', 'CERT_STORE_PROV_SYSTEM_REGISTRY_W', 'SM_CXFIXEDFRAME', 'CRYPT_MACHINE_KEYSET', 'CERT_FIND_SUBJECT_STR', 'WOW64_SIZE_OF_80387_REGISTERS', 'RRF_RT_REG_MULTI_SZ', 'CERT_STORE_PROV_SMART_CARD_W', 'HKEY_PERFORMANCE_DATA', 'IMAGE_FILE_MACHINE_POWERPC', 'ERROR_NOTIFICATION_GUID_ALREADY_DEFINED', 'ERROR_INVALID_HANDLE', 'SERVICE_CONTROL_NETBINDDISABLE', 'API_SET_RELEASE_SCHEMA_ORDINAL', 'THREAD_SET_INFORMATION', 'CERT_CROSS_CERT_DIST_POINTS_PROP_ID', 'PROV_EC_ECDSA_SIG', 'FILE_COMPLETE_IF_OPLOCKED', 'CERT_SYSTEM_STORE_SERVICES_ID', 'ERROR_DISK_REPAIR_DISABLED', 'CERT_STORE_MANIFOLD_FLAG', 'CERT_QUERY_CONTENT_FLAG_CTL', 'STD_ERROR_HANDLE', 'PROV_EC_ECNRA_SIG', 'PROCESS_SUSPEND_RESUME', 'EVENTLOG_BACKWARDS_READ', 'szOID_RSA_SMIMEalgESDH', 'IMAGE_FILE_MACHINE_ALPHA', 'CERT_QUERY_CONTENT_CERT', 'ERROR_CANNOT_LOAD_REGISTRY_FILE', 'FILE_CREATED', 'ERROR_KERNEL_APC', 'SERVICE_SYSTEM_START', 'ERROR_VIRUS_INFECTED', 'FILE_NOTIFY_CHANGE_SIZE', 'CERT_FIND_KEY_SPEC', 'IMAGE_SCN_ALIGN_2048BYTES', 'ERROR_IS_JOIN_PATH', 'SERVICE_WIN32_SHARE_PROCESS', 'ERROR_SEEK_ON_DEVICE', 'CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG', 'RRF_NOEXPAND', 'CERT_ACCESS_STATE_PROP_ID', 'IMAGE_FILE_MACHINE_SH4', 'IMAGE_FILE_MACHINE_SH5', 'IMAGE_FILE_MACHINE_SH3', 'ERROR_PROCESS_MODE_NOT_BACKGROUND', 'ERROR_CANTWRITE', 'SECURITY_MANDATORY_MEDIUM_RID', 'CRYPT_ACQUIRE_CACHE_FLAG', 'CRYPT_PREGEN', 'ERROR_HANDLES_CLOSED', 'CERT_STORE_ADD_NEW', 'ERROR_RECEIVE_PARTIAL_EXPEDITED', 'SW_SHOWMINNOACTIVE', 'TH32CS_SNAPMODULE32', 'RPC_S_PROCNUM_OUT_OF_RANGE', 'CREATE_PROTECTED_PROCESS', 'ERROR_NO_MORE_ITEMS', 'ERROR_FOUND_OUT_OF_SCOPE']) -interfaces = set(['IUnknown', 'INetFwPolicy2', 'IBackgroundCopyJob', 'INetFwRules', 'IBackgroundCopyCallback', 'IWbemContext', 'INetFwServiceRestriction', 'IEnumVARIANT', 'IWbemObjectSink', 'IBackgroundCopyManager', 'IDispatch', 'IWbemQualifierSet', 'IWbemLocator', 'INetFwRule', 'IBackgroundCopyFile', 'IEnumWbemClassObject', 'IWbemServices', 'IEnumBackgroundCopyFiles', 'IEnumBackgroundCopyJobs', 'IBackgroundCopyError', 'COMInterface', 'IWbemClassObject', 'COMImplementation', 'IWbemCallResult']) +windef = set(['STATUS_SUSPEND_COUNT_EXCEEDED', 'ERROR_BAD_NET_NAME', 'STANDARD_RIGHTS_WRITE', 'RRF_RT_REG_QWORD', 'ERROR_SYSTEM_SHUTDOWN', 'PROV_FORTEZZA', 'STATUS_TRANSPORT_FULL', 'STATUS_ACPI_INCORRECT_ARGUMENT_COUNT', 'DBG_REPLY_LATER', 'AF_HYLINK', 'ERROR_INVALID_VARIANT', 'CMSG_HASH_DATA_PARAM', 'IMAGE_SCN_LNK_REMOVE', 'STATUS_BAD_REMOTE_ADAPTER', 'STATUS_DS_SAM_INIT_FAILURE', 'STATUS_VDM_DISALLOWED', 'CONTEXT_FULL', 'RPC_NT_BAD_STUB_DATA', 'ERROR_CANTOPEN', 'STATUS_CALLBACK_RETURNED_THREAD_PRIORITY', 'CRYPT_ASN_ENCODING', 'EXCEPTION_FLT_UNDERFLOW', 'CMSG_CMS_RECIPIENT_INDEX_PARAM', 'ERROR_BAD_NETPATH', 'STATUS_CONNECTION_DISCONNECTED', 'STATUS_LOG_PINNED_RESERVATION', 'STATUS_PIPE_BUSY', 'CERT_X500_NAME_STR', 'KEY_QUERY_VALUE', 'STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE', 'STATUS_EVENT_PENDING', 'STATUS_PENDING', 'ERROR_NO_SPOOL_SPACE', 'STATUS_LOG_CORRUPTION_DETECTED', 'STATUS_NOINTERFACE', 'CERT_QUERY_CONTENT_FLAG_PKCS10', 'ANYSIZE_ARRAY', 'STATUS_GRAPHICS_PVP_HFS_FAILED', 'szOID_OIWSEC_desEDE', 'STATUS_MAGAZINE_NOT_PRESENT', 'STATUS_TRANSACTIONS_NOT_FROZEN', 'STATUS_SXS_COMPONENT_STORE_CORRUPT', 'STATUS_FLT_INSTANCE_NAME_COLLISION', 'STATUS_NOT_SNAPSHOT_VOLUME', 'STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION', 'STATUS_GRAPHICS_CANT_LOCK_MEMORY', 'AF_NS', 'ERROR_WOW_ASSERTION', 'STATUS_FILES_OPEN', 'STATUS_NO_BROWSER_SERVERS_FOUND', 'STATUS_THREADPOOL_RELEASED_DURING_OPERATION', 'DIGSIG_E_CRYPTO', 'ERROR_DBG_TERMINATE_THREAD', 'STATUS_ISSUING_CA_UNTRUSTED', 'PAGE_EXECUTE_READ', 'SEC_COMMIT', 'STATUS_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE', 'STATUS_AGENTS_EXHAUSTED', 'STATUS_SECTION_NOT_EXTENDED', 'ERROR_BAD_UNIT', 'STATUS_GRAPHICS_INVALID_DISPLAY_ADAPTER', 'szOID_RSA_SHA384RSA', 'ERROR_PAGE_FAULT_TRANSITION', 'ERROR_HANDLE_DISK_FULL', 'CERT_PUBKEY_ALG_PARA_PROP_ID', 'ERROR_PWD_HISTORY_CONFLICT', 'STATUS_LOG_NOT_ENOUGH_CONTAINERS', 'RPC_NT_ZERO_DIVIDE', 'STATUS_ALREADY_DISCONNECTED', 'STATUS_GRAPHICS_ADAPTER_ACCESS_NOT_EXCLUDED', 'STATUS_DISK_RESET_FAILED', 'CERT_TRUST_HAS_KEY_MATCH_ISSUER', 'STATUS_INTERNAL_ERROR', 'STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER', 'szOID_OIWSEC_mdc2RSA', 'STATUS_FWP_SUBLAYER_NOT_FOUND', 'STATUS_INVALID_DOMAIN_ROLE', 'STATUS_LOG_POLICY_ALREADY_INSTALLED', 'ERROR_REGISTRY_CORRUPT', 'ERROR_PROCESS_NOT_IN_JOB', 'STATUS_HOPLIMIT_EXCEEDED', 'RPC_NT_INVALID_NET_ADDR', 'STATUS_GRAPHICS_PVP_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE', 'STATUS_TRANSACTION_NOT_FOUND', 'SC_MANAGER_ENUMERATE_SERVICE', 'STATUS_NO_CALLBACK_ACTIVE', 'SERVICE_STOP_PENDING', 'STATUS_CANNOT_ACCEPT_TRANSACTED_WORK', 'szOID_RSA_certExtensions', 'ERROR_INVALID_OPLOCK_PROTOCOL', 'EXCEPTION_ARRAY_BOUNDS_EXCEEDED', 'KEY_WOW64_32KEY', 'STATUS_WMI_GUID_NOT_FOUND', 'szOID_OIWSEC_desMAC', 'ERROR_RING2_STACK_IN_USE', 'STATUS_CLUSTER_NETWORK_NOT_INTERNAL', 'CERT_E_VALIDITYPERIODNESTING', 'STATUS_NO_SUCH_DOMAIN', 'STATUS_FILE_CLOSED', 'ERROR_NOTIFY_CLEANUP', 'FILE_OPEN_REQUIRING_OPLOCK', 'ERROR_RESOURCE_REQUIREMENTS_CHANGED', 'STATUS_TOO_LATE', 'STATUS_DATA_LATE_ERROR', 'PAGE_WRITECOPY', 'STATUS_GRAPHICS_ALLOCATION_BUSY', 'RPC_RESPONSE_TYPE_FAIL', 'STATUS_VIRUS_DELETED', 'STATUS_FLT_NOT_SAFE_TO_POST_OPERATION', 'CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE', 'EXCEPTION_BREAKPOINT', 'RPC_NT_ENTRY_NOT_FOUND', 'STATUS_PASSWORD_EXPIRED', 'STATUS_DATA_OVERRUN', 'STATUS_INVALID_EA_FLAG', 'STATUS_GRAPHICS_CANT_ACCESS_ACTIVE_VIDPN', 'EXCEPTION_POSSIBLE_DEADLOCK', 'STATUS_INVALID_TASK_INDEX', 'STATUS_CONNECTION_ABORTED', 'STATUS_WMI_READ_ONLY', 'CERT_MD5_HASH_PROP_ID', 'STATUS_SXS_ASSEMBLY_MISSING', 'STATUS_SXS_IDENTITIES_DIFFERENT', 'szOID_X957_SHA1DSA', 'ERROR_INVALID_AT_INTERRUPT_TIME', 'STATUS_PKINIT_NAME_MISMATCH', 'TRUST_E_EXPLICIT_DISTRUST', 'STATUS_NO_TRUST_LSA_SECRET', 'FILE_FLAG_POSIX_SEMANTICS', 'STATUS_PORT_DISCONNECTED', 'SERVICE_CONTROL_DEVICEEVENT', 'ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED', 'STATUS_GRAPHICS_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP', 'STATUS_INVALID_VOLUME_LABEL', 'RPC_RESPONSE_TYPE_BIND_OK', 'STATUS_REQUEST_OUT_OF_SEQUENCE', 'STATUS_CLUSTER_NODE_ALREADY_MEMBER', 'szOID_PKCS_8', 'szOID_PKCS_9', 'CERT_SYSTEM_STORE_LOCAL_MACHINE', 'szOID_PKCS_4', 'szOID_PKCS_5', 'szOID_PKCS_6', 'szOID_PKCS_7', 'szOID_PKCS_1', 'szOID_PKCS_2', 'szOID_PKCS_3', 'FILE_ATTRIBUTE_REPARSE_POINT', 'STATUS_PNP_IRQ_TRANSLATION_FAILED', 'ACCESS_MAX_MS_V4_ACE_TYPE', 'CERT_SYSTEM_STORE_LOCATION_SHIFT', 'SM_CXDLGFRAME', 'DEBUG_PROCESS', 'STATUS_FVE_BAD_METADATA_POINTER', 'ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE', 'szOID_RSA_envelopedData', 'STATUS_WX86_EXCEPTION_CHAIN', 'DEBUG_EVENT_CHANGE_DEBUGGEE_STATE', 'STATUS_DUPLICATE_OBJECTID', 'ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE', 'STATUS_GRAPHICS_SOURCE_NOT_IN_TOPOLOGY', 'STATUS_VERIFIER_STOP', 'ERROR_NETNAME_DELETED', 'STATUS_LOGON_FAILURE', 'szOID_OIWDIR_HASH', 'STATUS_CONNECTION_REFUSED', 'STATUS_FILE_IDENTITY_NOT_PERSISTENT', 'STATUS_BAD_DESCRIPTOR_FORMAT', 'STATUS_FVE_TPM_NO_VMK', 'STATUS_APP_INIT_FAILURE', 'STATUS_NOT_A_REPARSE_POINT', 'STATUS_MP_PROCESSOR_MISMATCH', 'STATUS_NDIS_DOT11_MEDIA_IN_USE', 'CERT_NAME_EMAIL_TYPE', 'SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE', 'STATUS_PROCESS_IS_PROTECTED', 'szOID_RSA_SMIMECapabilities', 'STATUS_GRAPHICS_INVALID_TOTAL_REGION', 'CERT_QUERY_CONTENT_FLAG_CERT_PAIR', 'LPC_DEBUG_EVENT', 'STATUS_EVENTLOG_FILE_CORRUPT', 'ERROR_TIMER_RESUME_IGNORED', 'KEY_ENUMERATE_SUB_KEYS', 'STATUS_NDIS_ERROR_READING_FILE', 'STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER', 'PROCESS_VM_OPERATION', 'CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED', 'STATUS_FILE_LOCKED_WITH_WRITERS', 'STATUS_AUTHIP_FAILURE', 'STATUS_CONTENT_BLOCKED', 'STATUS_NOT_MAPPED_VIEW', 'STATUS_INVALID_HW_PROFILE', 'ERROR_INSUFFICIENT_LOGON_INFO', 'STATUS_FAILED_DRIVER_ENTRY', 'MS_DEF_PROV_A', 'STATUS_LOG_HARD_ERROR', 'ERROR_TRANSLATION_COMPLETE', 'TH32CS_SNAPHEAPLIST', 'STATUS_FVE_OLD_METADATA_COPY', 'FILE_CREATE_PIPE_INSTANCE', 'szOID_OIWSEC_desCFB', 'IMAGE_SCN_MEM_DISCARDABLE', 'MS_DEF_PROV_W', 'STATUS_DLL_MIGHT_BE_INCOMPATIBLE', 'FILE_SUPPORTS_TRANSACTIONS', 'STATUS_UNABLE_TO_UNLOAD_MEDIA', 'STATUS_CTX_NOT_CONSOLE', 'MEM_4MB_PAGES', 'STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS', 'STATUS_GRAPHICS_OPM_INVALID_ENCRYPTED_PARAMETERS', 'STATUS_HANDLES_CLOSED', 'STATUS_INCOMPATIBLE_FILE_MAP', 'STATUS_NO_RANGES_PROCESSED', 'PKCS_7_NDR_ENCODING', 'ERROR_IO_PENDING', 'CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY', 'API_SET_SCHEMA_ENTRY_FLAGS_SEALED', 'STATUS_HUNG_DISPLAY_DRIVER_THREAD', 'STATUS_IPSEC_INVALID_PACKET', 'ERROR_DBG_EXCEPTION_HANDLED', 'ERROR_SIGNAL_PENDING', 'RPC_NT_INVALID_PIPE_OPERATION', 'STATUS_FWP_DUPLICATE_KEYMOD', 'STATUS_REMOTE_STORAGE_MEDIA_ERROR', 'ERROR_NO_GUID_TRANSLATION', 'X509_CERT_CRL_TO_BE_SIGNED', 'STATUS_SYSTEM_DEVICE_NOT_FOUND', 'EXCEPTION_INVALID_DISPOSITION', 'STATUS_CLUSTER_NETINTERFACE_EXISTS', 'STATUS_CALLBACK_RETURNED_THREAD_AFFINITY', 'CMSG_ENCRYPTED_DIGEST', 'ERROR_LOCKED', 'STATUS_NDIS_OPEN_FAILED', 'STATUS_FLT_DO_NOT_DETACH', 'STATUS_CLUSTER_NO_SECURITY_CONTEXT', 'LPC_CLIENT_DIED', 'AT_KEYEXCHANGE', 'STATUS_NO_MEDIA_IN_DEVICE', 'CERT_IE30_RESERVED_PROP_ID', 'STATUS_TRANSACTION_NO_RELEASE', 'STATUS_ACPI_INVALID_ARGUMENT', 'ERROR_RELOC_CHAIN_XEEDS_SEGLIM', 'STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED', 'STATUS_DATATYPE_MISALIGNMENT_ERROR', 'STATUS_FLT_CONTEXT_ALLOCATION_NOT_FOUND', 'THREAD_SUSPEND_RESUME', 'LPC_ERROR_EVENT', 'TH32CS_INHERIT', 'STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET', 'IMAGE_SCN_LNK_NRELOC_OVFL', 'STATUS_INVALID_FILE_FOR_SECTION', 'szOID_RSA_DH', 'ERROR_ACPI_ERROR', 'STATUS_INVALID_MESSAGE', 'STATUS_CTX_SHADOW_INVALID', 'szOID_RSA_HASH', 'STATUS_OBJECT_NAME_EXISTS', 'STATUS_NO_LOGON_SERVERS', 'IMAGE_SCN_MEM_SHARED', 'EXCEPTION_FLT_INEXACT_RESULT', 'STATUS_LOG_BLOCK_INCOMPLETE', 'FILE_SHARE_READ', 'ACCESS_DENIED_OBJECT_ACE_TYPE', 'RPC_NT_SS_CANNOT_GET_CALL_HANDLE', 'INHERIT_PARENT_AFFINITY', 'STATUS_LOG_POLICY_INVALID', 'STATUS_OBJECT_NAME_INVALID', 'STATUS_CLUSTER_NETWORK_NOT_FOUND', 'OBJ_KERNEL_HANDLE', 'FILE_ACTION_REMOVED', 'ERROR_VOLSNAP_HIBERNATE_READY', 'ALPC_MSGFLG_SYNC_REQUEST', 'CERT_OID_NAME_STR', 'ERROR_FAIL_NOACTION_REBOOT', 'STATUS_EXPIRED_HANDLE', 'STATUS_GRAPHICS_SOURCE_ALREADY_IN_SET', 'STATUS_GRAPHICS_OPM_THEATER_MODE_ENABLED', 'BIND_IF_SYNTAX_NDR64', 'CERT_FORTEZZA_DATA_PROP_ID', 'szOID_RSA_counterSign', 'STATUS_CTX_INVALID_MODEMNAME', 'CREATE_NEW_CONSOLE', 'STATUS_DS_CROSS_DOM_MOVE_FAILED', 'STATUS_FWP_INVALID_ACTION_TYPE', 'X509_CERT', 'STATUS_STREAM_MINIVERSION_NOT_FOUND', 'IMAGE_SCN_TYPE_GROUP', 'STATUS_THREAD_NOT_IN_PROCESS', 'CERT_KEY_CONTEXT_PROP_ID', 'STATUS_NDIS_MULTICAST_NOT_FOUND', 'ANY_SIZE', 'WTD_STATEACTION_CLOSE', 'ERROR_WRITE_PROTECT', 'CERT_FIND_PUBKEY_MD5_HASH', 'szOID_INFOSEC_SuiteAConfidentiality', 'STATUS_INVALID_LOGON_HOURS', 'ERROR_LOST_WRITEBEHIND_DATA', 'STATUS_REQUEST_ABORTED', 'CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID', 'SM_CYKANJIWINDOW', 'STATUS_UNWIND_CONSOLIDATE', 'ERROR_SYSTEM_POWERSTATE_TRANSITION', 'STATUS_MEMBERS_PRIMARY_GROUP', 'CERT_KEY_SPEC_PROP_ID', 'SEC_WRITECOMBINE', 'STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_HDCP', 'DIRECTORY_TRAVERSE', 'SM_CYVIRTUALSCREEN', 'CERT_TRUST_HAS_PREFERRED_ISSUER', 'AF_IPX', 'FILE_EXISTS', 'X509_KEY_USAGE_RESTRICTION', 'STATUS_SMARTCARD_CERT_EXPIRED', 'SM_CYMAXTRACK', 'STATUS_GRAPHICS_INVALID_MONITOR_SOURCEMODESET', 'STATUS_INVALID_LOCK_SEQUENCE', 'WTD_STATEACTION_IGNORE', 'STATUS_GRAPHICS_TRY_AGAIN_NOW', 'CERT_TRUST_IS_EXPLICIT_DISTRUST', 'STATUS_IO_REPARSE_TAG_MISMATCH', 'CERT_INFO_NOT_BEFORE_FLAG', 'API_SET_SCHEMA_FLAGS_SEALED', 'STATUS_WX86_SINGLE_STEP', 'DIGSIG_E_DECODE', 'ERROR_TOO_MANY_CMDS', 'STATUS_BAD_TOKEN_TYPE', 'OBJ_CASE_INSENSITIVE', 'STATUS_DS_INIT_FAILURE_CONSOLE', 'STATUS_REDIRECTOR_STARTED', 'API_SET_SCHEMA_ENTRY_FLAGS_EXTENSION', 'THREAD_GET_CONTEXT', 'CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID', 'STATUS_FVE_VIRTUALIZED_SPACE_TOO_BIG', 'STATUS_DEBUG_ATTACH_FAILED', 'REG_RESOURCE_REQUIREMENTS_LIST', 'STATUS_VALIDATE_CONTINUE', 'AF_INET', 'STATUS_NO_GUID_TRANSLATION', 'STATUS_FVE_REBOOT_REQUIRED', 'szOID_RSAES_OAEP', 'ERROR_FAIL_RESTART', 'SM_CXMENUSIZE', 'STATUS_GRAPHICS_TARGET_NOT_IN_TOPOLOGY', 'CERT_SYSTEM_STORE_SERVICES', 'STATUS_FVE_FS_NOT_EXTENDED', 'STATUS_IPSEC_CLEAR_TEXT_DROP', 'STATUS_PRIVILEGED_INSTRUCTION', 'STATUS_INVALID_BLOCK_LENGTH', 'STATUS_INVALID_PAGE_PROTECTION', 'STATUS_FVE_TPM_DISABLED', 'STATUS_NDIS_DOT11_AUTO_CONFIG_ENABLED', 'MEM_RESET', 'DIGSIG_E_EXTENSIBILITY', 'EXCEPTION_FLT_INVALID_OPERATION', 'API_SET_LOOKUP_ORDINAL', 'SERVICE_ACTIVE', 'STATUS_LOGON_SESSION_EXISTS', 'STATUS_BAD_WORKING_SET_LIMIT', 'RPC_NT_PIPE_CLOSED', 'ERROR_CURRENT_DIRECTORY', 'STATUS_INVALID_PORT_HANDLE', 'RPC_S_UNSUPPORTED_TRANS_SYN', 'STATUS_END_OF_FILE', 'ERROR_DUP_NAME', 'PKCS12_EXPORT_RESERVED_MASK', 'RPC_NT_NO_BINDINGS', 'STATUS_LOG_NO_RESTART', 'FILE_ATTRIBUTE_ARCHIVE', 'CERT_QUERY_CONTENT_CERT_PAIR', 'IMAGE_SCN_ALIGN_512BYTES', 'STATUS_NT_CROSS_ENCRYPTION_REQUIRED', 'CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID', 'STATUS_IMPLEMENTATION_LIMIT', 'ERROR_NOT_TINY_STREAM', 'ERROR_SECTOR_NOT_FOUND', 'STATUS_PIPE_CONNECTED', 'ERROR_INVALID_ACCESS', 'CERT_STORE_PROV_PKCS7', 'STATUS_UNHANDLED_EXCEPTION', 'STATUS_LOCAL_USER_SESSION_KEY', 'HKEY_USERS', 'STATUS_GRAPHICS_NOT_A_LINKED_ADAPTER', 'STATUS_TRANSACTION_NOT_JOINED', 'szOID_RSA_MD2', 'szOID_RSA_MD5', 'szOID_RSA_MD4', 'DEBUG_EVENT_EXIT_THREAD', 'SM_CYDOUBLECLK', 'STATUS_ACPI_INVALID_TARGETTYPE', 'STATUS_NOT_SUPPORTED', 'STATUS_RECEIVE_PARTIAL', 'STATUS_ENLISTMENT_NOT_SUPERIOR', 'STATUS_MONITOR_NO_DESCRIPTOR', 'CERT_COMPARE_SHA1_HASH', 'ERROR_NOT_CAPABLE', 'WTD_UI_NOBAD', 'CERT_FIND_ISSUER_STR_A', 'DEBUG_EVENT_CHANGE_SYMBOL_STATE', 'ERROR_BUSY', 'szOID_INFOSEC_SuiteASignature', 'SM_CYVSCROLL', 'ERROR_USER_PROFILE_LOAD', 'STATUS_TOO_MANY_SESSIONS', 'CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED', 'STATUS_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES', 'STATUS_LOG_FILE_FULL', 'STD_INPUT_HANDLE', 'ERROR_SYSTEM_PROCESS_TERMINATED', 'TH32CS_SNAPALL', 'ERROR_DOMAIN_CTRLR_CONFIG_ERROR', 'CMSG_ENCODED_MESSAGE', 'ERROR_NET_WRITE_FAULT', 'STATUS_BAD_SERVICE_ENTRYPOINT', 'STATUS_PARAMETER_QUOTA_EXCEEDED', 'IMAGE_FILE_MACHINE_ARM', 'CREATE_DEFAULT_ERROR_MODE', 'IMAGE_SCN_ALIGN_4096BYTES', 'STATUS_TRANSACTION_NO_MATCH', 'CERT_SOURCE_LOCATION_PROP_ID', 'ERROR_SYNCHRONIZATION_REQUIRED', 'IMAGE_SCN_MEM_NOT_PAGED', 'ERROR_DISK_CHANGE', 'SERVICE_START_PENDING', 'SERVICE_START', 'IMAGE_SCN_ALIGN_128BYTES', 'STATUS_EVALUATION_EXPIRATION', 'SW_SHOWMAXIMIZED', 'STATUS_PAGEFILE_QUOTA', 'STATUS_WX86_CREATEWX86TIB', 'SM_CXMENUCHECK', 'STATUS_GRAPHICS_OPM_INVALID_POINTER', 'ERROR_BADSTARTPOSITION', 'CERT_INFO_SERIAL_NUMBER_FLAG', 'STATUS_FWP_IN_USE', 'CERT_FIND_PUBLIC_KEY', 'RPC_NT_INCOMPLETE_NAME', 'CERT_COMPARE_SHIFT', 'STATUS_FVE_PARTIAL_METADATA', 'STATUS_WRONG_VOLUME', 'PROV_RSA_AES', 'STATUS_GRAPHICS_OPM_RESOLUTION_TOO_HIGH', 'STATUS_DEVICE_CONFIGURATION_ERROR', 'STATUS_INVALID_LABEL', 'STATUS_GRAPHICS_PVP_INVALID_CERTIFICATE_LENGTH', 'CERT_COMPARE_MASK', 'ERROR_WAIT_3', 'ERROR_WAIT_2', 'ERROR_WAIT_1', 'ALPC_MESSAGE_TOKEN_ATTRIBUTE', 'szOID_NIST_sha256', 'COMPRESSION_ENGINE_MAXIMUM', 'CERT_QUERY_OBJECT_BLOB', 'STATUS_NOT_A_DIRECTORY', 'ERROR_DRIVER_CANCEL_TIMEOUT', 'STATUS_SMARTCARD_LOGON_REQUIRED', 'EXCEPTION_PRIV_INSTRUCTION', 'STATUS_INVALID_PARAMETER_8', 'FILE_ACTION_RENAMED_NEW_NAME', 'STATUS_NDIS_ADAPTER_NOT_READY', 'STATUS_DISK_QUOTA_EXCEEDED', 'STATUS_PAGE_FAULT_COPY_ON_WRITE', 'DIRECTORY_QUERY', 'STATUS_FWP_CALLOUT_NOTIFICATION_FAILED', 'ERROR_DBG_PRINTEXCEPTION_C', 'STATUS_TOO_MANY_CONTEXT_IDS', 'STATUS_BUFFER_ALL_ZEROS', 'AF_IRDA', 'CERT_ARCHIVED_PROP_ID', 'DIRECTORY_ALL_ACCESS', 'GROUP_SECURITY_INFORMATION', 'RPC_C_AUTHN_LEVEL_PKT', 'STATUS_FWP_INJECT_HANDLE_STALE', 'MAXIMUM_ALLOWED', 'EXCEPTION_DATATYPE_MISALIGNMENT', 'COMPRESSION_FORMAT_NONE', 'HIGH_PRIORITY_CLASS', 'STATUS_FLOAT_MULTIPLE_FAULTS', 'STATUS_MONITOR_INVALID_DESCRIPTOR_CHECKSUM', 'STATUS_PARTITION_FAILURE', 'STATUS_FLT_FILTER_NOT_READY', 'NORMAL_PRIORITY_CLASS', 'ERROR_FAIL_SHUTDOWN', 'STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGESET', 'STATUS_DRIVER_UNABLE_TO_LOAD', 'X509_CERT_TO_BE_SIGNED', 'szOID_RSA_RC4', 'STATUS_FVE_TPM_SRK_AUTH_NOT_ZERO', 'szOID_DSALG_SIGN', 'STATUS_FILE_IS_A_DIRECTORY', 'STATUS_CRASH_DUMP', 'STATUS_ACPI_INVALID_ARGTYPE', 'STATUS_FLT_IO_COMPLETE', 'ERROR_REPARSE', 'SERVICE_PAUSED', 'IMAGE_SIZEOF_SHORT_NAME', 'CMSG_RECIPIENT_COUNT_PARAM', 'szOID_RSA_challengePwd', 'SERVICE_ACCEPT_SESSIONCHANGE', 'STATUS_HIBERNATION_FAILURE', 'CMSG_ENCODING_TYPE_MASK', 'IMAGE_SCN_ALIGN_64BYTES', 'ERROR_EA_LIST_INCONSISTENT', 'STATUS_RXACT_COMMIT_FAILURE', 'ERROR_CANT_ENABLE_DENY_ONLY', 'STATUS_SXS_KEY_NOT_FOUND', 'STATUS_JOURNAL_ENTRY_DELETED', 'ERROR_EVALUATION_EXPIRATION', 'STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED', 'CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY', 'CERT_COMPARE_PUBKEY_MD5_HASH', 'STATUS_CLUSTER_INVALID_REQUEST', 'STATUS_TM_IDENTITY_MISMATCH', 'STARTF_USESHOWWINDOW', 'ERROR_GUID_SUBSTITUTION_MADE', 'DEBUG_EVENT_CREATE_PROCESS', 'STATUS_LOG_METADATA_CORRUPT', 'STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_PINNED', 'IMAGE_SCN_ALIGN_1BYTES', 'STATUS_ASSERTION_FAILURE', 'STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED', 'STATUS_CLUSTER_INVALID_NETWORK_PROVIDER', 'EXCEPTION_CONTINUE_SEARCH', 'EVENTLOG_SEEK_READ', 'REG_FULL_RESOURCE_DESCRIPTOR', 'MEM_MAPPED', 'STATUS_FVE_KEYFILE_NOT_FOUND', 'STATUS_DRIVER_BLOCKED_CRITICAL', 'STATUS_FILE_LOCK_CONFLICT', 'STATUS_IO_TIMEOUT', 'CERT_FIND_EXISTING', 'STATUS_NO_LOG_SPACE', 'KEY_ALL_ACCESS', 'ERROR_INVALID_LEVEL', 'ERROR_THREAD_WAS_SUSPENDED', 'CERT_COMPARE_HASH', 'RRF_RT_REG_DWORD', 'TRUST_E_SUBJECT_FORM_UNKNOWN', 'STATUS_LOG_POLICY_NOT_INSTALLED', 'RPC_C_IMP_LEVEL_IMPERSONATE', 'ERROR_FAILED_DRIVER_ENTRY', 'FILE_GENERIC_READ', 'STATUS_LINK_TIMEOUT', 'STATUS_SMARTCARD_IO_ERROR', 'STATUS_MESSAGE_LOST', 'SERVICE_CONTROL_POWEREVENT', 'SERVICE_STATE_ALL', 'STATUS_INVALID_ID_AUTHORITY', 'SERVICE_ACCEPT_PAUSE_CONTINUE', 'STATUS_GRAPHICS_START_DEFERRED', 'STATUS_INVALID_IMAGE_NOT_MZ', 'ERROR_ATOMIC_LOCKS_NOT_SUPPORTED', 'STATUS_FLOPPY_ID_MARK_NOT_FOUND', 'STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER', 'STATUS_HASH_NOT_SUPPORTED', 'UNLOAD_DLL_DEBUG_EVENT', 'STATUS_LICENSE_QUOTA_EXCEEDED', 'STATUS_UNABLE_TO_DECOMMIT_VM', 'STATUS_MEDIA_CHANGED', 'STATUS_COULD_NOT_RESIZE_LOG', 'STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE', 'FILE_NAMED_STREAMS', 'STATUS_VOLSNAP_PREPARE_HIBERNATE', 'STATUS_FVE_OVERLAPPED_UPDATE', 'SYSTEM_AUDIT_ACE_TYPE', 'STATUS_VHD_PARENT_VHD_ACCESS_DENIED', 'RPC_C_QOS_CAPABILITIES_DEFAULT', 'IMAGE_FILE_BYTES_REVERSED_HI', 'STATUS_CTX_INVALID_PD', 'STATUS_RESUME_HIBERNATION', 'STATUS_GRAPHICS_FREQUENCYRANGE_NOT_IN_SET', 'FILE_SUPPORTS_SPARSE_FILES', 'ERROR_MEDIA_CHECK', 'PKCS_ATTRIBUTE', 'STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY', 'STATUS_LPC_REQUESTS_NOT_ALLOWED', 'STATUS_GRAPHICS_STALE_VIDPN_TOPOLOGY', 'STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE', 'ERROR_PNP_BAD_MPS_TABLE', 'STATUS_NO_DATA_DETECTED', 'CRYPT_ACQUIRE_SILENT_FLAG', 'CERT_COMPARE_ISSUER_OF', 'STATUS_FWP_DUPLICATE_AUTH_METHOD', 'STATUS_REMOTE_SESSION_LIMIT', 'STATUS_LOG_FULL_HANDLER_IN_PROGRESS', 'CRYPT_ACQUIRE_NO_HEALING', 'STATUS_SERVER_UNAVAILABLE', 'STATUS_NTLM_BLOCKED', 'STATUS_FLT_INVALID_CONTEXT_REGISTRATION', 'STATUS_THREAD_WAS_SUSPENDED', 'GENERIC_ALL', 'CERT_STORE_CERTIFICATE_CONTEXT', 'CERT_OCSP_RESPONSE_PROP_ID', 'RPC_NT_ENUM_VALUE_OUT_OF_RANGE', 'CERT_E_MALFORMED', 'WTD_UI_ALL', 'STATUS_IO_REISSUE_AS_CACHED', 'RPC_NT_INVALID_OBJECT', 'STATUS_DUPLICATE_NAME', 'DEBUG_EVENT_SYSTEM_ERROR', 'CERT_SYSTEM_STORE_CURRENT_SERVICE', 'ERROR_STOPPED_ON_SYMLINK', 'RPC_NT_ENTRY_ALREADY_EXISTS', 'CERT_STORE_PROV_SYSTEM_REGISTRY_A', 'STATUS_PROCESS_NOT_IN_JOB', 'ERROR_DLL_INIT_FAILED_LOGOFF', 'STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD_RECOVERED', 'IMAGE_FILE_MACHINE_ARMNT', 'MEM_PRIVATE', 'STATUS_NO_MATCH', 'szOID_RSA_extCertAttrs', 'szOID_ECC_CURVE_P521', 'SE_PRIVILEGE_REMOVED', 'STATUS_PROFILING_NOT_STOPPED', 'TRUST_E_FAIL', 'STATUS_NOLOGON_SERVER_TRUST_ACCOUNT', 'STATUS_IPSEC_WRONG_SA', 'STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS', 'STATUS_LOG_ARCHIVE_IN_PROGRESS', 'STATUS_NOT_MAPPED_DATA', 'WTD_CHOICE_FILE', 'ERROR_CARDBUS_NOT_SUPPORTED', 'STATUS_PATH_NOT_COVERED', 'CMSG_SIGNER_COUNT_PARAM', 'ERROR_TOO_MANY_SESS', 'CERT_INFO_EXTENSION_FLAG', 'SM_CXDOUBLECLK', 'STATUS_WORKING_SET_QUOTA', 'ALPC_PORFLG_ALLOW_LPC_REQUESTS', 'STATUS_NOTHING_TO_TERMINATE', 'STATUS_SXS_ASSEMBLY_NOT_FOUND', 'STATUS_FWP_INCOMPATIBLE_CIPHER_CONFIG', 'STATUS_INVALID_LOCK_RANGE', 'SERVICE_ACCEPT_HARDWAREPROFILECHANGE', 'STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME', 'CERT_STORE_ADD_REPLACE_EXISTING', 'CMSG_COMPUTED_HASH_PARAM', 'AF_UNSPEC', 'CMSG_SIGNER_UNAUTH_ATTR_PARAM', 'ALPC_HANDLEFLG_DUPLICATE_SAME_ACCESS', 'ERROR_NOT_SAME_DEVICE', 'STATUS_IPSEC_REPLAY_CHECK_FAILED', 'ERROR_REQ_NOT_ACCEP', 'STATUS_ALREADY_COMMITTED', 'USAGE_MATCH_TYPE_AND', 'STATUS_NOT_REGISTRY_FILE', 'DRIVE_FIXED', 'SECTION_QUERY', 'ERROR_BUFFER_ALL_ZEROS', 'STATUS_NDIS_INVALID_PACKET', 'ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE', 'STARTF_USESTDHANDLES', 'PROV_SPYRUS_LYNKS', 'STATUS_CLUSTER_NO_NET_ADAPTERS', 'AF_DECnet', 'STATUS_IO_PRIVILEGE_FAILED', 'PROCESS_CREATE_PROCESS', 'SM_ARRANGE', 'RPC_NT_OBJECT_NOT_FOUND', 'CERT_DATE_STAMP_PROP_ID', 'STATUS_DEVICE_ALREADY_ATTACHED', 'szOID_RSA_unstructName', 'ACCESS_MIN_MS_ACE_TYPE', 'STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED', 'STATUS_UNSUCCESSFUL', 'STATUS_ILLEGAL_FUNCTION', 'STATUS_FVE_CONV_WRITE_ERROR', 'SM_MENUDROPALIGNMENT', 'CRYPT_E_INVALID_MSG_TYPE', 'STATUS_IPSEC_DOSP_MAX_ENTRIES', 'RRF_RT_REG_SZ', 'STATUS_FLT_INTERNAL_ERROR', 'STATUS_OBJECT_NAME_COLLISION', 'STATUS_DS_RIDMGR_INIT_ERROR', 'ERROR_BAD_FUNCTION_TABLE', 'SEC_IMAGE', 'STATUS_FT_READ_RECOVERY_FROM_BACKUP', 'STATUS_SERIAL_MORE_WRITES', 'SEC_PROTECTED_IMAGE', 'SERVICE_RUNS_IN_SYSTEM_PROCESS', 'STATUS_SYSTEM_SHUTDOWN', 'STATUS_LOGON_SESSION_COLLISION', 'STATUS_IPSEC_BAD_SPI', 'ACCESS_MAX_MS_V2_ACE_TYPE', 'ERROR_INVALID_HW_PROFILE', 'IMAGE_FILE_MACHINE_M32R', 'STATUS_SYSTEM_HIVE_TOO_LARGE', 'STATUS_GRAPHICS_GAMMA_RAMP_NOT_SUPPORTED', 'CERT_SYSTEM_STORE_USERS_ID', 'STATUS_INVALID_CONNECTION', 'ERROR_PREDEFINED_HANDLE', 'STATUS_NONEXISTENT_EA_ENTRY', 'ERROR_BAD_SERVICE_ENTRYPOINT', 'STATUS_KEY_HAS_CHILDREN', 'ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE', 'ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE', 'CERT_COMPARE_SUBJECT_INFO_ACCESS', 'IMAGE_SCN_ALIGN_16BYTES', 'CERT_COMPARE_NAME_STR_A', 'STATUS_INVALID_LEVEL', 'ERROR_INVALID_EXE_SIGNATURE', 'STATUS_IP_ADDRESS_CONFLICT1', 'ERROR_TOO_MANY_OPEN_FILES', 'CERT_E_INVALID_POLICY', 'STATUS_SXS_MANIFEST_PARSE_ERROR', 'ERROR_BROKEN_PIPE', 'CREATE_IGNORE_SYSTEM_DEFAULT', 'CERT_TRUST_INVALID_POLICY_CONSTRAINTS', 'STATUS_GRACEFUL_DISCONNECT', 'EVENTLOG_AUDIT_SUCCESS', 'CERT_COMPARE_NAME_STR_W', 'FILE_ACTION_MODIFIED', 'ERROR_NETWORK_BUSY', 'STATUS_NO_SUCH_PRIVILEGE', 'ERROR_SEM_USER_LIMIT', 'STATUS_BAD_INHERITANCE_ACL', 'szOID_INFOSEC_mosaicKMandSig', 'STATUS_SMARTCARD_NO_CARD', 'ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION', 'FILE_FLAG_OPEN_NO_RECALL', 'SM_MOUSEHORIZONTALWHEELPRESENT', 'ERROR_ADAP_HDW_ERR', 'ERROR_PIPE_LOCAL', 'X509_NAME_VALUE', 'ERROR_FILE_SYSTEM_LIMITATION', 'CERT_STORE_PROV_MEMORY', 'STATUS_INVALID_USER_BUFFER', 'STATUS_NONCONTINUABLE_EXCEPTION', 'STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY', 'STATUS_MAPPED_ALIGNMENT', 'STATUS_DEVICE_OFF_LINE', 'STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE', 'STATUS_RECOVERY_FAILURE', 'IMAGE_SCN_TYPE_NOLOAD', 'ALPC_PORFLG_SYSTEM_PROCESS', 'szOID_OIWSEC_keyHashSeal', 'ERROR_PAGE_FAULT_COPY_ON_WRITE', 'STATUS_SOURCE_ELEMENT_EMPTY', 'ERROR_EXE_MACHINE_TYPE_MISMATCH', 'LABEL_SECURITY_INFORMATION', 'STATUS_OPERATION_NOT_SUPPORTED_IN_TRANSACTION', 'STATUS_REPARSE_OBJECT', 'RPC_C_IMP_LEVEL_ANONYMOUS', 'STATUS_CTX_SHADOW_DENIED', 'ERROR_INVALID_DRIVE', 'STATUS_ILL_FORMED_SERVICE_ENTRY', 'STATUS_ADDRESS_ALREADY_EXISTS', 'RPC_NT_NO_MORE_BINDINGS', 'CERT_KEY_PROV_HANDLE_PROP_ID', 'IMAGE_SCN_MEM_FARDATA', 'STATUS_PROCESS_IS_TERMINATING', 'STATUS_INVALID_GROUP_ATTRIBUTES', 'STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST', 'STATUS_SECTION_PROTECTION', 'GENERIC_READ', 'STATUS_WMI_TRY_AGAIN', 'szOID_RSA_RC5_CBCPad', 'STATUS_CTX_CLIENT_LICENSE_IN_USE', 'STATUS_WAIT_63', 'ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY', 'STATUS_MUI_FILE_NOT_FOUND', 'CMSG_CMS_SIGNER_INFO_PARAM', 'ERROR_MAX_SESSIONS_REACHED', 'SM_DIGITIZER', 'RPC_NT_INTERFACE_NOT_FOUND', 'CMSG_TYPE_PARAM', 'MS_STRONG_PROV', 'STATUS_CALLBACK_RETURNED_LDR_LOCK', 'SEC_NOCACHE', 'STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_LAYER', 'ERROR_IP_ADDRESS_CONFLICT2', 'ERROR_IP_ADDRESS_CONFLICT1', 'REG_QWORD', 'RPC_NT_INVALID_NETWORK_OPTIONS', 'ERROR_USER_APC', 'SM_CXMIN', 'CMSG_VERSION_PARAM', 'ERROR_CANNOT_MAKE', 'EVENTLOG_INFORMATION_TYPE', 'STATUS_NO_MORE_ENTRIES', 'STATUS_FWP_PROVIDER_NOT_FOUND', 'RPC_NT_INVALID_ASYNC_HANDLE', 'FILE_OPEN_IF', 'STATUS_ORDINAL_NOT_FOUND', 'CREATE_BREAKAWAY_FROM_JOB', 'STATUS_PORT_UNREACHABLE', 'IMAGE_SCN_CNT_INITIALIZED_DATA', 'STATUS_VOLUME_MOUNTED', 'STATUS_JOURNAL_DELETE_IN_PROGRESS', 'STATUS_GRAPHICS_INVALID_CLIENT_TYPE', 'STATUS_INVALID_DOMAIN_STATE', 'STATUS_CROSSREALM_DELEGATION_FAILURE', 'STATUS_PORT_ALREADY_SET', 'STATUS_SXS_CORRUPTION', 'STATUS_DATA_NOT_ACCEPTED', 'X509_EXTENSIONS', 'RPC_C_AUTHN_LEVEL_NONE', 'STATUS_SERIAL_COUNTER_TIMEOUT', 'STATUS_ABANDONED', 'STATUS_UNDEFINED_CHARACTER', 'ERROR_ASSERTION_FAILURE', 'STATUS_GRAPHICS_INVALID_STRIDE', 'STATUS_INVALID_CID', 'STATUS_NDIS_ALREADY_MAPPED', 'STATUS_CANNOT_EXECUTE_FILE_IN_TRANSACTION', 'STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR', 'szOID_INFOSEC_sdnsIntegrity', 'CERT_NAME_FRIENDLY_DISPLAY_TYPE', 'STATUS_WAIT_2', 'DBG_EXCEPTION_NOT_HANDLED', 'STATUS_GRAPHICS_OPM_INVALID_CONFIGURATION_REQUEST', 'ERROR_REM_NOT_LIST', 'STATUS_FILE_INVALID', 'STATUS_TRANSACTION_SUPERIOR_EXISTS', 'STATUS_WAIT_0', 'SM_CXSMICON', 'STATUS_ONLY_IF_CONNECTED', 'STATUS_FLT_BUFFER_TOO_SMALL', 'STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY', 'ERROR_NO_ACE_CONDITION', 'REPORT_NO_PRIVATE_KEY', 'STATUS_TRANSACTIONMANAGER_NOT_FOUND', 'STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED', 'STATUS_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT', 'STATUS_FWP_BUILTIN_OBJECT', 'CERT_SHA1_HASH_PROP_ID', 'STATUS_GRAPHICS_INVALID_DRIVER_MODEL', 'STATUS_GRAPHICS_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME', 'STATUS_GRAPHICS_OPM_INVALID_HANDLE', 'CERT_STORE_PROV_SYSTEM_REGISTRY', 'FILE_NO_EA_KNOWLEDGE', 'CRYPT_USER_KEYSET', 'STATUS_FWP_NO_TXN_IN_PROGRESS', 'STATUS_EFS_ALG_BLOB_TOO_BIG', 'ERROR_SEGMENT_NOTIFICATION', 'szOID_RSA_preferSignedData', 'ERROR_SAME_DRIVE', 'ERROR_NOACCESS', 'FILE_SUPPORTS_ENCRYPTION', 'STATUS_LOG_BLOCKS_EXHAUSTED', 'KEY_EXECUTE', 'EXCEPTION_INVALID_HANDLE', 'RPC_NT_UNKNOWN_AUTHN_LEVEL', 'MS_DEF_RSA_SIG_PROV', 'STATUS_VOLUME_NOT_UPGRADED', 'RPC_S_UNKNOWN_IF', 'STATUS_FWP_INCOMPATIBLE_AUTH_CONFIG', 'FILE_OPEN_BY_FILE_ID', 'STATUS_NOT_TINY_STREAM', 'SW_SHOWNA', 'DRIVE_REMOTE', 'STATUS_FS_DRIVER_REQUIRED', 'szOID_OIWSEC_md4RSA', 'CERT_CHAIN_REVOCATION_CHECK_END_CERT', 'S_OK', 'ERROR_NO_MORE_MATCHES', 'IMAGE_FILE_MACHINE_MIPS16', 'STATUS_SMARTCARD_NO_KEY_CONTAINER', 'STATUS_AUDITING_DISABLED', 'FILE_ADD_FILE', 'STATUS_FLT_NO_HANDLER_DEFINED', 'IMAGE_FILE_LOCAL_SYMS_STRIPPED', 'CMSG_BARE_CONTENT_PARAM', 'OBJ_OPENIF', 'ERROR_PROFILING_NOT_STOPPED', 'SERVICE_DEMAND_START', 'STATUS_GRAPHICS_PATH_CONTENT_GEOMETRY_TRANSFORMATION_NOT_SUPPORTED', 'RPC_NT_SS_HANDLES_MISMATCH', 'STATUS_GRAPHICS_CANT_RENDER_LOCKED_ALLOCATION', 'CONTROL_C_EXIT', 'STATUS_REGISTRY_CORRUPT', 'MS_DEF_RSA_SIG_PROV_A', 'STATUS_NDIS_UNSUPPORTED_REVISION', 'CERT_ENCODING_TYPE_MASK', 'STATUS_PNP_TRANSLATION_FAILED', 'STATUS_RESOURCEMANAGER_READ_ONLY', 'ERROR_QUOTA_LIST_INCONSISTENT', 'STATUS_GRAPHICS_NO_MONITORS_CORRESPOND_TO_DISPLAY_DEVICE', 'ERROR_STACK_OVERFLOW', 'szOID_ECC_PUBLIC_KEY', 'ERROR_SEM_TIMEOUT', 'CMSG_UNPROTECTED_ATTR_PARAM', 'FILE_SUPPORTS_OBJECT_IDS', 'STATUS_INVALID_QUOTA_LOWER', 'STATUS_NDIS_RESET_IN_PROGRESS', 'EVENTLOG_SEQUENTIAL_READ', 'IMAGE_SCN_CNT_CODE', 'CERT_NAME_DISABLE_IE4_UTF8_FLAG', 'STATUS_GRAPHICS_INVALID_MONITORDESCRIPTOR', 'ABOVE_NORMAL_PRIORITY_CLASS', 'PROV_DSS', 'STATUS_CLUSTER_NODE_ALREADY_DOWN', 'ERROR_INVALID_FLAG_NUMBER', 'CERT_AUTO_ENROLL_RETRY_PROP_ID', 'IMAGE_SCN_GPREL', 'szOID_RFC3161_counterSign', 'ERROR_FILE_INVALID', 'STATUS_RM_METADATA_CORRUPT', 'ERROR_OPLOCK_NOT_GRANTED', 'ERROR_INVALID_SEGDPL', 'ERROR_ABIOS_ERROR', 'RPC_NT_BYTE_COUNT_TOO_SMALL', 'RPC_RESPONSE_TYPE_SUCCESS', 'STATUS_RXACT_COMMIT_NECESSARY', 'STATUS_TRANSACTION_NOT_ENLISTED', 'WTD_UI_NONE', 'FILE_ATTRIBUTE_SYSTEM', 'X509_OCTET_STRING', 'STATUS_SPARSE_NOT_ALLOWED_IN_TRANSACTION', 'FILE_WRITE_ATTRIBUTES', 'ERROR_NOINTERFACE', 'ERROR_INVALID_ORDINAL', 'CRYPT_VERIFYCONTEXT', 'STATUS_FLT_INVALID_ASYNCHRONOUS_REQUEST', 'IMAGE_SCN_MEM_READ', 'STATUS_CRED_REQUIRES_CONFIRMATION', 'STATUS_FLT_VOLUME_NOT_FOUND', 'ERROR_MAX_THRDS_REACHED', 'SERVICE_CONTROL_NETBINDADD', 'X509_ANY_STRING', 'ERROR_EAS_NOT_SUPPORTED', 'CONTEXT_CONTROL', 'szOID_RSA_SHA256RSA', 'PAGE_EXECUTE_WRITECOPY', 'SM_CXSCREEN', 'CRYPT_E_NOT_DECRYPTED', 'STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED', 'ERROR_BACKUP_CONTROLLER', 'STATUS_GRAPHICS_OPM_NOT_SUPPORTED', 'STATUS_DRIVER_BLOCKED', 'ERROR_REGISTRY_RECOVERED', 'SECURITY_MANDATORY_SYSTEM_RID', 'CREATE_SEPARATE_WOW_VDM', 'ERROR_ENVVAR_NOT_FOUND', 'FILE_NOTIFY_CHANGE_LAST_WRITE', 'DBG_PRINTEXCEPTION_C', 'STATUS_FVE_AUTH_INVALID_CONFIG', 'STARTF_FORCEOFFFEEDBACK', 'ERROR_TOO_MANY_NAMES', 'STATUS_GRAPHICS_MULTISAMPLING_NOT_SUPPORTED', 'CREATE_THREAD_DEBUG_EVENT', 'SW_MAXIMIZE', 'STATUS_INVALID_EA_NAME', 'STATUS_MUI_INVALID_ULTIMATEFALLBACK_NAME', 'X509_AUTHORITY_KEY_ID', 'ERROR_FORMS_AUTH_REQUIRED', 'STATUS_FLOPPY_UNKNOWN_ERROR', 'ERROR_CALL_NOT_IMPLEMENTED', 'IMAGE_FILE_MACHINE_MIPSFPU', 'STATUS_TIMER_RESUME_IGNORED', 'STATUS_TRANSACTION_ABORTED', 'STATUS_INVALID_DISPOSITION', 'MS_ENHANCED_PROV_A', 'CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY', 'SW_SHOWNORMAL', 'CRYPT_ENCODE_DECODE_NONE', 'MS_ENHANCED_PROV_W', 'PROV_DSS_DH', 'STATUS_INTEGER_OVERFLOW', 'CMSG_CERT_PARAM', 'STATUS_ILLEGAL_CHARACTER', 'ERROR_FILE_NOT_FOUND', 'CRYPT_DEFAULT_CONTAINER_OPTIONAL', 'ERROR_DBG_CONTROL_BREAK', 'STATUS_IPSEC_INTEGRITY_CHECK_FAILED', 'szOID_DSALG_RSA', 'RPC_NT_INVALID_BOUND', 'STATUS_SXS_IDENTITY_DUPLICATE_ATTRIBUTE', 'ERROR_ABANDON_HIBERFILE', 'STATUS_LOCK_NOT_GRANTED', 'ERROR_FLOPPY_VOLUME', 'AF_UNKNOWN1', 'STATUS_SYSTEM_POWERSTATE_TRANSITION', 'SERVICE_CONTROL_NETBINDENABLE', 'RPC_NT_NO_INTERFACES', 'STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNAVAILABLE', 'szOID_RSA_signEnvData', 'STATUS_NO_SUCH_USER', 'SECTION_MAP_READ', 'STATUS_WRONG_PASSWORD_CORE', 'SECTION_MAP_EXECUTE', 'STATUS_CTX_CONSOLE_CONNECT', 'STATUS_WMI_INSTANCE_NOT_FOUND', 'CERT_FIND_SUBJECT_ATTR', 'CERT_QUERY_OBJECT_FILE', 'STATUS_RESOURCE_LANG_NOT_FOUND', 'STATUS_CLUSTER_NODE_UNREACHABLE', 'STATUS_FLT_DUPLICATE_ENTRY', 'IMAGE_FILE_AGGRESIVE_WS_TRIM', 'STATUS_TRANSACTION_INVALID_MARSHALL_BUFFER', 'STATUS_TOO_MANY_GUIDS_REQUESTED', 'STATUS_GRAPHICS_VIDPN_TOPOLOGY_NOT_SUPPORTED', 'ERROR_BAD_FILE_TYPE', 'STATUS_MUST_BE_KDC', 'szOID_INFOSEC_mosaicConfidentiality', 'STATUS_LONGJUMP', 'STATUS_NDIS_BAD_VERSION', 'STATUS_TRANSACTION_RECORD_TOO_LONG', 'ERROR_NO_CALLBACK_ACTIVE', 'FILE_SUPPORTS_USN_JOURNAL', 'CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED', 'FILE_SHARE_DELETE', 'STATUS_ACPI_FATAL', 'CRYPT_E_UNEXPECTED_ENCODING', 'CERT_STORE_PROV_SYSTEM_A', 'STATUS_CTX_TD_ERROR', 'STATUS_DS_VERSION_CHECK_FAILURE', 'STATUS_IN_PAGE_ERROR', 'STATUS_GRAPHICS_COPP_NOT_SUPPORTED', 'ERROR_CALLBACK_POP_STACK', 'CERT_TRUST_IS_NOT_TIME_VALID', 'SERVICE_ACCEPT_STOP', 'CMSG_VERIFY_SIGNER_CERT', 'CERT_STORE_PROV_SYSTEM_W', 'STANDARD_RIGHTS_REQUIRED', 'RPC_NT_INVALID_BINDING', 'ERROR_UNEXPECTED_MM_MAP_ERROR', 'STATUS_NOT_SERVER_SESSION', 'STATUS_INVALID_SUB_AUTHORITY', 'STATUS_ACPI_ADDRESS_NOT_MAPPED', 'SERVICE_RECOGNIZER_DRIVER', 'STATUS_TRANSACTION_ALREADY_ABORTED', 'RRF_RT_ANY', 'CERT_INFO_VERSION_FLAG', 'CERT_TRUST_IS_COMPLEX_CHAIN', 'CRYPT_USER_PROTECTED', 'STATUS_ENCRYPTION_FAILED', 'ERROR_FS_DRIVER_REQUIRED', 'FILE_CASE_SENSITIVE_SEARCH', 'STATUS_DOMAIN_LIMIT_EXCEEDED', 'STATUS_INVALID_TASK_NAME', 'STATUS_ACPI_MUTEX_NOT_OWNER', 'FILE_SUPPORTS_OPEN_BY_FILE_ID', 'STATUS_LPC_RECEIVE_BUFFER_EXPECTED', 'STATUS_DS_DOMAIN_RENAME_IN_PROGRESS', 'STATUS_NDIS_PM_WOL_PATTERN_LIST_FULL', 'STATUS_EVENTLOG_FILE_CHANGED', 'STATUS_CRM_PROTOCOL_ALREADY_EXISTS', 'STATUS_CONFLICTING_ADDRESSES', 'SW_SHOWMINIMIZED', 'STATUS_RECOVERY_NOT_NEEDED', 'STATUS_POSSIBLE_DEADLOCK', 'ERROR_DRIVER_FAILED_PRIOR_UNLOAD', 'PROCESS_QUERY_LIMITED_INFORMATION', 'STATUS_INVALID_DEVICE_OBJECT_PARAMETER', 'STATUS_BAD_CLUSTERS', 'RPC_NT_INVALID_PIPE_OBJECT', 'STATUS_WX86_FLOAT_STACK_CHECK', 'STATUS_INSUFFICIENT_POWER', 'SM_CYCAPTION', 'CMSG_CMS_RECIPIENT_INFO_PARAM', 'CERT_INFO_ISSUER_UNIQUE_ID_FLAG', 'ERROR_UNSUPPORTED_COMPRESSION', 'szOID_RSA_SMIMEalgCMSRC2wrap', 'szOID_RSA_contentType', 'DRIVE_NO_ROOT_DIR', 'MS_ENHANCED_PROV', 'CERT_SUBJECT_NAME_MD5_HASH_PROP_ID', 'STATUS_FVE_KEYFILE_INVALID', 'STATUS_GRAPHICS_DDCCI_MONITOR_RETURNED_INVALID_TIMING_STATUS_BYTE', 'szOID_NIST_AES192_CBC', 'STATUS_NDIS_OFFLOAD_CONNECTION_REJECTED', 'STATUS_PRIVILEGE_NOT_HELD', 'ERROR_OUT_OF_STRUCTURES', 'CMSG_RECIPIENT_INDEX_PARAM', 'IMAGE_FILE_MACHINE_R4000', 'STATUS_CANT_OPEN_ANONYMOUS', 'STATUS_TXF_METADATA_ALREADY_PRESENT', 'COMPRESSION_ENGINE_STANDARD', 'STATUS_FWP_NOT_FOUND', 'STATUS_WRONG_COMPARTMENT', 'STATUS_CANT_RECOVER_WITH_HANDLE_OPEN', 'STATUS_PKU2U_CERT_FAILURE', 'SM_CLEANBOOT', 'ERROR_WAIT_63', 'STATUS_GRAPHICS_NO_PREFERRED_MODE', 'IMAGE_SCN_ALIGN_1024BYTES', 'CRYPT_E_MSG_ERROR', 'ERROR_CANCEL_VIOLATION', 'ERROR_READ_FAULT', 'SERVICE_RUNNING', 'CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED', 'CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS', 'FILE_FLAG_SEQUENTIAL_SCAN', 'STATUS_NOT_EXPORT_FORMAT', 'STATUS_CHECKOUT_REQUIRED', 'STATUS_OBJECT_PATH_INVALID', 'STATUS_CTX_LICENSE_NOT_AVAILABLE', 'CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT', 'STATUS_DRIVER_FAILED_SLEEP', 'STATUS_GRAPHICS_MODE_NOT_PINNED', 'STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_COPP_SEMANTICS', 'CMSG_VERIFY_SIGNER_NULL', 'KEY_CREATE_LINK', 'szOID_INFOSEC_mosaicSignature', 'ERROR_INVALID_ADDRESS', 'PROV_DH_SCHANNEL', 'FILE_NOTIFY_CHANGE_FILE_NAME', 'ERROR_INVALID_LOCK_RANGE', 'CONTEXT_EXTENDED_REGISTERS', 'CERT_STORE_CRL_CONTEXT', 'SECTION_EXTEND_SIZE', 'STATUS_INVALID_IMAGE_WIN_32', 'STATUS_DS_INCORRECT_ROLE_OWNER', 'STATUS_GRAPHICS_LEADLINK_NOT_ENUMERATED', 'ERROR_REGISTRY_HIVE_RECOVERED', 'CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY', 'STATUS_CLUSTER_INVALID_NETWORK', 'FILE_TRAVERSE', 'SERVICE_CONTROL_NETBINDREMOVE', 'STATUS_INCOMPATIBLE_DRIVER_BLOCKED', 'szOID_INFOSEC', 'STATUS_GRAPHICS_OPM_NO_PROTECTED_OUTPUTS_EXIST', 'STATUS_LINK_FAILED', 'PROCESS_VM_READ', 'STATUS_STACK_OVERFLOW', 'TOKEN_ALL_ACCESS', 'STATUS_POLICY_ONLY_IN_DS', 'STATUS_FLT_VOLUME_ALREADY_MOUNTED', 'STATUS_CURRENT_TRANSACTION_NOT_VALID', 'szOID_INFOSEC_mosaicKMandUpdSig', 'RPC_NT_NO_PROTSEQS', 'ERROR_NO_PAGEFILE', 'ERROR_UNRECOGNIZED_VOLUME', 'STATUS_APPHELP_BLOCK', 'RPC_NT_NO_PROTSEQS_REGISTERED', 'STATUS_ABANDON_HIBERFILE', 'STATUS_IMAGE_ALREADY_LOADED', 'CRYPT_NDR_ENCODING', 'STATUS_ENTRYPOINT_NOT_FOUND', 'STATUS_FLT_MUST_BE_NONPAGED_POOL', 'STATUS_ALPC_CHECK_COMPLETION_LIST', 'STATUS_RESOURCE_IN_USE', 'RPC_NT_ALREADY_LISTENING', 'FILE_NOTIFY_CHANGE_LAST_ACCESS', 'ERROR_PORT_NOT_SET', 'SM_CXICONSPACING', 'CERT_SYSTEM_STORE_CURRENT_USER_ID', 'STATUS_GRAPHICS_MONITOR_NO_LONGER_EXISTS', 'ERROR_CRASH_DUMP', 'ERROR_LOCK_VIOLATION', 'DEBUG_EVENT_EXIT_PROCESS', 'MEM_RELEASE', 'STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED', 'ALPC_HANDLEFLG_DUPLICATE_INHERIT', 'STATUS_PARITY_ERROR', 'ALPC_MESSAGE_CONTEXT_ATTRIBUTE', 'STATUS_IPSEC_QUEUE_OVERFLOW', 'INHERIT_CALLER_PRIORITY', 'IMAGE_SCN_NO_DEFER_SPEC_EXC', 'STATUS_CLUSTER_NODE_ALREADY_UP', 'STATUS_PNP_REBOOT_REQUIRED', 'STATUS_WMI_ALREADY_DISABLED', 'CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID', 'STATUS_GRAPHICS_PRESENT_REDIRECTION_DISABLED', 'STATUS_INVALID_PIPE_STATE', 'ERROR_BAD_DRIVER_LEVEL', 'AF_INET6', 'STATUS_FWP_CONDITION_NOT_FOUND', 'ERROR_BUFFER_OVERFLOW', 'STATUS_INVALID_VIEW_SIZE', 'STATUS_DS_SENSITIVE_GROUP_VIOLATION', 'STATUS_IPSEC_DOSP_INVALID_PACKET', 'SERVICE_ACCEPT_TIMECHANGE', 'STATUS_GRAPHICS_TOPOLOGY_CHANGES_NOT_ALLOWED', 'CERT_TRUST_IS_PEER_TRUSTED', 'STATUS_IPSEC_DOSP_RECEIVED_MULTICAST', 'szOID_OIWSEC_shaDSA', 'KEY_CREATE_SUB_KEY', 'SM_CXCURSOR', 'STATUS_GRAPHICS_MODE_ALREADY_IN_MODESET', 'E_INVALIDARG', 'PKCS12_PREFER_CNG_KSP', 'STATUS_DEVICE_NOT_READY', 'SERVICE_AUTO_START', 'WTD_CHOICE_CATALOG', 'CERT_STORE_PROV_PKCS12', 'RPC_NT_UNKNOWN_MGR_TYPE', 'SM_CYMINSPACING', 'STATUS_NOT_SUPPORTED_ON_SBS', 'ALPC_MESSAGE_WORK_ON_BEHALF_ATTRIBUTE', 'RPC_NT_PROTSEQ_NOT_FOUND', 'STATUS_GRAPHICS_PRESENT_OCCLUDED', 'SM_XVIRTUALSCREEN', 'TOKEN_ADJUST_GROUPS', 'CMSG_SIGNER_INFO_PARAM', 'FILE_SUPPORTS_EXTENDED_ATTRIBUTES', 'AF_ISO', 'STATUS_NO_SUCH_ALIAS', 'X509_MULTI_BYTE_INTEGER', 'STATUS_SXS_VERSION_CONFLICT', 'STATUS_IO_REPARSE_DATA_INVALID', 'ACCESS_DENIED_ACE_TYPE', 'STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE', 'szOID_INFOSEC_sdnsTokenProtection', 'STATUS_AUDIT_FAILED', 'STATUS_QUOTA_LIST_INCONSISTENT', 'STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED', 'STATUS_WRONG_EFS', 'HKEY_CLASSES_ROOT', 'IMAGE_FILE_MACHINE_TRICORE', 'STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS', 'EXCEPTION_ACCESS_VIOLATION', 'ACCESS_ALLOWED_COMPOUND_ACE_TYPE', 'X509_BASIC_CONSTRAINTS', 'PERSIST_E_SIZEDEFINITE', 'STATUS_MAX_REFERRALS_EXCEEDED', 'STATUS_BAD_BINDINGS', 'ERROR_BAD_ENVIRONMENT', 'STATUS_WOW_ASSERTION', 'REG_SZ', 'EXIT_THREAD_DEBUG_EVENT', 'CRYPT_SILENT', 'STATUS_CLIENT_SERVER_PARAMETERS_INVALID', 'ERROR_DEVICE_ALREADY_ATTACHED', 'STATUS_LOG_RESERVATION_INVALID', 'STATUS_TM_INITIALIZATION_FAILED', 'CERT_STORE_DELETE_FLAG', 'ERROR_NO_YIELD_PERFORMED', 'szOID_DSALG', 'STATUS_GRAPHICS_I2C_NOT_SUPPORTED', 'STATUS_CLUSTER_NODE_NOT_MEMBER', 'SERVICE_KERNEL_DRIVER', 'SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE', 'szOID_OIWSEC_desCBC', 'ERROR_PAGE_FAULT_DEMAND_ZERO', 'SERVICE_CONTROL_TRIGGEREVENT', 'SERVICE_CONTROL_SESSIONCHANGE', 'CERT_ENROLLMENT_PROP_ID', 'IMAGE_SCN_ALIGN_32BYTES', 'STATUS_NAME_TOO_LONG', 'szOID_NIST_AES256_WRAP', 'PAGE_READWRITE', 'STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING', 'STATUS_GRAPHICS_CHAINLINKS_NOT_STARTED', 'STATUS_TIMEOUT', 'STATUS_CTX_SECURITY_LAYER_ERROR', 'STATUS_TOO_MANY_THREADS', 'MEM_TOP_DOWN', 'CERT_NAME_URL_TYPE', 'SM_YVIRTUALSCREEN', 'SM_MAXIMUMTOUCHES', 'ERROR_FT_READ_RECOVERY_FROM_BACKUP', 'SERVICE_CONTROL_PRESHUTDOWN', 'ERROR_DBG_CONTROL_C', 'ERROR_PIPE_LISTENING', 'STATUS_KDC_CERT_REVOKED', 'ALPC_SECFLG_CREATE_HANDLE', 'szOID_INFOSEC_sdnsSignature', 'ERROR_BAD_STACK', 'STATUS_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION', 'CRYPT_NEWKEYSET', 'STATUS_GRAPHICS_CHILD_DESCRIPTOR_NOT_SUPPORTED', 'CERT_FIND_PROPERTY', 'RPC_NT_NOT_RPC_ERROR', 'STATUS_INVALID_LDT_DESCRIPTOR', 'FILE_ACTION_ADDED', 'szOID_NIST_sha512', 'STATUS_FATAL_APP_EXIT', 'STATUS_ILL_FORMED_PASSWORD', 'CERT_REQUEST_ORIGINATOR_PROP_ID', 'FILE_ATTRIBUTE_READONLY', 'STATUS_MARSHALL_OVERFLOW', 'szOID_RSA_SHA1RSA', 'ERROR_BAD_ACCESSOR_FLAGS', 'SPECIFIC_RIGHTS_ALL', 'STATUS_LOG_CONTAINER_READ_FAILED', 'MEM_COMMIT', 'FILE_NOTIFY_CHANGE_CREATION', 'STATUS_SXS_INVALID_DEACTIVATION', 'STATUS_MONITOR_INVALID_STANDARD_TIMING_BLOCK', 'szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF', 'STATUS_CORRUPT_SYSTEM_FILE', 'STATUS_GRAPHICS_INVALID_GAMMA_RAMP', 'STATUS_GRAPHICS_INVALID_MONITOR_CAPABILITY_ORIGIN', 'STATUS_CANNOT_MAKE', 'szOID_RSA_unstructAddr', 'CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT', 'SC_MANAGER_CREATE_SERVICE', 'CERT_QUERY_CONTENT_SERIALIZED_CRL', 'STATUS_GRAPHICS_MONITORDESCRIPTOR_ALREADY_IN_SET', 'szOID_RSA_SMIMEalgCMS3DESwrap', 'RRF_RT_DWORD', 'RPC_S_PROTOCOL_ERROR', 'X509_INTEGER', 'szOID_DSALG_HASH', 'STATUS_SAM_NEED_BOOTKEY_FLOPPY', 'STATUS_HANDLE_NO_LONGER_VALID', 'STATUS_WX86_BREAKPOINT', 'DRIVE_RAMDISK', 'STATUS_PAGE_FAULT_PAGING_FILE', 'STATUS_GRAPHICS_OPM_SPANNING_MODE_ENABLED', 'szOID_RSA_RC2CBC', 'ERROR_EA_TABLE_FULL', 'CERT_FIND_ISSUER_STR_W', 'STATUS_NDIS_UNSUPPORTED_MEDIA', 'STATUS_RM_NOT_ACTIVE', 'STATUS_VOLUME_DISMOUNTED', 'PAGE_EXECUTE_READWRITE', 'STATUS_BAD_INITIAL_PC', 'STATUS_PRENT4_MACHINE_ACCOUNT', 'ERROR_INVALID_CATEGORY', 'CMSG_CMS_RECIPIENT_COUNT_PARAM', 'STATUS_GRAPHICS_MODE_NOT_IN_MODESET', 'RPC_NT_UNSUPPORTED_TYPE', 'szOID_ECDSA_SHA1', 'STATUS_ALLOTTED_SPACE_EXCEEDED', 'szOID_DSALG_CRPT', 'STATUS_CSS_RESETS_EXHAUSTED', 'CERT_FIND_ISSUER_STR', 'FILE_SYNCHRONOUS_IO_NONALERT', 'DUPLICATE_CLOSE_SOURCE', 'IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP', 'DACL_SECURITY_INFORMATION', 'STATUS_FLT_INSTANCE_ALTITUDE_COLLISION', 'OBJ_OPENLINK', 'STATUS_BAD_COMPRESSION_BUFFER', 'STATUS_MEMBER_IN_ALIAS', 'STATUS_AUTHENTICATION_FIREWALL_FAILED', 'STATUS_EA_CORRUPT_ERROR', 'THREAD_IMPERSONATE', 'CMSG_VERIFY_SIGNER_CHAIN', 'CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID', 'CERT_TRUST_IS_UNTRUSTED_ROOT', 'STATUS_FLOPPY_BAD_REGISTERS', 'STATUS_RANGE_LIST_CONFLICT', 'SW_RESTORE', 'ERROR_CORRUPT_SYSTEM_FILE', 'MEM_IMAGE', 'STATUS_NOT_ALL_ASSIGNED', 'CRYPT_ACQUIRE_COMPARE_KEY_FLAG', 'CRYPT_E_UNKNOWN_ALGO', 'STATUS_ACCESS_AUDIT_BY_POLICY', 'STATUS_FWP_INVALID_NET_MASK', 'ERROR_NETWORK_ACCESS_DENIED', 'STATUS_NETWORK_SESSION_EXPIRED', 'ERROR_INTERRUPT_STILL_CONNECTED', 'CERT_STORE_PROV_PHYSICAL', 'SM_CXEDGE', 'ERROR_FILENAME_EXCED_RANGE', 'STATUS_FVE_PIN_INVALID', 'EPT_NT_CANT_CREATE', 'AF_PUP', 'ERROR_DIRECT_ACCESS_HANDLE', 'STATUS_FT_WRITE_RECOVERY', 'STATUS_PORT_NOT_SET', 'STATUS_FLOAT_DIVIDE_BY_ZERO', 'ERROR_SYSTEM_HIVE_TOO_LARGE', 'FILE_DOES_NOT_EXIST', 'STATUS_IO_REPARSE_TAG_INVALID', 'szOID_RSA_MGF1', 'STATUS_INVALID_LDT_OFFSET', 'STATUS_GRAPHICS_MCA_INTERNAL_ERROR', 'LPC_REPLY', 'ERROR_SEM_IS_SET', 'RPC_NT_SS_IN_NULL_CONTEXT', 'PROCESS_TERMINATE', 'SM_CYMINIMIZED', 'STATUS_FVE_TRANSIENT_STATE', 'STATUS_BAD_MASTER_BOOT_RECORD', 'STATUS_INVALID_PARAMETER_11', 'STATUS_INVALID_PARAMETER_10', 'ALPC_MSGFLG_RELEASE_MESSAGE', 'STATUS_INVALID_PARAMETER_12', 'STATUS_LAST_ADMIN', 'WTD_REVOKE_NONE', 'szOID_NIST_AES192_WRAP', 'STATUS_FWP_INVALID_ENUMERATOR', 'STATUS_SXS_CANT_GEN_ACTCTX', 'ERROR_DBG_EXCEPTION_NOT_HANDLED', 'STATUS_GRAPHICS_ALLOCATION_CONTENT_LOST', 'STATUS_DS_CANT_MOD_OBJ_CLASS', 'X509_PUBLIC_KEY_INFO', 'DBG_COMMAND_EXCEPTION', 'STATUS_GRAPHICS_MONITORDESCRIPTOR_NOT_IN_SET', 'STATUS_LOG_CLIENT_NOT_REGISTERED', 'STATUS_INVALID_OPLOCK_PROTOCOL', 'CERT_STORE_PROV_SYSTEM', 'STATUS_DLL_MIGHT_BE_INSECURE', 'STATUS_KDC_CERT_EXPIRED', 'SM_CYSCREEN', 'CERT_STORE_PROV_MSG', 'STATUS_LOGON_TYPE_NOT_GRANTED', 'STATUS_DS_DUPLICATE_ID_FOUND', 'STATUS_NO_S4U_PROT_SUPPORT', 'STATUS_LOG_EPHEMERAL', 'ERROR_INSUFFICIENT_POWER', 'STATUS_LOG_TAIL_INVALID', 'szOID_OIWSEC_dhCommMod', 'STATUS_LOG_PINNED', 'ERROR_EA_ACCESS_DENIED', 'STATUS_CSS_KEY_NOT_PRESENT', 'STATUS_ARBITRATION_UNHANDLED', 'STATUS_ACPI_STACK_OVERFLOW', 'SM_CYBORDER', 'STATUS_ACPI_ALREADY_INITIALIZED', 'STATUS_INVALID_CRUNTIME_PARAMETER', 'SACL_SECURITY_INFORMATION', 'STATUS_GRAPHICS_ALLOCATION_CLOSED', 'STATUS_SHARED_IRQ_BUSY', 'RPC_NT_SERVER_UNAVAILABLE', 'ERROR_NESTING_NOT_ALLOWED', 'STATUS_FAILED_STACK_SWITCH', 'STATUS_RM_ALREADY_STARTED', 'CREATE_UNICODE_ENVIRONMENT', 'STATUS_ELEVATION_REQUIRED', 'ERROR_NOT_SUBSTED', 'STATUS_IO_REPARSE_TAG_NOT_HANDLED', 'ERROR_BAD_LENGTH', 'RPC_C_AUTHN_LEVEL_CALL', 'STATUS_GRAPHICS_EMPTY_ADAPTER_MONITOR_MODE_SUPPORT_INTERSECTION', 'IMAGE_SCN_MEM_PRELOAD', 'RPC_NT_NOTHING_TO_EXPORT', 'ERROR_BAD_FORMAT', 'ERROR_ELEVATION_REQUIRED', 'szOID_OIWSEC_sha1RSASign', 'szOID_RSA_digestedData', 'STATUS_TRANSACTION_INVALID_TYPE', 'STATUS_CANT_WAIT', 'STATUS_PIPE_LISTENING', 'STATUS_FVE_BAD_INFORMATION', 'szOID_ECDSA_SHA384', 'VER_NT_DOMAIN_CONTROLLER', 'STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_SOURCE', 'RPC_NT_INVALID_STRING_BINDING', 'STATUS_TOO_MANY_SECRETS', 'STATUS_OPEN_FAILED', 'FILE_OVERWRITE_IF', 'STATUS_XMLDSIG_ERROR', 'STATUS_GRAPHICS_PRESENT_DENIED', 'SERVICE_INTERROGATE', 'EXPORT_PRIVATE_KEYS', 'STATUS_NDIS_INVALID_PORT', 'STATUS_DS_SAM_INIT_FAILURE_CONSOLE', 'X509_UNICODE_ANY_STRING', 'STATUS_UNRECOGNIZED_MEDIA', 'STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN', 'IMAGE_FILE_MACHINE_R3000', 'STATUS_DEVICE_PAPER_EMPTY', 'STATUS_FVE_KEYFILE_NO_VMK', 'STATUS_RM_DISCONNECTED', 'THREAD_TERMINATE', 'STATUS_PIPE_CLOSING', 'STATUS_INTERNAL_DB_CORRUPTION', 'TOKEN_QUERY', 'STATUS_NO_EVENT_PAIR', 'CERT_FIND_ISSUER_NAME', 'CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT', 'STATUS_NOT_IMPLEMENTED', 'SM_TABLETPC', 'ERROR_ARENA_TRASHED', 'RPC_NT_WRONG_ES_VERSION', 'OPEN_EXISTING', 'STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY', 'STATUS_ISSUING_CA_UNTRUSTED_KDC', 'FILE_MAP_READ', 'STATUS_FWP_NOTIFICATION_DROPPED', 'STATUS_GRAPHICS_CHAINLINKS_NOT_ENUMERATED', 'ACCESS_MAX_MS_V3_ACE_TYPE', 'PROV_REPLACE_OWF', 'STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE', 'STATUS_DS_SRC_SID_EXISTS_IN_FOREST', 'STATUS_INVALID_ACE_CONDITION', 'STATUS_GRAPHICS_NOT_POST_DEVICE_DRIVER', 'STARTF_RUNFULLSCREEN', 'STATUS_SECTION_TOO_BIG', 'CERT_FIND_SUBJECT_INFO_ACCESS', 'RPC_NT_TYPE_ALREADY_REGISTERED', 'MAX_PATH', 'CERT_QUERY_CONTENT_FLAG_CRL', 'THREAD_QUERY_INFORMATION', 'STATUS_ALREADY_WIN32', 'ERROR_DBG_CONTINUE', 'IMAGE_SCN_LNK_COMDAT', 'SC_MANAGER_QUERY_LOCK_STATUS', 'EPT_NT_NOT_REGISTERED', 'ALPC_CANCELFLGP_FLUSH', 'ERROR_META_EXPANSION_TOO_LONG', 'STATUS_VIRTDISK_NOT_VIRTUAL_DISK', 'szOID_INFOSEC_mosaicKeyManagement', 'szOID_INFOSEC_SuiteAKeyManagement', 'STATUS_GRAPHICS_CHAINLINKS_NOT_POWERED_ON', 'STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED', 'CERT_COMPARE_NAME', 'IMAGE_FILE_MACHINE_MIPSFPU16', 'CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT', 'STATUS_ACPI_ACQUIRE_GLOBAL_LOCK', 'FILE_OPEN_REMOTE_INSTANCE', 'IMAGE_FILE_MACHINE_WCEMIPSV2', 'STATUS_SMARTCARD_NO_KEYSET', 'STATUS_NDIS_ADAPTER_REMOVED', 'ERROR_DELETE_PENDING', 'STATUS_NO_KERB_KEY', 'SM_CXBORDER', 'STATUS_NETLOGON_NOT_STARTED', 'ERROR_DRIVER_DATABASE_ERROR', 'STATUS_WRONG_PASSWORD', 'STATUS_NDIS_INVALID_OID', 'STATUS_SXS_SECTION_NOT_FOUND', 'STATUS_NO_EFS', 'CERT_TRUST_REVOCATION_STATUS_UNKNOWN', 'SM_REMOTESESSION', 'ERROR_TOO_MANY_THREADS', 'szOID_TIMESTAMP_TOKEN', 'CERT_STORE_OPEN_EXISTING_FLAG', 'RPC_NT_CALL_CANCELLED', 'STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER', 'STATUS_INVALID_DEVICE_STATE', 'STATUS_NO_PA_DATA', 'ERROR_CANTFETCHBACKWARDS', 'STATUS_INSUFF_SERVER_RESOURCES', 'STATUS_ACPI_INVALID_OPCODE', 'CERT_SMART_CARD_DATA_PROP_ID', 'CERT_COMPARE_SUBJECT_CERT', 'STATUS_NOT_LOCKED', 'ERROR_SHARING_BUFFER_EXCEEDED', 'SERVICE_WIN32', 'STATUS_FWP_FILTER_NOT_FOUND', 'SM_MOUSEWHEELPRESENT', 'EXTENDED_STARTUPINFO_PRESENT', 'STATUS_PROCESS_IN_JOB', 'STATUS_REQUEST_NOT_ACCEPTED', 'FILE_OVERWRITE', 'SM_CXMAXTRACK', 'STATUS_INVALID_ADDRESS_WILDCARD', 'ERROR_NO_PROC_SLOTS', 'RPC_NT_OUT_OF_RESOURCES', 'STATUS_LOG_READ_MODE_INVALID', 'szOID_X957', 'ERROR_BAD_ARGUMENTS', 'STATUS_FLOAT_INEXACT_RESULT', 'STATUS_ADAPTER_HARDWARE_ERROR', 'STATUS_SXS_CORRUPT_ACTIVATION_STACK', 'FILE_DIRECTORY_FILE', 'FILE_FLAG_DELETE_ON_CLOSE', 'ERROR_CHILD_MUST_BE_VOLATILE', 'PAGE_EXECUTE', 'STATUS_FWP_TYPE_MISMATCH', 'TOKEN_ADJUST_SESSIONID', 'CERT_TRUST_IS_SELF_SIGNED', 'STATUS_INVALID_PARAMETER', 'ERROR_EAS_DIDNT_FIT', 'STATUS_GRAPHICS_INVALID_COLORBASIS', 'STATUS_GRAPHICS_INVALID_ALLOCATION_USAGE', 'STATUS_DS_OBJ_CLASS_VIOLATION', 'ERROR_INVALID_LDT_DESCRIPTOR', 'ERROR_MULTIPLE_FAULT_VIOLATION', 'STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_COMMAND', 'STATUS_SXS_IDENTITY_PARSE_ERROR', 'STATUS_CRYPTO_SYSTEM_INVALID', 'FILE_NOTIFY_CHANGE_SECURITY', 'CERT_COMPARE_CROSS_CERT_DIST_POINTS', 'STATUS_INVALID_LDT_SIZE', 'SM_SERVERR2', 'STATUS_GRAPHICS_OPM_INVALID_INFORMATION_REQUEST', 'STATUS_INSUFFICIENT_LOGON_INFO', 'STATUS_REPARSE', 'RPC_NT_UNSUPPORTED_AUTHN_LEVEL', 'ERROR_BAD_EXE_FORMAT', 'CERT_STORE_PROV_PHYSICAL_W', 'ERROR_HIBERNATED', 'DEBUG_EVENT_SESSION_STATUS', 'STATUS_GRAPHICS_ONLY_CONSOLE_SESSION_SUPPORTED', 'STATUS_FVE_NO_FEATURE_LICENSE', 'FILE_ADD_SUBDIRECTORY', 'ERROR_LABEL_TOO_LONG', 'CERT_SYSTEM_STORE_LOCAL_MACHINE_ID', 'MS_DEF_RSA_SIG_PROV_W', 'CERT_AIA_URL_RETRIEVED_PROP_ID', 'ACCESS_ALLOWED_CALLBACK_ACE_TYPE', 'SM_CYMENUSIZE', 'RPC_NT_INVALID_TAG', 'RPC_NT_ADDRESS_ERROR', 'AF_12844', 'STATUS_GRAPHICS_OPM_DRIVER_INTERNAL_ERROR', 'SERVICE_ENUMERATE_DEPENDENTS', 'GENERIC_WRITE', 'STATUS_CTX_WINSTATION_NAME_COLLISION', 'STATUS_PIPE_EMPTY', 'ERROR_EVENT_DONE', 'FILE_DELETE_ON_CLOSE', 'STATUS_NO_MEDIA', 'STATUS_DEVICE_DATA_ERROR', 'szOID_INFOSEC_mosaicUpdatedSig', 'STATUS_NONEXISTENT_SECTOR', 'STATUS_TM_VOLATILE', 'ERROR_RESUME_HIBERNATION', 'STATUS_GRAPHICS_PVP_DISPLAY_DEVICE_NOT_ATTACHED_TO_DESKTOP', 'STATUS_DISK_OPERATION_FAILED', 'ERROR_NO_MORE_FILES', 'CERT_STORE_UPDATE_KEYID_FLAG', 'STATUS_TOO_MANY_NAMES', 'CMSG_VERIFY_SIGNER_PUBKEY', 'STATUS_SECURITY_STREAM_IS_INCONSISTENT', 'EXCEPTION_NONCONTINUABLE_EXCEPTION', 'STATUS_NDIS_OFFLOAD_PATH_REJECTED', 'STATUS_CRC_ERROR', 'SM_DBCSENABLED', 'STATUS_MONITOR_NO_MORE_DESCRIPTOR_DATA', 'IMAGE_FILE_BYTES_REVERSED_LO', 'ERROR_RANGE_LIST_CONFLICT', 'STATUS_DEVICE_NOT_CONNECTED', 'X509_BASIC_CONSTRAINTS2', 'STATUS_CLUSTER_NETWORK_EXISTS', 'STATUS_KDC_UNABLE_TO_REFER', 'STATUS_FILE_CORRUPT_ERROR', 'DBG_TERMINATE_PROCESS', 'REG_MULTI_SZ', 'STATUS_FWP_NET_EVENTS_DISABLED', 'STATUS_DS_NO_RIDS_ALLOCATED', 'STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME', 'KEY_WRITE', 'ERROR_OPERATION_ABORTED', 'STATUS_MORE_ENTRIES', 'AF_VOICEVIEW', 'STATUS_DOMAIN_TRUST_INCONSISTENT', 'STATUS_SERVER_SHUTDOWN_IN_PROGRESS', 'szOID_NIST_sha384', 'SM_CXPADDEDBORDER', 'STATUS_INVALID_PARAMETER_MIX', 'BIND_IF_SYNTAX_NDR32', 'ERROR_THREAD_1_INACTIVE', 'FILE_FLAG_WRITE_THROUGH', 'STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_CHECKSUM', 'FILE_RESERVE_OPFILTER', 'STATUS_PURGE_FAILED', 'ERROR_WAKE_SYSTEM', 'STATUS_FVE_NO_LICENSE', 'STATUS_LOG_METADATA_INCONSISTENT', 'ERROR_NO_SIGNAL_SENT', 'STATUS_SPECIAL_USER', 'STATUS_INVALID_TRANSACTION', 'szOID_OIWSEC', 'ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING', 'CREATE_SHARED_WOW_VDM', 'STATUS_DESTINATION_ELEMENT_FULL', 'SM_CYSMSIZE', 'EXCEPTION_FLT_STACK_CHECK', 'X509_CERT_REQUEST_TO_BE_SIGNED', 'ERROR_FIRMWARE_UPDATED', 'CRYPT_ACQUIRE_USE_PROV_INFO_FLAG', 'API_SET_SCHEMA_FLAGS_HOST_EXTENSION', 'STATUS_INVALID_PARAMETER_9', 'FILE_MAP_COPY', 'STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA', 'ERROR_ILLEGAL_CHARACTER', 'ERROR_INVALID_UNWIND_TARGET', 'FILE_READ_ONLY_VOLUME', 'STATUS_LOG_POLICY_CONFLICT', 'STATUS_INVALID_IMAGE_PROTECT', 'szOID_OIW', 'FILE_ATTRIBUTE_HIDDEN', 'STATUS_GRAPHICS_OPM_INTERNAL_ERROR', 'ERROR_IMAGE_NOT_AT_BASE', 'CERT_QUERY_FORMAT_BASE64_ENCODED', 'STATUS_FVE_NOT_DATA_VOLUME', 'STATUS_CTX_CLIENT_LICENSE_NOT_SET', 'STATUS_PAGEFILE_CREATE_FAILED', 'ALPC_MESSAGE_SECURITY_ATTRIBUTE', 'PROV_MS_EXCHANGE', 'CREATE_FORCEDOS', 'szOID_OIWSEC_md4RSA2', 'STATUS_MONITOR_INVALID_USER_FRIENDLY_MONDSC_BLOCK', 'SYSTEM_MANDATORY_LABEL_ACE_TYPE', 'ERROR_CAN_NOT_COMPLETE', 'STATUS_GRAPHICS_DDCCI_INVALID_CAPABILITIES_STRING', 'STATUS_SINGLE_STEP', 'STATUS_RESOURCE_REQUIREMENTS_CHANGED', 'STATUS_ACCOUNT_RESTRICTION', 'TH32CS_SNAPPROCESS', 'STATUS_THREAD_ALREADY_IN_TASK', 'CMSG_CONTENT_PARAM', 'STATUS_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE', 'SM_CXMINTRACK', 'STATUS_CTX_MODEM_RESPONSE_BUSY', 'CERT_E_EXPIRED', 'ERROR_PRINT_CANCELLED', 'STATUS_DS_GC_REQUIRED', 'RPC_NT_NOT_ALL_OBJS_UNEXPORTED', 'ERROR_BAD_THREADID_ADDR', 'STATUS_LICENSE_VIOLATION', 'szOID_OIWSEC_rsaXchg', 'STATUS_SERVER_NOT_DISABLED', 'STATUS_LOG_CONTAINER_OPEN_FAILED', 'szOID_ECC_CURVE_P384', 'ERROR_CONVERT_TO_LARGE', 'ERROR_INVALID_EVENT_COUNT', 'STATUS_GRAPHICS_INVALID_POINTER', 'DBG_APP_NOT_IDLE', 'RPC_NT_SS_CHAR_TRANS_SHORT_FILE', 'STATUS_VIRTDISK_PROVIDER_NOT_FOUND', 'STATUS_ADDRESS_ALREADY_ASSOCIATED', 'STATUS_NETWORK_OPEN_RESTRICTION', 'STATUS_INVALID_READ_MODE', 'STATUS_UNEXPECTED_MM_EXTEND_ERR', 'S_FALSE', 'AF_OSI', 'ERROR_BAD_MCFG_TABLE', 'RPC_NT_PROXY_ACCESS_DENIED', 'EPT_NT_INVALID_ENTRY', 'STATUS_NDIS_ADAPTER_NOT_FOUND', 'STATUS_CANT_ACCESS_DOMAIN_INFO', 'ERROR_KEY_DELETED', 'STATUS_ACPI_NOT_INITIALIZED', 'STATUS_GRAPHICS_PVP_MIRRORING_DEVICES_NOT_SUPPORTED', 'FILE_MAP_EXECUTE', 'STATUS_MUTANT_NOT_OWNED', 'SM_CXDRAG', 'STATUS_VARIABLE_NOT_FOUND', 'WTD_CHOICE_SIGNER', 'STATUS_FLOAT_OVERFLOW', 'ALPC_MESSAGE_DIRECT_ATTRIBUTE', 'STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST', 'SM_PENWINDOWS', 'STATUS_MUI_INVALID_LOCALE_NAME', 'CERT_QUERY_CONTENT_PKCS7_SIGNED', 'STATUS_NDIS_MULTICAST_FULL', 'ACCESS_MAX_MS_V5_ACE_TYPE', 'STATUS_CTX_SHADOW_NOT_RUNNING', 'STATUS_DS_CANT_ON_NON_LEAF', 'FILE_APPEND_DATA', 'STATUS_SXS_THREAD_QUERIES_DISABLED', 'SERVICE_TYPE_ALL', 'RPC_NT_PROTSEQ_NOT_SUPPORTED', 'ERROR_FAIL_I24', 'STATUS_LOGIN_TIME_RESTRICTION', 'STATUS_CALLBACK_RETURNED_TRANSACTION', 'STATUS_TOO_MANY_LUIDS_REQUESTED', 'SERVICE_CONTROL_CONTINUE', 'CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT', 'STATUS_FWP_CANNOT_PEND', 'SM_CYMAXIMIZED', 'X509_KEY_USAGE', 'VER_NT_SERVER', 'GENERIC_EXECUTE', 'STATUS_GRAPHICS_INVALID_VIDPN', 'STATUS_ILLEGAL_DLL_RELOCATION', 'CERT_TRUST_IS_NOT_TIME_NESTED', 'STATUS_FLT_FILTER_NOT_FOUND', 'ERROR_REGISTRY_QUOTA_LIMIT', 'ERROR_IS_SUBST_PATH', 'STATUS_LOG_RESIZE_INVALID_SIZE', 'FILE_ACTION_RENAMED_OLD_NAME', 'CERT_QUERY_CONTENT_FLAG_PFX', 'STATUS_FLOAT_DENORMAL_OPERAND', 'STATUS_ACPI_INVALID_INDEX', 'FILE_NOTIFY_CHANGE_DIR_NAME', 'SM_CYVTHUMB', 'STATUS_MEMBER_NOT_IN_GROUP', 'STATUS_DATATYPE_MISALIGNMENT', 'STATUS_SXS_EARLY_DEACTIVATION', 'STATUS_INSUFFICIENT_NVRAM_RESOURCES', 'STATUS_FAIL_CHECK', 'CERT_TRUST_INVALID_NAME_CONSTRAINTS', 'TOKEN_ADJUST_PRIVILEGES', 'ERROR_THREAD_MODE_NOT_BACKGROUND', 'SERVICE_PAUSE_CONTINUE', 'STATUS_CANNOT_ABORT_TRANSACTIONS', 'CERT_STORE_ENUM_ARCHIVED_FLAG', 'FILE_MAP_ALL_ACCESS', 'LPC_LOST_REPLY', 'CERT_STORE_MAXIMUM_ALLOWED_FLAG', 'STATUS_LOG_PINNED_ARCHIVE_TAIL', 'CREATE_NEW', 'CERT_STORE_PROV_FILE', 'szOID_RSA_SHA512RSA', 'STATUS_FWP_DUPLICATE_CONDITION', 'SW_SHOWDEFAULT', 'szOID_OIWDIR', 'CRYPT_ONLINE', 'STATUS_GRAPHICS_UAB_NOT_SUPPORTED', 'szOID_INFOSEC_mosaicIntegrity', 'FILE_OPEN_REPARSE_POINT', 'DIRECTORY_CREATE_SUBDIRECTORY', 'IMAGE_FILE_MACHINE_ALPHA64', 'STATUS_GRAPHICS_INVALID_FREQUENCY', 'STATUS_NDIS_MEDIA_DISCONNECTED', 'STATUS_RECEIVE_EXPEDITED', 'STATUS_FWP_CONTEXT_INCOMPATIBLE_WITH_CALLOUT', 'FILE_ATTRIBUTE_NOT_CONTENT_INDEXED', 'RPC_NT_INVALID_NAF_ID', 'ERROR_MISSING_SYSTEMFILE', 'STATUS_BAD_LOGON_SESSION_STATE', 'X509_NAME', 'STATUS_PORT_CONNECTION_REFUSED', 'STATUS_INVALID_WORKSTATION', 'IMAGE_SCN_TYPE_DSECT', 'AF_CHAOS', 'RPC_NT_DUPLICATE_ENDPOINT', 'STATUS_NOT_SAFE_MODE_DRIVER', 'ERROR_RECEIVE_EXPEDITED', 'PAGE_NOCACHE', 'CRYPT_VOLATILE', 'CERT_STORE_PROV_LDAP', 'BELOW_NORMAL_PRIORITY_CLASS', 'PROV_EC_ECDSA_FULL', 'ERROR_IS_JOIN_TARGET', 'STATUS_RESTART_BOOT_APPLICATION', 'STATUS_ACPI_INVALID_SUPERNAME', 'STATUS_DRIVER_ORDINAL_NOT_FOUND', 'ERROR_MEMORY_HARDWARE', 'CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL', 'STATUS_FWP_INCOMPATIBLE_AUTH_METHOD', 'STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE', 'ERROR_WX86_ERROR', 'STATUS_RXACT_COMMITTED', 'ERROR_INVALID_VERIFY_SWITCH', 'ERROR_BADDB', 'RPC_NT_CALL_IN_PROGRESS', 'CREATE_NEW_PROCESS_GROUP', 'ERROR_VC_DISCONNECTED', 'CMSG_ENVELOPE_ALGORITHM_PARAM', 'DEBUG_EVENT_CHANGE_ENGINE_STATE', 'FILE_EXECUTE', 'EPT_NT_CANT_PERFORM_OP', 'IMAGE_FILE_DEBUG_STRIPPED', 'CMSG_RECIPIENT_INFO_PARAM', 'STATUS_BAD_DEVICE_TYPE', 'STATUS_THREAD_IS_TERMINATING', 'STATUS_NO_IMPERSONATION_TOKEN', 'RPC_NT_INVALID_NAME_SYNTAX', 'szOID_OIWSEC_mdc2', 'SERVICE_PAUSE_PENDING', 'CERT_NAME_RDN_TYPE', 'SM_CYDLGFRAME', 'FILE_OPEN_FOR_FREE_SPACE_QUERY', 'STATUS_FWP_TCPIP_NOT_READY', 'STATUS_CLUSTER_POISONED', 'ERROR_VOLUME_MOUNTED', 'STATUS_LOG_STATE_INVALID', 'CERT_FIND_HASH', 'CMSG_ENCRYPT_PARAM', 'ERROR_WRITE_FAULT', 'STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED', 'FILE_FILE_COMPRESSION', 'STATUS_DISK_REPAIR_DISABLED', 'STATUS_GRAPHICS_STALE_MODESET', 'STATUS_LOGON_NOT_GRANTED', 'STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE', 'STATUS_INVALID_COMPUTER_NAME', 'CERT_RENEWAL_PROP_ID', 'STATUS_ILLEGAL_INSTRUCTION', 'STATUS_NOT_FOUND', 'STATUS_CHECKING_FILE_SYSTEM', 'CERT_QUERY_CONTENT_SERIALIZED_CTL', 'SW_HIDE', 'STATUS_FVE_DRY_RUN_FAILED', 'szOID_OIWSEC_desECB', 'MS_STRONG_PROV_W', 'ERROR_UNEXPECTED_MM_EXTEND_ERR', 'STATUS_INVALID_PARAMETER_4', 'CERT_COMPARE_CERT_ID', 'STATUS_NETWORK_ACCESS_DENIED', 'STATUS_FVE_DEBUGGER_ENABLED', 'STATUS_DS_SHUTTING_DOWN', 'STATUS_GRAPHICS_POLLING_TOO_FREQUENTLY', 'szOID_RSA_signingTime', 'STATUS_GRAPHICS_CANNOTCOLORCONVERT', 'ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR', 'STATUS_NO_SUCH_FILE', 'CERT_E_PURPOSE', 'RPC_C_QOS_IDENTITY_DYNAMIC', 'ERROR_NO_TOKEN', 'STATUS_NO_TGT_REPLY', 'SM_CXVSCROLL', 'szOID_OIWSEC_dsaCommSHA1', 'STATUS_FWP_LIFETIME_MISMATCH', 'FILE_SUPPORTS_REPARSE_POINTS', 'STATUS_DRIVER_ENTRYPOINT_NOT_FOUND', 'IMAGE_SCN_TYPE_COPY', 'ERROR_VALIDATE_CONTINUE', 'STATUS_INVALID_PARAMETER_2', 'ERROR_SUBST_TO_JOIN', 'LPC_CONNECTION_REQUEST', 'STATUS_GRAPHICS_INVALID_COPYPROTECTION_TYPE', 'STATUS_TRANSACTION_OBJECT_EXPIRED', 'EXCEPTION_DEBUG_EVENT', 'REPORT_NOT_ABLE_TO_EXPORT_PRIVATE_KEY', 'SM_CXSMSIZE', 'STATUS_VOLSNAP_HIBERNATE_READY', 'STATUS_DS_NAME_NOT_UNIQUE', 'CMSG_CRL_COUNT_PARAM', 'SERVICE_CONTROL_PAUSE', 'FILE_SUPERSEDED', 'STATUS_HOST_UNREACHABLE', 'CRYPT_ARCHIVABLE', 'ERROR_CHILD_NOT_COMPLETE', 'STATUS_RANGE_NOT_FOUND', 'STATUS_TRUSTED_RELATIONSHIP_FAILURE', 'CERT_TRUST_NO_ERROR', 'STATUS_TOO_MANY_PAGING_FILES', 'STATUS_ACPI_INVALID_MUTEX_LEVEL', 'STATUS_DS_INVALID_GROUP_TYPE', 'STATUS_CTX_LICENSE_EXPIRED', 'STATUS_IPSEC_AUTH_FIREWALL_DROP', 'FILE_VALID_MAILSLOT_OPTION_FLAGS', 'CERT_FIND_CROSS_CERT_DIST_POINTS', 'STATUS_GRAPHICS_NO_RECOMMENDED_FUNCTIONAL_VIDPN', 'STATUS_USER_MAPPED_FILE', 'ERROR_NOT_ALL_ASSIGNED', 'ERROR_CANTREAD', 'ERROR_VIRUS_DELETED', 'RPC_NT_SEC_PKG_ERROR', 'IMAGE_SCN_ALIGN_MASK', 'X509_KEYGEN_REQUEST_TO_BE_SIGNED', 'ERROR_FULLSCREEN_MODE', 'STATUS_COMMITMENT_LIMIT', 'CERT_STORE_SHARE_CONTEXT_FLAG', 'STATUS_FWP_INCOMPATIBLE_SA_STATE', 'ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR', 'SM_CYMINTRACK', 'SERVICE_ACCEPT_PARAMCHANGE', 'STATUS_GRAPHICS_SPECIFIED_CHILD_ALREADY_CONNECTED', 'FILE_SEQUENTIAL_ONLY', 'STATUS_IMAGE_CHECKSUM_MISMATCH', 'SM_IMMENABLED', 'STILL_ACTIVE', 'STATUS_REQUEST_CANCELED', 'RPC_NT_INVALID_ASYNC_CALL', 'CERT_STORE_CTL_CONTEXT', 'STATUS_EVENTLOG_CANT_START', 'STATUS_WAS_UNLOCKED', 'CREATE_PROCESS_DEBUG_EVENT', 'STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT', 'CERT_NAME_UPN_TYPE', 'SERVICE_ERROR_SEVERE', 'STATUS_RESOURCEMANAGER_NOT_FOUND', 'STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED', 'STATUS_INVALID_IMAGE_WIN_64', 'STATUS_IMAGE_ALREADY_LOADED_AS_DLL', 'STATUS_GRAPHICS_MODE_ID_MUST_BE_UNIQUE', 'szOID_ECDSA_SHA256', 'ERROR_INVALID_PARAMETER', 'STATUS_REGISTRY_HIVE_RECOVERED', 'STATUS_GRAPHICS_VIDEO_PRESENT_TARGETS_LESS_THAN_SOURCES', 'DBG_NO_STATE_CHANGE', 'STATUS_FILE_RENAMED', 'szOID_RSA_MD4RSA', 'STATUS_FWP_INVALID_WEIGHT', 'STATUS_NOT_CAPABLE', 'ERROR_CANT_TERMINATE_SELF', 'STATUS_NO_SAVEPOINT_WITH_OPEN_FILES', 'SW_SHOWNOACTIVATE', 'PKCS12_INCLUDE_EXTENDED_PROPERTIES', 'RPC_REQUEST_TYPE_BIND', 'STATUS_BUS_RESET', 'STATUS_FLT_INVALID_NAME_REQUEST', 'STATUS_CLUSTER_NODE_PAUSED', 'PROCESS_DUP_HANDLE', 'STATUS_PROTOCOL_UNREACHABLE', 'ERROR_COMPRESSION_DISABLED', 'FILE_FLAG_BACKUP_SEMANTICS', 'STATUS_INTEGER_DIVIDE_BY_ZERO', 'STATUS_OBJECTID_NOT_FOUND', 'ERROR_OPEN_FAILED', 'CRYPT_CREATE_IV', 'STATUS_CONVERT_TO_LARGE', 'STATUS_FVE_NOT_OS_VOLUME', 'FILE_VOLUME_QUOTAS', 'RPC_C_AUTHN_LEVEL_DEFAULT', 'STATUS_FWP_MATCH_TYPE_MISMATCH', 'REG_EXPAND_SZ', 'CRYPT_E_ATTRIBUTES_MISSING', 'FILE_VALID_PIPE_OPTION_FLAGS', 'STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER', 'CERT_FIND_SUBJECT_NAME', 'RPC_NT_NOT_CANCELLED', 'STATUS_FWP_OUT_OF_BOUNDS', 'FILE_READ_DATA', 'EXCEPTION_FLT_DENORMAL_OPERAND', 'szOID_OIWSEC_sha1', 'STATUS_CTX_NO_OUTBUF', 'RPC_NT_BINDING_INCOMPLETE', 'SM_CYFRAME', 'STATUS_CTX_LICENSE_CLIENT_INVALID', 'STATUS_SOME_NOT_MAPPED', 'STATUS_FLT_NO_WAITER_FOR_REPLY', 'STATUS_BAD_NETWORK_PATH', 'RPC_C_IMP_LEVEL_DEFAULT', 'ERROR_WAS_LOCKED', 'FILE_GENERIC_EXECUTE', 'ERROR_INVALID_MESSAGE', 'szOID_RSA_ENCRYPT', 'STATUS_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT', 'STATUS_AMBIGUOUS_SYSTEM_DEVICE', 'szOID_OIWSEC_dsa', 'SERVICE_DISABLED', 'STATUS_TRANSACTION_SCOPE_CALLBACKS_NOT_SET', 'ERROR_INVALID_FLAGS', 'STATUS_CTX_WINSTATION_ACCESS_DENIED', 'STATUS_ARRAY_BOUNDS_EXCEEDED', 'CERT_COMPARE_ATTR', 'STATUS_OBJECT_TYPE_MISMATCH', 'STATUS_FVE_POLICY_USER_DISABLE_RDV_NOT_ALLOWED', 'STATUS_GRAPHICS_RESOURCES_NOT_RELATED', 'STATUS_TRANSACTION_FREEZE_IN_PROGRESS', 'STATUS_DRIVER_PROCESS_TERMINATED', 'STATUS_WAS_LOCKED', 'THREAD_DIRECT_IMPERSONATION', 'CERT_ENHKEY_USAGE_PROP_ID', 'SE_PRIVILEGE_ENABLED', 'IDLE_PRIORITY_CLASS', 'STATUS_NO_TRACKING_SERVICE', 'STATUS_SECTION_NOT_IMAGE', 'STATUS_IPSEC_DOSP_BLOCK', 'STATUS_FIRMWARE_UPDATED', 'STATUS_PROFILING_AT_LIMIT', 'STATUS_PAGE_FAULT_GUARD_PAGE', 'STATUS_FVE_FAILED_BAD_FS', 'MAX_INTERFACE_NAME_LEN', 'STATUS_GRAPHICS_FREQUENCYRANGE_ALREADY_IN_SET', 'STATUS_NOTIFICATION_GUID_ALREADY_DEFINED', 'STATUS_MOUNT_POINT_NOT_RESOLVED', 'STATUS_GRAPHICS_INVALID_VIDPN_SOURCEMODESET', 'STATUS_RESOURCE_ENUM_USER_STOP', 'ERROR_PATH_BUSY', 'ERROR_THREAD_MODE_ALREADY_BACKGROUND', 'szOID_OIWSEC_md2RSASign', 'MAX_ADAPTER_NAME', 'STATUS_GRAPHICS_TARGET_ID_MUST_BE_UNIQUE', 'ERROR_TOO_MANY_POSTS', 'STATUS_GRAPHICS_INVALID_PATH_IMPORTANCE_ORDINAL', 'CONTEXT_SEGMENTS', 'STATUS_LOG_START_OF_LOG', 'ERROR_CLIENT_SERVER_PARAMETERS_INVALID', 'STATUS_IPSEC_DOSP_STATE_LOOKUP_FAILED', 'STATUS_MFT_TOO_FRAGMENTED', 'SECURITY_MANDATORY_HIGH_RID', 'CERT_QUERY_CONTENT_PKCS7_UNSIGNED', 'DBG_EXCEPTION_HANDLED', 'STATUS_ADVANCED_INSTALLER_FAILED', 'IMAGE_FILE_MACHINE_AMD64', 'ERROR_NET_OPEN_FAILED', 'CRYPT_CREATE_SALT', 'FILE_OPEN_NO_RECALL', 'RPC_NT_NO_ENTRY_NAME', 'szOID_ANSI_X942', 'SM_CXFOCUSBORDER', 'STATUS_WAIT_3', 'STATUS_VIRUS_INFECTED', 'STATUS_WAIT_1', 'SECURITY_MANDATORY_UNTRUSTED_RID', 'STATUS_INVALID_IMAGE_HASH', 'CRYPT_E_OID_FORMAT', 'CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT', 'STATUS_TRUST_FAILURE', 'STATUS_CTX_WINSTATION_NAME_INVALID', 'ERROR_EVENT_PENDING', 'EXCEPTION_INT_DIVIDE_BY_ZERO', 'IMAGE_FILE_SYSTEM', 'RPC_NT_SS_CONTEXT_DAMAGED', 'AF_DLI', 'RPC_NT_UUID_NO_ADDRESS', 'STATUS_EA_TOO_LARGE', 'STATUS_USER2USER_REQUIRED', 'CERT_QUERY_CONTENT_SERIALIZED_STORE', 'CERT_FIND_KEY_IDENTIFIER', 'STATUS_TIME_DIFFERENCE_AT_DC', 'SM_CYSMICON', 'STATUS_GRAPHICS_INVALID_VISIBLEREGION_SIZE', 'ERROR_THREAD_NOT_IN_PROCESS', 'PKCS12_ALWAYS_CNG_KSP', 'CERT_SYSTEM_STORE_USERS', 'OBJ_FORCE_ACCESS_CHECK', 'STATUS_VOLMGR_MIRROR_NOT_SUPPORTED', 'ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY', 'RPC_NT_INVALID_ES_ACTION', 'STATUS_PIPE_BROKEN', 'CERT_COMPARE_SIGNATURE_HASH', 'szOID_INFOSEC_sdnsConfidentiality', 'STATUS_WMI_ITEMID_NOT_FOUND', 'STATUS_FVE_TOO_SMALL', 'RPC_NT_COMM_FAILURE', 'ERROR_DIR_NOT_EMPTY', 'ERROR_PNP_RESTART_ENUMERATION', 'ERROR_HANDLE_EOF', 'STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS', 'STATUS_QUOTA_EXCEEDED', 'DBG_CONTROL_C', 'ERROR_RXACT_STATE_CREATED', 'STATUS_FLT_NO_DEVICE_OBJECT', 'RSA_CSP_PUBLICKEYBLOB', 'RPC_X_BAD_STUB_DATA', 'KEY_WOW64_RES', 'ERROR_TOO_MANY_MUXWAITERS', 'STATUS_PAGEFILE_QUOTA_EXCEEDED', 'RPC_C_QOS_IDENTITY_STATIC', 'ERROR_NO_VOLUME_LABEL', 'ALPC_PORFLG_WAITABLE_PORT', 'STATUS_TRANSACTION_TIMED_OUT', 'STATUS_REPLY_MESSAGE_MISMATCH', 'ERROR_PNP_REBOOT_REQUIRED', 'STATUS_COPY_PROTECTION_FAILURE', 'X509_NDR_ENCODING', 'STATUS_NDIS_PM_PROTOCOL_OFFLOAD_LIST_FULL', 'THREAD_SET_THREAD_TOKEN', 'ERROR_DRIVE_LOCKED', 'STATUS_FLT_INSTANCE_NOT_FOUND', 'ERROR_OBJECT_NAME_EXISTS', 'ERROR_ACCESS_AUDIT_BY_POLICY', 'AF_NETDES', 'ERROR_BAD_COMMAND', 'AF_SNA', 'STATUS_NDIS_CLOSING', 'CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD', 'STATUS_MONITOR_INVALID_MANUFACTURE_DATE', 'STATUS_FWP_TXN_ABORTED', 'szOID_RSA_SSA_PSS', 'PROV_RSA_FULL', 'SM_RESERVED4', 'SM_RESERVED1', 'SM_RESERVED3', 'SM_RESERVED2', 'STATUS_TRANSACTION_NOT_REQUESTED', 'STATUS_CANNOT_DELETE', 'RPC_C_QOS_CAPABILITIES_MAKE_FULLSIC', 'STATUS_MAPPED_FILE_SIZE_ZERO', 'STATUS_PLUGPLAY_QUERY_VETOED', 'szOID_RSA_MD5RSA', 'CERT_TRUST_IS_OFFLINE_REVOCATION', 'ERROR_DIR_NOT_ROOT', 'szOID_INFOSEC_mosaicUpdatedInteg', 'CERT_TRUST_INVALID_EXTENSION', 'STATUS_CTX_CLOSE_PENDING', 'CERT_STORE_NO_CRYPT_RELEASE_FLAG', 'STATUS_FVE_VOLUME_NOT_BOUND', 'ERROR_DISK_FULL', 'SYSTEM_ALARM_CALLBACK_ACE_TYPE', 'STATUS_SMARTCARD_CARD_BLOCKED', 'STATUS_INVALID_IMAGE_FORMAT', 'STATUS_FILE_IS_OFFLINE', 'ERROR_LONGJUMP', 'CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY', 'STATUS_WMI_NOT_SUPPORTED', 'STATUS_UNEXPECTED_NETWORK_ERROR', 'szOID_OIWSEC_dsaCommSHA', 'MAILSLOT_NO_MESSAGE', 'STATUS_LOG_METADATA_INVALID', 'STATUS_GUID_SUBSTITUTION_MADE', 'STATUS_PRINT_QUEUE_FULL', 'STATUS_NDIS_INVALID_DATA', 'szOID_RSA_data', 'ERROR_ALREADY_ASSIGNED', 'ERROR_WAKE_SYSTEM_DEBUGGER', 'STATUS_EXTRANEOUS_INFORMATION', 'CERT_E_UNTRUSTEDROOT', 'STATUS_WX86_CONTINUE', 'CERT_E_UNTRUSTEDCA', 'STATUS_DOMAIN_EXISTS', 'FILE_ATTRIBUTE_DEVICE', 'STATUS_DIRECTORY_NOT_EMPTY', 'STATUS_FLT_CBDQ_DISABLED', 'CERT_ARCHIVED_KEY_HASH_PROP_ID', 'RPC_NT_INVALID_RPC_PROTSEQ', 'ERROR_APP_INIT_FAILURE', 'STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE_CONSTRAINT', 'STATUS_INVALID_SIGNATURE', 'szOID_OIWSEC_md5RSA', 'REG_LINK', 'STATUS_BUFFER_OVERFLOW', 'STATUS_LOG_SECTOR_INVALID', 'STATUS_CALLBACK_POP_STACK', 'FILE_ATTRIBUTE_ENCRYPTED', 'STATUS_FVE_FAILED_AUTHENTICATION', 'STATUS_DATA_ERROR', 'CERT_FRIENDLY_NAME_PROP_ID', 'STATUS_PIPE_NOT_AVAILABLE', 'STATUS_NO_LDT', 'STATUS_TRANSACTION_RESPONDED', 'CMSG_HASH_ALGORITHM_PARAM', 'STATUS_GRAPHICS_DDCCI_INVALID_DATA', 'RPC_NT_ALREADY_REGISTERED', 'STATUS_NDIS_DOT11_POWER_STATE_INVALID', 'STARTF_USESIZE', 'STATUS_REPARSE_POINT_NOT_RESOLVED', 'FILE_FLAG_OPEN_REPARSE_POINT', 'STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED', 'STATUS_REMOTE_RESOURCES', 'STATUS_CONTROL_C_EXIT', 'STATUS_CHILD_MUST_BE_VOLATILE', 'STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS', 'ERROR_IO_INCOMPLETE', 'CERT_E_CN_NO_MATCH', 'STATUS_END_OF_MEDIA', 'STATUS_DEVICE_UNREACHABLE', 'STATUS_VDM_HARD_ERROR', 'SERVICE_WIN32_OWN_PROCESS', 'ERROR_UNWIND_CONSOLIDATE', 'RPC_C_AUTHN_LEVEL_PKT_INTEGRITY', 'ERROR_ILLEGAL_FLOAT_CONTEXT', 'SERVICE_ERROR_IGNORE', 'ERROR_CRC', 'SM_MOUSEPRESENT', 'STATUS_PROCESS_CLONED', 'ACCESS_ALLOWED_OBJECT_ACE_TYPE', 'STATUS_CONNECTION_IN_USE', 'CERT_STORE_PROV_REG', 'ERROR_SERVER_SID_MISMATCH', 'STATUS_NO_IP_ADDRESSES', 'ERROR_DIRECTORY', 'EXCEPTION_SINGLE_STEP', 'CERT_AUTO_ENROLL_PROP_ID', 'STATUS_GRAPHICS_ADAPTER_MUST_HAVE_AT_LEAST_ONE_TARGET', 'ERROR_ABANDONED_WAIT_63', 'STATUS_FILE_NOT_ENCRYPTED', 'ERROR_VOLSNAP_PREPARE_HIBERNATE', 'STATUS_PORT_ALREADY_HAS_COMPLETION_LIST', 'SERVICE_CONTROL_STOP', 'STATUS_RESOURCE_NAME_NOT_FOUND', 'STATUS_DS_NO_MORE_RIDS', 'DELETE', 'MS_STRONG_PROV_A', 'STATUS_TRANSACTION_PROPAGATION_FAILED', 'STATUS_INSTANCE_NOT_AVAILABLE', 'ERROR_FILE_TOO_LARGE', 'STATUS_SYNCHRONIZATION_REQUIRED', 'IMAGE_FILE_32BIT_MACHINE', 'STATUS_INVALID_HANDLE', 'STATUS_ALREADY_REGISTERED', 'STATUS_NETWORK_UNREACHABLE', 'STATUS_DS_INIT_FAILURE', 'CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG', 'STATUS_GRAPHICS_INVALID_PHYSICAL_MONITOR_HANDLE', 'STATUS_ROLLBACK_TIMER_EXPIRED', 'CERT_E_REVOKED', 'ERROR_NOT_OWNER', 'STATUS_REMOTE_NOT_LISTENING', 'PROFILE_KERNEL', 'STATUS_CANT_CREATE_MORE_STREAM_MINIVERSIONS', 'STATUS_BEGINNING_OF_MEDIA', 'STATUS_BEYOND_VDL', 'IMAGE_FILE_UP_SYSTEM_ONLY', 'EXCEPTION_EXECUTE_HANDLER', 'SM_SLOWMACHINE', 'ERROR_DRIVERS_LEAKING_LOCKED_PAGES', 'FILE_VOLUME_IS_COMPRESSED', 'STATUS_CLUSTER_NETINTERFACE_NOT_FOUND', 'STATUS_NO_RECOVERY_POLICY', 'SECTION_MAP_WRITE', 'STATUS_LOGON_SERVER_CONFLICT', 'STATUS_ENLISTMENT_NOT_FOUND', 'STATUS_CTX_MODEM_RESPONSE_TIMEOUT', 'ERROR_JOIN_TO_JOIN', 'ERROR_TIMER_NOT_CANCELED', 'ERROR_OPLOCK_HANDLE_CLOSED', 'STATUS_NET_WRITE_FAULT', 'STATUS_REINITIALIZATION_NEEDED', 'ERROR_INVALID_ACE_CONDITION', 'ERROR_PWD_TOO_RECENT', 'ERROR_PORT_MESSAGE_TOO_LONG', 'STATUS_GRAPHICS_NO_VIDEO_MEMORY', 'ERROR_UNWIND', 'ERROR_EXCL_SEM_ALREADY_OWNED', 'CERT_E_WRONG_USAGE', 'STATUS_CALLBACK_RETURNED_PRI_BACK', 'DUPLICATE_SAME_ACCESS', 'STATUS_FLOAT_STACK_CHECK', 'STATUS_NOT_LOGON_PROCESS', 'STATUS_INVALID_SYSTEM_SERVICE', 'STATUS_UNSUPPORTED_PREAUTH', 'CERT_FIND_ANY', 'szOID_RSA', 'STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER', 'CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID', 'STATUS_GRAPHICS_TRY_AGAIN_LATER', 'STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET', 'STATUS_IO_DEVICE_ERROR', 'STATUS_ACPI_INVALID_OBJTYPE', 'STATUS_GRAPHICS_DDCCI_INVALID_MESSAGE_LENGTH', 'ALPC_MSGFLG_WAIT_USER_MODE', 'STATUS_DEBUGGER_INACTIVE', 'ERROR_JOIN_TO_SUBST', 'STATUS_MORE_PROCESSING_REQUIRED', 'STATUS_CTL_FILE_NOT_SUPPORTED', 'PKCS_7_ASN_ENCODING', 'STATUS_NO_INHERITANCE', 'STATUS_OBJECT_NAME_NOT_FOUND', 'PROV_RSA_SIG', 'STATUS_PWD_TOO_SHORT', 'STATUS_FWP_TXN_IN_PROGRESS', 'IMAGE_SCN_TYPE_OVER', 'STATUS_ACCESS_DISABLED_BY_POLICY_OTHER', 'ERROR_VERSION_PARSE_ERROR', 'STATUS_SERVER_HAS_OPEN_HANDLES', 'ERROR_DEBUG_ATTACH_FAILED', 'STATUS_GRAPHICS_NO_MORE_ELEMENTS_IN_DATASET', 'STATUS_ABANDONED_WAIT_0', 'STATUS_CTX_WINSTATION_BUSY', 'IMAGE_SCN_MEM_16BIT', 'ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT', 'STATUS_TOO_MANY_SIDS', 'ERROR_FT_WRITE_RECOVERY', 'CERT_FIND_ISSUER_ATTR', 'AF_UNIX', 'STATUS_SHUTDOWN_IN_PROGRESS', 'RPC_NT_GROUP_MEMBER_NOT_FOUND', 'ERROR_DEVICE_ENUMERATION_ERROR', 'CERT_INFO_SIGNATURE_ALGORITHM_FLAG', 'STATUS_FVE_FS_MOUNTED', 'SERVICE_FILE_SYSTEM_DRIVER', 'TOKEN_DUPLICATE', 'CERT_COMPARE_CTL_USAGE', 'LPC_PORT_CLOSED', 'STATUS_EVENT_DONE', 'STATUS_NDIS_INVALID_LENGTH', 'STATUS_REMOTE_DISCONNECT', 'CERT_SYSTEM_STORE_CURRENT_SERVICE_ID', 'STATUS_BAD_INITIAL_STACK', 'ERROR_INVALID_MINALLOCSIZE', 'STATUS_CTX_WD_NOT_FOUND', 'STATUS_ALERTED', 'CERT_INFO_SUBJECT_UNIQUE_ID_FLAG', 'STATUS_CSS_KEY_NOT_ESTABLISHED', 'STATUS_FWP_EM_NOT_SUPPORTED', 'STANDARD_RIGHTS_EXECUTE', 'MEM_ROTATE', 'ERROR_FILE_CHECKED_OUT', 'STATUS_LOG_INVALID_RANGE', 'SM_CYSIZEFRAME', 'FILE_WRITE_THROUGH', 'ERROR_SIGNAL_REFUSED', 'STATUS_LOG_MULTIPLEXED', 'ERROR_REPLY_MESSAGE_MISMATCH', 'STATUS_CLUSTER_INVALID_NODE', 'ERROR_PNP_IRQ_TRANSLATION_FAILED', 'ERROR_ALREADY_WIN32', 'ERROR_NO_MORE_SEARCH_HANDLES', 'STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR', 'ALPC_MESSAGE_HANDLE_ATTRIBUTE', 'VER_NT_WORKSTATION', 'ERROR_SYSTEM_IMAGE_BAD_SIGNATURE', 'STATUS_MUTANT_LIMIT_EXCEEDED', 'szOID_ECDSA_SPECIFIED', 'STATUS_INVALID_IMPORT_OF_NON_DLL', 'PKCS12_ALLOW_OVERWRITE_KEY', 'STATUS_ACCOUNT_LOCKED_OUT', 'STATUS_GRAPHICS_INVALID_PATH_CONTENT_TYPE', 'STATUS_TRANSACTIONS_UNSUPPORTED_REMOTE', 'STATUS_DEVICE_FEATURE_NOT_SUPPORTED', 'STATUS_FLOAT_MULTIPLE_TRAPS', 'CRYPT_E_INVALID_INDEX', 'ERROR_BUSY_DRIVE', 'STATUS_NDIS_GROUP_ADDRESS_IN_USE', 'AF_BAN', 'STATUS_NO_SUCH_LOGON_SESSION', 'STATUS_VIRTUAL_CIRCUIT_CLOSED', 'STATUS_CTX_CONSOLE_DISCONNECT', 'STATUS_DIRECTORY_NOT_RM', 'szOID_RSA_signedData', 'KEY_NOTIFY', 'STATUS_FVE_AUTH_INVALID_APPLICATION', 'ERROR_HIBERNATION_FAILURE', 'CMSG_SIGNER_CERT_INFO_PARAM', 'ERROR_PROCESS_MODE_ALREADY_BACKGROUND', 'AF_APPLETALK', 'OWNER_SECURITY_INFORMATION', 'SC_MANAGER_MODIFY_BOOT_CONFIG', 'ERROR_RECEIVE_PARTIAL', 'CERT_E_UNTRUSTEDTESTROOT', 'STATUS_ALLOCATE_BUCKET', 'SM_REMOTECONTROL', 'ERROR_AUDIT_FAILED', 'FILE_FLAG_FIRST_PIPE_INSTANCE', 'STATUS_GUARD_PAGE_VIOLATION', 'STATUS_FWP_WRONG_SESSION', 'CREATE_ALWAYS', 'STATUS_GRAPHICS_INVALID_MONITOR_SOURCE_MODE', 'ERROR_SCOPE_NOT_FOUND', 'PROCESS_SET_QUOTA', 'RPC_NT_UUID_LOCAL_ONLY', 'RPC_NT_INVALID_ENDPOINT_FORMAT', 'STATUS_GRAPHICS_PVP_NO_DISPLAY_DEVICE_CORRESPONDS_TO_NAME', 'ERROR_MOUNT_POINT_NOT_RESOLVED', 'ERROR_INVALID_EA_HANDLE', 'STATUS_KDC_INVALID_REQUEST', 'PROCESS_MODE_BACKGROUND_BEGIN', 'READ_CONTROL', 'EXCEPTION_FLT_OVERFLOW', 'ERROR_INVALID_SEGMENT_NUMBER', 'STATUS_PIPE_DISCONNECTED', 'STATUS_RESOURCE_DATA_NOT_FOUND', 'FILE_CREATE_TREE_CONNECTION', 'TRUST_E_ACTION_UNKNOWN', 'STATUS_GRAPHICS_MIRRORING_DEVICES_NOT_SUPPORTED', 'STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST', 'STATUS_MCA_EXCEPTION', 'CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT', 'CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED', 'ERROR_INVALID_STACKSEG', 'STATUS_DS_CANT_START', 'STATUS_UNWIND', 'STATUS_DRIVER_INTERNAL_ERROR', 'STATUS_LOST_WRITEBEHIND_DATA', 'STATUS_DECRYPTION_FAILED', 'STATUS_SEGMENT_NOTIFICATION', 'STATUS_CLUSTER_JOIN_IN_PROGRESS', 'STATUS_ADDRESS_NOT_ASSOCIATED', 'SM_CXSIZE', 'CERT_QUERY_FORMAT_BINARY', 'ERROR_BAD_CURRENT_DIRECTORY', 'ERROR_GEN_FAILURE', 'STATUS_PROFILING_NOT_STARTED', 'STATUS_HEAP_CORRUPTION', 'STATUS_SXS_FILE_NOT_PART_OF_ASSEMBLY', 'STATUS_CS_ENCRYPTION_FILE_NOT_CSE', 'SW_NORMAL', 'CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES', 'SERVICE_ERROR_CRITICAL', 'ERROR_VERIFIER_STOP', 'STATUS_KEY_DELETED', 'ERROR_UNHANDLED_EXCEPTION', 'STATUS_ACPI_RS_ACCESS', 'CERT_NAME_ATTR_TYPE', 'ERROR_INVALID_PLUGPLAY_DEVICE_PATH', 'STATUS_NO_SUCH_PACKAGE', 'STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH', 'STATUS_NONE_MAPPED', 'DIGSIG_E_ENCODE', 'STATUS_GRAPHICS_ALLOCATION_INVALID', 'MEM_RESERVE', 'STATUS_SXS_FILE_HASH_MISMATCH', 'STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN', 'ERROR_LOGON_SERVER_CONFLICT', 'CERT_TRUST_CTL_IS_NOT_TIME_VALID', 'SERVICE_CONTINUE_PENDING', 'IMAGE_FILE_MACHINE_CEE', 'IMAGE_FILE_MACHINE_CEF', 'STATUS_DS_UNAVAILABLE', 'ERROR_INVALID_LDT_SIZE', 'ERROR_NOT_SUPPORTED', 'PROCESS_SET_SESSIONID', 'RPC_NT_FP_OVERFLOW', 'STATUS_UNSUPPORTED_COMPRESSION', 'ERROR_TOO_MANY_SEM_REQUESTS', 'STATUS_HIBERNATED', 'ERROR_NO_EVENT_PAIR', 'ERROR_INVALID_SIGNAL_NUMBER', 'FILE_DELETE_CHILD', 'SM_CYHSCROLL', 'CMSG_SIGNER_HASH_ALGORITHM_PARAM', 'STATUS_EA_LIST_INCONSISTENT', 'STATUS_FWP_ACTION_INCOMPATIBLE_WITH_LAYER', 'STANDARD_RIGHTS_ALL', 'CERT_STORE_ADD_ALWAYS', 'ERROR_SERVICE_NOTIFICATION', 'REG_DWORD_LITTLE_ENDIAN', 'STATUS_GRAPHICS_UNSWIZZLING_APERTURE_UNSUPPORTED', 'STATUS_SAM_NEED_BOOTKEY_PASSWORD', 'TRUST_E_NOSIGNATURE', 'STATUS_BAD_VALIDATION_CLASS', 'OPEN_ALWAYS', 'CERT_QUERY_CONTENT_PFX_AND_LOAD', 'ERROR_ERRORS_ENCOUNTERED', 'AF_CLUSTER', 'SERVICE_USER_DEFINED_CONTROL', 'FILE_LIST_DIRECTORY', 'FILE_FLAG_OVERLAPPED', 'STATUS_INVALID_BUFFER_SIZE', 'CRYPT_E_NOT_FOUND', 'STATUS_INTERRUPT_STILL_CONNECTED', 'RRF_RT_REG_NONE', 'RPC_NT_SEND_INCOMPLETE', 'ERROR_AUTODATASEG_EXCEEDS_64k', 'STATUS_POLICY_OBJECT_NOT_FOUND', 'ERROR_CANNOT_BREAK_OPLOCK', 'STATUS_NO_MORE_FILES', 'FILE_OPENED', 'SM_CXFULLSCREEN', 'STATUS_WAKE_SYSTEM_DEBUGGER', 'STATUS_FILE_FORCED_CLOSED', 'SM_MIDEASTENABLED', 'STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT', 'CONTEXT_INTEGER', 'FILE_SHARE_WRITE', 'STATUS_GRAPHICS_UNASSIGNED_MODESET_ALREADY_EXISTS', 'ERROR_LOCK_FAILED', 'ERROR_IOPL_NOT_ENABLED', 'CMSG_SIGNER_AUTH_ATTR_PARAM', 'ERROR_IMAGE_MACHINE_TYPE_MISMATCH', 'E_FAIL', 'STATUS_CRM_PROTOCOL_NOT_FOUND', 'STATUS_INTERNAL_DB_ERROR', 'RPC_NT_NO_PRINC_NAME', 'EXCEPTION_NONCONTINUABLE', 'ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY', 'STATUS_MUI_INVALID_FILE', 'STATUS_FLT_DISALLOW_FAST_IO', 'CERT_FIND_SIGNATURE_HASH', 'STATUS_SMARTCARD_SUBSYSTEM_FAILURE', 'STATUS_INVALID_OWNER', 'STATUS_FLT_ALREADY_ENLISTED', 'CRYPT_E_HASH_VALUE', 'STATUS_CTX_CLIENT_QUERY_TIMEOUT', 'ERROR_TOO_MANY_MODULES', 'IMAGE_FILE_MACHINE_AM33', 'MAXLEN_PHYSADDR', 'WRITE_DAC', 'szOID_PKCS', 'STATUS_OBJECT_PATH_NOT_FOUND', 'ERROR_PROCESS_IN_JOB', 'IMAGE_SCN_MEM_EXECUTE', 'PROV_EC_ECNRA_FULL', 'szOID_INFOSEC_SuiteAIntegrity', 'STATUS_SXS_PROCESS_TERMINATION_REQUESTED', 'STATUS_LOCAL_DISCONNECT', 'FILE_ATTRIBUTE_COMPRESSED', 'CERT_KEY_PROV_INFO_PROP_ID', 'AF_NETBIOS', 'FILE_SUPERSEDE', 'IMAGE_NUMBEROF_DIRECTORY_ENTRIES', 'STATUS_TOO_MANY_NODES', 'szOID_RSA_messageDigest', 'ERROR_IS_SUBST_TARGET', 'STATUS_GRAPHICS_CANCEL_VIDPN_TOPOLOGY_AUGMENTATION', 'STATUS_CLUSTER_NODE_DOWN', 'STATUS_POWER_STATE_INVALID', 'SERVICE_ADAPTER', 'STATUS_NDIS_INTERFACE_NOT_FOUND', 'STATUS_CSS_SCRAMBLED_SECTOR', 'ERROR_DISCARDED', 'ERROR_OUTOFMEMORY', 'szOID_RSA_MD2RSA', 'STATUS_NO_TOKEN', 'szOID_RSA_encryptedData', 'STATUS_FWP_NULL_POINTER', 'STATUS_NO_LINK_TRACKING_IN_TRANSACTION', 'CRYPT_KEK', 'WRITE_OWNER', 'FILE_MAXIMUM_DISPOSITION', 'ERROR_INFLOOP_IN_RELOC_CHAIN', 'SW_MAX', 'STATUS_INVALID_PORT_ATTRIBUTES', 'DBG_CONTINUE', 'RPC_C_IMP_LEVEL_DELEGATE', 'ERROR_BAD_PATHNAME', 'SM_CYDRAG', 'ERROR_INVALID_IMAGE_HASH', 'STATUS_NO_USER_SESSION_KEY', 'ERROR_IO_PRIVILEGE_FAILED', 'STATUS_WMI_ALREADY_ENABLED', 'STATUS_PREDEFINED_HANDLE', 'FILE_CREATE', 'ALPC_MESSAGE_VIEW_ATTRIBUTE', 'CERT_E_REVOCATION_FAILURE', 'STATUS_GRAPHICS_NO_ACTIVE_VIDPN', 'ERROR_EXE_MARKED_INVALID', 'STATUS_STREAM_MINIVERSION_NOT_VALID', 'DEBUG_EVENT_LOAD_MODULE', 'STATUS_SMARTCARD_CERT_REVOKED', 'FILE_READ_EA', 'STATUS_FWP_TOO_MANY_CALLOUTS', 'COMPRESSION_FORMAT_XPRESS_HUFF', 'STATUS_PWD_HISTORY_CONFLICT', 'STATUS_COMPRESSION_DISABLED', 'ERROR_PAGEFILE_QUOTA_EXCEEDED', 'ERROR_MCA_OCCURED', 'WTD_CHOICE_CERT', 'IMAGE_FILE_MACHINE_R10000', 'SERVICE_CHANGE_CONFIG', 'STATUS_INVALID_PLUGPLAY_DEVICE_PATH', 'ERROR_NOT_SAFE_MODE_DRIVER', 'CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG', 'REG_QWORD_LITTLE_ENDIAN', 'SERVICE_DRIVER', 'IMAGE_SCN_ALIGN_8BYTES', 'RRF_ZEROONFAILURE', 'ERROR_INVALID_QUOTA_LOWER', 'USAGE_MATCH_TYPE_OR', 'ERROR_SEM_NOT_FOUND', 'STATUS_NDIS_MULTICAST_EXISTS', 'THREAD_ALL_ACCESS', 'szOID_OIWDIR_CRPT', 'STATUS_SXS_ACTIVATION_CONTEXT_DISABLED', 'ERROR_RXACT_COMMIT_NECESSARY', 'STATUS_ACPI_POWER_REQUEST_FAILED', 'STATUS_GRAPHICS_PATH_NOT_IN_TOPOLOGY', 'STATUS_INVALID_PRIMARY_GROUP', 'STATUS_TIMER_RESOLUTION_NOT_SET', 'STATUS_DISK_CORRUPT_ERROR', 'E_NOINTERFACE', 'STATUS_FILE_TOO_LARGE', 'STATUS_CONNECTION_COUNT_LIMIT', 'STATUS_CALLBACK_BYPASS', 'STATUS_BAD_STACK', 'STATUS_FLOATED_SECTION', 'STATUS_CANNOT_BREAK_OPLOCK', 'STATUS_CTX_GRAPHICS_INVALID', 'IMAGE_SCN_LNK_OTHER', 'TH32CS_SNAPTHREAD', 'PROV_INTEL_SEC', 'PROCESS_SET_INFORMATION', 'STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS', 'IMAGE_FILE_MACHINE_EBC', 'ERROR_INVALID_PASSWORD', 'CONTEXT_ALL', 'szOID_OIWSEC_shaRSA', 'STATUS_FWP_INVALID_PARAMETER', 'SM_CXICON', 'SM_CMONITORS', 'STATUS_NO_UNICODE_TRANSLATION', 'LPC_REQUEST', 'CERT_XML_NAME_STR', 'DBG_RIPEXCEPTION', 'IMAGE_SCN_ALIGN_8192BYTES', 'PROCESS_ALL_ACCESS', 'STATUS_CARDBUS_NOT_SUPPORTED', 'DETACHED_PROCESS', 'STATUS_NDIS_OFFLOAD_POLICY', 'STATUS_DRIVER_FAILED_PRIOR_UNLOAD', 'SM_CYMIN', 'RPC_NT_PROTOCOL_ERROR', 'STATUS_PROTOCOL_NOT_SUPPORTED', 'STATUS_LUIDS_EXHAUSTED', 'RPC_NT_INVALID_VERS_OPTION', 'ERROR_TOO_MANY_SEMAPHORES', 'SW_MINIMIZE', 'STATUS_INVALID_SID', 'CRYPT_E_FILE_ERROR', 'CERT_BACKED_UP_PROP_ID', 'STATUS_FWP_ALREADY_EXISTS', 'CERT_TRUST_HAS_NAME_MATCH_ISSUER', 'STATUS_INVALID_VARIANT', 'CERT_SIMPLE_NAME_STR', 'STATUS_GRAPHICS_OPM_ALL_HDCP_HARDWARE_ALREADY_IN_USE', 'STATUS_LOG_BLOCK_VERSION', 'STATUS_FT_ORPHANING', 'CMSG_CERT_COUNT_PARAM', 'ALPC_MSGFLG_WOW64_CALL', 'ERROR_NOTIFY_ENUM_DIR', 'CRYPT_SF', 'STATUS_GRAPHICS_INVALID_PIXELFORMAT', 'ERROR_DBG_RIPEXCEPTION', 'ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT', 'STATUS_RXACT_STATE_CREATED', 'SE_PRIVILEGE_ENABLED_BY_DEFAULT', 'STATUS_GRAPHICS_INVALID_MODE_PRUNING_ALGORITHM', 'RPC_NT_INVALID_STRING_UUID', 'ERROR_BAD_COMPRESSION_BUFFER', 'STATUS_REGISTRY_IO_FAILED', 'STATUS_FOUND_OUT_OF_SCOPE', 'STATUS_DLL_INIT_FAILED', 'REG_RESOURCE_LIST', 'STATUS_INVALID_ACL', 'STATUS_ACPI_INVALID_DATA', 'ERROR_INVALID_LIST_FORMAT', 'ERROR_PAGE_FAULT_PAGING_FILE', 'STATUS_NDIS_LOW_POWER_STATE', 'STATUS_DS_HAVE_PRIMARY_MEMBERS', 'STATUS_IP_ADDRESS_CONFLICT2', 'IMAGE_SCN_TYPE_REG', 'STATUS_GRAPHICS_INVALID_SCANLINE_ORDERING', 'CERT_EFS_PROP_ID', 'STATUS_SMI_PRIMITIVE_INSTALLER_FAILED', 'CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL', 'SEC_FILE', 'IMAGE_FILE_MACHINE_SH3DSP', 'SECURITY_MANDATORY_PROTECTED_PROCESS_RID', 'ERROR_SHARING_PAUSED', 'STATUS_CURRENT_DOMAIN_NOT_ALLOWED', 'RRF_RT_QWORD', 'FILE_NON_DIRECTORY_FILE', 'COMPRESSION_FORMAT_DEFAULT', 'IMAGE_SCN_ALIGN_256BYTES', 'SEC_LARGE_PAGES', 'STATUS_DELAY_LOAD_FAILED', 'STATUS_KDC_UNKNOWN_ETYPE', 'STATUS_NDIS_NOT_SUPPORTED', 'EXCEPTION_FLT_DIVIDE_BY_ZERO', 'FILE_SEQUENTIAL_WRITE_ONCE', 'EXCEPTION_INT_OVERFLOW', 'RPC_NT_SS_CONTEXT_MISMATCH', 'STATUS_SMARTCARD_WRONG_PIN', 'szOID_ECDSA_SHA512', 'szOID_PKCS_12', 'szOID_PKCS_10', 'STATUS_SMARTCARD_SILENT_CONTEXT', 'PROV_SSL', 'CERT_QUERY_CONTENT_FLAG_ALL', 'EXCEPTION_GUARD_PAGE', 'STATUS_CTX_RESPONSE_ERROR', 'IMAGE_FILE_LINE_NUMS_STRIPPED', 'STATUS_UNEXPECTED_MM_MAP_ERROR', 'ERROR_ROWSNOTRELEASED', 'ERROR_FILE_EXISTS', 'STATUS_CANCELLED', 'STATUS_LOG_SECTOR_PARITY_INVALID', 'IMAGE_FILE_MACHINE_SH3E', 'FILE_NO_INTERMEDIATE_BUFFERING', 'STATUS_COMMITMENT_MINIMUM', 'CERT_QUERY_CONTENT_CRL', 'IMAGE_SCN_ALIGN_2BYTES', 'DRIVE_CDROM', 'EVENTLOG_FORWARDS_READ', 'DRIVE_UNKNOWN', 'STATUS_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION', 'STATUS_CLEANER_CARTRIDGE_INSTALLED', 'FILE_PERSISTENT_ACLS', 'STATUS_CANT_DISABLE_MANDATORY', 'CERT_FIND_MD5_HASH', 'CMSG_SIGNER_CERT_ID_PARAM', 'STATUS_ACCESS_VIOLATION', 'STATUS_SERVICE_NOTIFICATION', 'STATUS_FWP_TOO_MANY_BOOTTIME_FILTERS', 'CERT_TRUST_IS_NOT_SIGNATURE_VALID', 'CERT_QUERY_CONTENT_PKCS10', 'STATUS_NOTIFY_CLEANUP', 'STATUS_FWP_KM_CLIENTS_ONLY', 'PAGE_GUARD', 'STATUS_WX86_INTERNAL_ERROR', 'STATUS_UNABLE_TO_LOCK_MEDIA', 'LPC_DATAGRAM', 'DEBUG_ONLY_THIS_PROCESS', 'AF_FIREFOX', 'STATUS_MCA_OCCURED', 'ERROR_PLUGPLAY_QUERY_VETOED', 'ERROR_DATA_NOT_ACCEPTED', 'ERROR_INVALID_BLOCK', 'STATUS_NO_SUCH_MEMBER', 'SM_SECURE', 'RPC_NT_WRONG_PIPE_VERSION', 'STATUS_OBJECT_PATH_SYNTAX_BAD', 'ERROR_CONTROL_C_EXIT', 'STATUS_REDIRECTOR_NOT_STARTED', 'RPC_NT_INTERNAL_ERROR', 'EXIT_PROCESS_DEBUG_EVENT', 'TRUST_E_PROVIDER_UNKNOWN', 'STATUS_CTX_MODEM_INF_NOT_FOUND', 'CREATE_PRESERVE_CODE_AUTHZ_LEVEL', 'ERROR_WAIT_FOR_OPLOCK', 'KEY_READ', 'CERT_FIND_ISSUER_OF', 'IMAGE_FILE_DLL', 'CERT_STORE_PROV_FILENAME_A', 'MS_DEF_PROV', 'STATUS_SYMLINK_CLASS_DISABLED', 'SYSTEM_AUDIT_CALLBACK_ACE_TYPE', 'STATUS_NOT_SAME_DEVICE', 'FILE_ATTRIBUTE_SPARSE_FILE', 'CERT_STORE_PROV_FILENAME_W', 'STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER', 'ERROR_SUBST_TO_SUBST', 'STATUS_FLOAT_INVALID_OPERATION', 'FILE_ATTRIBUTE_OFFLINE', 'STATUS_DS_NO_ATTRIBUTE_OR_VALUE', 'CERT_CHAIN_REVOCATION_CHECK_CHAIN', 'ERROR_CHECKING_FILE_SYSTEM', 'STATUS_REVOCATION_OFFLINE_C', 'ERROR_FLOAT_MULTIPLE_TRAPS', 'RPC_NT_NAME_SERVICE_UNAVAILABLE', 'STATUS_DS_GROUP_CONVERSION_ERROR', 'ERROR_PATH_NOT_FOUND', 'SE_PRIVILEGE_USED_FOR_ACCESS', 'STATUS_EAS_NOT_SUPPORTED', 'STD_OUTPUT_HANDLE', 'CERT_EXTENDED_ERROR_INFO_PROP_ID', 'COMPRESSION_ENGINE_HIBER', 'STATUS_FLT_DO_NOT_ATTACH', 'STATUS_WRONG_CREDENTIAL_HANDLE', 'ERROR_RANGE_NOT_FOUND', 'STATUS_TRANSACTION_REQUEST_NOT_VALID', 'STATUS_GRAPHICS_INCOMPATIBLE_PRIVATE_FORMAT', 'CRYPT_NO_SALT', 'ERROR_NOT_LOCKED', 'STATUS_LOG_FULL', 'STATUS_THREADPOOL_HANDLE_EXCEPTION', 'STATUS_TXF_DIR_NOT_EMPTY', 'STATUS_LOG_INCONSISTENT_SECURITY', 'LPC_EXCEPTION', 'PAGE_READONLY', 'AF_ATM', 'EXCEPTION_IN_PAGE_ERROR', 'STARTF_USEFILLATTRIBUTE', 'STATUS_CONNECTION_RESET', 'STARTF_USECOUNTCHARS', 'IMAGE_SCN_LNK_INFO', 'STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE', 'STATUS_DOMAIN_CTRLR_CONFIG_ERROR', 'FILE_OVERWRITTEN', 'FILE_SUPPORTS_HARD_LINKS', 'STATUS_DELETE_PENDING', 'STATUS_INVALID_SECURITY_DESCR', 'FILE_SUPPORTS_REMOTE_STORAGE', 'CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE', 'STATUS_LPC_REPLY_LOST', 'ERROR_CACHE_PAGE_LOCKED', 'STATUS_FLT_CONTEXT_ALREADY_LINKED', 'CERT_COMPARE_KEY_IDENTIFIER', 'STATUS_REDIRECTOR_HAS_OPEN_HANDLES', 'STATUS_FWP_PROVIDER_CONTEXT_NOT_FOUND', 'SERVICE_ERROR_NORMAL', 'SM_CYFULLSCREEN', 'STATUS_HMAC_NOT_SUPPORTED', 'STATUS_UNEXPECTED_MM_CREATE_ERR', 'HKEY_LOCAL_MACHINE', 'STATUS_VOLUME_DIRTY', 'STATUS_NO_PAGEFILE', 'RPC_NT_SS_CHAR_TRANS_OPEN_FAIL', 'STATUS_FLT_CONTEXT_ALREADY_DEFINED', 'STATUS_INSTRUCTION_MISALIGNMENT', 'STATUS_INVALID_ACCOUNT_NAME', 'ERROR_NOT_REGISTRY_FILE', 'STATUS_CANT_ENABLE_DENY_ONLY', 'ERROR_ILLEGAL_DLL_RELOCATION', 'MEM_PHYSICAL', 'szOID_DS', 'ERROR_NOT_JOINED', 'SM_CYSIZE', 'WTD_CHOICE_BLOB', 'STATUS_PRINT_CANCELLED', 'CRYPT_FORCE_KEY_PROTECTION_HIGH', 'CERT_COMPARE_MD5_HASH', 'SERVICE_CONTROL_PARAMCHANGE', 'STATUS_SXS_SETTING_NOT_REGISTERED', 'STATUS_ACPI_ASSERT_FAILED', 'STATUS_ALIAS_EXISTS', 'szOID_ECC_CURVE_P256', 'STATUS_FWP_INVALID_RANGE', 'STATUS_FORMS_AUTH_REQUIRED', 'STATUS_LOG_CONTAINER_WRITE_FAILED', 'MAXLEN_IFDESCR', 'CERT_COMPARE_EXISTING', 'RRF_RT_REG_BINARY', 'AF_DATAKIT', 'ERROR_DBG_COMMAND_EXCEPTION', 'STATUS_XML_ENCODING_MISMATCH', 'ALPC_VIEWFLG_NOT_SECURE', 'STATUS_FWP_CALLOUT_NOT_FOUND', 'RPC_NT_WRONG_STUB_VERSION', 'FILE_NO_COMPRESSION', 'SERVICE_ACCEPT_TRIGGEREVENT', 'ERROR_MARSHALL_OVERFLOW', 'SERVICE_STOPPED', 'SERVICE_QUERY_STATUS', 'CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE', 'STATUS_GRAPHICS_OPM_SIGNALING_NOT_SUPPORTED', 'ERROR_PROFILING_AT_LIMIT', 'STATUS_DRIVER_CANCEL_TIMEOUT', 'OBJ_PERMANENT', 'CERT_INFO_SUBJECT_FLAG', 'STATUS_MEMBER_IN_GROUP', 'STATUS_REPARSE_ATTRIBUTE_CONFLICT', 'STATUS_FWP_NULL_DISPLAY_NAME', 'STATUS_GRAPHICS_PINNED_MODE_MUST_REMAIN_IN_SET', 'ERROR_PROFILING_NOT_STARTED', 'STATUS_MONITOR_UNKNOWN_DESCRIPTOR_FORMAT', 'HKEY_PERFORMANCE_TEXT', 'TRUST_E_SUBJECT_NOT_TRUSTED', 'SM_CXFRAME', 'WTD_UI_NOGOOD', 'STATUS_NO_MORE_EAS', 'STATUS_GRAPHICS_NO_AVAILABLE_VIDPN_TARGET', 'ERROR_ALLOCATE_BUCKET', 'STATUS_GRAPHICS_INVALID_ALLOCATION_HANDLE', 'STATUS_DRIVER_DATABASE_ERROR', 'STATUS_MUI_INVALID_RC_CONFIG', 'STATUS_TRANSACTIONAL_OPEN_NOT_ALLOWED', 'STATUS_EOM_OVERFLOW', 'szOID_RSA_emailAddr', 'CERT_STORE_UNSAFE_PHYSICAL_FLAG', 'ERROR_SHARING_VIOLATION', 'RPC_NT_FP_UNDERFLOW', 'CONTEXT_DEBUG_REGISTERS', 'STATUS_GRAPHICS_UNKNOWN_CHILD_STATUS', 'STATUS_GRAPHICS_INVALID_PIXELVALUEACCESSMODE', 'CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK', 'ERROR_REQUEST_OUT_OF_SEQUENCE', 'ERROR_INVALID_PORT_ATTRIBUTES', 'STATUS_DS_BUSY', 'STATUS_UNEXPECTED_IO_ERROR', 'CMSG_ATTR_CERT_COUNT_PARAM', 'STATUS_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT', 'STATUS_GRAPHICS_INVALID_VIDPN_PRESENT_PATH', 'RPC_C_IMP_LEVEL_IDENTIFY', 'STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE', 'ERROR_PRINTQ_FULL', 'EVENTLOG_WARNING_TYPE', 'CERT_STORE_BACKUP_RESTORE_FLAG', 'STATUS_IMAGE_MACHINE_TYPE_MISMATCH', 'ERROR_PNP_INVALID_ID', 'ERROR_PROC_NOT_FOUND', 'ERROR_OUT_OF_PAPER', 'SM_CXVIRTUALSCREEN', 'ALPC_MSGFLG_REPLY_MESSAGE', 'STATUS_RANGE_NOT_LOCKED', 'ACCESS_DENIED_CALLBACK_ACE_TYPE', 'STATUS_DEVICE_PROTOCOL_ERROR', 'STATUS_MEMBER_NOT_IN_ALIAS', 'STATUS_IPSEC_DOSP_KEYMOD_NOT_ALLOWED', 'EXCEPTION_STACK_OVERFLOW', 'RPC_NT_UNKNOWN_IF', 'SM_STARTER', 'EVENTLOG_ERROR_TYPE', 'STATUS_DEVICE_DOES_NOT_EXIST', 'STATUS_CTX_LOGON_DISABLED', 'STATUS_GRAPHICS_INVALID_VIDPN_TARGET_SUBSET_TYPE', 'ERROR_EXTRANEOUS_INFORMATION', 'STATUS_DATA_LOST_REPAIR', 'STATUS_ACCESS_DISABLED_BY_POLICY_PATH', 'ERROR_RING2SEG_MUST_BE_MOVABLE', 'CERT_STORE_SHARE_STORE_FLAG', 'STATUS_SXS_INVALID_ACTCTXDATA_FORMAT', 'STATUS_INVALID_IMAGE_WIN_16', 'STATUS_MUI_FILE_NOT_LOADED', 'STATUS_FILE_NOT_AVAILABLE', 'RRF_RT_REG_EXPAND_SZ', 'STATUS_PNP_INVALID_ID', 'ERROR_PIPE_NOT_CONNECTED', 'ERROR_DBG_REPLY_LATER', 'SM_CXHSCROLL', 'STATUS_IMAGE_NOT_AT_BASE', 'STATUS_LOGIN_WKSTA_RESTRICTION', 'ACCESS_MIN_MS_OBJECT_ACE_TYPE', 'STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE', 'szOID_OIWDIR_md2RSA', 'ERROR_PNP_TRANSLATION_FAILED', 'SERVICE_CONTROL_SHUTDOWN', 'WARMING_NOT_SAME_FLAG_FOR_WINXP', 'FILE_VALID_SET_FLAGS', 'STATUS_HOST_DOWN', 'ERROR_PIPE_CONNECTED', 'STATUS_HASH_NOT_PRESENT', 'STATUS_DISK_RECALIBRATE_FAILED', 'szOID_INFOSEC_sdnsKMandSig', 'ERROR_PAGEFILE_CREATE_FAILED', 'STATUS_WORKING_SET_LIMIT_RANGE', 'IMAGE_SCN_TYPE_NO_PAD', 'FILE_RANDOM_ACCESS', 'STATUS_INDOUBT_TRANSACTIONS_EXIST', 'STATUS_OBJECTID_EXISTS', 'STATUS_CTX_BAD_VIDEO_MODE', 'ERROR_NOT_ENOUGH_MEMORY', 'STATUS_DEVICE_DOOR_OPEN', 'STATUS_FWP_RESERVED', 'SYSTEM_ALARM_OBJECT_ACE_TYPE', 'STATUS_FILE_CHECKED_OUT', 'STATUS_ACPI_INVALID_TABLE', 'IMAGE_SCN_MEM_LOCKED', 'CONTEXT_FLOATING_POINT', 'ERROR_KEY_HAS_CHILDREN', 'STATUS_REVOCATION_OFFLINE_KDC', 'CERT_CTL_USAGE_PROP_ID', 'STATUS_FLT_DELETING_OBJECT', 'ERROR_INSUFFICIENT_BUFFER', 'STATUS_COULD_NOT_INTERPRET', 'STATUS_DEVICE_ENUMERATION_ERROR', 'ERROR_INVALID_TARGET_HANDLE', 'ERROR_REDIR_PAUSED', 'STATUS_NO_SUCH_DEVICE', 'STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_SOURCE_MODE', 'STATUS_BAD_NETWORK_NAME', 'STATUS_PKINIT_FAILURE', 'STATUS_BUFFER_TOO_SMALL', 'API_SET_SCHEMA_VERSION_V4', 'API_SET_SCHEMA_VERSION_V2', 'API_SET_SCHEMA_VERSION_V3', 'SM_CXMINIMIZED', 'STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION', 'STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT', 'FILE_FLAG_NO_BUFFERING', 'DEBUG_EVENT_EXCEPTION', 'STATUS_PARTIAL_COPY', 'STATUS_GRAPHICS_PARTIAL_DATA_POPULATED', 'STATUS_TRUSTED_DOMAIN_FAILURE', 'STATUS_GRAPHICS_DDCCI_VCP_NOT_SUPPORTED', 'STATUS_SERIAL_NO_DEVICE_INITED', 'ERROR_COMMITMENT_MINIMUM', 'DBG_TERMINATE_THREAD', 'STATUS_XML_PARSE_ERROR', 'FILE_VALID_OPTION_FLAGS', 'ERROR_INVALID_STARTING_CODESEG', 'STATUS_CLUSTER_NODE_NOT_FOUND', 'STATUS_GRAPHICS_MONITORDESCRIPTOR_ID_MUST_BE_UNIQUE', 'STATUS_DLL_INIT_FAILED_LOGOFF', 'STATUS_NO_MORE_MATCHES', 'WAIT_IO_COMPLETION', 'STATUS_FLT_NOT_INITIALIZED', 'STATUS_FLT_NAME_CACHE_MISS', 'ERROR_INSTRUCTION_MISALIGNMENT', 'STATUS_VERIFY_REQUIRED', 'ERROR_INVALID_MODULETYPE', 'CRYPT_UPDATE_KEY', 'CERT_STORE_SET_LOCALIZED_NAME_FLAG', 'STATUS_GRAPHICS_WRONG_ALLOCATION_DEVICE', 'CERT_COMPARE_ANY', 'CRYPT_DATA_KEY', 'STATUS_MESSAGE_NOT_FOUND', 'SERVICE_STOP', 'RPC_NT_MAX_CALLS_TOO_SMALL', 'RPC_REQUEST_TYPE_CALL', 'STATUS_DOWNGRADE_DETECTED', 'ERROR_DLL_MIGHT_BE_INSECURE', 'STATUS_FLOPPY_WRONG_CYLINDER', 'STATUS_APC_RETURNED_WHILE_IMPERSONATING', 'STATUS_EFS_NOT_ALLOWED_IN_TRANSACTION', 'szOID_OIWSEC_dsaSHA1', 'DEBUG_EVENT_UNLOAD_MODULE', 'STATUS_CSS_REGION_MISMATCH', 'SERVICE_CONTROL_TIMECHANGE', 'STATUS_FWP_ACTION_INCOMPATIBLE_WITH_SUBLAYER', 'CERT_TRUST_INVALID_BASIC_CONSTRAINTS', 'PERSIST_E_NOTSELFSIZING', 'CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED', 'SERVICE_BOOT_START', 'STATUS_PROPSET_NOT_FOUND', 'STATUS_NDIS_INVALID_ADDRESS', 'STATUS_FAIL_FAST_EXCEPTION', 'STATUS_FLOAT_UNDERFLOW', 'ERROR_WX86_WARNING', 'WTD_STATEACTION_AUTO_CACHE', 'KEY_WOW64_64KEY', 'STATUS_CANNOT_IMPERSONATE', 'STATUS_BIZRULES_NOT_ENABLED', 'STATUS_LOG_METADATA_FLUSH_FAILED', 'IMAGE_SCN_CNT_UNINITIALIZED_DATA', 'STATUS_ACCOUNT_EXPIRED', 'STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE', 'WTD_STATEACTION_VERIFY', 'STATUS_HANDLE_NOT_CLOSABLE', 'STATUS_FWP_INCOMPATIBLE_LAYER', 'ERROR_PARTIAL_COPY', 'STATUS_FILEMARK_DETECTED', 'ERROR_PIPE_BUSY', 'STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED', 'SM_CMOUSEBUTTONS', 'ALPC_HANDLEFLG_DUPLICATE_SAME_ATTRIBUTES', 'CERT_FIND_SUBJECT_CERT', 'STATUS_BAD_FUNCTION_TABLE', 'PAGE_NOACCESS', 'STATUS_NOT_COMMITTED', 'CERT_COMPARE_ENHKEY_USAGE', 'STATUS_SXS_RELEASE_ACTIVATION_CONTEXT', 'KEY_SET_VALUE', 'STATUS_NO_TRUST_SAM_ACCOUNT', 'STATUS_PER_USER_TRUST_QUOTA_EXCEEDED', 'STATUS_FT_MISSING_MEMBER', 'STATUS_INVALID_LOGON_TYPE', 'STATUS_DEVICE_POWERED_OFF', 'STATUS_GRAPHICS_NO_AVAILABLE_IMPORTANCE_ORDINALS', 'ERROR_BAD_PIPE', 'szOID_OIWDIR_SIGN', 'FILE_READ_ATTRIBUTES', 'STATUS_GRAPHICS_INVALID_VIDEOPRESENTTARGETSET', 'PKCS_UTC_TIME', 'STATUS_IMAGE_MP_UP_MISMATCH', 'CREATE_SUSPENDED', 'IMAGE_FILE_NET_RUN_FROM_SWAP', 'STATUS_PORT_MESSAGE_TOO_LONG', 'CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID', 'X509_CHOICE_OF_TIME', 'STATUS_MONITOR_INVALID_SERIAL_NUMBER_MONDSC_BLOCK', 'API_SET_LOAD_SCHEMA_ORDINAL', 'IMAGE_FILE_MACHINE_I386', 'STATUS_INVALID_MEMBER', 'RPC_NT_UNKNOWN_AUTHN_TYPE', 'CERT_E_INVALID_NAME', 'STATUS_GRAPHICS_TARGET_ALREADY_IN_SET', 'ERROR_FATAL_APP_EXIT', 'STATUS_WAKE_SYSTEM', 'SC_MANAGER_ALL_ACCESS', 'SECURITY_MANDATORY_LOW_RID', 'MEM_LARGE_PAGES', 'RPC_NT_PIPE_EMPTY', 'STATUS_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION', 'ERROR_DEV_NOT_EXIST', 'MEM_WRITE_WATCH', 'STATUS_FILE_SYSTEM_LIMITATION', 'RPC_NT_PROCNUM_OUT_OF_RANGE', 'szOID_RSA_DES_EDE3_CBC', 'STATUS_MEMORY_NOT_ALLOCATED', 'LOAD_DLL_DEBUG_EVENT', 'PROFILE_SERVER', 'STATUS_VIDEO_DRIVER_DEBUG_REPORT_REQUEST', 'ERROR_ACCESS_DENIED', 'CERT_INFO_ISSUER_FLAG', 'ERROR_DRIVER_FAILED_SLEEP', 'DRIVE_REMOVABLE', 'CERT_SYSTEM_STORE_LOCATION_MASK', 'STATUS_NO_SPOOL_SPACE', 'STATUS_PNP_RESTART_ENUMERATION', 'STATUS_USER_SESSION_DELETED', 'CERT_QUERY_CONTENT_PFX', 'CERT_TRUST_HAS_EXACT_MATCH_ISSUER', 'STATUS_GRAPHICS_CLIENTVIDPN_NOT_SET', 'ERROR_SWAPERROR', 'EXCEPTION_MAXIMUM_PARAMETERS', 'STATUS_GRAPHICS_SOURCE_ID_MUST_BE_UNIQUE', 'STATUS_DOMAIN_CONTROLLER_NOT_FOUND', 'WTD_REVOKE_WHOLECHAIN', 'STATUS_LOG_GROWTH_FAILED', 'INFINITE', 'STATUS_LOG_RECORD_NONEXISTENT', 'STATUS_RXACT_INVALID_STATE', 'DBG_CONTROL_BREAK', 'STATUS_WAIT_FOR_OPLOCK', 'CRYPT_INITIATOR', 'STATUS_SYSTEM_IMAGE_BAD_SIGNATURE', 'STATUS_GRAPHICS_NO_VIDPNMGR', 'X509_ALTERNATE_NAME', 'MEM_FREE', 'EVENTLOG_AUDIT_FAILURE', 'STATUS_NDIS_BUFFER_TOO_SHORT', 'STATUS_LOG_SECTOR_REMAPPED', 'REG_DWORD', 'IMAGE_FILE_RELOCS_STRIPPED', 'STATUS_VIDEO_HUNG_DISPLAY_DRIVER_THREAD', 'STATUS_PASSWORD_RESTRICTION', 'ERROR_OPLOCK_BREAK_IN_PROGRESS', 'STATUS_TRANSACTION_ALREADY_COMMITTED', 'STATUS_BREAKPOINT', 'SM_CYSMCAPTION', 'STATUS_SERVER_SID_MISMATCH', 'RPC_NT_SERVER_TOO_BUSY', 'SM_SAMEDISPLAYFORMAT', 'STATUS_NDIS_PAUSED', 'STATUS_INVALID_IMAGE_NE_FORMAT', 'ERROR_ITERATED_DATA_EXCEEDS_64k', 'STATUS_GRAPHICS_INVALID_MONITOR_FREQUENCYRANGE', 'CERT_STORE_PROV_SMART_CARD', 'RPC_NT_UNKNOWN_AUTHZ_SERVICE', 'CMSG_INNER_CONTENT_TYPE_PARAM', 'ERROR_SEEK', 'EXCEPTION_ILLEGAL_INSTRUCTION', 'IMAGE_FILE_EXECUTABLE_IMAGE', 'FILE_ATTRIBUTE_VIRTUAL', 'szOID_RSA_SMIMEalg', 'FILE_WRITE_DATA', 'STATUS_STOPPED_ON_SYMLINK', 'szOID_INFOSEC_SuiteAKMandSig', 'CERT_FIND_CTL_USAGE', 'STATUS_INVALID_SERVER_STATE', 'STATUS_FWP_NEVER_MATCH', 'ERROR_IS_JOINED', 'STATUS_GRAPHICS_MONITOR_NOT_CONNECTED', 'CONTEXT_I386', 'STATUS_TRANSACTIONAL_CONFLICT', 'SC_MANAGER_CONNECT', 'PROCESS_VM_WRITE', 'ERROR_INVALID_HANDLE', 'SM_CXMAXIMIZED', 'ERROR_INVALID_FUNCTION', 'STATUS_INVALID_IMAGE_LE_FORMAT', 'STATUS_IPSEC_SA_LIFETIME_EXPIRED', 'STATUS_TRANSACTION_REQUIRED_PROMOTION', 'STATUS_USER_EXISTS', 'FILE_NOTIFY_CHANGE_ATTRIBUTES', 'STATUS_LOG_CONTAINER_STATE_INVALID', 'STATUS_FVE_BAD_DATA', 'STATUS_GRAPHICS_INVALID_ACTIVE_REGION', 'CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES', 'STATUS_OPLOCK_NOT_GRANTED', 'ERROR_LOG_HARD_ERROR', 'STATUS_RECEIVE_PARTIAL_EXPEDITED', 'IMAGE_FILE_MACHINE_POWERPCFP', 'PROCESS_CREATE_THREAD', 'STARTF_USEPOSITION', 'CERT_TRUST_IS_REVOKED', 'ERROR_MCA_EXCEPTION', 'COMPRESSION_FORMAT_LZNT1', 'REG_NONE', 'STATUS_GRAPHICS_NOT_EXCLUSIVE_MODE_OWNER', 'SM_CARETBLINKINGENABLED', 'STATUS_LOG_BLOCK_INVALID', 'SECTION_MAP_EXECUTE_EXPLICIT', 'SM_CYCURSOR', 'STATUS_DFS_UNAVAILABLE', 'SERVICE_ACCEPT_SHUTDOWN', 'SYSTEM_ALARM_ACE_TYPE', 'STATUS_SXS_MANIFEST_FORMAT_ERROR', 'CERT_DESCRIPTION_PROP_ID', 'STATUS_TRANSACTIONMANAGER_NOT_ONLINE', 'STATUS_FILE_ENCRYPTED', 'STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_DOES_NOT_HAVE_OPM_SEMANTICS', 'STATUS_INVALID_DEVICE_REQUEST', 'ERROR_BAD_REM_ADAP', 'STATUS_ACPI_INVALID_REGION', 'STATUS_DS_INVALID_ATTRIBUTE_SYNTAX', 'szOID_INFOSEC_SuiteATokenProtection', 'STATUS_INVALID_TOKEN', 'FILE_FLAG_RANDOM_ACCESS', 'STATUS_CALLBACK_RETURNED_LANG', 'RPC_NT_FP_DIV_ZERO', 'STATUS_REG_NAT_CONSUMPTION', 'STATUS_FWP_TIMEOUT', 'ERROR_NEGATIVE_SEEK', 'RPC_NT_NO_CONTEXT_AVAILABLE', 'ERROR_SECURITY_STREAM_IS_INCONSISTENT', 'STATUS_GRAPHICS_OPM_PROTECTED_OUTPUT_NO_LONGER_EXISTS', 'FILE_WRITE_EA', 'SM_CYEDGE', 'STATUS_UNABLE_TO_DELETE_SECTION', 'CERT_HASH_PROP_ID', 'ERROR_UNEXP_NET_ERR', 'EVENTLOG_SUCCESS', 'CERT_STORE_ADD_USE_EXISTING', 'RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH', 'CRYPT_DELETEKEYSET', 'IMAGE_FILE_LARGE_ADDRESS_AWARE', 'STATUS_GRAPHICS_PATH_ALREADY_IN_TOPOLOGY', 'STATUS_GRAPHICS_NO_DISPLAY_MODE_MANAGEMENT_SUPPORT', 'SERVICE_ACCEPT_NETBINDCHANGE', 'STATUS_GRAPHICS_OPM_SESSION_TYPE_CHANGE_IN_PROGRESS', 'STATUS_RDP_PROTOCOL_ERROR', 'OBJ_INHERIT', 'IMAGE_FILE_MACHINE_UNKNOWN', 'PKCS_CONTENT_INFO_SEQUENCE_OF_ANY', 'RPC_C_QOS_CAPABILITIES_ANY_AUTHORITY', 'CRYPT_SGCKEY', 'RPC_NT_NO_MORE_ENTRIES', 'PKCS12_NO_PERSIST_KEY', 'CERT_QUERY_FORMAT_FLAG_ALL', 'CRYPT_E_AUTH_ATTR_MISSING', 'STATUS_FVE_TPM_INVALID_PCR', 'STATUS_LOG_APPENDED_FLUSH_FAILED', 'CERT_QUERY_CONTENT_CTL', 'X509_ENUMERATED', 'STATUS_TOO_MANY_OPENED_FILES', 'IMAGE_SCN_MEM_WRITE', 'STATUS_SXS_MANIFEST_TOO_BIG', 'SM_CYFOCUSBORDER', 'STATUS_SXS_MULTIPLE_DEACTIVATION', 'STATUS_GRAPHICS_INVALID_MONITORDESCRIPTORSET', 'STATUS_CANNOT_LOAD_REGISTRY_FILE', 'CERT_NAME_SIMPLE_DISPLAY_TYPE', 'ERROR_STACK_OVERFLOW_READ', 'FILE_ATTRIBUTE_DIRECTORY', 'SERVICE_ALL_ACCESS', 'STATUS_NO_SUCH_GROUP', 'szOID_NIST_AES128_CBC', 'MAILSLOT_WAIT_FOREVER', 'STATUS_HIVE_UNLOADED', 'STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED', 'STATUS_NO_TXF_METADATA', 'STATUS_NOTIFY_ENUM_DIR', 'CERT_STORE_PROV_COLLECTION', 'CERT_SYSTEM_STORE_CURRENT_USER', 'STATUS_NO_SECURITY_ON_OBJECT', 'STATUS_SXS_WRONG_SECTION_TYPE', 'STATUS_ALL_SIDS_FILTERED', 'ACCESS_MAX_MS_OBJECT_ACE_TYPE', 'szOID_OIWDIR_md2', 'STATUS_REMOTE_FILE_VERSION_MISMATCH', 'STATUS_GENERIC_NOT_MAPPED', 'RPC_C_AUTHN_LEVEL_CONNECT', 'STATUS_FLOPPY_VOLUME', 'STATUS_FVE_CONV_READ_ERROR', 'ERROR_REGISTRY_IO_FAILED', 'CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE', 'PROFILE_USER', 'AF_LAT', 'ERROR_INVALID_DATA', 'AT_SIGNATURE', 'RPC_NT_CANT_CREATE_ENDPOINT', 'PAGE_WRITECOMBINE', 'CERT_AUTHORITY_INFO_ACCESS_PROP_ID', 'STATUS_CLUSTER_NODE_EXISTS', 'STATUS_DS_OID_NOT_FOUND', 'STATUS_FVE_NOT_ENCRYPTED', 'szOID_OIWSEC_rsaSign', 'STATUS_SERVER_DISABLED', 'STATUS_FVE_FAILED_SECTOR_SIZE', 'STATUS_SXS_TRANSACTION_CLOSURE_INCOMPLETE', 'ERROR_IS_SUBSTED', 'SYSTEM_AUDIT_OBJECT_ACE_TYPE', 'CERT_E_CHAINING', 'FILE_SYNCHRONOUS_IO_ALERT', 'STATUS_INSUFFICIENT_RESOURCES', 'STATUS_GRAPHICS_OPM_HDCP_SRM_NEVER_SET', 'STATUS_GRAPHICS_ADAPTER_WAS_RESET', 'STATUS_DIRECTORY_SERVICE_REQUIRED', 'STATUS_RETRY', 'CMSG_ATTR_CERT_PARAM', 'ALPC_MSGFLG_LPC_MODE', 'STATUS_FWP_TOO_MANY_SUBLAYERS', 'REG_DWORD_BIG_ENDIAN', 'STATUS_GRAPHICS_INVALID_VIDEOPRESENTSOURCESET', 'ERROR_CANT_WAIT', 'SERVICE_ACCEPT_POWEREVENT', 'STATUS_DS_ADMIN_LIMIT_EXCEEDED', 'SW_SHOW', 'STATUS_GRAPHICS_PARAMETER_ARRAY_TOO_SMALL', 'STATUS_MEDIA_CHECK', 'STATUS_FWP_LAYER_NOT_FOUND', 'FILE_OPEN_FOR_BACKUP_INTENT', 'ERROR_MOD_NOT_FOUND', 'STATUS_GRAPHICS_TOO_MANY_REFERENCES', 'STATUS_TOKEN_ALREADY_IN_USE', 'ERROR_NOT_READY', 'STATUS_ACPI_HANDLER_COLLISION', 'STATUS_MISSING_SYSTEMFILE', 'STATUS_TRANSACTION_NOT_ROOT', 'STATUS_CANT_CROSS_RM_BOUNDARY', 'SECURITY_MANDATORY_MEDIUM_PLUS_RID', 'STATUS_GENERIC_COMMAND_FAILED', 'STATUS_GRAPHICS_INVALID_VIDPN_TARGETMODESET', 'ERROR_DBG_TERMINATE_PROCESS', 'STATUS_BAD_MCFG_TABLE', 'STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER', 'SM_CYFIXEDFRAME', 'STATUS_PNP_BAD_MPS_TABLE', 'CERT_COMPARE_KEY_SPEC', 'STATUS_NDIS_FILE_NOT_FOUND', 'STATUS_ACPI_INVALID_ACCESS_SIZE', 'SM_NETWORK', 'EXCEPTION_CONTINUE_EXECUTION', 'ERROR_FLOAT_MULTIPLE_FAULTS', 'STATUS_ACPI_REG_HANDLER_FAILED', 'ERROR_PWD_TOO_SHORT', 'TOKEN_ALL_ACCESS_P', 'STARTF_FORCEONFEEDBACK', 'ERROR_TOO_MANY_TCBS', 'HKEY_PERFORMANCE_NLSTEXT', 'STATUS_CANT_TERMINATE_SELF', 'STATUS_GRAPHICS_OPM_PARAMETER_ARRAY_TOO_SMALL', 'STATUS_LM_CROSS_ENCRYPTION_REQUIRED', 'STATUS_TRANSACTION_INTEGRITY_VIOLATED', 'STATUS_FVE_ACTION_NOT_ALLOWED', 'STATUS_INFO_LENGTH_MISMATCH', 'IMAGE_SCN_MEM_PURGEABLE', 'STATUS_GRAPHICS_ADAPTER_CHAIN_NOT_READY', 'RPC_NT_NO_MORE_MEMBERS', 'STATUS_SUCCESS', 'STATUS_MONITOR_INVALID_DETAILED_TIMING_BLOCK', 'CERT_STORE_ADD_NEWER', 'STATUS_CTX_CDM_DISCONNECT', 'ERROR_BADKEY', 'ALPC_CANCELFLG_TRY_CANCEL', 'STATUS_LOG_RECORDS_RESERVED_INVALID', 'STATUS_GRAPHICS_INVALID_PRIMARYSURFACE_SIZE', 'STATUS_STACK_OVERFLOW_READ', 'CRYPT_EXPORTABLE', 'STATUS_CACHE_PAGE_LOCKED', 'STATUS_REGISTRY_QUOTA_LIMIT', 'STATUS_FVE_VOLUME_TOO_SMALL', 'RIP_EVENT', 'ERROR_CHECKOUT_REQUIRED', 'AF_IMPLINK', 'ERROR_NO_DATA', 'STATUS_NDIS_DEVICE_FAILED', 'CERT_QUERY_FORMAT_FLAG_BINARY', 'CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED', 'RPC_NT_CALL_FAILED_DNE', 'ERROR_DYNLINK_FROM_INVALID_RING', 'PROV_RNG', 'CREATE_NO_WINDOW', 'STATUS_TOO_MANY_COMMANDS', 'CERT_TRUST_IS_PARTIAL_CHAIN', 'PROV_RSA_SCHANNEL', 'STATUS_TOO_MANY_ADDRESSES', 'CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG', 'CERT_TRUST_IS_NOT_VALID_FOR_USAGE', 'STATUS_TIMER_NOT_CANCELED', 'AF_CCITT', 'SERVICE_CONTROL_HARDWAREPROFILECHANGE', 'TOKEN_QUERY_SOURCE', 'FILE_MAP_WRITE', 'STATUS_DEVICE_NOT_PARTITIONED', 'STATUS_MESSAGE_RETRIEVED', 'X509_CERT_POLICIES', 'STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED', 'STATUS_DRIVERS_LEAKING_LOCKED_PAGES', 'SM_SHUTTINGDOWN', 'szOID_OIWSEC_sha', 'STATUS_GRAPHICS_SESSION_TYPE_CHANGE_IN_PROGRESS', 'CERT_SYSTEM_STORE_UNPROTECTED_FLAG', 'OUTPUT_DEBUG_STRING_EVENT', 'STATUS_OPLOCK_BREAK_IN_PROGRESS', 'STATUS_ACPI_MUTEX_NOT_OWNED', 'STATUS_TRANSACTION_NOT_ACTIVE', 'CERT_NAME_DNS_TYPE', 'ERROR_MORE_DATA', 'STATUS_SMARTCARD_NO_CERTIFICATE', 'STATUS_CTX_CDM_CONNECT', 'PKCS_TIME_REQUEST', 'ERROR_ABANDONED_WAIT_0', 'STATUS_REGISTRY_RECOVERED', 'ERROR_WAS_UNLOCKED', 'STATUS_NDIS_BAD_CHARACTERISTICS', 'ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED', 'ACCESS_ALLOWED_ACE_TYPE', 'STATUS_CSS_AUTHENTICATION_FAILURE', 'FILE_OPEN', 'STANDARD_RIGHTS_READ', 'STATUS_FWP_SESSION_ABORTED', 'STATUS_PAGE_FAULT_TRANSITION', 'STATUS_BAD_DLL_ENTRYPOINT', 'STATUS_NDIS_REQUEST_ABORTED', 'CERT_SIGNATURE_HASH_PROP_ID', 'CONTEXT_XSTATE', 'SECTION_ALL_ACCESS', 'ERROR_INVALID_EA_NAME', 'CERT_PUBKEY_HASH_RESERVED_PROP_ID', 'CERT_INFO_NOT_AFTER_FLAG', 'REG_BINARY', 'SEC_RESERVE', 'CERT_STORE_PROV_FILENAME', 'MEM_DECOMMIT', 'STATUS_SYSTEM_PROCESS_TERMINATED', 'STATUS_PASSWORD_MUST_CHANGE', 'DEBUG_EVENT_BREAKPOINT', 'STATUS_CONNECTION_ACTIVE', 'IMAGE_SCN_MEM_NOT_CACHED', 'ERROR_TIMER_RESOLUTION_NOT_SET', 'STATUS_SEMAPHORE_LIMIT_EXCEEDED', 'STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED', 'szOID_INFOSEC_mosaicTokenProtection', 'STATUS_SHARED_POLICY', 'STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND', 'RPC_NT_CALL_FAILED', 'SM_SWAPBUTTON', 'SM_DEBUG', 'STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION', 'STATUS_NDIS_INVALID_PORT_STATE', 'CERT_TRUST_IS_CYCLIC', 'STATUS_NDIS_INDICATION_REQUIRED', 'STATUS_CLUSTER_NODE_UP', 'CERT_KEY_IDENTIFIER_PROP_ID', 'STATUS_INVALID_ADDRESS', 'OBJ_VALID_ATTRIBUTES', 'STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT', 'ERROR_DS_VERSION_CHECK_FAILURE', 'STATUS_NO_QUOTAS_FOR_ACCOUNT', 'SM_CYICONSPACING', 'RPC_NT_CANNOT_SUPPORT', 'STATUS_SPECIAL_GROUP', 'ERROR_INVALID_DEVICE_OBJECT_PARAMETER', 'CERT_FIND_CERT_ID', 'STATUS_LOG_CONTAINER_LIMIT_EXCEEDED', 'SM_CYICON', 'STATUS_ACCESS_DENIED', 'STATUS_ACCOUNT_DISABLED', 'STATUS_NO_SECRETS', 'STATUS_CONNECTION_INVALID', 'STATUS_PAGE_FAULT_DEMAND_ZERO', 'TOKEN_IMPERSONATE', 'ERROR_ALREADY_EXISTS', 'TOKEN_ASSIGN_PRIMARY', 'RPC_NT_STRING_TOO_LONG', 'STATUS_GRAPHICS_DATASET_IS_EMPTY', 'FILE_UNICODE_ON_DISK', 'STATUS_IPSEC_THROTTLE_DROP', 'CERT_STORE_READONLY_FLAG', 'RPC_C_AUTHN_LEVEL_PKT_PRIVACY', 'CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED', 'szOID_OIWSEC_dsaComm', 'RPC_NT_NO_CALL_ACTIVE', 'STATUS_CTX_MODEM_RESPONSE_VOICE', 'REALTIME_PRIORITY_CLASS', 'ACCESS_MAX_MS_ACE_TYPE', 'SM_CXSIZEFRAME', 'ERROR_MUTANT_LIMIT_EXCEEDED', 'STATUS_FWP_INVALID_FLAGS', 'STATUS_FLT_POST_OPERATION_CLEANUP', 'STATUS_IMAGE_CERT_REVOKED', 'DEBUG_EVENT_CREATE_THREAD', 'ERROR_BAD_NET_RESP', 'CERT_PVK_FILE_PROP_ID', 'STATUS_REDIRECTOR_PAUSED', 'STATUS_LOG_DEDICATED', 'ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY', 'STATUS_SXS_FILE_HASH_MISSING', 'ERROR_RXACT_COMMITTED', 'STATUS_DIRECTORY_IS_A_REPARSE_POINT', 'RPC_NT_NULL_REF_POINTER', 'DBG_UNABLE_TO_PROVIDE_HANDLE', 'RPC_NT_PIPE_DISCIPLINE_ERROR', 'ERROR_ARBITRATION_UNHANDLED', 'STATUS_GRAPHICS_DRIVER_MISMATCH', 'STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN_TOPOLOGY', 'SM_CXMINSPACING', 'ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME', 'CERT_QUERY_CONTENT_FLAG_CERT', 'RPC_NT_UNKNOWN_AUTHN_SERVICE', 'TRUNCATE_EXISTING', 'STATUS_INVALID_PARAMETER_5', 'SM_CXHTHUMB', 'STATUS_INVALID_PARAMETER_7', 'STATUS_INVALID_PARAMETER_6', 'STATUS_INVALID_PARAMETER_1', 'RPC_NT_UNSUPPORTED_TRANS_SYN', 'STATUS_INVALID_PARAMETER_3', 'CERT_COMPARE_PUBLIC_KEY', 'STATUS_FWP_ZERO_LENGTH_ARRAY', 'BIND_IF_SYNTAX_UNKNOWN', 'AF_ECMA', 'ERROR_SYSTEM_TRACE', 'STATUS_CONTEXT_MISMATCH', 'DIRECTORY_CREATE_OBJECT', 'STATUS_TXF_ATTRIBUTE_CORRUPT', 'CERT_STORE_CREATE_NEW_FLAG', 'IMAGE_FILE_MACHINE_IA64', 'SW_FORCEMINIMIZE', 'ERROR_VDM_HARD_ERROR', 'STATUS_UNFINISHED_CONTEXT_DELETED', 'ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED', 'CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG', 'ERROR_NOTHING_TO_TERMINATE', 'STATUS_WMI_GUID_DISCONNECTED', 'szOID_OIWSEC_md5RSASign', 'STATUS_LPC_INVALID_CONNECTION_USAGE', 'INVALID_HANDLE_VALUE', 'STATUS_UNRECOGNIZED_VOLUME', 'CERT_FIND_SHA1_HASH', 'STATUS_CTX_SHADOW_DISABLED', 'WTD_STATEACTION_AUTO_CACHE_FLUSH', 'STATUS_GRAPHICS_INCONSISTENT_DEVICE_LINK_STATE', 'STATUS_LOG_READ_CONTEXT_INVALID', 'STATUS_TRANSLATION_COMPLETE', 'STATUS_GROUP_EXISTS', 'IMAGE_SCN_ALIGN_4BYTES', 'STATUS_GUIDS_EXHAUSTED', 'szOID_OIWSEC_desOFB', 'STATUS_FVE_LOCKED_VOLUME', 'CERT_NEXT_UPDATE_LOCATION_PROP_ID', 'X509_BITS', 'STATUS_RESOURCE_NOT_OWNED', 'CERT_STORE_PROV_SERIALIZED', 'szOID_RSA_RSA', 'szOID_X957_DSA', 'ERROR_CANNOT_LOAD_REGISTRY_FILE', 'STATUS_SHARING_PAUSED', 'STATUS_CTX_INVALID_WD', 'STATUS_INVALID_USER_PRINCIPAL_NAME', 'STATUS_ABANDONED_WAIT_63', 'ERROR_INVALID_LDT_OFFSET', 'FILE_ATTRIBUTE_TEMPORARY', 'ERROR_MP_PROCESSOR_MISMATCH', 'ERROR_BAD_DEV_TYPE', 'FILE_GENERIC_WRITE', 'STATUS_CTX_PD_NOT_FOUND', 'STATUS_PTE_CHANGED', 'STATUS_WX86_UNSIMULATE', 'CERT_STORE_PROV_LDAP_W', 'STATUS_NO_SECURITY_CONTEXT', 'szOID_NIST_AES256_CBC', 'STATUS_INVALID_THREAD', 'STATUS_USER_APC', 'CMSG_ENCODED_SIGNER', 'STATUS_MEDIA_WRITE_PROTECTED', 'STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY', 'CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM', 'ERROR_EA_FILE_CORRUPT', 'STATUS_GRAPHICS_VIDPN_TOPOLOGY_CURRENTLY_NOT_SUPPORTED', 'STATUS_SECRET_TOO_LONG', 'STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING', 'HKEY_CURRENT_USER', 'CERT_FIND_SUBJECT_STR_W', 'THREAD_SET_CONTEXT', 'ERROR_UNEXPECTED_MM_CREATE_ERR', 'PROCESS_MODE_BACKGROUND_END', 'SERVICE_QUERY_CONFIG', 'CERT_FIND_SUBJECT_STR_A', 'ERROR_REPARSE_OBJECT', 'OBJ_EXCLUSIVE', 'ERROR_DISK_TOO_FRAGMENTED', 'WOW64_MAXIMUM_SUPPORTED_EXTENSION', 'SERVICE_ACCEPT_PRESHUTDOWN', 'STATUS_RECURSIVE_DISPATCH', 'STATUS_INVALID_NETWORK_RESPONSE', 'FILE_ATTRIBUTE_NORMAL', 'TH32CS_SNAPMODULE', 'STATUS_DISK_FULL', 'FILE_NOTIFY_CHANGE_SIZE', 'RPC_NT_UNSUPPORTED_NAME_SYNTAX', 'CMSG_CRL_PARAM', 'SYNCHRONIZE', 'CERT_COMPARE_PROPERTY', 'TOKEN_ADJUST_DEFAULT', 'STATUS_GRAPHICS_MAX_NUM_PATHS_REACHED', 'STATUS_MUTUAL_AUTHENTICATION_FAILED', 'STATUS_SPECIAL_ACCOUNT', 'SC_MANAGER_LOCK', 'SM_CYMENUCHECK', 'ERROR_CANTSCROLLBACKWARDS', 'STATUS_CTX_WINSTATION_NOT_FOUND', 'WRITE_WATCH_FLAG_RESET', 'STATUS_REMOTE_STORAGE_NOT_ACTIVE', 'STATUS_PLUGPLAY_NO_DEVICE', 'STATUS_ILLEGAL_ELEMENT_ADDRESS', 'SERVICE_INTERACTIVE_PROCESS', 'SERVICE_CONTROL_INTERROGATE', 'STATUS_INVALID_INFO_CLASS', 'STATUS_UNMAPPABLE_CHARACTER', 'RPC_NT_BINDING_HAS_NO_AUTH', 'ERROR_NO_LOG_SPACE', 'STATUS_DS_CANT_ON_RDN', 'STATUS_NETWORK_CREDENTIAL_CONFLICT', 'STATUS_LOG_RESTART_INVALID', 'ALPC_MSGFLG_WAIT_ALERTABLE', 'STATUS_FWP_INVALID_INTERVAL', 'STATUS_CTX_MODEM_RESPONSE_NO_CARRIER', 'STATUS_DEVICE_BUSY', 'ERROR_PAGE_FAULT_GUARD_PAGE', 'ALPC_CANCELFLG_NO_CONTEXT_CHECK', 'SERVICE_INACTIVE', 'STATUS_ND_QUEUE_OVERFLOW', 'STATUS_TOO_MANY_LINKS', 'STATUS_LOG_CLIENT_ALREADY_REGISTERED', 'STATUS_ILLEGAL_FLOAT_CONTEXT', 'ERROR_CANNOT_COPY', 'STATUS_NO_USER_KEYS', 'COMPRESSION_FORMAT_XPRESS', 'STATUS_TRANSACTION_INVALID_ID', 'ERROR_DLL_MIGHT_BE_INCOMPATIBLE', 'STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER', 'CERT_E_ISSUERCHAINING', 'STATUS_RESOURCE_TYPE_NOT_FOUND', 'STATUS_WX86_EXCEPTION_CONTINUE', 'STATUS_STRONG_CRYPTO_NOT_SUPPORTED', 'STATUS_BAD_CURRENT_DIRECTORY', 'STATUS_GRAPHICS_OPM_INVALID_SRM', 'STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY_RECOMMENDATION_REASON', 'STATUS_GRAPHICS_MONITOR_COULD_NOT_BE_ASSOCIATED_WITH_ADAPTER', 'STATUS_BACKUP_CONTROLLER', 'STATUS_FREE_VM_NOT_AT_BASE', 'SM_SHOWSOUNDS', 'STATUS_FWP_INCOMPATIBLE_TXN', 'szOID_RSA_PSPECIFIED', 'ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE', 'STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED', 'STATUS_STACK_BUFFER_OVERRUN', 'STATUS_JOURNAL_NOT_ACTIVE', 'ERROR_MR_MID_NOT_FOUND', 'ERROR_SUCCESS', 'ERROR_CANNOT_GRANT_REQUESTED_OPLOCK', 'SM_CYMENU', 'FILE_CASE_PRESERVED_NAMES', 'STATUS_BAD_IMPERSONATION_LEVEL', 'STATUS_LOG_SPACE_RESERVED_INVALID', 'STATUS_PORT_CLOSED', 'STATUS_UNKNOWN_REVISION', 'STATUS_SAM_INIT_FAILURE', 'szOID_RSA_hashedData', 'STATUS_INVALID_IDN_NORMALIZATION', 'ERROR_ALERTED', 'RPC_NT_NO_ENDPOINT_FOUND', 'STATUS_HARDWARE_MEMORY_ERROR', 'STATUS_TS_INCOMPATIBLE_SESSIONS', 'STATUS_NO_YIELD_PERFORMED', 'STATUS_DEVICE_REMOVED', 'ERROR_INVALID_NAME', 'STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED', 'STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_CGMSA', 'RPC_NT_INVALID_AUTH_IDENTITY', 'szOID_INFOSEC_sdnsKeyManagement', 'STATUS_FWP_INJECT_HANDLE_CLOSING', 'STATUS_FWP_INCOMPATIBLE_DH_GROUP', 'X509_UNICODE_NAME_VALUE', 'PERSIST_E_SIZEINDEFINITE', 'STATUS_NO_MEMORY', 'X509_UNICODE_NAME', 'ERROR_WRONG_DISK', 'STATUS_FVE_RAW_BLOCKED', 'STATUS_ENCOUNTERED_WRITE_IN_PROGRESS', 'STATUS_DS_GC_NOT_AVAILABLE', 'RPC_NT_NOT_LISTENING', 'SM_MEDIACENTER', 'ERROR_BAD_DLL_ENTRYPOINT', 'ERROR_WAIT_NO_CHILDREN', 'CERT_NAME_ISSUER_FLAG', 'PROCESS_QUERY_INFORMATION', 'szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF', 'STATUS_ADDRESS_CLOSED', 'FILE_ALL_ACCESS', 'STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT', 'CRYPT_RECIPIENT', 'IMAGE_FILE_MACHINE_THUMB', 'STATUS_FVE_FAILED_WRONG_FS', 'ERROR_COULD_NOT_INTERPRET', 'ERROR_ARITHMETIC_OVERFLOW', 'STATUS_PROCEDURE_NOT_FOUND', 'X509_KEY_ATTRIBUTES', 'STATUS_FILE_LOCKED_WITH_ONLY_READERS', 'STATUS_FULLSCREEN_MODE', 'X509_ASN_ENCODING', 'ERROR_UNDEFINED_CHARACTER', 'CERT_FIND_ENHKEY_USAGE', 'STATUS_FILE_DELETED', 'ERROR_SEM_OWNER_DIED', 'szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF', 'CERT_QUERY_CONTENT_SERIALIZED_CERT', 'szOID_RSA_SETOAEP_RSA', 'ERROR_NOT_DOS_DISK', 'szOID_NIST_AES128_WRAP', 'CERT_STORE_PROV_SYSTEM_REGISTRY_W', 'SM_CXFIXEDFRAME', 'CRYPT_MACHINE_KEYSET', 'STATUS_GRAPHICS_I2C_ERROR_RECEIVING_DATA', 'CERT_FIND_SUBJECT_STR', 'STATUS_CANT_BREAK_TRANSACTIONAL_DEPENDENCY', 'WOW64_SIZE_OF_80387_REGISTERS', 'RRF_RT_REG_MULTI_SZ', 'CERT_STORE_PROV_SMART_CARD_W', 'HKEY_PERFORMANCE_DATA', 'IMAGE_FILE_MACHINE_POWERPC', 'STATUS_WX86_EXCEPTION_LASTCHANCE', 'STATUS_NDIS_INVALID_DEVICE_REQUEST', 'STATUS_GRAPHICS_PRESENT_UNOCCLUDED', 'ERROR_NOTIFICATION_GUID_ALREADY_DEFINED', 'szOID_ANSI_X942_DH', 'SERVICE_CONTROL_NETBINDDISABLE', 'API_SET_RELEASE_SCHEMA_ORDINAL', 'STATUS_NO_EAS_ON_FILE', 'THREAD_SET_INFORMATION', 'STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT', 'STATUS_FWP_TRAFFIC_MISMATCH', 'STATUS_TOO_MANY_PRINCIPALS', 'CERT_CROSS_CERT_DIST_POINTS_PROP_ID', 'PROV_EC_ECDSA_SIG', 'STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED', 'FILE_COMPLETE_IF_OPLOCKED', 'CERT_SYSTEM_STORE_SERVICES_ID', 'ERROR_DISK_REPAIR_DISABLED', 'CERT_STORE_MANIFOLD_FLAG', 'STATUS_BAD_FILE_TYPE', 'STATUS_LOG_CANT_DELETE', 'STATUS_SHARING_VIOLATION', 'STATUS_SETMARK_DETECTED', 'CERT_QUERY_CONTENT_FLAG_CTL', 'STATUS_GRAPHICS_INVALID_VIDEO_PRESENT_TARGET_MODE', 'STD_ERROR_HANDLE', 'PROV_EC_ECNRA_SIG', 'STATUS_PWD_TOO_RECENT', 'PROCESS_SUSPEND_RESUME', 'EVENTLOG_BACKWARDS_READ', 'szOID_RSA_SMIMEalgESDH', 'STATUS_DFS_EXIT_PATH_FOUND', 'STATUS_OBJECT_NO_LONGER_EXISTS', 'STATUS_NETWORK_NAME_DELETED', 'STATUS_GRAPHICS_LEADLINK_START_DEFERRED', 'STATUS_NETWORK_BUSY', 'IMAGE_FILE_MACHINE_ALPHA', 'STATUS_DLL_NOT_FOUND', 'STATUS_INVALID_UNWIND_TARGET', 'STATUS_GRAPHICS_INTERNAL_ERROR', 'STATUS_WMI_SET_FAILURE', 'STATUS_REVISION_MISMATCH', 'RPC_NT_INVALID_TIMEOUT', 'STATUS_INVALID_ADDRESS_COMPONENT', 'STATUS_GRAPHICS_PRESENT_MODE_CHANGED', 'STATUS_GRAPHICS_INVALID_ALLOCATION_INSTANCE', 'CERT_QUERY_CONTENT_CERT', 'NULL', 'STATUS_ACPI_INVALID_EVENTTYPE', 'FILE_CREATED', 'ERROR_KERNEL_APC', 'SERVICE_SYSTEM_START', 'STATUS_DEVICE_REQUIRES_CLEANING', 'ERROR_VIRUS_INFECTED', 'IMAGE_FILE_MACHINE_AXP64', 'CERT_FIND_KEY_SPEC', 'STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY', 'STATUS_PKINIT_CLIENT_FAILURE', 'IMAGE_SCN_ALIGN_2048BYTES', 'ERROR_IS_JOIN_PATH', 'STATUS_CLUSTER_NODE_NOT_PAUSED', 'SERVICE_WIN32_SHARE_PROCESS', 'STATUS_VOLMGR_RAID5_NOT_SUPPORTED', 'STATUS_GRAPHICS_OPM_OUTPUT_DOES_NOT_SUPPORT_ACP', 'ERROR_SEEK_ON_DEVICE', 'CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG', 'STATUS_NOT_CLIENT_SESSION', 'STATUS_MONITOR_WMI_DATABLOCK_REGISTRATION_FAILED', 'STATUS_CLUSTER_NETWORK_ALREADY_ONLINE', 'RRF_NOEXPAND', 'STATUS_NDIS_RESOURCE_CONFLICT', 'CERT_ACCESS_STATE_PROP_ID', 'IMAGE_FILE_MACHINE_SH4', 'IMAGE_FILE_MACHINE_SH5', 'IMAGE_FILE_MACHINE_SH3', 'ERROR_PROCESS_MODE_NOT_BACKGROUND', 'ERROR_CANTWRITE', 'SECURITY_MANDATORY_MEDIUM_RID', 'CRYPT_ACQUIRE_CACHE_FLAG', 'CRYPT_PREGEN', 'ERROR_HANDLES_CLOSED', 'STATUS_FWP_PROVIDER_CONTEXT_MISMATCH', 'STATUS_DS_CANT_MOD_PRIMARYGROUPID', 'CERT_STORE_ADD_NEW', 'ERROR_RECEIVE_PARTIAL_EXPEDITED', 'SW_SHOWMINNOACTIVE', 'TH32CS_SNAPMODULE32', 'STATUS_NULL_LM_PASSWORD', 'STATUS_FVE_RAW_ACCESS', 'RPC_S_PROCNUM_OUT_OF_RANGE', 'CREATE_PROTECTED_PROCESS', 'ERROR_NO_MORE_ITEMS', 'RPC_NT_WRONG_KIND_OF_BINDING', 'STATUS_UNABLE_TO_FREE_VM', 'STATUS_FVE_CONV_RECOVERY_FAILED', 'ERROR_FOUND_OUT_OF_SCOPE']) +structs = set(['PFILE_ALIGNMENT_INFORMATION', 'PCRYPT_ATTRIBUTE_TYPE_VALUE', '_DEBUG_STACK_FRAME', 'CERT_INFO', 'PCRYPT_ATTRIBUTES', 'MIB_UDPTABLE_OWNER_PID', '_FILE_FS_LABEL_INFORMATION', 'CRYPT_KEY_PROV_PARAM', 'PORT_MESSAGE_TMP_UNION', 'DEBUG_PROCESSOR_IDENTIFICATION_IA64', 'LPUNLOAD_DLL_DEBUG_INFO', '_FILE_FS_VOLUME_INFORMATION', 'PACCESS_DENIED_CALLBACK_ACE', 'LPEXCEPTION_DEBUG_INFO', '__tagVARIANT', 'PCERT_INFO', '_CERT_TRUST_LIST_INFO', 'API_SET_VALUE_ARRAY_V4', '_ALPC_MESSAGE_ATTRIBUTES', 'PALPC_PORT_ATTRIBUTES64', '_MIB_IFTABLE', 'CURDIR', 'NPRGBTRIPLE', 'LPRIP_INFO', '__PUBLIC_OBJECT_TYPE_INFORMATION', 'FILE_FS_VOLUME_INFORMATION', 'IP_ADAPTER_INDEX_MAP', 'PANSI_STRING', 'PRTL_UNLOAD_EVENT_TRACE64', 'PALPC_TOKEN_ATTR', '_ALPC_PORT_ATTRIBUTES64', '_PSAPI_WORKING_SET_EX_BLOCK32', 'CRYPT_UINT_BLOB', 'PRTL_RELATIVE_NAME_U', '_RIP_INFO', 'LOAD_DLL_DEBUG_INFO', '_SYSTEMTIME', 'PCERT_RDN_VALUE_BLOB', 'PPSAPI_WORKING_SET_EX_INFORMATION', '_FILE_IO_PRIORITY_HINT_INFORMATION', 'SERVICE_STATUS', 'API_SET_NAMESPACE_ARRAY_V4', 'API_SET_NAMESPACE_ARRAY_V2', 'PDEBUG_REGISTER_DESCRIPTION', 'GUID', 'PDEBUG_MODULE_AND_ID', 'SYSTEM_HANDLE_INFORMATION', 'PUNICODE_STRING', 'PBITMAPCOREINFO', 'CRL_CONTEXT', 'SERVICE_STATUS_PROCESS', 'WINTRUST_FILE_INFO_', 'PIMAGE_OPTIONAL_HEADER32', 'PBITMAP', '_CMSG_SIGNER_INFO', '_IP_INTERFACE_INFO', 'SYSTEM_MANDATORY_LABEL_ACE', 'PSPC_SP_OPUS_INFO', 'ALPC_DIRECT_ATTR64', '_IMAGE_OPTIONAL_HEADER', 'XSAVE_FORMAT_32', 'LPCONTEXT64', '_LOAD_DLL_DEBUG_INFO', 'PFILE_ALL_INFORMATION', 'PALPC_CONTEXT_ATTR', 'PDEBUG_PROCESSOR_IDENTIFICATION_ALL', 'FILE_EA_INFORMATION', 'LPJIT_DEBUG_INFO', 'PXSAVE_FORMAT_32', '_MIB_TCP6ROW_OWNER_PID', 'ALPC_CONTEXT_ATTR64', '_FILE_NAME_INFORMATION', '_CRYPT_KEY_PROV_PARAM', 'PACE_HEADER', '_ALPC_CONTEXT_ATTR', 'WINTRUST_CATALOG_INFO_', '_DEBUG_OFFSET_REGION', 'PROCESS_BASIC_INFORMATION', 'CTL_INFO', '_FILE_ALL_INFORMATION', 'BG_FILE_INFO', 'OSVERSIONINFOW', 'LPSECURITY_ATTRIBUTES', 'FILE_FS_DEVICE_INFORMATION', 'OSVERSIONINFOA', 'EXCEPTION_POINTERS64', '_PSAPI_WORKING_SET_BLOCK64', 'BG_FILE_PROGRESS', 'PFILE_MODE_INFORMATION', 'EXCEPINFO', 'PBITMAPFILEHEADER', '_DEBUG_LAST_EVENT_INFO_EXCEPTION', 'PMIB_IFROW', 'LPLOAD_DLL_DEBUG_INFO', 'PCRYPT_BIT_BLOB', 'PSIP_INDIRECT_DATA', 'PFILE_FS_SIZE_INFORMATION', '_DEBUG_SYMBOL_ENTRY', 'PPROCESS_BASIC_INFORMATION', 'SPC_LINK_', 'PFILE_FS_OBJECTID_INFORMATION', '_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE', '_UNLOAD_DLL_DEBUG_INFO', 'PFILE_POSITION_INFORMATION', '_FILE_FS_SIZE_INFORMATION', '_JIT_DEBUG_INFO', '_DEBUG_EVENT', 'CONTEXT32', 'LPBITMAPFILEHEADER', 'PMIB_UDPROW_OWNER_PID', 'FILE_ATTRIBUTE_TAG_INFORMATION', 'LPEXIT_THREAD_DEBUG_INFO', 'PSYMBOL_INFO', 'PUBLIC_OBJECT_BASIC_INFORMATION', 'FILE_FS_CONTROL_INFORMATION', '_ALPC_SERVER_INFORMATION_TMP_IN', 'ACCESS_DENIED_CALLBACK_ACE', '_DEBUG_SPECIFIC_FILTER_PARAMETERS', '_CRL_ENTRY', '_SYSTEM_MODULE64', 'BITMAPCOREINFO', 'PPROCESSENTRY32', 'DEBUG_VALUE_TMP_UNION', 'BITMAPINFOHEADER', 'WINTRUST_FILE_INFO', 'FILE_STANDARD_INFORMATION', 'REFGUID', '_SERVICE_STATUS_PROCESS', 'MIB_IPADDRROW', 'PMIB_TCPTABLE_OWNER_PID', 'REFIID', 'PFILE_FS_DRIVER_PATH_INFORMATION', 'POSVERSIONINFOEXA', '_CREATE_THREAD_DEBUG_INFO', 'PFILE_IS_REMOTE_DEVICE_INFORMATION', 'MIB_IPADDRROW_XP', 'MEMORY_BASIC_INFORMATION32', 'SECURITY_ATTRIBUTES', 'IMAGE_NT_HEADERS32', '_IMAGE_IMPORT_BY_NAME', 'PALPC_SECURITY_ATTR64', 'PALPC_HANDLE_ATTR32', 'PIMAGE_EXPORT_DIRECTORY', 'MIB_TCPTABLE_OWNER_PID', 'LPDEBUG_EVENT', 'PACCESS_DENIED_OBJECT_ACE', 'DISPPARAMS', 'LPCREATE_PROCESS_DEBUG_INFO', 'PCRYPTCATMEMBER', 'ALPC_HANDLE_ATTR', 'FILE_IO_PRIORITY_HINT_INFORMATION', 'CRYPT_DIGEST_BLOB', 'tagBITMAP', 'tagBITMAPINFOHEADER', '_ACCESS_DENIED_OBJECT_ACE', 'PDEBUG_PROCESSOR_IDENTIFICATION_ARM', '_ACCESS_ALLOWED_ACE', 'RTL_RELATIVE_NAME_U', '_ALPC_DIRECT_ATTR32', 'PCCTL_CONTEXT', 'CTL_ENTRY', 'LPBITMAPCOREINFO', 'PCRL_INFO', '_ALPC_TOKEN_ATTR', 'CRYPT_ENCRYPT_MESSAGE_PARA', 'CERT_CHAIN_PARA', '_STARTUPINFOEXW', '_MIB_TCPROW', 'STARTUPINFOEXW', '_DEBUG_PROCESSOR_IDENTIFICATION_X86', 'PPORT_MESSAGE32', 'PALPC_DATA_VIEW_ATTR32', '_DEBUG_PROCESSOR_IDENTIFICATION_ALL', '_IMAGE_NT_HEADERS', 'STARTUPINFOEXA', 'PFILE_ACCESS_INFORMATION', 'PMIB_UDP6TABLE_OWNER_PID', 'TOKEN_PRIVILEGES', '_RPC_IF_ID', 'SOLE_AUTHENTICATION_SERVICE', '_API_SET_NAMESPACE_ARRAY', 'PSPC_SERIALIZED_OBJECT', 'FILE_MODE_INFORMATION', 'ACCESS_ALLOWED_CALLBACK_OBJECT_ACE', '_TMP_lowmid', 'WINTRUST_BLOB_INFO', '_CLIENT_ID32', 'PALPC_DIRECT_ATTR32', 'PCRYPT_ATTR_BLOB', 'ALPC_SERVER_INFORMATION_TMP_IN', 'PPSAPI_WORKING_SET_INFORMATION32', 'PCTL_CONTEXT', 'PPUBLIC_OBJECT_BASIC_INFORMATION', 'REFCLSID', '_SECURITY_ATTRIBUTES', 'PCRL_CONTEXT', 'LSA_UNICODE_STRING', 'PCRYPT_UINT_BLOB', '_CRL_CONTEXT', 'OBJECT_DIRECTORY_INFORMATION', '_ALPC_DIRECT_ATTR', '_LUID', 'IID', 'CLIENT_ID32', 'SPC_SERIALIZED_OBJECT', 'CRYPTCATATTRIBUTE_', 'ALPC_DIRECT_ATTR', '_API_SET_NAMESPACE_ENTRY_V4', 'PDEBUG_SYMBOL_ENTRY', 'PCERT_KEY_CONTEXT', 'LPTHREADENTRY32', 'CATALOG_INFO_', 'PSTRING', 'SAFEARRAY', '_ALPC_SECURITY_ATTR', 'PPSAPI_WORKING_SET_BLOCK64', 'PAPI_SET_NAMESPACE_ENTRY_V2', 'PCANSI_STRING', '_MIB_TCPROW_OWNER_PID', '_CREATE_PROCESS_DEBUG_INFO', 'PDEBUG_MODULE_PARAMETERS', 'IO_STATUS_BLOCK', 'PTOKEN_MANDATORY_LABEL', '_API_SET_NAMESPACE_ENTRY_V2', 'EXIT_THREAD_DEBUG_INFO', 'PSID_AND_ATTRIBUTES', 'ALPC_SECURITY_ATTR32', '_API_SET_VALUE_ARRAY_V2', 'CRYPTCATMEMBER', 'ALPC_DATA_VIEW_ATTR32', 'API_SET_NAMESPACE_ENTRY_V6', '_API_SET_VALUE_ARRAY_V4', 'API_SET_NAMESPACE_ENTRY_V4', '_API_SET_NAMESPACE_ARRAY_V4', '_IMAGE_NT_HEADERS64', 'PCRYPT_KEY_PROV_INFO', '_API_SET_NAMESPACE_ARRAY_V2', '_DEBUG_VALUE_TMP_SUBSTRUCT2', 'DEBUG_LAST_EVENT_INFO_EXCEPTION', '_DEBUG_VALUE_TMP_SUBSTRUCT1', 'EXCEPTION_POINTERS32', '_TMP_UNION_DEBUG_INFO', 'PFILE_IO_PRIORITY_HINT_INFORMATION', 'PCERT_CHAIN_ELEMENT', 'RTL_OSVERSIONINFOEXW', 'PMEMORY_BASIC_INFORMATION', 'PMEMORY_BASIC_INFORMATION32', 'ALPC_SECURITY_ATTR64', '_IMAGE_DATA_DIRECTORY', 'TMP_UNION_DEBUG_INFO', '_ANON_PEB_SYSTEM_DEPENDENT_03', '_ANON_PEB_SYSTEM_DEPENDENT_02', 'OBJECT_ATTRIBUTES', 'PCRYPT_DATA_BLOB', '_ANON_PEB_SYSTEM_DEPENDENT_07', '_ANON_PEB_SYSTEM_DEPENDENT_06', '_THREAD_BASIC_INFORMATION', 'PBITMAPINFOHEADER', '_PORT_MESSAGE32_TMP_UNION', 'LPCREATE_THREAD_DEBUG_INFO', 'PCRYPT_DER_BLOB', 'PALPC_DIRECT_ATTR64', 'tagTHREADENTRY32', 'PDEBUG_SYMBOL_SOURCE_ENTRY', 'PFILE_INTERNAL_INFORMATION', 'PCTL_USAGE', 'PFILE_FS_SECTOR_SIZE_INFORMATION', 'PSYSTEM_HANDLE_INFORMATION', 'DEBUG_OFFSET_REGION', '_EVENTLOGRECORD', 'EXCEPTION_DEBUG_INFO', 'PFILE_FS_DEVICE_INFORMATION', 'PSAPI_WORKING_SET_BLOCK64', 'PSYSTEM_MODULE_INFORMATION32', 'PCERT_ENHKEY_USAGE', '_OSVERSIONINFOW', 'PALPC_CONTEXT_ATTR64', 'PRTL_USER_PROCESS_PARAMETERS', 'PCRYPTCATATTRIBUTE', '_SYSTEM_MODULE_INFORMATION32', 'CERT_ENHKEY_USAGE', '_CERT_REVOCATION_CRL_INFO', 'PFILE_FS_FULL_SIZE_INFORMATION', 'PALPC_HANDLE_ATTR', '_OSVERSIONINFOA', 'CERT_REVOCATION_CRL_INFO', 'PSAPI_WORKING_SET_BLOCK', 'PSPC_LINK', 'PBITMAPINFO', 'PRGBTRIPLE', 'FLOATING_SAVE_AREA', 'LPSTARTUPINFOEXA', 'PROCESSENTRY32', 'PWINTRUST_CERT_INFO', 'LUID_AND_ATTRIBUTES', 'PCCERT_CHAIN_ELEMENT', '_CERT_USAGE_MATCH', 'IMAGE_NT_HEADERS64', 'tagEXCEPINFO', 'CREATE_THREAD_DEBUG_INFO', 'LPSTARTUPINFOEXW', '_CRYPT_DECRYPT_MESSAGE_PARA', '_MIB_IFROW', 'PCERT_SIMPLE_CHAIN', '_MIB_TCPTABLE_OWNER_PID', '_ACCESS_ALLOWED_OBJECT_ACE', '_TMP_UNION_IO_STATUS_BLOCK', '_MEMORY_BASIC_INFORMATION', 'PRTL_OSVERSIONINFOEXW', '_CERT_CHAIN_PARA', 'PMIB_TCPROW_OWNER_PID', 'BG_JOB_TIMES', '_SYSTEM_VERIFIER_INFORMATION', '_TMP_WINTRUST_UNION_TYPE', 'PACL', 'RPC_IF_ID', '_CONTEXT32', 'CERT_EXTENSION', '_PORT_MESSAGE64', '_EXCEPTION_POINTERS32', '_EXCEPTION_DEBUG_INFO', 'PIMAGE_SECTION_HEADER', '_PEB_LDR_DATA', '_TMP_DUMMYSTRUCTNAME', 'SYSTEM_MODULE32', 'PCERT_PUBLIC_KEY_INFO', 'CRYPT_ATTRIBUTES', 'CRYPTCATATTRIBUTE', '_RTL_RELATIVE_NAME_U', '_DEBUG_EXCEPTION_FILTER_PARAMETERS', '_TOKEN_ELEVATION', '_GUID', 'ACCESS_ALLOWED_OBJECT_ACE', 'PCERT_REVOCATION_INFO', 'PCRYPT_DECRYPT_MESSAGE_PARA', '_MODLOAD_DATA', 'PCERT_CHAIN_CONTEXT', 'PPSAPI_WORKING_SET_INFORMATION64', 'MIB_TCP6ROW_OWNER_PID', 'THREAD_BASIC_INFORMATION', 'SID_IDENTIFIER_AUTHORITY', 'ALPC_DATA_VIEW_ATTR64', '_FILE_FS_FULL_SIZE_INFORMATION', 'ALPC_PORT_ATTRIBUTES64', '_OVERLAPPED', 'OVERLAPPED', 'ALPC_DATA_VIEW_ATTR', 'RTL_OSVERSIONINFOW', 'IMAGE_IMPORT_BY_NAME', '_ALPC_DATA_VIEW_ATTR64', 'RGBTRIPLE', 'PFILE_FS_VOLUME_INFORMATION', '_STARTUPINFOEXA', '_SYMBOL_INFO', 'API_SET_VALUE_ARRAY_V2', '_IMAGE_IMPORT_DESCRIPTOR', 'ENUM_SERVICE_STATUS_PROCESSA', 'PSOLE_AUTHENTICATION_SERVICE', '_TOKEN_MANDATORY_LABEL', '_DEBUG_VALUE_TMP_SUBSTRUCT3', 'TMP_lowmid_union', 'CLIENT_ID64', '_MIB_UDPTABLE_OWNER_PID', 'CERT_USAGE_MATCH', 'DEBUG_MODULE_PARAMETERS', 'PMODLOAD_DATA', 'tagPROCESSENTRY32', 'SYSTEM_MODULE_INFORMATION32', 'LPEVENTLOG_FULL_INFORMATION', '_FILE_ACCESS_INFORMATION', 'PACCESS_ALLOWED_OBJECT_ACE', 'API_SET_NAMESPACE_V6', '_API_SET_NAMESPACE_V6', 'DEBUG_PROCESSOR_IDENTIFICATION_X86', 'PMIB_UDPTABLE_OWNER_PID', 'ACCESS_DENIED_ACE', '_OBJECT_DIRECTORY_INFORMATION', 'PIMAGE_DATA_DIRECTORY', 'PPSAPI_WORKING_SET_EX_BLOCK32', '_ALPC_DIRECT_ATTR64', 'THREADENTRY32', 'CRL_INFO', '_ALPC_HANDLE_ATTR64', '_PUBLIC_OBJECT_BASIC_INFORMATION', 'PPSAPI_WORKING_SET_BLOCK32', '_MIB_TCP6TABLE_OWNER_PID', '_CLIENT_ID', '_API_SET_NAMESPACE_ENTRY', '_CERT_INFO', 'MODLOAD_DATA', 'MIB_IFTABLE', '_ALPC_SECURITY_ATTR32', 'POBJECT_DIRECTORY_INFORMATION', 'SYSTEM_VERIFIER_INFORMATION', 'PEXCEPTION_RECORD32', 'LPVARIANT', 'API_SET_NAMESPACE_ENTRY_V2', 'ALPC_HANDLE_ATTR32', 'PPROCESSENTRY32W', 'DECIMAL', 'SID_AND_ATTRIBUTES', '_ACL', 'EXCEPTION_RECORD64', 'tagSOLE_AUTHENTICATION_SERVICE', '_ENUM_SERVICE_STATUS_PROCESSW', '_MIB_UDPROW_OWNER_PID', 'SYMBOL_INFO', '_CRYPT_ENCODE_PARA', 'PDEBUG_VALUE', 'PSAPI_WORKING_SET_BLOCK32', 'PACCESS_ALLOWED_ACE', 'PSYSTEM_MODULE_INFORMATION64', '_STARTUPINFOA', '_PORT_MESSAGE_TMP_SUBSTRUCT_S1', 'PALPC_DIRECT_ATTR', 'PDEBUG_LAST_EVENT_INFO_SYSTEM_ERROR', '_LUID_AND_ATTRIBUTES', 'PALPC_SECURITY_ATTR', 'DEBUG_LAST_EVENT_INFO_LOAD_MODULE', 'PCRYPT_DIGEST_BLOB', 'DEBUG_REGISTER_DESCRIPTION', 'PIMAGE_IMPORT_BY_NAME', 'PDEBUG_LAST_EVENT_INFO_EXCEPTION', 'SECURITY_QUALITY_OF_SERVICE', 'PPSAPI_WORKING_SET_INFORMATION', '_ALPC_HANDLE_ATTR', 'LPPROCESSENTRY32W', 'PFILE_FS_CONTROL_INFORMATION', 'PRLIST_ENTRY', 'POSVERSIONINFOA', 'PLIST_ENTRY', 'tagPROCESSENTRY32W', 'LUID', '_RTL_UNLOAD_EVENT_TRACE64', '_FILE_ATTRIBUTE_TAG_INFORMATION', 'TOKEN_USER', 'SIP_INDIRECT_DATA_', 'PCRYPT_OBJID_BLOB', 'CLIENT_ID', 'IMAGE_OPTIONAL_HEADER64', 'tagRGBTRIPLE', '_PSAPI_WORKING_SET_EX_BLOCK64', '_ENUM_SERVICE_STATUS_PROCESSA', 'PCRL_BLOB', 'PCERT_EXTENSIONS', 'PAPI_SET_VALUE_ENTRY', 'MIB_TCPROW', 'TMP_SPC_LINK_UNION', '_IMAGE_FILE_HEADER', '_RTLP_CURDIR_REF', 'LPOVERLAPPED', 'PALPC_DATA_VIEW_ATTR', 'PSID_IDENTIFIER_AUTHORITY', '_FILE_BASIC_INFORMATION', 'PLSA_UNICODE_STRING', '_CTL_INFO', 'PLDR_DATA_TABLE_ENTRY', 'PDEBUG_LAST_EVENT_INFO_LOAD_MODULE', 'PALPC_CONTEXT_ATTR32', 'MIB_UDP6TABLE_OWNER_PID', 'PIMAGE_NT_HEADERS32', 'STRING', 'LPSAFEARRAYBOUND', '_CERT_CHAIN_ELEMENT', 'PCONTEXT32', '_ACCESS_ALLOWED_CALLBACK_ACE', 'ACCESS_ALLOWED_CALLBACK_ACE', 'PMIB_UDP6ROW_OWNER_PID', 'CRL_BLOB', 'FILE_ACCESS_INFORMATION', 'BITMAPCOREHEADER', 'POBJECT_ATTRIBUTES', 'PFILE_BASIC_INFORMATION', 'PCERT_CHAIN_ENGINE_CONFIG', '_DEBUG_LAST_EVENT_INFO_BREAKPOINT', 'PTOKEN_ELEVATION', 'PFILE_EA_INFORMATION', '_CRL_INFO', 'WOW64_FLOATING_SAVE_AREA', '_LIST_ENTRY', '_PORT_MESSAGE32', 'PCERT_REVOCATION_CRL_INFO', 'ACCESS_ALLOWED_ACE', 'CERT_EXTENSIONS', '_BG_FILE_PROGRESS', 'PPSAPI_WORKING_SET_EX_BLOCK64', 'PDEBUG_BREAKPOINT_PARAMETERS', '_CTL_ENTRY', '_WOW64_FLOATING_SAVE_AREA', 'LPBITMAPINFOHEADER', '_IMAGE_OPTIONAL_HEADER64', '_SID_AND_ATTRIBUTES', 'MIB_IFROW', '_TOKEN_PRIVILEGES', 'FILE_FS_SECTOR_SIZE_INFORMATION', '_PROCESS_INFORMATION', '_CERT_CHAIN_CONTEXT', '_SYSTEM_HANDLE_INFORMATION', '_MIB_UDP6ROW_OWNER_PID', 'LPSTARTUPINFOW', 'EVENTLOGRECORD', '_LSA_UNICODE_STRING', '_MIB_IPADDRTABLE', '_FILE_MODE_INFORMATION', 'PM128A', 'LPSTARTUPINFOA', 'PAPI_SET_NAMESPACE_ARRAY_V4', 'PPSAPI_WORKING_SET_EX_BLOCK', 'ALPC_PORT_ATTRIBUTES32', '_FILE_FS_ATTRIBUTE_INFORMATION', 'DEBUG_SYMBOL_ENTRY', 'PAPI_SET_NAMESPACE_ARRAY_V2', '_WOW64_CONTEXT', 'LPBITMAPINFO', 'PWINTRUST_CATALOG_INFO', 'PFILE_NAME_INFORMATION', '_CRYPT_ATTRIBUTES', 'DEBUG_BREAKPOINT_PARAMETERS', 'PAPI_SET_VALUE_ARRAY_V2', 'CREATE_PROCESS_DEBUG_INFO', '_EXIT_THREAD_DEBUG_INFO', 'tagDISPPARAMS', 'PIP_INTERFACE_INFO', 'PFILE_ATTRIBUTE_TAG_INFORMATION', '_ANON_PEB_UNION_1', '_ANON_PEB_UNION_2', 'PMIB_TCP6TABLE_OWNER_PID', 'ALPC_SERVER_INFORMATION_TMP_OUT', 'WINTRUST_SGNR_INFO', 'PCMSG_SIGNER_INFO', 'PALPC_HANDLE_ATTR64', '_CRYPT_KEY_PROV_INFO', 'FILE_ALIGNMENT_INFORMATION', 'PRTL_UNLOAD_EVENT_TRACE', 'PSECURITY_ATTRIBUTES', 'MEMORY_BASIC_INFORMATION64', '_API_SET_NAMESPACE_ENTRY_V6', 'BITMAPINFO', '_XSAVE_FORMAT_32', 'CERT_CONTEXT', 'PRTLP_CURDIR_REF', '_OUTPUT_DEBUG_STRING_INFO', 'PDEBUG_PROCESSOR_IDENTIFICATION_AMD64', 'PPEB', 'PRTL_DRIVE_LETTER_CURDIR', '_PORT_MESSAGE64_TMP_UNION', 'PDEBUG_LAST_EVENT_INFO_EXIT_THREAD', '_CRYPT_ATTRIBUTE', 'SYSTEM_MODULE_INFORMATION64', 'tagSAFEARRAY', 'DEBUG_MODULE_AND_ID', '_DEBUG_LAST_EVENT_INFO_LOAD_MODULE', 'FILE_INTERNAL_INFORMATION', 'WINTRUST_BLOB_INFO_', 'PCERT_USAGE_MATCH', 'PWOW64_CONTEXT', 'CRYPT_BIT_BLOB', 'PIMAGE_IMPORT_DESCRIPTOR', 'DEBUG_EXCEPTION_FILTER_PARAMETERS', '_WINTRUST_DATA', 'DEBUG_LAST_EVENT_INFO_EXIT_THREAD', 'PCRYPT_ENCODE_PARA', '_FILE_FS_SECTOR_SIZE_INFORMATION', '_CRYPT_ENCRYPT_MESSAGE_PARA', '_CERT_KEY_CONTEXT', 'PDEBUG_OFFSET_REGION', '_IP_ADAPTER_INDEX_MAP', 'PPROCESS_INSTRUMENTATION_CALLBACK_INFORMATION', 'MIB_TCPROW_OWNER_PID', 'CRYPT_KEY_PROV_INFO', 'FILE_NETWORK_OPEN_INFORMATION', '_ALPC_PORT_ATTRIBUTES32', 'PMIB_TCP6ROW_OWNER_PID', 'PROCESS_INFORMATION', 'PWINTRUST_SGNR_INFO', 'BITMAPFILEHEADER', 'CONTEXT64', 'PAPI_SET_VALUE_ENTRY_V2', 'RTL_DRIVE_LETTER_CURDIR', 'JIT_DEBUG_INFO', '_ALPC_WORK_ON_BEHALF_ATTR', 'IMAGE_IMPORT_DESCRIPTOR', 'LPRGBTRIPLE', 'PEXCEPTION_RECORD64', 'PCERT_NAME_BLOB', 'PLUID', 'CRYPT_DECRYPT_MESSAGE_PARA', '_CERT_EXTENSIONS', 'WINTRUST_CATALOG_INFO', 'PCCERT_SIMPLE_CHAIN', 'SPC_LINK', 'PMIB_IFTABLE', 'IMAGE_OPTIONAL_HEADER32', '_SECURITY_QUALITY_OF_SERVICE', 'CRYPT_HASH_BLOB', '_DEBUG_PROCESSOR_IDENTIFICATION_IA64', 'PCCERT_CHAIN_CONTEXT', 'LPSERVICE_STATUS', 'PAPI_SET_NAMESPACE_ENTRY', '_CERT_REVOCATION_INFO', 'PCRYPT_ALGORITHM_IDENTIFIER', '_DEBUG_LAST_EVENT_INFO_UNLOAD_MODULE', '_PSAPI_WORKING_SET_EX_INFORMATION', 'LPOUTPUT_DEBUG_STRING_INFO', 'PPSAPI_WORKING_SET_BLOCK', 'CERT_BLOB', 'PEXCEPTION_POINTERS64', 'WINTRUST_CERT_INFO_', 'PCTL_INFO', 'CERT_SIMPLE_CHAIN', '_FILE_EA_INFORMATION', '_RTL_UNLOAD_EVENT_TRACE32', 'PSYSTEMTIME', '_PSAPI_WORKING_SET_EX_INFORMATION64', 'IMAGE_FILE_HEADER', '_MIB_IPADDRROW_XP', 'UNICODE_STRING', '_MEMORY_BASIC_INFORMATION64', 'PCERT_TRUST_STATUS', 'PAPI_SET_NAMESPACE_ENTRY_V4', '_CTL_CONTEXT', '_DEBUG_REGISTER_DESCRIPTION', 'TOKEN_MANDATORY_LABEL', 'PEVENTLOGRECORD', 'PSAPI_WORKING_SET_EX_BLOCK64', '_ACCESS_DENIED_ACE', '_IMAGE_EXPORT_DIRECTORY', 'PFILE_FS_LABEL_INFORMATION', 'FILE_BASIC_INFORMATION', '_DEBUG_LAST_EVENT_INFO_EXIT_PROCESS', 'DEBUG_LAST_EVENT_INFO_BREAKPOINT', 'DEBUG_LAST_EVENT_INFO_EXIT_PROCESS', 'PAPI_SET_NAMESPACE_ARRAY', 'tagBITMAPCOREHEADER', 'PSYSTEM_MANDATORY_LABEL_ACE', 'PEB', 'ALPC_SECURITY_ATTR', '_FILE_FS_CONTROL_INFORMATION', '_SERVICE_STATUS', 'PPSAPI_WORKING_SET_EX_INFORMATION32', 'DEBUG_SYMBOL_SOURCE_ENTRY', 'CMSG_SIGNER_INFO', '_SYSTEM_MANDATORY_LABEL_ACE', 'RTL_UNLOAD_EVENT_TRACE32', 'PTOKEN_PRIVILEGES', 'PRTL_UNLOAD_EVENT_TRACE32', '_CERT_PUBLIC_KEY_INFO', 'ENUM_SERVICE_STATUS_PROCESSW', '_DEBUG_BREAKPOINT_PARAMETERS', 'PIMAGE_NT_HEADERS64', 'PXSAVE_FORMAT_64', 'PBITMAPCOREHEADER', '_DEBUG_LAST_EVENT_INFO_SYSTEM_ERROR', 'PCRYPT_ATTRIBUTE', 'IMAGE_EXPORT_DIRECTORY', 'XSAVE_FORMAT_64', 'PIP_ADAPTER_INDEX_MAP', '_CERT_SIMPLE_CHAIN', 'CERT_KEY_CONTEXT', 'PCERT_TRUST_LIST_INFO', 'PMEMORY_BASIC_INFORMATION64', '_FILE_INTERNAL_INFORMATION', 'VARIANT', '_OBJECT_ATTRIBUTES', 'CERT_RDN_VALUE_BLOB', '_SPC_SERIALIZED_OBJECT', '_tagVARIANT', 'CRYPT_ATTRIBUTE', 'BG_JOB_PROGRESS', 'CERT_TRUST_LIST_INFO', 'PCRYPT_ENCRYPT_MESSAGE_PARA', 'FILE_FS_OBJECTID_INFORMATION', '_PSAPI_WORKING_SET_BLOCK32', '_PSAPI_WORKING_SET_INFORMATION32', 'PDEBUG_STACK_FRAME', 'DEBUG_LAST_EVENT_INFO_SYSTEM_ERROR', '_FILE_FS_OBJECTID_INFORMATION', 'LIST_ENTRY', 'M128A', 'PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION', 'CTL_USAGE', '_FILE_ALIGNMENT_INFORMATION', '_DEBUG_PROCESSOR_IDENTIFICATION_ALPHA', 'PFILE_FS_ATTRIBUTE_INFORMATION', '_XSAVE_FORMAT_64', '_DEBUG_LAST_EVENT_INFO_EXIT_THREAD', '_RTL_UNLOAD_EVENT_TRACE', 'SIP_INDIRECT_DATA', 'RTLP_CURDIR_REF', 'PMIB_IPADDRTABLE', '_PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION', '_PEB', '_OSVERSIONINFOEXW', '_DEBUG_MODULE_AND_ID', 'PCURDIR', '_FLOATING_SAVE_AREA', 'CATALOG_INFO', '_SYSTEM_MODULE32', 'MEMORY_BASIC_INFORMATION', '_OSVERSIONINFOEXA', 'POSVERSIONINFOW', 'PCRYPT_INTEGER_BLOB', 'PCERT_BLOB', '_ALPC_CONTEXT_ATTR32', 'PPUBLIC_OBJECT_TYPE_INFORMATION', '_PORT_MESSAGE_TMP_UNION_U2', '_CERT_CHAIN_ENGINE_CONFIG', '_PORT_MESSAGE_TMP_UNION_U1', '_tagBRECORD', '_LDR_DATA_TABLE_ENTRY', '_PSAPI_WORKING_SET_INFORMATION', 'DEBUG_PROCESSOR_IDENTIFICATION_ALPHA', 'CERT_CHAIN_CONTEXT', 'PALPC_MESSAGE_ATTRIBUTES', 'PTHREADENTRY32', 'DEBUG_VALUE', 'PSAPI_WORKING_SET_EX_INFORMATION32', 'DEBUG_PROCESSOR_IDENTIFICATION_ALL', '_DEBUG_VALUE', 'PDEBUG_PROCESSOR_IDENTIFICATION_IA64', 'PORT_MESSAGE32', 'CRYPT_OBJID_BLOB', 'PROCESSENTRY32W', 'PALPC_DATA_VIEW_ATTR64', '_EXCEPTION_RECORD64', 'PALPC_SECURITY_ATTR32', '_STARTUPINFOW', '_CRYPT_BIT_BLOB', 'CERT_TRUST_STATUS', '_EXCEPTION_POINTERS64', 'FILE_IS_REMOTE_DEVICE_INFORMATION', 'PDEBUG_SYMBOL_PARAMETERS', 'CERT_CHAIN_ENGINE_CONFIG', 'CRL_ENTRY', '_PSAPI_WORKING_SET_INFORMATION64', 'PSAPI_WORKING_SET_EX_INFORMATION', 'PTOKEN_USER', 'PDEBUG_LAST_EVENT_INFO_UNLOAD_MODULE', 'DEBUG_PROCESSOR_IDENTIFICATION_ARM', 'LPPROCESSENTRY32', 'IP_INTERFACE_INFO', '_PSAPI_WORKING_SET_EX_INFORMATION32', 'ALPC_CONTEXT_ATTR32', 'RGBQUAD', '_TMP_signscale', 'TMP_DUMMYSTRUCTNAME', 'LPEXIT_PROCESS_DEBUG_INFO', 'FILE_FS_ATTRIBUTE_INFORMATION', 'EXCEPTION_RECORD', '_DEBUG_PROCESSOR_IDENTIFICATION_AMD64', '_ALPC_SERVER_INFORMATION_TMP_OUT', 'TMP_signscale_union', 'CRYPT_ATTRIBUTE_TYPE_VALUE', '_MEMORY_BASIC_INFORMATION32', 'PSAPI_WORKING_SET_EX_BLOCK', 'PEXCEPTION_POINTERS32', 'PSECURITY_QUALITY_OF_SERVICE', 'PTHREAD_BASIC_INFORMATION', 'DEBUG_PROCESSOR_IDENTIFICATION_AMD64', 'PUBLIC_OBJECT_TYPE_INFORMATION', '_CURDIR', 'LPVARIANTARG', 'ALPC_HANDLE_ATTR64', '_FILE_IS_REMOTE_DEVICE_INFORMATION', 'API_SET_NAMESPACE_ENTRY', 'CERT_REVOCATION_INFO', 'ALPC_CONTEXT_ATTR', '_PROCESS_BASIC_INFORMATION', '_PSAPI_WORKING_SET_EX_BLOCK', 'CRYPT_DATA_BLOB', 'PEB_LDR_DATA', 'PWINTRUST_FILE_INFO', 'RTL_UNLOAD_EVENT_TRACE64', '_FILE_FS_DEVICE_INFORMATION', 'ALPC_MESSAGE_ATTRIBUTES', '_CRYPT_ALGORITHM_IDENTIFIER', 'RTL_UNLOAD_EVENT_TRACE', 'PACCESS_DENIED_ACE', 'PSAPI_WORKING_SET_INFORMATION32', '_CLIENT_ID64', 'ACCESS_DENIED_OBJECT_ACE', 'PWINTRUST_BLOB_INFO', '_TOKEN_USER', 'OUTPUT_DEBUG_STRING_INFO', 'tagSAFEARRAYBOUND', 'PPSAPI_WORKING_SET_EX_INFORMATION64', 'PALPC_PORT_ATTRIBUTES32', 'LPOSVERSIONINFOA', 'PCTL_ENTRY', 'FILE_ALL_INFORMATION', '_FILE_NETWORK_OPEN_INFORMATION', 'PSAPI_WORKING_SET_EX_BLOCK32', '_ALPC_HANDLE_ATTR32', '_FILE_STANDARD_INFORMATION', '_EXIT_PROCESS_DEBUG_INFO', 'LPOSVERSIONINFOW', 'ALPC_SERVER_INFORMATION', '_ACCESS_DENIED_CALLBACK_ACE', 'PEXCEPTION_RECORD', '_PORT_MESSAGE_TMP_SUBSTRUCT_S2', '_ALPC_SECURITY_ATTR64', 'IMAGE_DATA_DIRECTORY', '_ALPC_DATA_VIEW_ATTR32', 'BITMAP', 'FILE_FS_DRIVER_PATH_INFORMATION', '_FILE_FS_DRIVER_PATH_INFORMATION', 'MIB_IPADDRTABLE', 'PFILE_NETWORK_OPEN_INFORMATION', '_CRYPT_ATTRIBUTE_TYPE_VALUE', '_MIB_UDP6TABLE_OWNER_PID', 'PMIB_IPADDRROW_XP', 'PACCESS_ALLOWED_CALLBACK_OBJECT_ACE', 'PCERT_CHAIN_PARA', 'LPPROCESS_INFORMATION', 'EXIT_PROCESS_DEBUG_INFO', 'FILE_FS_FULL_SIZE_INFORMATION', '_TMP_SPC_LINK_UNION', 'ALPC_WORK_ON_BEHALF_ATTR', 'PCERT_EXTENSION', '_EVENTLOG_FULL_INFORMATION', 'PSYSTEM_MODULE64', 'tagBITMAPCOREINFO', 'MIB_UDPROW_OWNER_PID', 'VARIANTARG', 'PDEBUG_SPECIFIC_FILTER_PARAMETERS', 'PCRYPT_HASH_BLOB', '_CRYPTOAPI_BLOB', '_API_SET_VALUE_ENTRY', 'LPBITMAP', 'ALPC_DIRECT_ATTR32', '_TMP_CONTEXT64_SUBUNION', 'SAFEARRAYBOUND', 'LPGUID', '__tagBRECORD', '_FILE_POSITION_INFORMATION', '_PSAPI_WORKING_SET_BLOCK', 'API_SET_NAMESPACE_ARRAY', 'WINTRUST_CERT_INFO', 'tagRGBQUAD', 'PMIB_TCPROW', 'FILE_NAME_INFORMATION', 'TMP_variant_sub_union', '_ALPC_DATA_VIEW_ATTR', 'UNLOAD_DLL_DEBUG_INFO', 'EVENTLOG_FULL_INFORMATION', '_STRING', 'CRYPT_DER_BLOB', '_ALPC_CONTEXT_ATTR64', 'TMP_WINTRUST_UNION_TYPE', 'PPORT_MESSAGE64', 'PCONTEXT64', 'SYSTEMTIME', 'tagBITMAPFILEHEADER', 'SPC_SP_OPUS_INFO', '_RTL_DRIVE_LETTER_CURDIR', 'PIMAGE_OPTIONAL_HEADER64', 'CERT_PUBLIC_KEY_INFO', 'DEBUG_SPECIFIC_FILTER_PARAMETERS', 'IMAGE_SECTION_HEADER', 'ACL', 'API_SET_VALUE_ENTRY', 'WOW64_CONTEXT', '_DEBUG_VALUE_TMP_UNION', 'DEBUG_LAST_EVENT_INFO_UNLOAD_MODULE', 'PSAPI_WORKING_SET_EX_INFORMATION64', '_RTL_USER_PROCESS_PARAMETERS', 'PACCESS_ALLOWED_CALLBACK_ACE', 'PPROCESS_INFORMATION', 'TMP_CONTEXT64_SUBUNION', '_BG_JOB_TIMES', '_EXCEPTION_RECORD32', 'MIB_TCP6TABLE_OWNER_PID', 'LDR_DATA_TABLE_ENTRY', 'PDEBUG_LAST_EVENT_INFO_EXIT_PROCESS', '_CTL_USAGE', 'PCCRL_CONTEXT', 'LPOSVERSIONINFOEXW', '_SYSTEM_HANDLE', 'CERT_NAME_BLOB', 'PWINTRUST_DATA', 'PSYSTEM_VERIFIER_INFORMATION', 'CRYPTCATMEMBER_', '_CERT_CONTEXT', 'LPOSVERSIONINFOEXA', '_SYSTEM_MODULE_INFORMATION64', 'POSVERSIONINFOEXW', 'LPBITMAPCOREHEADER', 'STARTUPINFOA', 'DATA_BLOB', 'PCRYPT_KEY_PROV_PARAM', 'PPEB_LDR_DATA', 'tagDEC', 'STARTUPINFOW', 'EXCEPTION_RECORD32', '_CERT_EXTENSION', '_IO_STATUS_BLOCK', 'ALPC_TOKEN_ATTR', 'PLUID_AND_ATTRIBUTES', 'MIB_UDP6ROW_OWNER_PID', 'PDEBUG_PROCESSOR_IDENTIFICATION_ALPHA', 'RIP_INFO', 'PCERT_CONTEXT', '_CONTEXT64', '_SID_IDENTIFIER_AUTHORITY', 'FILE_FS_LABEL_INFORMATION', '_CERT_TRUST_STATUS', 'PORT_MESSAGE64', '_DEBUG_SYMBOL_PARAMETERS', 'SYSTEM_MODULE64', 'PDEBUG_EXCEPTION_FILTER_PARAMETERS', 'WINTRUST_DATA', 'SYSTEM_HANDLE', '_DEBUG_MODULE_PARAMETERS', '_ACE_HEADER', 'OSVERSIONINFOEXW', '_M128A', 'PCCERT_CONTEXT', 'CRYPT_INTEGER_BLOB', 'CTL_CONTEXT', 'PCRL_ENTRY', 'LPENUM_SERVICE_STATUS_PROCESSW', 'OSVERSIONINFOEXA', '_DEBUG_SYMBOL_SOURCE_ENTRY', 'PRTL_OSVERSIONINFOW', 'tagBITMAPINFO', 'LPENUM_SERVICE_STATUS_PROCESSA', 'PSAPI_WORKING_SET_INFORMATION64', 'CRYPT_ATTR_BLOB', '_API_SET_VALUE_ENTRY_V2', '_SPC_SP_OPUS_INFO', 'DEBUG_STACK_FRAME', 'PDEBUG_PROCESSOR_IDENTIFICATION_X86', 'PSAPI_WORKING_SET_INFORMATION', '_EXCEPTION_RECORD', 'DEBUG_VALUE_TMP_SUBSTRUCT1', 'PSYSTEM_MODULE32', 'TMP_UNION_IO_STATUS_BLOCK', 'LPCONTEXT32', 'FILE_POSITION_INFORMATION', '_IMAGE_SECTION_HEADER', '_BG_JOB_PROGRESS', 'DEBUG_EVENT', 'LPSERVICE_STATUS_PROCESS', 'PALPC_WORK_ON_BEHALF_ATTR', 'CRYPT_ENCODE_PARA', 'WINTRUST_SGNR_INFO_', 'PIO_STATUS_BLOCK', 'ACE_HEADER', '_DEBUG_PROCESSOR_IDENTIFICATION_ARM', 'PIMAGE_FILE_HEADER', 'RTL_USER_PROCESS_PARAMETERS', 'FILE_FS_SIZE_INFORMATION', 'TOKEN_ELEVATION', 'DEBUG_SYMBOL_PARAMETERS', 'PDEBUG_LAST_EVENT_INFO_BREAKPOINT', 'CRYPT_ALGORITHM_IDENTIFIER', 'API_SET_VALUE_ENTRY_V2', 'NPBITMAP', 'PDATA_BLOB', 'DEBUG_VALUE_TMP_SUBSTRUCT3', 'DEBUG_VALUE_TMP_SUBSTRUCT2', 'CERT_CHAIN_ELEMENT', 'PFILE_STANDARD_INFORMATION', '_BG_FILE_INFO']) +enums = set(['NET_FW_RULE_DIRECTION', 'BG_JOB_PROXY_USAGE', '_TOKEN_INFORMATION_CLASS', '_IMAGEHLP_SYMBOL_TYPE_INFO', 'tagTYPEKIND', '_THREAD_INFORMATION_CLASS', 'tagCOINIT', 'tagCLSCTX', 'BG_JOB_STATE', '_VARENUM', 'FS_INFORMATION_CLASS', 'NET_FW_PROFILE_TYPE2_', 'BG_JOB_TYPE', '_FS_INFORMATION_CLASS', 'MEMORY_INFORMATION_CLASS', 'tag_WBEM_GENERIC_FLAG_TYPE', 'OBJECT_INFORMATION_CLASS', 'ALPC_MESSAGE_INFORMATION_CLASS', '_ALPC_MESSAGE_INFORMATION_CLASS', 'ALPC_PORT_INFORMATION_CLASS', 'tag_WBEM_CHANGE_FLAG_TYPE', '_SC_ENUM_TYPE', 'PROCESSINFOCLASS', 'SECTION_INHERIT', '_IO_PRIORITY_HINT', 'SE_OBJECT_TYPE', '_SYSTEM_INFORMATION_CLASS', 'SYSTEM_INFORMATION_CLASS', 'IMAGEHLP_SYMBOL_TYPE_INFO', '_MIB_TCP_STATE', 'RTL_PATH_TYPE', 'NET_FW_MODIFY_STATE_', '_SECTION_INHERIT', 'PSECURITY_IMPERSONATION_LEVEL', 'SID_NAME_USE', 'NET_FW_PROFILE_TYPE2', 'tag_WBEM_TIMEOUT_TYPE', '_INTERNAL_IF_OPER_STATUS', 'SC_STATUS_TYPE', 'PTHREAD_INFORMATION_CLASS', '_BG_JOB_PROXY_USAGE', '_SID_NAME_USE', 'WBEM_GENERIC_FLAG_TYPE', 'NET_FW_IP_PROTOCOL_', 'NET_FW_MODIFY_STATE', 'TCP_TABLE_CLASS', 'NET_FW_RULE_DIRECTION_', 'BG_ERROR_CONTEXT', 'PFILE_INFORMATION_CLASS', '_BG_JOB_TYPE', 'VARENUM', 'INTERNAL_IF_OPER_STATUS', 'TYPEKIND', '_ALPC_PORT_INFORMATION_CLASS', '_TCP_TABLE_CLASS', 'NET_FW_ACTION', 'WBEM_TIMEOUT_TYPE', 'FILE_INFORMATION_CLASS', 'SC_ENUM_TYPE', '_FILE_INFORMATION_CLASS', '_WELL_KNOWN_SID_TYPE', 'NET_FW_ACTION_', '_MEMORY_INFORMATION_CLASS', 'UDP_TABLE_CLASS', 'PSID_NAME_USE', 'PROCESS_INFORMATION_CLASS', 'CLSCTX', '_BG_JOB_STATE', 'IO_PRIORITY_HINT', '_SECURITY_IMPERSONATION_LEVEL', '_RTL_PATH_TYPE', 'MIB_TCP_STATE', 'WBEM_CHANGE_FLAG_TYPE', '_SC_STATUS_TYPE', '_SE_OBJECT_TYPE', '_UDP_TABLE_CLASS', '_BG_JOB_PRIORITY', '_PROCESSINFOCLASS', 'WBEMSTATUS', '_BG_ERROR_CONTEXT', 'PTOKEN_INFORMATION_CLASS', 'BG_JOB_PRIORITY', 'PALPC_MESSAGE_INFORMATION_CLASS', 'tag_WBEMSTATUS', 'SECURITY_IMPERSONATION_LEVEL', '_OBJECT_INFORMATION_CLASS', 'WELL_KNOWN_SID_TYPE', 'TOKEN_INFORMATION_CLASS', 'COINIT', 'NET_FW_IP_PROTOCOL', 'THREAD_INFORMATION_CLASS']) +functions = set(['NtQuerySymbolicLinkObject', 'GetStdHandle', 'GetDriveTypeW', 'GetModuleBaseNameA', 'ConvertSidToStringSidW', 'CryptAcquireCertificatePrivateKey', 'AddVectoredContinueHandler', 'GetDriveTypeA', 'DebugBreak', 'GetProcessDEPPolicy', 'ConvertSidToStringSidA', 'GetExtendedTcpTable', 'CreateWellKnownSid', 'CertEnumCertificateContextProperties', 'NtWow64ReadVirtualMemory64', 'DebugActiveProcessStop', 'GetVolumeInformationW', 'RegOpenKeyExW', 'RtlDosPathNameToNtPathName_U', 'InitializeProcThreadAttributeList', 'CryptMsgGetParam', 'NtOpenSymbolicLinkObject', 'RegOpenKeyExA', 'QueryWorkingSetEx', 'CertEnumCTLsInStore', 'CertCreateCertificateContext', 'CloseEventLog', 'NtSetInformationProcess', 'NtAlpcDisconnectPort', 'WriteFile', 'WaitForSingleObject', 'NtAlpcConnectPortEx', 'GetProcessImageFileNameW', 'CoInitializeSecurity', 'EnumClipboardFormats', 'AllocConsole', 'GetProcessImageFileNameA', 'NtQueryInformationFile', 'CryptDestroyKey', 'LookupPrivilegeValueA', 'NtAlpcDeleteSecurityContext', 'OpenServiceA', 'WriteProcessMemory', 'NtSetContextThread', 'FindNextVolumeA', 'RegQueryValueExA', 'CryptCATCatalogInfoFromContext', 'OpenServiceW', 'LookupPrivilegeValueW', 'GetSecurityInfo', 'CryptEncodeObjectEx', 'NtAlpcDeletePortSection', 'RegQueryValueExW', 'NtQueryVirtualMemory', 'VerQueryValueA', 'CryptCATGetAttrInfo', 'GetSidSubAuthority', 'GetCursorPos', 'LoadLibraryExA', 'SetConsoleCtrlHandler', 'NtAlpcCreateSectionView', 'SymInitialize', 'LoadLibraryExW', 'OpenProcess', 'ZwDuplicateObject', 'GetModuleBaseNameW', 'NtQuerySystemInformation', 'CreateThread', 'CreateProcessAsUserA', 'GetExitCodeThread', 'SetTcpEntry', 'LocalFree', 'CreateProcessAsUserW', 'NtProtectVirtualMemory', 'SetPriorityClass', 'SetThreadContext', 'CryptExportKey', 'VirtualQuery', 'DebugActiveProcess', 'LdrLoadDll', 'GetCurrentThreadId', 'GetExtendedUdpTable', 'CryptUIDlgViewContext', 'CreateToolhelp32Snapshot', 'RtlInitUnicodeString', 'RegCloseKey', 'EmptyClipboard', 'GetVersionExW', 'OpenEventLogA', 'GetNumberOfEventLogRecords', 'GetVersionExA', 'GetClipboardData', 'CreateRemoteThread', 'NtAlpcSendWaitReceivePort', 'OpenProcessToken', 'GetWindowRect', 'Process32First', 'GetProcAddress', 'GetComputerNameW', 'RtlAnsiStringToUnicodeString', 'GetCurrentProcessorNumber', 'CertCompareCertificate', 'Wow64GetThreadContext', 'DebugBreakProcess', 'SymSetOptions', 'OpenEventLogW', 'FreeConsole', 'GetComputerNameA', 'lstrcmpW', 'StartServiceW', 'UpdateProcThreadAttribute', 'CryptCATAdminEnumCatalogFromHash', 'RemoveVectoredExceptionHandler', 'NtOpenEvent', 'VirtualAllocEx', 'NtAlpcQueryInformationMessage', 'GetInterfaceInfo', 'GlobalUnlock', 'WinVerifyTrust', 'NtOpenDirectoryObject', 'Process32NextW', 'CryptCATAdminReleaseCatalogContext', 'SizeofResource', 'Wow64DisableWow64FsRedirection', 'VirtualFreeEx', 'ContinueDebugEvent', 'CertDuplicateCTLContext', 'SetThreadAffinityMask', 'NtQueryObject', 'ApiSetResolveToHost', 'CryptCATEnumerateCatAttr', 'GetWindowModuleFileNameA', 'GetNamedSecurityInfoW', 'EnumServicesStatusExW', 'MapViewOfFile', 'NtUnmapViewOfSection', 'GetWindowModuleFileNameW', 'Wow64RevertWow64FsRedirection', 'MessageBoxW', 'GlobalLock', 'EnumServicesStatusExA', 'TpCallbackSendAlpcMessageOnCompletion', 'DeleteProcThreadAttributeList', 'GetFileVersionInfoA', 'NtAlpcQueryInformation', 'NtAlpcCreatePort', 'OpenSCManagerW', 'VirtualFree', 'GetFileVersionInfoW', 'GetVolumeInformationA', 'OpenSCManagerA', 'NtQueryInformationProcess', 'GetFileVersionInfoSizeA', 'NtOpenSection', 'CertAddCertificateContextToStore', 'GetFileVersionInfoSizeW', 'GetProcessId', 'GetSidSubAuthorityCount', 'GetCurrentProcess', 'NtReadVirtualMemory', 'CryptCATGetMemberInfo', 'ConvertStringSidToSidA', 'OpenEventA', 'WindowFromPoint', 'GetThreadContext', 'GetTokenInformation', 'SetStdHandle', 'PFXImportCertStore', 'WaitForDebugEvent', 'GetNamedSecurityInfoA', 'CryptQueryObject', 'OpenThreadToken', 'CryptCATEnumerateMember', 'NtCreateFile', 'Thread32First', 'ResumeThread', 'CertDuplicateCertificateContext', 'QueryDosDeviceA', 'CryptMsgVerifyCountersignatureEncodedEx', 'AddVectoredExceptionHandler', 'GetMappedFileNameW', 'CoInitializeEx', 'LoadResource', 'GetWindowTextW', 'GetLogicalDriveStringsW', 'QueryDosDeviceW', 'GetWindowTextA', 'GetCurrentThread', 'GetEventLogInformation', 'CertEnumCertificatesInStore', 'CryptMsgVerifyCountersignatureEncoded', 'OpenThread', 'CertStrToNameW', 'SuspendThread', 'GetModuleFileNameW', 'EnumWindows', 'RtlGetCompressionWorkSpaceSize', 'CertStrToNameA', 'ExitProcess', 'CryptCATEnumerateAttr', 'CertOpenStore', 'GetModuleFileNameA', 'CloseServiceHandle', 'GetPriorityClass', 'GetMappedFileNameA', 'NtAlpcConnectPort', 'NtAlpcCreateSecurityContext', 'Process32Next', 'CryptGenKey', 'RtlDecompressBuffer', 'GetVolumeNameForVolumeMountPointA', 'SetClipboardData', 'DebugSetProcessKillOnExit', 'CryptCATAdminAcquireContext', 'GetIpAddrTable', 'GetVolumeNameForVolumeMountPointW', 'ExitThread', 'CryptDecodeObject', 'ReadEventLogA', 'RtlGetUnloadEventTraceEx', 'TerminateProcess', 'NtGetContextThread', 'NtAlpcCreatePortSection', 'NtAlpcCreateResourceReserve', 'GlobalAlloc', 'VirtualQueryEx', 'ReadEventLogW', 'SymGetTypeInfo', 'CryptCATAdminReleaseContext', 'GetClipboardFormatNameW', 'GetVersion', 'StartServiceA', 'LookupAccountSidW', 'CertCreateSelfSignCertificate', 'TerminateThread', 'LoadLibraryW', 'DeviceIoControl', 'AlpcInitializeMessageAttribute', 'GetExitCodeProcess', 'LookupAccountSidA', 'Wow64SetThreadContext', 'VirtualProtect', 'LoadLibraryA', 'NtAlpcAcceptConnectPort', 'GetSystemMetrics', 'NtCreateThreadEx', 'GetWindowsDirectoryW', 'QueryWorkingSet', 'GetLogicalDriveStringsA', 'CryptDecryptMessage', 'GetWindowsDirectoryA', 'VerQueryValueW', 'NtAlpcDeleteResourceReserve', 'VirtualProtectEx', 'CreateFileMappingW', 'CryptAcquireContextA', 'GetSidIdentifierAuthority', 'ReadProcessMemory', 'NtQueryInformationThread', 'CertFindCertificateInStore', 'CreateFileMappingA', 'Thread32Next', 'DuplicateHandle', 'SymLoadModuleEx', 'NtQueryDirectoryObject', 'NtCreateSection', 'CreateProcessA', 'FindFirstVolumeA', 'ShellExecuteW', 'CreateFileW', 'NtWow64WriteVirtualMemory64', 'CreateFileA', 'ShellExecuteA', 'FindFirstVolumeW', 'OpenClipboard', 'GetLastError', 'GetShortPathNameW', 'GlobalFree', 'OpenEventW', 'AlpcGetMessageAttribute', 'AdjustTokenPrivileges', 'CryptReleaseContext', 'GetProcessTimes', 'GetIfTable', 'CryptEncryptMessage', 'SymFromName', 'GetShortPathNameA', 'NtMapViewOfSection', 'CreateProcessW', 'ConvertStringSidToSidW', 'FindNextVolumeW', 'RegGetValueW', 'LockResource', 'MessageBoxA', 'SetTokenInformation', 'Wow64EnableWow64FsRedirection', 'NtAlpcDeleteSectionView', 'CertGetCertificateChain', 'RegGetValueA', 'Process32FirstW', 'LookupPrivilegeNameW', 'CoCreateInstance', 'lstrcmpA', 'NtQueryVolumeInformationFile', 'NtQueryDirectoryFile', 'ReadFile', 'CryptCATAdminCalcHashFromFileHandle', 'CertGetCertificateContextProperty', 'CloseHandle', 'LookupPrivilegeNameA', 'GetLengthSid', 'GetClipboardFormatNameA', 'PFXExportCertStoreEx', 'CryptAcquireContextW', 'CertFreeCTLContext', 'CertGetNameStringA', 'GetLongPathNameW', 'GetThreadId', 'RtlDecompressBufferEx', 'FindResourceW', 'NtAlpcRevokeSecurityContext', 'GetLongPathNameA', 'CertGetNameStringW', 'CloseClipboard', 'RtlInitString', 'FindResourceA', 'VirtualAlloc']) +interfaces = set(['IUnknown', 'IWbemServices', 'INetFwPolicy2', 'IEnumBackgroundCopyFiles', 'IEnumBackgroundCopyJobs', 'IBackgroundCopyJob', 'INetFwRules', 'IBackgroundCopyCallback', 'IWbemContext', 'INetFwServiceRestriction', 'IWbemClassObject', 'IWbemObjectSink', 'IBackgroundCopyManager', 'IDispatch', 'IWbemQualifierSet', 'IEnumVARIANT', 'IWbemLocator', 'INetFwRule', 'IWbemCallResult', 'IEnumWbemClassObject', 'IBackgroundCopyFile', 'IBackgroundCopyError']) def generate_walker(namelist, target_module): def my_walker(): for name in namelist: yield name, getattr(target_module, name) return my_walker -import winfuncs as winfuncs_module -functions_walker = generate_walker(functions, winfuncs_module) -import winstructs as winstructs_module -enums_walker = generate_walker(enums, winstructs_module) -import winstructs as winstructs_module -structs_walker = generate_walker(structs, winstructs_module) + import windef as windef_module windef_walker = generate_walker(windef, windef_module) +import winstructs as winstructs_module +structs_walker = generate_walker(structs, winstructs_module) +import winstructs as winstructs_module +enums_walker = generate_walker(enums, winstructs_module) +import winfuncs as winfuncs_module +functions_walker = generate_walker(functions, winfuncs_module) import interfaces as interfaces_module interfaces_walker = generate_walker(interfaces, interfaces_module) diff --git a/windows/generated_def/ntstatus.py b/windows/generated_def/ntstatus.py index f501a65..fdb9429 100644 --- a/windows/generated_def/ntstatus.py +++ b/windows/generated_def/ntstatus.py @@ -1,6 +1,5 @@ - import ctypes -from windef import * +from flag import Flag class NtStatusException(WindowsError): ALL_STATUS = {} @@ -1821,4 +1820,4 @@ STATUS_VIRTDISK_NOT_VIRTUAL_DISK = NtStatusException.register_ntstatus(0xc03a001 STATUS_VHD_PARENT_VHD_ACCESS_DENIED = NtStatusException.register_ntstatus(0xc03a0016, "STATUS_VHD_PARENT_VHD_ACCESS_DENIED", "The chain of virtual hard disks is inaccessible. The process has not been granted access rights to the parent virtual hard disk for the differencing disk") STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH = NtStatusException.register_ntstatus(0xc03a0017, "STATUS_VHD_CHILD_PARENT_SIZE_MISMATCH", "The chain of virtual hard disks is corrupted. There is a mismatch in the virtual sizes of the parent virtual hard disk and differencing disk") STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED = NtStatusException.register_ntstatus(0xc03a0018, "STATUS_VHD_DIFFERENCING_CHAIN_CYCLE_DETECTED", "The chain of virtual hard disks is corrupted. A differencing disk is indicated in its own parent chain") -STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT = NtStatusException.register_ntstatus(0xc03a0019, "STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT", "The chain of virtual hard disks is inaccessible. There was an error opening a virtual hard disk further up the chain") \ No newline at end of file +STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT = NtStatusException.register_ntstatus(0xc03a0019, "STATUS_VHD_DIFFERENCING_CHAIN_ERROR_IN_PARENT", "The chain of virtual hard disks is inaccessible. There was an error opening a virtual hard disk further up the chain") diff --git a/windows/generated_def/windef.py b/windows/generated_def/windef.py index b351c08..a2fe784 100644 --- a/windows/generated_def/windef.py +++ b/windows/generated_def/windef.py @@ -1,62 +1,10 @@ -#Generated file - - -import sys import platform -if sys.version_info.major == 3: - long = int +from flag import make_flag bits = platform.architecture()[0] bitness = int(bits[:2]) NATIVE_WORD_MAX_VALUE = 0xffffffff if bitness == 32 else 0xffffffffffffffff - -class Flag(long): - def __new__(cls, name, value): - return super(Flag, cls).__new__(cls, value) - - def __init__(self, name, value): - self.name = name - - def __repr__(self): - return "{0}({1})".format(self.name, hex(self)) - - __str__ = __repr__ - - # Fix pickling with protocol 2 - def __getnewargs__(self, *args): - return self.name, long(self) - -class StrFlag(str): - def __new__(cls, name, value): - if isinstance(value, cls): - return value - return super(StrFlag, cls).__new__(cls, value) - - def __init__(self, name, value): - self.name = name - - def __repr__(self): - return "{0}({1})".format(self.name, str.__repr__(self)) - - # __str__ = __repr__ - - # Fix pickling with protocol 2 - def __getnewargs__(self, *args): - return self.name, str.__str__(self) - -def make_flag(name, value): - if isinstance(value, (int, long)): - return Flag(name, value) - return StrFlag(name, value) - -class FlagMapper(dict): - def __init__(self, *values): - self.update({x:x for x in values}) - - def __missing__(self, key): - return key - from ntstatus import * RPC_REQUEST_TYPE_CALL = make_flag("RPC_REQUEST_TYPE_CALL", 0) RPC_REQUEST_TYPE_BIND = make_flag("RPC_REQUEST_TYPE_BIND", 1) @@ -1482,16 +1430,6 @@ RPC_S_UNKNOWN_IF = make_flag("RPC_S_UNKNOWN_IF", 1717) RPC_S_PROTOCOL_ERROR = make_flag("RPC_S_PROTOCOL_ERROR", 1728) RPC_S_UNSUPPORTED_TRANS_SYN = make_flag("RPC_S_UNSUPPORTED_TRANS_SYN", 1730) RPC_S_PROCNUM_OUT_OF_RANGE = make_flag("RPC_S_PROCNUM_OUT_OF_RANGE", 1745) -EVENTLOG_SUCCESS = make_flag("EVENTLOG_SUCCESS", 0x0000) -EVENTLOG_ERROR_TYPE = make_flag("EVENTLOG_ERROR_TYPE", 0x0001) -EVENTLOG_WARNING_TYPE = make_flag("EVENTLOG_WARNING_TYPE", 0x0002) -EVENTLOG_INFORMATION_TYPE = make_flag("EVENTLOG_INFORMATION_TYPE", 0x0004) -EVENTLOG_AUDIT_SUCCESS = make_flag("EVENTLOG_AUDIT_SUCCESS", 0x0008) -EVENTLOG_AUDIT_FAILURE = make_flag("EVENTLOG_AUDIT_FAILURE", 0x0010) -EVENTLOG_SEQUENTIAL_READ = make_flag("EVENTLOG_SEQUENTIAL_READ", 0x0001) -EVENTLOG_SEEK_READ = make_flag("EVENTLOG_SEEK_READ", 0x0002) -EVENTLOG_FORWARDS_READ = make_flag("EVENTLOG_FORWARDS_READ", 0x0004) -EVENTLOG_BACKWARDS_READ = make_flag("EVENTLOG_BACKWARDS_READ", 0x0008) 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) @@ -2054,4 +1992,14 @@ 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 )) +EVENTLOG_SUCCESS = make_flag("EVENTLOG_SUCCESS", 0x0000) +EVENTLOG_ERROR_TYPE = make_flag("EVENTLOG_ERROR_TYPE", 0x0001) +EVENTLOG_WARNING_TYPE = make_flag("EVENTLOG_WARNING_TYPE", 0x0002) +EVENTLOG_INFORMATION_TYPE = make_flag("EVENTLOG_INFORMATION_TYPE", 0x0004) +EVENTLOG_AUDIT_SUCCESS = make_flag("EVENTLOG_AUDIT_SUCCESS", 0x0008) +EVENTLOG_AUDIT_FAILURE = make_flag("EVENTLOG_AUDIT_FAILURE", 0x0010) +EVENTLOG_SEQUENTIAL_READ = make_flag("EVENTLOG_SEQUENTIAL_READ", 0x0001) +EVENTLOG_SEEK_READ = make_flag("EVENTLOG_SEEK_READ", 0x0002) +EVENTLOG_FORWARDS_READ = make_flag("EVENTLOG_FORWARDS_READ", 0x0004) +EVENTLOG_BACKWARDS_READ = make_flag("EVENTLOG_BACKWARDS_READ", 0x0008) diff --git a/windows/generated_def/winfuncs.py b/windows/generated_def/winfuncs.py index feb5514..e5c9126 100644 --- a/windows/generated_def/winfuncs.py +++ b/windows/generated_def/winfuncs.py @@ -1,14 +1,4 @@ -#Generated file - - -from ctypes import * -from ctypes.wintypes import * from winstructs import * - - -functions = ['ExitProcess', 'TerminateProcess', 'GetLastError', 'GetCurrentProcess', 'CreateFileA', 'CreateFileW', 'NtCreateFile', 'LdrLoadDll', 'NtQuerySystemInformation', 'NtQueryInformationProcess', 'NtSetInformationProcess', 'NtQueryVirtualMemory', 'NtQueryVolumeInformationFile', 'NtCreateThreadEx', 'NtQueryInformationThread', 'GetExitCodeThread', 'GetExitCodeProcess', 'SetPriorityClass', 'GetPriorityClass', 'VirtualAlloc', 'VirtualAllocEx', 'NtProtectVirtualMemory', 'VirtualFree', 'VirtualFreeEx', 'VirtualProtect', 'VirtualProtectEx', 'VirtualQuery', 'VirtualQueryEx', 'QueryWorkingSet', 'QueryWorkingSetEx', 'GetModuleFileNameA', 'GetModuleFileNameW', 'CreateThread', 'CreateRemoteThread', 'VirtualProtect', 'CreateProcessA', 'CreateProcessW', 'CreateProcessAsUserA', 'CreateProcessAsUserW', 'GetThreadContext', 'NtGetContextThread', 'SetThreadContext', 'NtSetContextThread', 'OpenThread', 'OpenProcess', 'CloseHandle', 'ReadProcessMemory', 'NtWow64ReadVirtualMemory64', 'NtReadVirtualMemory', 'WriteProcessMemory', 'NtWow64WriteVirtualMemory64', 'CreateToolhelp32Snapshot', 'Thread32First', 'Thread32Next', 'Process32First', 'Process32Next', 'Process32FirstW', 'Process32NextW', 'GetProcAddress', 'LoadLibraryA', 'LoadLibraryW', 'OpenProcessToken', 'OpenThreadToken', 'LookupPrivilegeValueA', 'LookupPrivilegeValueW', 'LookupPrivilegeNameA', 'LookupPrivilegeNameW', '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', 'GetLengthSid', 'CreateWellKnownSid', 'DebugBreak', 'WaitForDebugEvent', 'ContinueDebugEvent', 'DebugActiveProcess', 'DebugActiveProcessStop', 'DebugSetProcessKillOnExit', 'DebugBreakProcess', 'GetProcessId', 'Wow64SetThreadContext', 'GetMappedFileNameW', 'GetMappedFileNameA', 'RtlInitString', 'RtlInitUnicodeString', 'RtlAnsiStringToUnicodeString', 'RtlDecompressBuffer', 'RtlDecompressBufferEx', 'RtlGetCompressionWorkSpaceSize', 'NtCreateSection', 'NtOpenSection', 'NtMapViewOfSection', 'NtUnmapViewOfSection', 'OpenEventA', 'OpenEventW', 'NtOpenEvent', 'NtAlpcCreatePort', 'NtAlpcQueryInformation', 'NtAlpcQueryInformationMessage', 'NtAlpcConnectPort', 'NtAlpcConnectPortEx', 'NtAlpcAcceptConnectPort', 'AlpcInitializeMessageAttribute', 'AlpcGetMessageAttribute', 'NtAlpcSendWaitReceivePort', 'NtAlpcDisconnectPort', 'NtAlpcCreatePortSection', 'NtAlpcDeletePortSection', 'NtAlpcCreateResourceReserve', 'NtAlpcDeleteResourceReserve', 'NtAlpcCreateSectionView', 'NtAlpcDeleteSectionView', 'NtAlpcCreateSecurityContext', 'NtAlpcDeleteSecurityContext', 'NtAlpcRevokeSecurityContext', 'lstrcmpA', 'lstrcmpW', 'CreateFileMappingA', 'CreateFileMappingW', 'MapViewOfFile', 'OpenSCManagerA', 'OpenSCManagerW', 'CloseServiceHandle', 'EnumServicesStatusExA', 'EnumServicesStatusExW', 'StartServiceA', 'StartServiceW', 'OpenServiceA', 'OpenServiceW', 'EnumWindows', 'GetWindowTextA', 'GetWindowTextW', 'GetWindowModuleFileNameA', 'GetWindowModuleFileNameW', 'GetLogicalDriveStringsA', 'GetLogicalDriveStringsW', 'GetVolumeInformationA', 'GetVolumeInformationW', 'GetVolumeNameForVolumeMountPointA', 'GetVolumeNameForVolumeMountPointW', 'GetDriveTypeA', 'GetDriveTypeW', 'QueryDosDeviceA', 'QueryDosDeviceW', 'FindFirstVolumeA', 'FindFirstVolumeW', 'FindNextVolumeA', 'FindNextVolumeW', 'NtQueryObject', 'DuplicateHandle', 'ZwDuplicateObject', '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', 'InitializeProcThreadAttributeList', 'UpdateProcThreadAttribute', 'DeleteProcThreadAttributeList', 'MessageBoxA', 'MessageBoxW', 'GetWindowsDirectoryA', 'GetWindowsDirectoryW', 'RtlGetUnloadEventTraceEx', 'NtQueryInformationFile', 'NtQueryDirectoryFile', 'RtlDosPathNameToNtPathName_U', 'ApiSetResolveToHost', 'CryptCATAdminCalcHashFromFileHandle', 'CryptCATAdminEnumCatalogFromHash', 'CryptCATAdminAcquireContext', 'CryptCATCatalogInfoFromContext', 'CryptCATAdminReleaseCatalogContext', 'CryptCATAdminReleaseContext', 'CryptCATGetAttrInfo', 'CryptCATGetMemberInfo', 'CryptCATGetAttrInfo', 'CryptCATEnumerateCatAttr', 'CryptCATEnumerateAttr', 'CryptCATEnumerateMember', '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', 'CertCompareCertificate', 'CertEnumCTLsInStore', 'CertDuplicateCTLContext', 'CertFreeCTLContext', 'CryptUIDlgViewContext', 'CryptMsgVerifyCountersignatureEncoded', 'CryptMsgVerifyCountersignatureEncodedEx', 'OpenEventLogA', 'OpenEventLogW', 'ReadEventLogA', 'ReadEventLogW', 'GetEventLogInformation', 'GetNumberOfEventLogRecords', 'CloseEventLog', 'TpCallbackSendAlpcMessageOnCompletion'] - - #def ExitProcess(uExitCode): # return ExitProcess.ctypes_function(uExitCode) ExitProcessPrototype = WINFUNCTYPE(VOID, UINT) @@ -1394,6 +1384,11 @@ RtlDosPathNameToNtPathName_UParams = ((1, 'DosName'), (1, 'NtName'), (1, 'PartNa ApiSetResolveToHostPrototype = WINFUNCTYPE(NTSTATUS, PVOID, PUNICODE_STRING, PUNICODE_STRING, PBOOLEAN, PUNICODE_STRING) ApiSetResolveToHostParams = ((1, 'Schema'), (1, 'FileNameIn'), (1, 'ParentName'), (1, 'Resolved'), (1, 'HostBinary')) +#def TpCallbackSendAlpcMessageOnCompletion(TpHandle, PortHandle, Flags, SendMessage): +# return TpCallbackSendAlpcMessageOnCompletion.ctypes_function(TpHandle, PortHandle, Flags, SendMessage) +TpCallbackSendAlpcMessageOnCompletionPrototype = WINFUNCTYPE(NTSTATUS, HANDLE, HANDLE, ULONG, PPORT_MESSAGE) +TpCallbackSendAlpcMessageOnCompletionParams = ((1, 'TpHandle'), (1, 'PortHandle'), (1, 'Flags'), (1, 'SendMessage')) + #def CryptCATAdminCalcHashFromFileHandle(hFile, pcbHash, pbHash, dwFlags): # return CryptCATAdminCalcHashFromFileHandle.ctypes_function(hFile, pcbHash, pbHash, dwFlags) CryptCATAdminCalcHashFromFileHandlePrototype = WINFUNCTYPE(BOOL, HANDLE, POINTER(DWORD), POINTER(BYTE), DWORD) @@ -1669,7 +1664,3 @@ GetNumberOfEventLogRecordsParams = ((1, 'hEventLog'), (1, 'NumberOfRecords')) CloseEventLogPrototype = WINFUNCTYPE(BOOL, HANDLE) CloseEventLogParams = ((1, 'hEventLog'),) -#def TpCallbackSendAlpcMessageOnCompletion(TpHandle, PortHandle, Flags, SendMessage): -# return TpCallbackSendAlpcMessageOnCompletion.ctypes_function(TpHandle, PortHandle, Flags, SendMessage) -TpCallbackSendAlpcMessageOnCompletionPrototype = WINFUNCTYPE(NTSTATUS, HANDLE, HANDLE, ULONG, PPORT_MESSAGE) -TpCallbackSendAlpcMessageOnCompletionParams = ((1, 'TpHandle'), (1, 'PortHandle'), (1, 'Flags'), (1, 'SendMessage')) diff --git a/windows/generated_def/winstructs.py b/windows/generated_def/winstructs.py index a7c3b4f..29e521b 100644 --- a/windows/generated_def/winstructs.py +++ b/windows/generated_def/winstructs.py @@ -1,104 +1,9 @@ -#Generated file - - +from windef import * from ctypes import * from ctypes.wintypes import * -from windef import * -BYTE = c_ubyte -PWSTR = LPWSTR -PCWSTR = LPWSTR -SIZE_T = c_size_t -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) -LPTHREAD_START_ROUTINE = PVOID -WNDENUMPROC = PVOID -PHANDLER_ROUTINE = PVOID -LPBYTE = POINTER(BYTE) -ULONG_PTR = PVOID -DWORD_PTR = ULONG_PTR -KAFFINITY = ULONG_PTR -KPRIORITY = LONG -CHAR = c_char -INT = c_int -UCHAR = c_char -CSHORT = c_short -VARTYPE = c_ushort -PBOOL = POINTER(BOOL) -PSTR = LPSTR -PCSTR = LPSTR -va_list = c_char_p -BSTR = c_wchar_p -OLECHAR = c_wchar -POLECHAR = c_wchar_p -PUCHAR = POINTER(UCHAR) -double = c_double -FARPROC = PVOID -HGLOBAL = PVOID -PSID = PVOID -PVECTORED_EXCEPTION_HANDLER = PVOID -ULONGLONG = c_ulonglong -LONGLONG = c_longlong -ULONG64 = c_ulonglong -UINT64 = ULONG64 -LONG64 = c_longlong -LARGE_INTEGER = LONGLONG -PLARGE_INTEGER = POINTER(LARGE_INTEGER) -DWORD64 = ULONG64 -SCODE = LONG -CIMTYPE = LONG -NET_IFINDEX = ULONG -IF_INDEX = NET_IFINDEX -IFTYPE = ULONG -PULONG64 = POINTER(ULONG64) -LPFILETIME = POINTER(FILETIME) -LPPOINT = POINTER(POINT) -LPRECT = POINTER(RECT) -PBYTE = POINTER(BYTE) -PUINT = POINTER(UINT) -PHANDLE = POINTER(HANDLE) -HKEY = HANDLE -HCATADMIN = HANDLE -HCATINFO = HANDLE -HDC = HANDLE -HBITMAP = HANDLE -SC_HANDLE = HANDLE -HCERTCHAINENGINE = HANDLE -LPHANDLE = POINTER(HANDLE) -ALPC_HANDLE = HANDLE -PALPC_HANDLE = POINTER(ALPC_HANDLE) -PHKEY = POINTER(HKEY) -ACCESS_MASK = DWORD -REGSAM = ACCESS_MASK -PBOOLEAN = POINTER(BOOLEAN) -SECURITY_CONTEXT_TRACKING_MODE = BOOLEAN -HCRYPTPROV_OR_NCRYPT_KEY_HANDLE = PULONG -HCRYPTPROV_LEGACY = PULONG -HCRYPTKEY = PULONG -HCRYPTPROV = PULONG -HCRYPTHASH = PULONG -ALG_ID = UINT -DISPID = LONG -MEMBERID = DISPID -PSECURITY_DESCRIPTOR = PVOID -LPPROC_THREAD_ATTRIBUTE_LIST = PVOID -LPUNKNOWN = POINTER(PVOID) -SPC_UUID = BYTE * 16 -PIO_APC_ROUTINE = PVOID -DEVICE_TYPE = DWORD -PWINDBG_EXTENSION_APIS32 = PVOID -PWINDBG_EXTENSION_APIS64 = PVOID -LPCONTEXT = PVOID -HCERTSTORE = PVOID -HCRYPTMSG = PVOID -PALPC_PORT_ATTRIBUTES = PVOID -VOID = DWORD + +from flag import Flag, FlagMapper + class EnumValue(Flag): def __new__(cls, enum_name, name, value): return super(EnumValue, cls).__new__(cls, name, value) @@ -130,7 +35,428 @@ class EnumType(DWORD): value = self.value return "<{0} {1}({2})>".format(type(self).__name__, value.name, hex(raw_value)) return "<{0}({1})>".format(type(self).__name__, hex(self.value)) +class _API_SET_VALUE_ENTRY(Structure): + _fields_ = [ + ("Flags", ULONG), + ("NameOffset", ULONG), + ("NameLength", ULONG), + ("ValueOffset", ULONG), + ("ValueLength", ULONG), + ] +API_SET_VALUE_ENTRY = _API_SET_VALUE_ENTRY +PAPI_SET_VALUE_ENTRY = POINTER(_API_SET_VALUE_ENTRY) +class _API_SET_NAMESPACE_ENTRY(Structure): + _fields_ = [ + ("Flags", ULONG), + ("NameOffset", ULONG), + ("NameLength", ULONG), + ("AliasOffset", ULONG), + ("AliasLength", ULONG), + ("DataOffset", ULONG), + ] +PAPI_SET_NAMESPACE_ENTRY = POINTER(_API_SET_NAMESPACE_ENTRY) +API_SET_NAMESPACE_ENTRY = _API_SET_NAMESPACE_ENTRY + +class _API_SET_NAMESPACE_ARRAY(Structure): + _fields_ = [ + ("Version", ULONG), + ("Size", ULONG), + ("Flags", ULONG), + ("Count", ULONG), + ("Array", API_SET_NAMESPACE_ENTRY * ANYSIZE_ARRAY), + ] +PAPI_SET_NAMESPACE_ARRAY = POINTER(_API_SET_NAMESPACE_ARRAY) +API_SET_NAMESPACE_ARRAY = _API_SET_NAMESPACE_ARRAY + +class _API_SET_VALUE_ENTRY_V2(Structure): + _fields_ = [ + ("NameOffset", ULONG), + ("NameLength", ULONG), + ("ValueOffset", ULONG), + ("ValueLength", ULONG), + ] +PAPI_SET_VALUE_ENTRY_V2 = POINTER(_API_SET_VALUE_ENTRY_V2) +API_SET_VALUE_ENTRY_V2 = _API_SET_VALUE_ENTRY_V2 + +class _API_SET_VALUE_ARRAY_V2(Structure): + _fields_ = [ + ("Count", ULONG), + ("Array", API_SET_VALUE_ENTRY_V2 * ANYSIZE_ARRAY), + ] +API_SET_VALUE_ARRAY_V2 = _API_SET_VALUE_ARRAY_V2 +PAPI_SET_VALUE_ARRAY_V2 = POINTER(_API_SET_VALUE_ARRAY_V2) + +class _API_SET_NAMESPACE_ENTRY_V2(Structure): + _fields_ = [ + ("NameOffset", ULONG), + ("NameLength", ULONG), + ("DataOffset", ULONG), + ] +PAPI_SET_NAMESPACE_ENTRY_V2 = POINTER(_API_SET_NAMESPACE_ENTRY_V2) +API_SET_NAMESPACE_ENTRY_V2 = _API_SET_NAMESPACE_ENTRY_V2 + +class _API_SET_NAMESPACE_ARRAY_V2(Structure): + _fields_ = [ + ("Version", ULONG), + ("Count", ULONG), + ("Array", API_SET_NAMESPACE_ENTRY_V2 * ANYSIZE_ARRAY), + ] +API_SET_NAMESPACE_ARRAY_V2 = _API_SET_NAMESPACE_ARRAY_V2 +PAPI_SET_NAMESPACE_ARRAY_V2 = POINTER(_API_SET_NAMESPACE_ARRAY_V2) + +class _API_SET_VALUE_ARRAY_V4(Structure): + _fields_ = [ + ("GuessFlags", ULONG), + ("Count", ULONG), + ("Array", API_SET_VALUE_ENTRY_V2 * ANYSIZE_ARRAY), + ] +API_SET_VALUE_ARRAY_V4 = _API_SET_VALUE_ARRAY_V4 +PAPI_SET_VALUE_ARRAY_V2 = POINTER(_API_SET_VALUE_ARRAY_V4) + +class _API_SET_NAMESPACE_ARRAY_V4(Structure): + _fields_ = [ + ("Version", ULONG), + ("Size", ULONG), + ("Flags", ULONG), + ("Count", ULONG), + ("Array", API_SET_NAMESPACE_ENTRY * ANYSIZE_ARRAY), + ] +API_SET_NAMESPACE_ARRAY_V4 = _API_SET_NAMESPACE_ARRAY_V4 +PAPI_SET_NAMESPACE_ARRAY_V4 = POINTER(_API_SET_NAMESPACE_ARRAY_V4) + +class _API_SET_NAMESPACE_ENTRY_V4(Structure): + _fields_ = [ + ("Flags", ULONG), + ("NameOffset", ULONG), + ("NameLength", ULONG), + ("AliasOffset", ULONG), + ("AliasLength", ULONG), + ("DataOffset", ULONG), + ] +PAPI_SET_NAMESPACE_ENTRY_V4 = POINTER(_API_SET_NAMESPACE_ENTRY_V4) +API_SET_NAMESPACE_ENTRY_V4 = _API_SET_NAMESPACE_ENTRY_V4 + +class _API_SET_NAMESPACE_ENTRY_V6(Structure): + _fields_ = [ + ("Flags", ULONG), + ("NameOffset", ULONG), + ("NameLength", ULONG), + ("HashedLength", ULONG), + ("ValueOffset", ULONG), + ("ValueCount", ULONG), + ] +API_SET_NAMESPACE_ENTRY_V6 = _API_SET_NAMESPACE_ENTRY_V6 + +class _API_SET_NAMESPACE_V6(Structure): + _fields_ = [ + ("Version", ULONG), + ("Size", ULONG), + ("Flags", ULONG), + ("Count", ULONG), + ("EntryOffset", ULONG), + ("HashOffset", ULONG), + ("HashFactor", ULONG), + ] +API_SET_NAMESPACE_V6 = _API_SET_NAMESPACE_V6 + +VOID = DWORD +BYTE = c_ubyte +PWSTR = LPWSTR +PCWSTR = LPWSTR +SIZE_T = c_size_t +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) +LPTHREAD_START_ROUTINE = PVOID +WNDENUMPROC = PVOID +PHANDLER_ROUTINE = PVOID +LPBYTE = POINTER(BYTE) +ULONG_PTR = PVOID +DWORD_PTR = ULONG_PTR +KAFFINITY = ULONG_PTR +KPRIORITY = LONG +CHAR = c_char +UCHAR = c_char +CSHORT = c_short +VARTYPE = c_ushort +PBOOL = POINTER(BOOL) +PSTR = LPSTR +PCSTR = LPSTR +va_list = c_char_p +BSTR = c_wchar_p +OLECHAR = c_wchar +POLECHAR = c_wchar_p +PUCHAR = POINTER(UCHAR) +double = c_double +FARPROC = PVOID +PSID = PVOID +PVECTORED_EXCEPTION_HANDLER = PVOID +ULONGLONG = c_ulonglong +LONGLONG = c_longlong +ULONG64 = c_ulonglong +UINT64 = ULONG64 +LONG64 = c_longlong +PLARGE_INTEGER = POINTER(LARGE_INTEGER) +DWORD64 = ULONG64 +SCODE = LONG +CIMTYPE = LONG +NET_IFINDEX = ULONG +IF_INDEX = NET_IFINDEX +IFTYPE = ULONG +PULONG64 = POINTER(ULONG64) +PBYTE = POINTER(BYTE) +PUINT = POINTER(UINT) +PHANDLE = POINTER(HANDLE) +HCATADMIN = HANDLE +HCATINFO = HANDLE +HCERTCHAINENGINE = HANDLE +LPHANDLE = POINTER(HANDLE) +ALPC_HANDLE = HANDLE +PALPC_HANDLE = POINTER(ALPC_HANDLE) +PHKEY = POINTER(HKEY) +ACCESS_MASK = DWORD +REGSAM = ACCESS_MASK +PBOOLEAN = POINTER(BOOLEAN) +SECURITY_CONTEXT_TRACKING_MODE = BOOLEAN +HCRYPTPROV_OR_NCRYPT_KEY_HANDLE = PULONG +HCRYPTPROV_LEGACY = PULONG +HCRYPTKEY = PULONG +HCRYPTPROV = PULONG +HCRYPTHASH = PULONG +ALG_ID = UINT +DISPID = LONG +MEMBERID = DISPID +PSECURITY_DESCRIPTOR = PVOID +LPPROC_THREAD_ATTRIBUTE_LIST = PVOID +LPUNKNOWN = POINTER(PVOID) +LPFILETIME = POINTER(FILETIME) +LPPOINT = POINTER(POINT) +LPRECT = POINTER(RECT) +SPC_UUID = BYTE*16 +PIO_APC_ROUTINE = PVOID +DEVICE_TYPE = DWORD +PWINDBG_EXTENSION_APIS32 = PVOID +PWINDBG_EXTENSION_APIS64 = PVOID +LPCONTEXT = PVOID +HCERTSTORE = PVOID +HCRYPTMSG = PVOID +PALPC_PORT_ATTRIBUTES = PVOID +PPORT_MESSAGE = PVOID +FakeFileInformationZero = EnumValue("_FILE_INFORMATION_CLASS", "FakeFileInformationZero", 0x0) +FileDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileDirectoryInformation", 0x1) +FileFullDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileFullDirectoryInformation", 0x2) +FileBothDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileBothDirectoryInformation", 0x3) +FileBasicInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileBasicInformation", 0x4) +FileStandardInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileStandardInformation", 0x5) +FileInternalInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileInternalInformation", 0x6) +FileEaInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileEaInformation", 0x7) +FileAccessInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileAccessInformation", 0x8) +FileNameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileNameInformation", 0x9) +FileRenameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileRenameInformation", 0xa) +FileLinkInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileLinkInformation", 0xb) +FileNamesInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileNamesInformation", 0xc) +FileDispositionInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileDispositionInformation", 0xd) +FilePositionInformation = EnumValue("_FILE_INFORMATION_CLASS", "FilePositionInformation", 0xe) +FileFullEaInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileFullEaInformation", 0xf) +FileModeInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileModeInformation", 0x10) +FileAlignmentInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileAlignmentInformation", 0x11) +FileAllInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileAllInformation", 0x12) +FileAllocationInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileAllocationInformation", 0x13) +FileEndOfFileInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileEndOfFileInformation", 0x14) +FileAlternateNameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileAlternateNameInformation", 0x15) +FileStreamInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileStreamInformation", 0x16) +FilePipeInformation = EnumValue("_FILE_INFORMATION_CLASS", "FilePipeInformation", 0x17) +FilePipeLocalInformation = EnumValue("_FILE_INFORMATION_CLASS", "FilePipeLocalInformation", 0x18) +FilePipeRemoteInformation = EnumValue("_FILE_INFORMATION_CLASS", "FilePipeRemoteInformation", 0x19) +FileMailslotQueryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileMailslotQueryInformation", 0x1a) +FileMailslotSetInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileMailslotSetInformation", 0x1b) +FileCompressionInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileCompressionInformation", 0x1c) +FileObjectIdInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileObjectIdInformation", 0x1d) +FileCompletionInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileCompletionInformation", 0x1e) +FileMoveClusterInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileMoveClusterInformation", 0x1f) +FileQuotaInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileQuotaInformation", 0x20) +FileReparsePointInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileReparsePointInformation", 0x21) +FileNetworkOpenInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileNetworkOpenInformation", 0x22) +FileAttributeTagInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileAttributeTagInformation", 0x23) +FileTrackingInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileTrackingInformation", 0x24) +FileIdBothDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIdBothDirectoryInformation", 0x25) +FileIdFullDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIdFullDirectoryInformation", 0x26) +FileValidDataLengthInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileValidDataLengthInformation", 0x27) +FileShortNameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileShortNameInformation", 0x28) +FileIoCompletionNotificationInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIoCompletionNotificationInformation", 0x29) +FileIoStatusBlockRangeInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIoStatusBlockRangeInformation", 0x2a) +FileIoPriorityHintInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIoPriorityHintInformation", 0x2b) +FileSfioReserveInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileSfioReserveInformation", 0x2c) +FileSfioVolumeInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileSfioVolumeInformation", 0x2d) +FileHardLinkInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileHardLinkInformation", 0x2e) +FileProcessIdsUsingFileInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileProcessIdsUsingFileInformation", 0x2f) +FileNormalizedNameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileNormalizedNameInformation", 0x30) +FileNetworkPhysicalNameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileNetworkPhysicalNameInformation", 0x31) +FileIdGlobalTxDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIdGlobalTxDirectoryInformation", 0x32) +FileIsRemoteDeviceInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIsRemoteDeviceInformation", 0x33) +FileUnusedInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileUnusedInformation", 0x34) +FileNumaNodeInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileNumaNodeInformation", 0x35) +FileStandardLinkInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileStandardLinkInformation", 0x36) +FileRemoteProtocolInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileRemoteProtocolInformation", 0x37) +FileRenameInformationBypassAccessCheck = EnumValue("_FILE_INFORMATION_CLASS", "FileRenameInformationBypassAccessCheck", 0x38) +FileLinkInformationBypassAccessCheck = EnumValue("_FILE_INFORMATION_CLASS", "FileLinkInformationBypassAccessCheck", 0x39) +FileVolumeNameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileVolumeNameInformation", 0x3a) +FileIdInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIdInformation", 0x3b) +FileIdExtdDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIdExtdDirectoryInformation", 0x3c) +FileReplaceCompletionInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileReplaceCompletionInformation", 0x3d) +FileHardLinkFullIdInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileHardLinkFullIdInformation", 0x3e) +FileIdExtdBothDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIdExtdBothDirectoryInformation", 0x3f) +FileDispositionInformationEx = EnumValue("_FILE_INFORMATION_CLASS", "FileDispositionInformationEx", 0x40) +FileRenameInformationEx = EnumValue("_FILE_INFORMATION_CLASS", "FileRenameInformationEx", 0x41) +FileRenameInformationExBypassAccessCheck = EnumValue("_FILE_INFORMATION_CLASS", "FileRenameInformationExBypassAccessCheck", 0x42) +FileMaximumInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileMaximumInformation", 0x43) +class _FILE_INFORMATION_CLASS(EnumType): + values = [FakeFileInformationZero, FileDirectoryInformation, FileFullDirectoryInformation, FileBothDirectoryInformation, FileBasicInformation, FileStandardInformation, FileInternalInformation, FileEaInformation, FileAccessInformation, FileNameInformation, FileRenameInformation, FileLinkInformation, FileNamesInformation, FileDispositionInformation, FilePositionInformation, FileFullEaInformation, FileModeInformation, FileAlignmentInformation, FileAllInformation, FileAllocationInformation, FileEndOfFileInformation, FileAlternateNameInformation, FileStreamInformation, FilePipeInformation, FilePipeLocalInformation, FilePipeRemoteInformation, FileMailslotQueryInformation, FileMailslotSetInformation, FileCompressionInformation, FileObjectIdInformation, FileCompletionInformation, FileMoveClusterInformation, FileQuotaInformation, FileReparsePointInformation, FileNetworkOpenInformation, FileAttributeTagInformation, FileTrackingInformation, FileIdBothDirectoryInformation, FileIdFullDirectoryInformation, FileValidDataLengthInformation, FileShortNameInformation, FileIoCompletionNotificationInformation, FileIoStatusBlockRangeInformation, FileIoPriorityHintInformation, FileSfioReserveInformation, FileSfioVolumeInformation, FileHardLinkInformation, FileProcessIdsUsingFileInformation, FileNormalizedNameInformation, FileNetworkPhysicalNameInformation, FileIdGlobalTxDirectoryInformation, FileIsRemoteDeviceInformation, FileUnusedInformation, FileNumaNodeInformation, FileStandardLinkInformation, FileRemoteProtocolInformation, FileRenameInformationBypassAccessCheck, FileLinkInformationBypassAccessCheck, FileVolumeNameInformation, FileIdInformation, FileIdExtdDirectoryInformation, FileReplaceCompletionInformation, FileHardLinkFullIdInformation, FileIdExtdBothDirectoryInformation, FileDispositionInformationEx, FileRenameInformationEx, FileRenameInformationExBypassAccessCheck, FileMaximumInformation] + mapper = {x:x for x in values} +FILE_INFORMATION_CLASS = _FILE_INFORMATION_CLASS +PFILE_INFORMATION_CLASS = POINTER(_FILE_INFORMATION_CLASS) + + +IoPriorityVeryLow = EnumValue("_IO_PRIORITY_HINT", "IoPriorityVeryLow", 0x0) +IoPriorityLow = EnumValue("_IO_PRIORITY_HINT", "IoPriorityLow", 0x1) +IoPriorityNormal = EnumValue("_IO_PRIORITY_HINT", "IoPriorityNormal", 0x2) +IoPriorityHigh = EnumValue("_IO_PRIORITY_HINT", "IoPriorityHigh", 0x3) +IoPriorityCritical = EnumValue("_IO_PRIORITY_HINT", "IoPriorityCritical", 0x4) +MaxIoPriorityTypes = EnumValue("_IO_PRIORITY_HINT", "MaxIoPriorityTypes", 0x5) +class _IO_PRIORITY_HINT(EnumType): + values = [IoPriorityVeryLow, IoPriorityLow, IoPriorityNormal, IoPriorityHigh, IoPriorityCritical, MaxIoPriorityTypes] + mapper = {x:x for x in values} +IO_PRIORITY_HINT = _IO_PRIORITY_HINT + + +class _FILE_INTERNAL_INFORMATION(Structure): + _fields_ = [ + ("IndexNumber", LARGE_INTEGER), + ] +FILE_INTERNAL_INFORMATION = _FILE_INTERNAL_INFORMATION +PFILE_INTERNAL_INFORMATION = POINTER(_FILE_INTERNAL_INFORMATION) + +class _FILE_ALIGNMENT_INFORMATION(Structure): + _fields_ = [ + ("AlignmentRequirement", ULONG), + ] +PFILE_ALIGNMENT_INFORMATION = POINTER(_FILE_ALIGNMENT_INFORMATION) +FILE_ALIGNMENT_INFORMATION = _FILE_ALIGNMENT_INFORMATION + +class _FILE_ATTRIBUTE_TAG_INFORMATION(Structure): + _fields_ = [ + ("FileAttributes", ULONG), + ("ReparseTag", ULONG), + ] +PFILE_ATTRIBUTE_TAG_INFORMATION = POINTER(_FILE_ATTRIBUTE_TAG_INFORMATION) +FILE_ATTRIBUTE_TAG_INFORMATION = _FILE_ATTRIBUTE_TAG_INFORMATION + +class _FILE_BASIC_INFORMATION(Structure): + _fields_ = [ + ("CreationTime", LARGE_INTEGER), + ("LastAccessTime", LARGE_INTEGER), + ("LastWriteTime", LARGE_INTEGER), + ("ChangeTime", LARGE_INTEGER), + ("FileAttributes", ULONG), + ] +FILE_BASIC_INFORMATION = _FILE_BASIC_INFORMATION +PFILE_BASIC_INFORMATION = POINTER(_FILE_BASIC_INFORMATION) + +class _FILE_EA_INFORMATION(Structure): + _fields_ = [ + ("EaSize", ULONG), + ] +PFILE_EA_INFORMATION = POINTER(_FILE_EA_INFORMATION) +FILE_EA_INFORMATION = _FILE_EA_INFORMATION + +class _FILE_IO_PRIORITY_HINT_INFORMATION(Structure): + _fields_ = [ + ("PriorityHint", IO_PRIORITY_HINT), + ] +PFILE_IO_PRIORITY_HINT_INFORMATION = POINTER(_FILE_IO_PRIORITY_HINT_INFORMATION) +FILE_IO_PRIORITY_HINT_INFORMATION = _FILE_IO_PRIORITY_HINT_INFORMATION + +class _FILE_MODE_INFORMATION(Structure): + _fields_ = [ + ("Mode", ULONG), + ] +PFILE_MODE_INFORMATION = POINTER(_FILE_MODE_INFORMATION) +FILE_MODE_INFORMATION = _FILE_MODE_INFORMATION + +class _FILE_NAME_INFORMATION(Structure): + _fields_ = [ + ("FileNameLength", ULONG), + ("FileName", WCHAR * 1), + ] +PFILE_NAME_INFORMATION = POINTER(_FILE_NAME_INFORMATION) +FILE_NAME_INFORMATION = _FILE_NAME_INFORMATION + +class _FILE_NETWORK_OPEN_INFORMATION(Structure): + _fields_ = [ + ("CreationTime", LARGE_INTEGER), + ("LastAccessTime", LARGE_INTEGER), + ("LastWriteTime", LARGE_INTEGER), + ("ChangeTime", LARGE_INTEGER), + ("AllocationSize", LARGE_INTEGER), + ("EndOfFile", LARGE_INTEGER), + ("FileAttributes", ULONG), + ] +PFILE_NETWORK_OPEN_INFORMATION = POINTER(_FILE_NETWORK_OPEN_INFORMATION) +FILE_NETWORK_OPEN_INFORMATION = _FILE_NETWORK_OPEN_INFORMATION + +class _FILE_STANDARD_INFORMATION(Structure): + _fields_ = [ + ("AllocationSize", LARGE_INTEGER), + ("EndOfFile", LARGE_INTEGER), + ("NumberOfLinks", ULONG), + ("DeletePending", BOOLEAN), + ("Directory", BOOLEAN), + ] +FILE_STANDARD_INFORMATION = _FILE_STANDARD_INFORMATION +PFILE_STANDARD_INFORMATION = POINTER(_FILE_STANDARD_INFORMATION) + +class _FILE_ACCESS_INFORMATION(Structure): + _fields_ = [ + ("AccessFlags", ACCESS_MASK), + ] +FILE_ACCESS_INFORMATION = _FILE_ACCESS_INFORMATION +PFILE_ACCESS_INFORMATION = POINTER(_FILE_ACCESS_INFORMATION) + +class _FILE_POSITION_INFORMATION(Structure): + _fields_ = [ + ("CurrentByteOffset", LARGE_INTEGER), + ] +PFILE_POSITION_INFORMATION = POINTER(_FILE_POSITION_INFORMATION) +FILE_POSITION_INFORMATION = _FILE_POSITION_INFORMATION + +class _FILE_IS_REMOTE_DEVICE_INFORMATION(Structure): + _fields_ = [ + ("IsRemote", BOOLEAN), + ] +FILE_IS_REMOTE_DEVICE_INFORMATION = _FILE_IS_REMOTE_DEVICE_INFORMATION +PFILE_IS_REMOTE_DEVICE_INFORMATION = POINTER(_FILE_IS_REMOTE_DEVICE_INFORMATION) + +class _FILE_ALL_INFORMATION(Structure): + _fields_ = [ + ("BasicInformation", FILE_BASIC_INFORMATION), + ("StandardInformation", FILE_STANDARD_INFORMATION), + ("InternalInformation", FILE_INTERNAL_INFORMATION), + ("EaInformation", FILE_EA_INFORMATION), + ("AccessInformation", FILE_ACCESS_INFORMATION), + ("PositionInformation", FILE_POSITION_INFORMATION), + ("ModeInformation", FILE_MODE_INFORMATION), + ("AlignmentInformation", FILE_ALIGNMENT_INFORMATION), + ("NameInformation", FILE_NAME_INFORMATION), + ] +PFILE_ALL_INFORMATION = POINTER(_FILE_ALL_INFORMATION) +FILE_ALL_INFORMATION = _FILE_ALL_INFORMATION SystemBasicInformation = EnumValue("_SYSTEM_INFORMATION_CLASS", "SystemBasicInformation", 0x0) SystemProcessorInformation = EnumValue("_SYSTEM_INFORMATION_CLASS", "SystemProcessorInformation", 0x1) @@ -1069,277 +1395,6 @@ class _RTL_PATH_TYPE(EnumType): RTL_PATH_TYPE = _RTL_PATH_TYPE -AlpcBasicInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcBasicInformation", 0x0) -AlpcPortInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcPortInformation", 0x1) -AlpcAssociateCompletionPortInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcAssociateCompletionPortInformation", 0x2) -AlpcConnectedSIDInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcConnectedSIDInformation", 0x3) -AlpcServerInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcServerInformation", 0x4) -AlpcMessageZoneInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcMessageZoneInformation", 0x5) -AlpcRegisterCompletionListInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcRegisterCompletionListInformation", 0x6) -AlpcUnregisterCompletionListInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcUnregisterCompletionListInformation", 0x7) -AlpcAdjustCompletionListConcurrencyCountInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcAdjustCompletionListConcurrencyCountInformation", 0x8) -AlpcRegisterCallbackInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcRegisterCallbackInformation", 0x9) -AlpcCompletionListRundownInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcCompletionListRundownInformation", 0xa) -AlpcWaitForPortReferences = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcWaitForPortReferences", 0xb) -MaxAlpcPortInfoClass = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "MaxAlpcPortInfoClass", 0xc) -class _ALPC_PORT_INFORMATION_CLASS(EnumType): - values = [AlpcBasicInformation, AlpcPortInformation, AlpcAssociateCompletionPortInformation, AlpcConnectedSIDInformation, AlpcServerInformation, AlpcMessageZoneInformation, AlpcRegisterCompletionListInformation, AlpcUnregisterCompletionListInformation, AlpcAdjustCompletionListConcurrencyCountInformation, AlpcRegisterCallbackInformation, AlpcCompletionListRundownInformation, AlpcWaitForPortReferences, MaxAlpcPortInfoClass] - mapper = {x:x for x in values} -ALPC_PORT_INFORMATION_CLASS = _ALPC_PORT_INFORMATION_CLASS - - -AlpcMessageSidInformation = EnumValue("_ALPC_MESSAGE_INFORMATION_CLASS", "AlpcMessageSidInformation", 0x0) -AlpcMessageTokenModifiedIdInformation = EnumValue("_ALPC_MESSAGE_INFORMATION_CLASS", "AlpcMessageTokenModifiedIdInformation", 0x1) -MaxAlpcMessageInfoClass = EnumValue("_ALPC_MESSAGE_INFORMATION_CLASS", "MaxAlpcMessageInfoClass", 0x2) -AlpcMessageHandleInformation = EnumValue("_ALPC_MESSAGE_INFORMATION_CLASS", "AlpcMessageHandleInformation", 0x3) -class _ALPC_MESSAGE_INFORMATION_CLASS(EnumType): - values = [AlpcMessageSidInformation, AlpcMessageTokenModifiedIdInformation, MaxAlpcMessageInfoClass, AlpcMessageHandleInformation] - mapper = {x:x for x in values} -ALPC_MESSAGE_INFORMATION_CLASS = _ALPC_MESSAGE_INFORMATION_CLASS -PALPC_MESSAGE_INFORMATION_CLASS = POINTER(_ALPC_MESSAGE_INFORMATION_CLASS) - - -BG_JOB_STATE_QUEUED = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_QUEUED", 0x0) -BG_JOB_STATE_CONNECTING = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_CONNECTING", 0x1) -BG_JOB_STATE_TRANSFERRING = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_TRANSFERRING", 0x2) -BG_JOB_STATE_SUSPENDED = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_SUSPENDED", 0x3) -BG_JOB_STATE_ERROR = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_ERROR", 0x4) -BG_JOB_STATE_TRANSIENT_ERROR = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_TRANSIENT_ERROR", 0x5) -BG_JOB_STATE_TRANSFERRED = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_TRANSFERRED", 0x6) -BG_JOB_STATE_ACKNOWLEDGED = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_ACKNOWLEDGED", 0x7) -BG_JOB_STATE_CANCELLED = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_CANCELLED", 0x8) -class _BG_JOB_STATE(EnumType): - values = [BG_JOB_STATE_QUEUED, BG_JOB_STATE_CONNECTING, BG_JOB_STATE_TRANSFERRING, BG_JOB_STATE_SUSPENDED, BG_JOB_STATE_ERROR, BG_JOB_STATE_TRANSIENT_ERROR, BG_JOB_STATE_TRANSFERRED, BG_JOB_STATE_ACKNOWLEDGED, BG_JOB_STATE_CANCELLED] - mapper = {x:x for x in values} -BG_JOB_STATE = _BG_JOB_STATE - - -BG_JOB_PROXY_USAGE_PRECONFIG = EnumValue("_BG_JOB_PROXY_USAGE", "BG_JOB_PROXY_USAGE_PRECONFIG", 0x0) -BG_JOB_PROXY_USAGE_NO_PROXY = EnumValue("_BG_JOB_PROXY_USAGE", "BG_JOB_PROXY_USAGE_NO_PROXY", 0x1) -BG_JOB_PROXY_USAGE_OVERRIDE = EnumValue("_BG_JOB_PROXY_USAGE", "BG_JOB_PROXY_USAGE_OVERRIDE", 0x2) -BG_JOB_PROXY_USAGE_AUTODETECT = EnumValue("_BG_JOB_PROXY_USAGE", "BG_JOB_PROXY_USAGE_AUTODETECT", 0x3) -class _BG_JOB_PROXY_USAGE(EnumType): - values = [BG_JOB_PROXY_USAGE_PRECONFIG, BG_JOB_PROXY_USAGE_NO_PROXY, BG_JOB_PROXY_USAGE_OVERRIDE, BG_JOB_PROXY_USAGE_AUTODETECT] - mapper = {x:x for x in values} -BG_JOB_PROXY_USAGE = _BG_JOB_PROXY_USAGE - - -BG_JOB_PRIORITY_FOREGROUND = EnumValue("_BG_JOB_PRIORITY", "BG_JOB_PRIORITY_FOREGROUND", 0x0) -BG_JOB_PRIORITY_HIGH = EnumValue("_BG_JOB_PRIORITY", "BG_JOB_PRIORITY_HIGH", 0x1) -BG_JOB_PRIORITY_NORMAL = EnumValue("_BG_JOB_PRIORITY", "BG_JOB_PRIORITY_NORMAL", 0x2) -BG_JOB_PRIORITY_LOW = EnumValue("_BG_JOB_PRIORITY", "BG_JOB_PRIORITY_LOW", 0x3) -class _BG_JOB_PRIORITY(EnumType): - values = [BG_JOB_PRIORITY_FOREGROUND, BG_JOB_PRIORITY_HIGH, BG_JOB_PRIORITY_NORMAL, BG_JOB_PRIORITY_LOW] - mapper = {x:x for x in values} -BG_JOB_PRIORITY = _BG_JOB_PRIORITY - - -BG_ERROR_CONTEXT_NONE = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_NONE", 0x0) -BG_ERROR_CONTEXT_UNKNOWN = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_UNKNOWN", 0x1) -BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER", 0x2) -BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION", 0x3) -BG_ERROR_CONTEXT_LOCAL_FILE = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_LOCAL_FILE", 0x4) -BG_ERROR_CONTEXT_REMOTE_FILE = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_REMOTE_FILE", 0x5) -BG_ERROR_CONTEXT_GENERAL_TRANSPORT = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_GENERAL_TRANSPORT", 0x6) -BG_ERROR_CONTEXT_REMOTE_APPLICATION = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_REMOTE_APPLICATION", 0x7) -class _BG_ERROR_CONTEXT(EnumType): - values = [BG_ERROR_CONTEXT_NONE, BG_ERROR_CONTEXT_UNKNOWN, BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER, BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION, BG_ERROR_CONTEXT_LOCAL_FILE, BG_ERROR_CONTEXT_REMOTE_FILE, BG_ERROR_CONTEXT_GENERAL_TRANSPORT, BG_ERROR_CONTEXT_REMOTE_APPLICATION] - mapper = {x:x for x in values} -BG_ERROR_CONTEXT = _BG_ERROR_CONTEXT - - -BG_JOB_TYPE_DOWNLOAD = EnumValue("_BG_JOB_TYPE", "BG_JOB_TYPE_DOWNLOAD", 0x0) -BG_JOB_TYPE_UPLOAD = EnumValue("_BG_JOB_TYPE", "BG_JOB_TYPE_UPLOAD", 0x1) -BG_JOB_TYPE_UPLOAD_REPLY = EnumValue("_BG_JOB_TYPE", "BG_JOB_TYPE_UPLOAD_REPLY", 0x2) -class _BG_JOB_TYPE(EnumType): - values = [BG_JOB_TYPE_DOWNLOAD, BG_JOB_TYPE_UPLOAD, BG_JOB_TYPE_UPLOAD_REPLY] - mapper = {x:x for x in values} -BG_JOB_TYPE = _BG_JOB_TYPE - - -FakeFileInformationZero = EnumValue("_FILE_INFORMATION_CLASS", "FakeFileInformationZero", 0x0) -FileDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileDirectoryInformation", 0x1) -FileFullDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileFullDirectoryInformation", 0x2) -FileBothDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileBothDirectoryInformation", 0x3) -FileBasicInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileBasicInformation", 0x4) -FileStandardInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileStandardInformation", 0x5) -FileInternalInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileInternalInformation", 0x6) -FileEaInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileEaInformation", 0x7) -FileAccessInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileAccessInformation", 0x8) -FileNameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileNameInformation", 0x9) -FileRenameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileRenameInformation", 0xa) -FileLinkInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileLinkInformation", 0xb) -FileNamesInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileNamesInformation", 0xc) -FileDispositionInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileDispositionInformation", 0xd) -FilePositionInformation = EnumValue("_FILE_INFORMATION_CLASS", "FilePositionInformation", 0xe) -FileFullEaInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileFullEaInformation", 0xf) -FileModeInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileModeInformation", 0x10) -FileAlignmentInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileAlignmentInformation", 0x11) -FileAllInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileAllInformation", 0x12) -FileAllocationInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileAllocationInformation", 0x13) -FileEndOfFileInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileEndOfFileInformation", 0x14) -FileAlternateNameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileAlternateNameInformation", 0x15) -FileStreamInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileStreamInformation", 0x16) -FilePipeInformation = EnumValue("_FILE_INFORMATION_CLASS", "FilePipeInformation", 0x17) -FilePipeLocalInformation = EnumValue("_FILE_INFORMATION_CLASS", "FilePipeLocalInformation", 0x18) -FilePipeRemoteInformation = EnumValue("_FILE_INFORMATION_CLASS", "FilePipeRemoteInformation", 0x19) -FileMailslotQueryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileMailslotQueryInformation", 0x1a) -FileMailslotSetInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileMailslotSetInformation", 0x1b) -FileCompressionInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileCompressionInformation", 0x1c) -FileObjectIdInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileObjectIdInformation", 0x1d) -FileCompletionInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileCompletionInformation", 0x1e) -FileMoveClusterInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileMoveClusterInformation", 0x1f) -FileQuotaInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileQuotaInformation", 0x20) -FileReparsePointInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileReparsePointInformation", 0x21) -FileNetworkOpenInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileNetworkOpenInformation", 0x22) -FileAttributeTagInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileAttributeTagInformation", 0x23) -FileTrackingInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileTrackingInformation", 0x24) -FileIdBothDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIdBothDirectoryInformation", 0x25) -FileIdFullDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIdFullDirectoryInformation", 0x26) -FileValidDataLengthInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileValidDataLengthInformation", 0x27) -FileShortNameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileShortNameInformation", 0x28) -FileIoCompletionNotificationInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIoCompletionNotificationInformation", 0x29) -FileIoStatusBlockRangeInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIoStatusBlockRangeInformation", 0x2a) -FileIoPriorityHintInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIoPriorityHintInformation", 0x2b) -FileSfioReserveInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileSfioReserveInformation", 0x2c) -FileSfioVolumeInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileSfioVolumeInformation", 0x2d) -FileHardLinkInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileHardLinkInformation", 0x2e) -FileProcessIdsUsingFileInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileProcessIdsUsingFileInformation", 0x2f) -FileNormalizedNameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileNormalizedNameInformation", 0x30) -FileNetworkPhysicalNameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileNetworkPhysicalNameInformation", 0x31) -FileIdGlobalTxDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIdGlobalTxDirectoryInformation", 0x32) -FileIsRemoteDeviceInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIsRemoteDeviceInformation", 0x33) -FileUnusedInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileUnusedInformation", 0x34) -FileNumaNodeInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileNumaNodeInformation", 0x35) -FileStandardLinkInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileStandardLinkInformation", 0x36) -FileRemoteProtocolInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileRemoteProtocolInformation", 0x37) -FileRenameInformationBypassAccessCheck = EnumValue("_FILE_INFORMATION_CLASS", "FileRenameInformationBypassAccessCheck", 0x38) -FileLinkInformationBypassAccessCheck = EnumValue("_FILE_INFORMATION_CLASS", "FileLinkInformationBypassAccessCheck", 0x39) -FileVolumeNameInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileVolumeNameInformation", 0x3a) -FileIdInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIdInformation", 0x3b) -FileIdExtdDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIdExtdDirectoryInformation", 0x3c) -FileReplaceCompletionInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileReplaceCompletionInformation", 0x3d) -FileHardLinkFullIdInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileHardLinkFullIdInformation", 0x3e) -FileIdExtdBothDirectoryInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileIdExtdBothDirectoryInformation", 0x3f) -FileDispositionInformationEx = EnumValue("_FILE_INFORMATION_CLASS", "FileDispositionInformationEx", 0x40) -FileRenameInformationEx = EnumValue("_FILE_INFORMATION_CLASS", "FileRenameInformationEx", 0x41) -FileRenameInformationExBypassAccessCheck = EnumValue("_FILE_INFORMATION_CLASS", "FileRenameInformationExBypassAccessCheck", 0x42) -FileMaximumInformation = EnumValue("_FILE_INFORMATION_CLASS", "FileMaximumInformation", 0x43) -class _FILE_INFORMATION_CLASS(EnumType): - values = [FakeFileInformationZero, FileDirectoryInformation, FileFullDirectoryInformation, FileBothDirectoryInformation, FileBasicInformation, FileStandardInformation, FileInternalInformation, FileEaInformation, FileAccessInformation, FileNameInformation, FileRenameInformation, FileLinkInformation, FileNamesInformation, FileDispositionInformation, FilePositionInformation, FileFullEaInformation, FileModeInformation, FileAlignmentInformation, FileAllInformation, FileAllocationInformation, FileEndOfFileInformation, FileAlternateNameInformation, FileStreamInformation, FilePipeInformation, FilePipeLocalInformation, FilePipeRemoteInformation, FileMailslotQueryInformation, FileMailslotSetInformation, FileCompressionInformation, FileObjectIdInformation, FileCompletionInformation, FileMoveClusterInformation, FileQuotaInformation, FileReparsePointInformation, FileNetworkOpenInformation, FileAttributeTagInformation, FileTrackingInformation, FileIdBothDirectoryInformation, FileIdFullDirectoryInformation, FileValidDataLengthInformation, FileShortNameInformation, FileIoCompletionNotificationInformation, FileIoStatusBlockRangeInformation, FileIoPriorityHintInformation, FileSfioReserveInformation, FileSfioVolumeInformation, FileHardLinkInformation, FileProcessIdsUsingFileInformation, FileNormalizedNameInformation, FileNetworkPhysicalNameInformation, FileIdGlobalTxDirectoryInformation, FileIsRemoteDeviceInformation, FileUnusedInformation, FileNumaNodeInformation, FileStandardLinkInformation, FileRemoteProtocolInformation, FileRenameInformationBypassAccessCheck, FileLinkInformationBypassAccessCheck, FileVolumeNameInformation, FileIdInformation, FileIdExtdDirectoryInformation, FileReplaceCompletionInformation, FileHardLinkFullIdInformation, FileIdExtdBothDirectoryInformation, FileDispositionInformationEx, FileRenameInformationEx, FileRenameInformationExBypassAccessCheck, FileMaximumInformation] - mapper = {x:x for x in values} -FILE_INFORMATION_CLASS = _FILE_INFORMATION_CLASS -PFILE_INFORMATION_CLASS = POINTER(_FILE_INFORMATION_CLASS) - - -IoPriorityVeryLow = EnumValue("_IO_PRIORITY_HINT", "IoPriorityVeryLow", 0x0) -IoPriorityLow = EnumValue("_IO_PRIORITY_HINT", "IoPriorityLow", 0x1) -IoPriorityNormal = EnumValue("_IO_PRIORITY_HINT", "IoPriorityNormal", 0x2) -IoPriorityHigh = EnumValue("_IO_PRIORITY_HINT", "IoPriorityHigh", 0x3) -IoPriorityCritical = EnumValue("_IO_PRIORITY_HINT", "IoPriorityCritical", 0x4) -MaxIoPriorityTypes = EnumValue("_IO_PRIORITY_HINT", "MaxIoPriorityTypes", 0x5) -class _IO_PRIORITY_HINT(EnumType): - values = [IoPriorityVeryLow, IoPriorityLow, IoPriorityNormal, IoPriorityHigh, IoPriorityCritical, MaxIoPriorityTypes] - mapper = {x:x for x in values} -IO_PRIORITY_HINT = _IO_PRIORITY_HINT - - -class tagRGBTRIPLE(Structure): - _fields_ = [ - ("rgbtBlue", BYTE), - ("rgbtGreen", BYTE), - ("rgbtRed", BYTE), - ] -NPRGBTRIPLE = POINTER(tagRGBTRIPLE) -LPRGBTRIPLE = POINTER(tagRGBTRIPLE) -RGBTRIPLE = tagRGBTRIPLE -PRGBTRIPLE = POINTER(tagRGBTRIPLE) - -class tagBITMAPFILEHEADER(Structure): - _pack_ = 2 - _fields_ = [ - ("bfType", WORD), - ("bfSize", DWORD), - ("bfReserved1", WORD), - ("bfReserved2", WORD), - ("bfOffBits", DWORD), - ] -BITMAPFILEHEADER = tagBITMAPFILEHEADER -PBITMAPFILEHEADER = POINTER(tagBITMAPFILEHEADER) -LPBITMAPFILEHEADER = POINTER(tagBITMAPFILEHEADER) - -class tagBITMAPCOREHEADER(Structure): - _fields_ = [ - ("bcSize", DWORD), - ("bcWidth", WORD), - ("bcHeight", WORD), - ("bcPlanes", WORD), - ("bcBitCount", WORD), - ] -LPBITMAPCOREHEADER = POINTER(tagBITMAPCOREHEADER) -PBITMAPCOREHEADER = POINTER(tagBITMAPCOREHEADER) -BITMAPCOREHEADER = tagBITMAPCOREHEADER - -class tagBITMAP(Structure): - _fields_ = [ - ("bmType", LONG), - ("bmWidth", LONG), - ("bmHeight", LONG), - ("bmWidthBytes", LONG), - ("bmPlanes", WORD), - ("bmBitsPixel", WORD), - ("bmBits", LPVOID), - ] -NPBITMAP = POINTER(tagBITMAP) -LPBITMAP = POINTER(tagBITMAP) -PBITMAP = POINTER(tagBITMAP) -BITMAP = tagBITMAP - -class tagBITMAPINFOHEADER(Structure): - _fields_ = [ - ("biSize", DWORD), - ("biWidth", LONG), - ("biHeight", LONG), - ("biPlanes", WORD), - ("biBitCount", WORD), - ("biCompression", DWORD), - ("biSizeImage", DWORD), - ("biXPelsPerMeter", LONG), - ("biYPelsPerMeter", LONG), - ("biClrUsed", DWORD), - ("biClrImportant", DWORD), - ] -BITMAPINFOHEADER = tagBITMAPINFOHEADER -PBITMAPINFOHEADER = POINTER(tagBITMAPINFOHEADER) -LPBITMAPINFOHEADER = POINTER(tagBITMAPINFOHEADER) - -class tagRGBQUAD(Structure): - _fields_ = [ - ("rgbBlue", BYTE), - ("rgbGreen", BYTE), - ("rgbRed", BYTE), - ("rgbReserved", BYTE), - ] -RGBQUAD = tagRGBQUAD - -class tagBITMAPINFO(Structure): - _fields_ = [ - ("bmiHeader", BITMAPINFOHEADER), - ("bmiColors", RGBQUAD * 1), - ] -LPBITMAPINFO = POINTER(tagBITMAPINFO) -PBITMAPINFO = POINTER(tagBITMAPINFO) -BITMAPINFO = tagBITMAPINFO - -class tagBITMAPCOREINFO(Structure): - _fields_ = [ - ("bmciHeader", BITMAPCOREHEADER), - ("bmciColors", RGBTRIPLE * 1), - ] -LPBITMAPCOREINFO = POINTER(tagBITMAPCOREINFO) -BITMAPCOREINFO = tagBITMAPCOREINFO -PBITMAPCOREINFO = POINTER(tagBITMAPCOREINFO) - # Self referencing struct tricks class _LIST_ENTRY(Structure): pass PLIST_ENTRY = POINTER(_LIST_ENTRY) @@ -1398,7 +1453,6 @@ PUNICODE_STRING = POINTER(_LSA_UNICODE_STRING) UNICODE_STRING = _LSA_UNICODE_STRING LSA_UNICODE_STRING = _LSA_UNICODE_STRING PLSA_UNICODE_STRING = POINTER(_LSA_UNICODE_STRING) - class _CURDIR(Structure): _fields_ = [ ("DosPath", UNICODE_STRING), @@ -1883,7 +1937,6 @@ class _MEMORY_BASIC_INFORMATION32(INITIAL_MEMORY_BASIC_INFORMATION32): self.BaseAddress, self.RegionSize, self.State, self.Type, self.Protect) MEMORY_BASIC_INFORMATION32 = _MEMORY_BASIC_INFORMATION32 PMEMORY_BASIC_INFORMATION32 = POINTER(_MEMORY_BASIC_INFORMATION32) - class _MEMORY_BASIC_INFORMATION64(Structure): _fields_ = [ ("BaseAddress", ULONGLONG), @@ -1932,7 +1985,6 @@ class _MEMORY_BASIC_INFORMATION64(INITIAL_MEMORY_BASIC_INFORMATION64): self.BaseAddress, self.RegionSize, self.State, self.Type, self.Protect) PMEMORY_BASIC_INFORMATION64 = POINTER(_MEMORY_BASIC_INFORMATION64) MEMORY_BASIC_INFORMATION64 = _MEMORY_BASIC_INFORMATION64 - class _PSAPI_WORKING_SET_BLOCK(Union): _fields_ = [ ("Flags", PVOID), @@ -3070,7 +3122,6 @@ LPGUID = POINTER(_GUID) IID = _GUID GUID = _GUID REFIID = POINTER(_GUID) - class _TMP_signscale(Structure): _fields_ = [ ("scale", BYTE), @@ -3261,7 +3312,6 @@ CRYPT_DER_BLOB = _CRYPTOAPI_BLOB PDATA_BLOB = POINTER(_CRYPTOAPI_BLOB) PCRYPT_ATTR_BLOB = POINTER(_CRYPTOAPI_BLOB) CRYPT_ATTR_BLOB = _CRYPTOAPI_BLOB - class CRYPTCATATTRIBUTE_(Structure): _fields_ = [ ("cbStruct", DWORD), @@ -4565,6 +4615,132 @@ class _PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION(Structure): PPROCESS_INSTRUMENTATION_CALLBACK_INFORMATION = POINTER(_PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION) PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION = _PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION +class tagRGBTRIPLE(Structure): + _fields_ = [ + ("rgbtBlue", BYTE), + ("rgbtGreen", BYTE), + ("rgbtRed", BYTE), + ] +NPRGBTRIPLE = POINTER(tagRGBTRIPLE) +LPRGBTRIPLE = POINTER(tagRGBTRIPLE) +RGBTRIPLE = tagRGBTRIPLE +PRGBTRIPLE = POINTER(tagRGBTRIPLE) + +class tagBITMAPFILEHEADER(Structure): + _pack_ = 2 + _fields_ = [ + ("bfType", WORD), + ("bfSize", DWORD), + ("bfReserved1", WORD), + ("bfReserved2", WORD), + ("bfOffBits", DWORD), + ] +BITMAPFILEHEADER = tagBITMAPFILEHEADER +PBITMAPFILEHEADER = POINTER(tagBITMAPFILEHEADER) +LPBITMAPFILEHEADER = POINTER(tagBITMAPFILEHEADER) + +class tagBITMAPCOREHEADER(Structure): + _fields_ = [ + ("bcSize", DWORD), + ("bcWidth", WORD), + ("bcHeight", WORD), + ("bcPlanes", WORD), + ("bcBitCount", WORD), + ] +LPBITMAPCOREHEADER = POINTER(tagBITMAPCOREHEADER) +PBITMAPCOREHEADER = POINTER(tagBITMAPCOREHEADER) +BITMAPCOREHEADER = tagBITMAPCOREHEADER + +class tagBITMAP(Structure): + _fields_ = [ + ("bmType", LONG), + ("bmWidth", LONG), + ("bmHeight", LONG), + ("bmWidthBytes", LONG), + ("bmPlanes", WORD), + ("bmBitsPixel", WORD), + ("bmBits", LPVOID), + ] +NPBITMAP = POINTER(tagBITMAP) +LPBITMAP = POINTER(tagBITMAP) +PBITMAP = POINTER(tagBITMAP) +BITMAP = tagBITMAP + +class tagBITMAPINFOHEADER(Structure): + _fields_ = [ + ("biSize", DWORD), + ("biWidth", LONG), + ("biHeight", LONG), + ("biPlanes", WORD), + ("biBitCount", WORD), + ("biCompression", DWORD), + ("biSizeImage", DWORD), + ("biXPelsPerMeter", LONG), + ("biYPelsPerMeter", LONG), + ("biClrUsed", DWORD), + ("biClrImportant", DWORD), + ] +BITMAPINFOHEADER = tagBITMAPINFOHEADER +PBITMAPINFOHEADER = POINTER(tagBITMAPINFOHEADER) +LPBITMAPINFOHEADER = POINTER(tagBITMAPINFOHEADER) + +class tagRGBQUAD(Structure): + _fields_ = [ + ("rgbBlue", BYTE), + ("rgbGreen", BYTE), + ("rgbRed", BYTE), + ("rgbReserved", BYTE), + ] +RGBQUAD = tagRGBQUAD + +class tagBITMAPINFO(Structure): + _fields_ = [ + ("bmiHeader", BITMAPINFOHEADER), + ("bmiColors", RGBQUAD * 1), + ] +LPBITMAPINFO = POINTER(tagBITMAPINFO) +PBITMAPINFO = POINTER(tagBITMAPINFO) +BITMAPINFO = tagBITMAPINFO + +class tagBITMAPCOREINFO(Structure): + _fields_ = [ + ("bmciHeader", BITMAPCOREHEADER), + ("bmciColors", RGBTRIPLE * 1), + ] +LPBITMAPCOREINFO = POINTER(tagBITMAPCOREINFO) +BITMAPCOREINFO = tagBITMAPCOREINFO +PBITMAPCOREINFO = POINTER(tagBITMAPCOREINFO) + +AlpcBasicInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcBasicInformation", 0x0) +AlpcPortInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcPortInformation", 0x1) +AlpcAssociateCompletionPortInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcAssociateCompletionPortInformation", 0x2) +AlpcConnectedSIDInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcConnectedSIDInformation", 0x3) +AlpcServerInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcServerInformation", 0x4) +AlpcMessageZoneInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcMessageZoneInformation", 0x5) +AlpcRegisterCompletionListInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcRegisterCompletionListInformation", 0x6) +AlpcUnregisterCompletionListInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcUnregisterCompletionListInformation", 0x7) +AlpcAdjustCompletionListConcurrencyCountInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcAdjustCompletionListConcurrencyCountInformation", 0x8) +AlpcRegisterCallbackInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcRegisterCallbackInformation", 0x9) +AlpcCompletionListRundownInformation = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcCompletionListRundownInformation", 0xa) +AlpcWaitForPortReferences = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "AlpcWaitForPortReferences", 0xb) +MaxAlpcPortInfoClass = EnumValue("_ALPC_PORT_INFORMATION_CLASS", "MaxAlpcPortInfoClass", 0xc) +class _ALPC_PORT_INFORMATION_CLASS(EnumType): + values = [AlpcBasicInformation, AlpcPortInformation, AlpcAssociateCompletionPortInformation, AlpcConnectedSIDInformation, AlpcServerInformation, AlpcMessageZoneInformation, AlpcRegisterCompletionListInformation, AlpcUnregisterCompletionListInformation, AlpcAdjustCompletionListConcurrencyCountInformation, AlpcRegisterCallbackInformation, AlpcCompletionListRundownInformation, AlpcWaitForPortReferences, MaxAlpcPortInfoClass] + mapper = {x:x for x in values} +ALPC_PORT_INFORMATION_CLASS = _ALPC_PORT_INFORMATION_CLASS + + +AlpcMessageSidInformation = EnumValue("_ALPC_MESSAGE_INFORMATION_CLASS", "AlpcMessageSidInformation", 0x0) +AlpcMessageTokenModifiedIdInformation = EnumValue("_ALPC_MESSAGE_INFORMATION_CLASS", "AlpcMessageTokenModifiedIdInformation", 0x1) +MaxAlpcMessageInfoClass = EnumValue("_ALPC_MESSAGE_INFORMATION_CLASS", "MaxAlpcMessageInfoClass", 0x2) +AlpcMessageHandleInformation = EnumValue("_ALPC_MESSAGE_INFORMATION_CLASS", "AlpcMessageHandleInformation", 0x3) +class _ALPC_MESSAGE_INFORMATION_CLASS(EnumType): + values = [AlpcMessageSidInformation, AlpcMessageTokenModifiedIdInformation, MaxAlpcMessageInfoClass, AlpcMessageHandleInformation] + mapper = {x:x for x in values} +ALPC_MESSAGE_INFORMATION_CLASS = _ALPC_MESSAGE_INFORMATION_CLASS +PALPC_MESSAGE_INFORMATION_CLASS = POINTER(_ALPC_MESSAGE_INFORMATION_CLASS) + + class _ALPC_PORT_ATTRIBUTES32(Structure): _fields_ = [ ("Flags", ULONG), @@ -4860,131 +5036,63 @@ class _RPC_IF_ID(INITIAL_RPC_IF_ID): def __repr__(self): return ''.format(self.Uuid.to_string(), self.VersMajor, self.VersMinor) RPC_IF_ID = _RPC_IF_ID +BG_JOB_STATE_QUEUED = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_QUEUED", 0x0) +BG_JOB_STATE_CONNECTING = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_CONNECTING", 0x1) +BG_JOB_STATE_TRANSFERRING = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_TRANSFERRING", 0x2) +BG_JOB_STATE_SUSPENDED = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_SUSPENDED", 0x3) +BG_JOB_STATE_ERROR = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_ERROR", 0x4) +BG_JOB_STATE_TRANSIENT_ERROR = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_TRANSIENT_ERROR", 0x5) +BG_JOB_STATE_TRANSFERRED = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_TRANSFERRED", 0x6) +BG_JOB_STATE_ACKNOWLEDGED = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_ACKNOWLEDGED", 0x7) +BG_JOB_STATE_CANCELLED = EnumValue("_BG_JOB_STATE", "BG_JOB_STATE_CANCELLED", 0x8) +class _BG_JOB_STATE(EnumType): + values = [BG_JOB_STATE_QUEUED, BG_JOB_STATE_CONNECTING, BG_JOB_STATE_TRANSFERRING, BG_JOB_STATE_SUSPENDED, BG_JOB_STATE_ERROR, BG_JOB_STATE_TRANSIENT_ERROR, BG_JOB_STATE_TRANSFERRED, BG_JOB_STATE_ACKNOWLEDGED, BG_JOB_STATE_CANCELLED] + mapper = {x:x for x in values} +BG_JOB_STATE = _BG_JOB_STATE -class _API_SET_VALUE_ENTRY(Structure): - _fields_ = [ - ("Flags", ULONG), - ("NameOffset", ULONG), - ("NameLength", ULONG), - ("ValueOffset", ULONG), - ("ValueLength", ULONG), - ] -API_SET_VALUE_ENTRY = _API_SET_VALUE_ENTRY -PAPI_SET_VALUE_ENTRY = POINTER(_API_SET_VALUE_ENTRY) -class _API_SET_NAMESPACE_ENTRY(Structure): - _fields_ = [ - ("Flags", ULONG), - ("NameOffset", ULONG), - ("NameLength", ULONG), - ("AliasOffset", ULONG), - ("AliasLength", ULONG), - ("DataOffset", ULONG), - ] -PAPI_SET_NAMESPACE_ENTRY = POINTER(_API_SET_NAMESPACE_ENTRY) -API_SET_NAMESPACE_ENTRY = _API_SET_NAMESPACE_ENTRY +BG_JOB_PROXY_USAGE_PRECONFIG = EnumValue("_BG_JOB_PROXY_USAGE", "BG_JOB_PROXY_USAGE_PRECONFIG", 0x0) +BG_JOB_PROXY_USAGE_NO_PROXY = EnumValue("_BG_JOB_PROXY_USAGE", "BG_JOB_PROXY_USAGE_NO_PROXY", 0x1) +BG_JOB_PROXY_USAGE_OVERRIDE = EnumValue("_BG_JOB_PROXY_USAGE", "BG_JOB_PROXY_USAGE_OVERRIDE", 0x2) +BG_JOB_PROXY_USAGE_AUTODETECT = EnumValue("_BG_JOB_PROXY_USAGE", "BG_JOB_PROXY_USAGE_AUTODETECT", 0x3) +class _BG_JOB_PROXY_USAGE(EnumType): + values = [BG_JOB_PROXY_USAGE_PRECONFIG, BG_JOB_PROXY_USAGE_NO_PROXY, BG_JOB_PROXY_USAGE_OVERRIDE, BG_JOB_PROXY_USAGE_AUTODETECT] + mapper = {x:x for x in values} +BG_JOB_PROXY_USAGE = _BG_JOB_PROXY_USAGE -class _API_SET_NAMESPACE_ARRAY(Structure): - _fields_ = [ - ("Version", ULONG), - ("Size", ULONG), - ("Flags", ULONG), - ("Count", ULONG), - ("Array", API_SET_NAMESPACE_ENTRY * ANYSIZE_ARRAY), - ] -PAPI_SET_NAMESPACE_ARRAY = POINTER(_API_SET_NAMESPACE_ARRAY) -API_SET_NAMESPACE_ARRAY = _API_SET_NAMESPACE_ARRAY -class _API_SET_VALUE_ENTRY_V2(Structure): - _fields_ = [ - ("NameOffset", ULONG), - ("NameLength", ULONG), - ("ValueOffset", ULONG), - ("ValueLength", ULONG), - ] -PAPI_SET_VALUE_ENTRY_V2 = POINTER(_API_SET_VALUE_ENTRY_V2) -API_SET_VALUE_ENTRY_V2 = _API_SET_VALUE_ENTRY_V2 +BG_JOB_PRIORITY_FOREGROUND = EnumValue("_BG_JOB_PRIORITY", "BG_JOB_PRIORITY_FOREGROUND", 0x0) +BG_JOB_PRIORITY_HIGH = EnumValue("_BG_JOB_PRIORITY", "BG_JOB_PRIORITY_HIGH", 0x1) +BG_JOB_PRIORITY_NORMAL = EnumValue("_BG_JOB_PRIORITY", "BG_JOB_PRIORITY_NORMAL", 0x2) +BG_JOB_PRIORITY_LOW = EnumValue("_BG_JOB_PRIORITY", "BG_JOB_PRIORITY_LOW", 0x3) +class _BG_JOB_PRIORITY(EnumType): + values = [BG_JOB_PRIORITY_FOREGROUND, BG_JOB_PRIORITY_HIGH, BG_JOB_PRIORITY_NORMAL, BG_JOB_PRIORITY_LOW] + mapper = {x:x for x in values} +BG_JOB_PRIORITY = _BG_JOB_PRIORITY -class _API_SET_VALUE_ARRAY_V2(Structure): - _fields_ = [ - ("Count", ULONG), - ("Array", API_SET_VALUE_ENTRY_V2 * ANYSIZE_ARRAY), - ] -API_SET_VALUE_ARRAY_V2 = _API_SET_VALUE_ARRAY_V2 -PAPI_SET_VALUE_ARRAY_V2 = POINTER(_API_SET_VALUE_ARRAY_V2) -class _API_SET_NAMESPACE_ENTRY_V2(Structure): - _fields_ = [ - ("NameOffset", ULONG), - ("NameLength", ULONG), - ("DataOffset", ULONG), - ] -PAPI_SET_NAMESPACE_ENTRY_V2 = POINTER(_API_SET_NAMESPACE_ENTRY_V2) -API_SET_NAMESPACE_ENTRY_V2 = _API_SET_NAMESPACE_ENTRY_V2 +BG_ERROR_CONTEXT_NONE = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_NONE", 0x0) +BG_ERROR_CONTEXT_UNKNOWN = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_UNKNOWN", 0x1) +BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER", 0x2) +BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION", 0x3) +BG_ERROR_CONTEXT_LOCAL_FILE = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_LOCAL_FILE", 0x4) +BG_ERROR_CONTEXT_REMOTE_FILE = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_REMOTE_FILE", 0x5) +BG_ERROR_CONTEXT_GENERAL_TRANSPORT = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_GENERAL_TRANSPORT", 0x6) +BG_ERROR_CONTEXT_REMOTE_APPLICATION = EnumValue("_BG_ERROR_CONTEXT", "BG_ERROR_CONTEXT_REMOTE_APPLICATION", 0x7) +class _BG_ERROR_CONTEXT(EnumType): + values = [BG_ERROR_CONTEXT_NONE, BG_ERROR_CONTEXT_UNKNOWN, BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER, BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION, BG_ERROR_CONTEXT_LOCAL_FILE, BG_ERROR_CONTEXT_REMOTE_FILE, BG_ERROR_CONTEXT_GENERAL_TRANSPORT, BG_ERROR_CONTEXT_REMOTE_APPLICATION] + mapper = {x:x for x in values} +BG_ERROR_CONTEXT = _BG_ERROR_CONTEXT -class _API_SET_NAMESPACE_ARRAY_V2(Structure): - _fields_ = [ - ("Version", ULONG), - ("Count", ULONG), - ("Array", API_SET_NAMESPACE_ENTRY_V2 * ANYSIZE_ARRAY), - ] -API_SET_NAMESPACE_ARRAY_V2 = _API_SET_NAMESPACE_ARRAY_V2 -PAPI_SET_NAMESPACE_ARRAY_V2 = POINTER(_API_SET_NAMESPACE_ARRAY_V2) -class _API_SET_VALUE_ARRAY_V4(Structure): - _fields_ = [ - ("GuessFlags", ULONG), - ("Count", ULONG), - ("Array", API_SET_VALUE_ENTRY_V2 * ANYSIZE_ARRAY), - ] -API_SET_VALUE_ARRAY_V4 = _API_SET_VALUE_ARRAY_V4 -PAPI_SET_VALUE_ARRAY_V2 = POINTER(_API_SET_VALUE_ARRAY_V4) +BG_JOB_TYPE_DOWNLOAD = EnumValue("_BG_JOB_TYPE", "BG_JOB_TYPE_DOWNLOAD", 0x0) +BG_JOB_TYPE_UPLOAD = EnumValue("_BG_JOB_TYPE", "BG_JOB_TYPE_UPLOAD", 0x1) +BG_JOB_TYPE_UPLOAD_REPLY = EnumValue("_BG_JOB_TYPE", "BG_JOB_TYPE_UPLOAD_REPLY", 0x2) +class _BG_JOB_TYPE(EnumType): + values = [BG_JOB_TYPE_DOWNLOAD, BG_JOB_TYPE_UPLOAD, BG_JOB_TYPE_UPLOAD_REPLY] + mapper = {x:x for x in values} +BG_JOB_TYPE = _BG_JOB_TYPE -class _API_SET_NAMESPACE_ARRAY_V4(Structure): - _fields_ = [ - ("Version", ULONG), - ("Size", ULONG), - ("Flags", ULONG), - ("Count", ULONG), - ("Array", API_SET_NAMESPACE_ENTRY * ANYSIZE_ARRAY), - ] -API_SET_NAMESPACE_ARRAY_V4 = _API_SET_NAMESPACE_ARRAY_V4 -PAPI_SET_NAMESPACE_ARRAY_V4 = POINTER(_API_SET_NAMESPACE_ARRAY_V4) - -class _API_SET_NAMESPACE_ENTRY_V4(Structure): - _fields_ = [ - ("Flags", ULONG), - ("NameOffset", ULONG), - ("NameLength", ULONG), - ("AliasOffset", ULONG), - ("AliasLength", ULONG), - ("DataOffset", ULONG), - ] -PAPI_SET_NAMESPACE_ENTRY_V4 = POINTER(_API_SET_NAMESPACE_ENTRY_V4) -API_SET_NAMESPACE_ENTRY_V4 = _API_SET_NAMESPACE_ENTRY_V4 - -class _API_SET_NAMESPACE_ENTRY_V6(Structure): - _fields_ = [ - ("Flags", ULONG), - ("NameOffset", ULONG), - ("NameLength", ULONG), - ("HashedLength", ULONG), - ("ValueOffset", ULONG), - ("ValueCount", ULONG), - ] -API_SET_NAMESPACE_ENTRY_V6 = _API_SET_NAMESPACE_ENTRY_V6 - -class _API_SET_NAMESPACE_V6(Structure): - _fields_ = [ - ("Version", ULONG), - ("Size", ULONG), - ("Flags", ULONG), - ("Count", ULONG), - ("EntryOffset", ULONG), - ("HashOffset", ULONG), - ("HashFactor", ULONG), - ] -API_SET_NAMESPACE_V6 = _API_SET_NAMESPACE_V6 class _BG_FILE_PROGRESS(Structure): _fields_ = [ @@ -5047,124 +5155,3 @@ class _EVENTLOG_FULL_INFORMATION(Structure): EVENTLOG_FULL_INFORMATION = _EVENTLOG_FULL_INFORMATION LPEVENTLOG_FULL_INFORMATION = POINTER(_EVENTLOG_FULL_INFORMATION) -class _FILE_INTERNAL_INFORMATION(Structure): - _fields_ = [ - ("IndexNumber", LARGE_INTEGER), - ] -FILE_INTERNAL_INFORMATION = _FILE_INTERNAL_INFORMATION -PFILE_INTERNAL_INFORMATION = POINTER(_FILE_INTERNAL_INFORMATION) - -class _FILE_ALIGNMENT_INFORMATION(Structure): - _fields_ = [ - ("AlignmentRequirement", ULONG), - ] -PFILE_ALIGNMENT_INFORMATION = POINTER(_FILE_ALIGNMENT_INFORMATION) -FILE_ALIGNMENT_INFORMATION = _FILE_ALIGNMENT_INFORMATION - -class _FILE_ATTRIBUTE_TAG_INFORMATION(Structure): - _fields_ = [ - ("FileAttributes", ULONG), - ("ReparseTag", ULONG), - ] -PFILE_ATTRIBUTE_TAG_INFORMATION = POINTER(_FILE_ATTRIBUTE_TAG_INFORMATION) -FILE_ATTRIBUTE_TAG_INFORMATION = _FILE_ATTRIBUTE_TAG_INFORMATION - -class _FILE_BASIC_INFORMATION(Structure): - _fields_ = [ - ("CreationTime", LARGE_INTEGER), - ("LastAccessTime", LARGE_INTEGER), - ("LastWriteTime", LARGE_INTEGER), - ("ChangeTime", LARGE_INTEGER), - ("FileAttributes", ULONG), - ] -FILE_BASIC_INFORMATION = _FILE_BASIC_INFORMATION -PFILE_BASIC_INFORMATION = POINTER(_FILE_BASIC_INFORMATION) - -class _FILE_EA_INFORMATION(Structure): - _fields_ = [ - ("EaSize", ULONG), - ] -PFILE_EA_INFORMATION = POINTER(_FILE_EA_INFORMATION) -FILE_EA_INFORMATION = _FILE_EA_INFORMATION - -class _FILE_IO_PRIORITY_HINT_INFORMATION(Structure): - _fields_ = [ - ("PriorityHint", IO_PRIORITY_HINT), - ] -PFILE_IO_PRIORITY_HINT_INFORMATION = POINTER(_FILE_IO_PRIORITY_HINT_INFORMATION) -FILE_IO_PRIORITY_HINT_INFORMATION = _FILE_IO_PRIORITY_HINT_INFORMATION - -class _FILE_MODE_INFORMATION(Structure): - _fields_ = [ - ("Mode", ULONG), - ] -PFILE_MODE_INFORMATION = POINTER(_FILE_MODE_INFORMATION) -FILE_MODE_INFORMATION = _FILE_MODE_INFORMATION - -class _FILE_NAME_INFORMATION(Structure): - _fields_ = [ - ("FileNameLength", ULONG), - ("FileName", WCHAR * 1), - ] -PFILE_NAME_INFORMATION = POINTER(_FILE_NAME_INFORMATION) -FILE_NAME_INFORMATION = _FILE_NAME_INFORMATION - -class _FILE_NETWORK_OPEN_INFORMATION(Structure): - _fields_ = [ - ("CreationTime", LARGE_INTEGER), - ("LastAccessTime", LARGE_INTEGER), - ("LastWriteTime", LARGE_INTEGER), - ("ChangeTime", LARGE_INTEGER), - ("AllocationSize", LARGE_INTEGER), - ("EndOfFile", LARGE_INTEGER), - ("FileAttributes", ULONG), - ] -PFILE_NETWORK_OPEN_INFORMATION = POINTER(_FILE_NETWORK_OPEN_INFORMATION) -FILE_NETWORK_OPEN_INFORMATION = _FILE_NETWORK_OPEN_INFORMATION - -class _FILE_STANDARD_INFORMATION(Structure): - _fields_ = [ - ("AllocationSize", LARGE_INTEGER), - ("EndOfFile", LARGE_INTEGER), - ("NumberOfLinks", ULONG), - ("DeletePending", BOOLEAN), - ("Directory", BOOLEAN), - ] -FILE_STANDARD_INFORMATION = _FILE_STANDARD_INFORMATION -PFILE_STANDARD_INFORMATION = POINTER(_FILE_STANDARD_INFORMATION) - -class _FILE_ACCESS_INFORMATION(Structure): - _fields_ = [ - ("AccessFlags", ACCESS_MASK), - ] -FILE_ACCESS_INFORMATION = _FILE_ACCESS_INFORMATION -PFILE_ACCESS_INFORMATION = POINTER(_FILE_ACCESS_INFORMATION) - -class _FILE_POSITION_INFORMATION(Structure): - _fields_ = [ - ("CurrentByteOffset", LARGE_INTEGER), - ] -PFILE_POSITION_INFORMATION = POINTER(_FILE_POSITION_INFORMATION) -FILE_POSITION_INFORMATION = _FILE_POSITION_INFORMATION - -class _FILE_IS_REMOTE_DEVICE_INFORMATION(Structure): - _fields_ = [ - ("IsRemote", BOOLEAN), - ] -FILE_IS_REMOTE_DEVICE_INFORMATION = _FILE_IS_REMOTE_DEVICE_INFORMATION -PFILE_IS_REMOTE_DEVICE_INFORMATION = POINTER(_FILE_IS_REMOTE_DEVICE_INFORMATION) - -class _FILE_ALL_INFORMATION(Structure): - _fields_ = [ - ("BasicInformation", FILE_BASIC_INFORMATION), - ("StandardInformation", FILE_STANDARD_INFORMATION), - ("InternalInformation", FILE_INTERNAL_INFORMATION), - ("EaInformation", FILE_EA_INFORMATION), - ("AccessInformation", FILE_ACCESS_INFORMATION), - ("PositionInformation", FILE_POSITION_INFORMATION), - ("ModeInformation", FILE_MODE_INFORMATION), - ("AlignmentInformation", FILE_ALIGNMENT_INFORMATION), - ("NameInformation", FILE_NAME_INFORMATION), - ] -PFILE_ALL_INFORMATION = POINTER(_FILE_ALL_INFORMATION) -FILE_ALL_INFORMATION = _FILE_ALL_INFORMATION diff --git a/windows/hooks.py b/windows/hooks.py index a3e5df3..04e1cf4 100644 --- a/windows/hooks.py +++ b/windows/hooks.py @@ -8,6 +8,10 @@ from .generated_def import winfuncs from .generated_def.windef import PAGE_EXECUTE_READWRITE from .generated_def.winstructs import * +# TODO Not a big fan of importing 'meta' every load +# Should do an Hook API that take the winproxy function (not generate every hook possible) +import windows.generated_def.meta + class Callback(object): """Give type information to hook callback""" @@ -31,7 +35,10 @@ def add_callback_to_module(callback): setattr(sys.modules[__name__], type(callback).__name__, callback) # Generate IATCallback decorator for all known functions -for func in winfuncs.functions: + + + +for func in windows.generated_def.meta.functions: prototype = getattr(winfuncs, func + "Prototype") callback_name = func + "Callback"