From 8d33e0143f8b7735118dde2e13bcc0175db9adcd Mon Sep 17 00:00:00 2001 From: hakril Date: Thu, 16 Jul 2020 23:48:22 +0200 Subject: [PATCH] Updated online documentation for 0.6 --- docs/build/html/.buildinfo | 2 +- docs/build/html/_modules/colorama/win32.html | 23 +- docs/build/html/_modules/ctypes.html | 81 +- docs/build/html/_modules/index.html | 19 +- docs/build/html/_modules/windows/alpc.html | 33 +- docs/build/html/_modules/windows/com.html | 35 +- .../_modules/windows/crypto/certificate.html | 35 +- .../_modules/windows/crypto/cryptmsg.html | 28 +- .../windows/crypto/encrypt_decrypt.html | 25 +- .../_modules/windows/crypto/generation.html | 21 +- .../_modules/windows/debug/breakpoints.html | 51 +- .../html/_modules/windows/debug/debugger.html | 41 +- .../html/_modules/windows/debug/localdbg.html | 51 +- .../_modules/windows/debug/symboldbg.html | 132 + .../html/_modules/windows/debug/symbols.html | 816 ++ .../_modules/windows/generated_def/flag.html | 35 +- .../windows/generated_def/winstructs.html | 9144 +++++++++-------- docs/build/html/_modules/windows/hooks.html | 31 +- .../_modules/windows/native_exec/cpuid.html | 17 +- .../windows/native_exec/native_function.html | 23 +- .../windows/native_exec/simple_x86.html | 61 +- .../build/html/_modules/windows/pe_parse.html | 25 +- docs/build/html/_modules/windows/pipe.html | 31 +- .../html/_modules/windows/remotectypes.html | 43 +- .../html/_modules/windows/rpc/client.html | 19 +- .../html/_modules/windows/rpc/epmapper.html | 23 +- docs/build/html/_modules/windows/rpc/ndr.html | 176 +- .../build/html/_modules/windows/security.html | 51 +- .../build/html/_modules/windows/syswow64.html | 33 +- .../_modules/windows/utils/pythonutils.html | 22 +- .../html/_modules/windows/utils/winutils.html | 45 +- .../_modules/windows/winobject/apisetmap.html | 19 +- .../windows/winobject/device_manager.html | 599 ++ .../_modules/windows/winobject/event_log.html | 231 +- .../windows/winobject/event_trace.html | 532 + .../_modules/windows/winobject/exception.html | 29 +- .../_modules/windows/winobject/handle.html | 23 +- .../_modules/windows/winobject/network.html | 29 +- .../windows/winobject/object_manager.html | 38 +- .../_modules/windows/winobject/process.html | 63 +- .../_modules/windows/winobject/registry.html | 43 +- .../_modules/windows/winobject/service.html | 110 +- .../_modules/windows/winobject/system.html | 71 +- .../windows/winobject/system_module.html | 17 +- .../windows/winobject/task_scheduler.html | 84 +- .../_modules/windows/winobject/token.html | 36 +- .../_modules/windows/winobject/volume.html | 25 +- .../html/_modules/windows/winobject/wmi.html | 41 +- .../_modules/windows/winproxy/apiproxy.html | 27 +- .../html/_modules/windows/winproxy/error.html | 27 +- .../build/html/_modules/windows/wintrust.html | 25 +- docs/build/html/_sources/debug.rst.txt | 131 +- .../html/_sources/device_manager.rst.txt | 121 + docs/build/html/_sources/etw.rst.txt | 48 + docs/build/html/_sources/evtlog.rst.txt | 3 + docs/build/html/_sources/index.rst.txt | 12 +- .../html/_sources/object_manager.rst.txt | 2 +- docs/build/html/_sources/rpc.rst.txt | 4 +- docs/build/html/_sources/sample.rst.txt | 108 + docs/build/html/_sources/service.rst.txt | 20 +- .../html/_sources/task_scheduler.rst.txt | 13 + .../html/_sources/windef_generated.rst.txt | 1637 +-- .../html/_sources/winerror_generated.rst.txt | 2 +- docs/build/html/_sources/winobject.rst.txt | 4 +- .../_sources/winstructs_generated.rst.txt | 2065 +++- docs/build/html/_static/basic.css | 13 +- docs/build/html/_static/classic.css | 2 +- docs/build/html/_static/doctools.js | 8 +- .../html/_static/documentation_options.js | 5 +- docs/build/html/_static/language_data.js | 297 + docs/build/html/_static/searchtools.js | 348 +- docs/build/html/_static/sidebar.js | 2 +- docs/build/html/_static/websupport.js | 2 +- docs/build/html/alpc.html | 23 +- docs/build/html/com.html | 17 +- docs/build/html/crypto.html | 23 +- docs/build/html/debug.html | 744 +- docs/build/html/device_manager.html | 748 ++ docs/build/html/etw.html | 354 + docs/build/html/evtlog.html | 147 +- docs/build/html/exception.html | 17 +- docs/build/html/generated.html | 19 +- docs/build/html/genindex.html | 2049 +++- docs/build/html/handle.html | 15 +- docs/build/html/iat_hook.html | 31 +- docs/build/html/index.html | 72 +- docs/build/html/internals.html | 17 +- docs/build/html/native_exec.html | 27 +- docs/build/html/network.html | 17 +- docs/build/html/ntstatus_generated.html | 15 +- docs/build/html/object_manager.html | 27 +- docs/build/html/pipe.html | 17 +- docs/build/html/process.html | 17 +- docs/build/html/py-modindex.html | 30 +- docs/build/html/registry.html | 17 +- docs/build/html/rpc.html | 29 +- docs/build/html/sample.html | 1019 +- docs/build/html/search.html | 16 +- docs/build/html/searchindex.js | 2 +- docs/build/html/security.html | 19 +- docs/build/html/service.html | 242 +- docs/build/html/system_module.html | 17 +- docs/build/html/task_scheduler.html | 259 +- docs/build/html/token.html | 17 +- docs/build/html/utils.html | 17 +- docs/build/html/volume.html | 15 +- docs/build/html/windef_generated.html | 7690 ++++++++------ docs/build/html/windows.html | 63 +- docs/build/html/winerror_generated.html | 15 +- docs/build/html/winobject.html | 109 +- docs/build/html/winproxy.html | 17 +- docs/build/html/winproxy_functions.html | 15 +- docs/build/html/winstructs_generated.html | 5308 +++++++--- docs/build/html/wintrust.html | 17 +- docs/build/html/wip.html | 15 +- docs/build/html/wmi.html | 17 +- 116 files changed, 26124 insertions(+), 11325 deletions(-) create mode 100644 docs/build/html/_modules/windows/debug/symboldbg.html create mode 100644 docs/build/html/_modules/windows/debug/symbols.html create mode 100644 docs/build/html/_modules/windows/winobject/device_manager.html create mode 100644 docs/build/html/_modules/windows/winobject/event_trace.html create mode 100644 docs/build/html/_sources/device_manager.rst.txt create mode 100644 docs/build/html/_sources/etw.rst.txt create mode 100644 docs/build/html/_static/language_data.js create mode 100644 docs/build/html/device_manager.html create mode 100644 docs/build/html/etw.html diff --git a/docs/build/html/.buildinfo b/docs/build/html/.buildinfo index 839b40f..efb5391 100644 --- a/docs/build/html/.buildinfo +++ b/docs/build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: fdedfd034d8970f3d8ed3da3263d316a +config: 46ec48b2adfc0c477458709c63587450 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/build/html/_modules/colorama/win32.html b/docs/build/html/_modules/colorama/win32.html index ed4b9ac..bd12d86 100644 --- a/docs/build/html/_modules/colorama/win32.html +++ b/docs/build/html/_modules/colorama/win32.html @@ -6,14 +6,17 @@ - colorama.win32 — PythonForWindows 0.5 documentation + colorama.win32 — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -45,15 +48,15 @@ try: import ctypes - from ctypes import LibraryLoader + from ctypes import LibraryLoader windll = LibraryLoader(ctypes.WinDLL) - from ctypes import wintypes + from ctypes import wintypes except (AttributeError, ImportError): windll = None SetConsoleTextAttribute = lambda *_: None winapi_test = lambda *_: None else: - from ctypes import byref, Structure, c_char, POINTER + from ctypes import byref, Structure, c_char, POINTER COORD = wintypes._COORD @@ -66,7 +69,7 @@ ("srWindow", wintypes.SMALL_RECT), ("dwMaximumWindowSize", COORD), ] - def __str__(self): + def __str__(self): return '(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d)' % ( self.dwSize.Y, self.dwSize.X , self.dwCursorPosition.Y, self.dwCursorPosition.X @@ -221,13 +224,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/ctypes.html b/docs/build/html/_modules/ctypes.html index ed33e12..06629a5 100644 --- a/docs/build/html/_modules/ctypes.html +++ b/docs/build/html/_modules/ctypes.html @@ -6,14 +6,17 @@ - ctypes — PythonForWindows 0.5 documentation + ctypes — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -43,20 +46,20 @@ __version__ = "1.1.0" -from _ctypes import Union, Structure, Array -from _ctypes import _Pointer -from _ctypes import CFuncPtr as _CFuncPtr -from _ctypes import __version__ as _ctypes_version -from _ctypes import RTLD_LOCAL, RTLD_GLOBAL -from _ctypes import ArgumentError +from _ctypes import Union, Structure, Array +from _ctypes import _Pointer +from _ctypes import CFuncPtr as _CFuncPtr +from _ctypes import __version__ as _ctypes_version +from _ctypes import RTLD_LOCAL, RTLD_GLOBAL +from _ctypes import ArgumentError -from struct import calcsize as _calcsize +from struct import calcsize as _calcsize if __version__ != _ctypes_version: raise Exception("Version number mismatch", __version__, _ctypes_version) if _os.name in ("nt", "ce"): - from _ctypes import FormatError + from _ctypes import FormatError DEFAULT_MODE = RTLD_LOCAL if _os.name == "posix" and _sys.platform == "darwin": @@ -68,7 +71,7 @@ if int(_os.uname()[2].split('.')[0]) < 8: DEFAULT_MODE = RTLD_GLOBAL -from _ctypes import FUNCFLAG_CDECL as _FUNCFLAG_CDECL, \ +from _ctypes import FUNCFLAG_CDECL as _FUNCFLAG_CDECL, \ FUNCFLAG_PYTHONAPI as _FUNCFLAG_PYTHONAPI, \ FUNCFLAG_USE_ERRNO as _FUNCFLAG_USE_ERRNO, \ FUNCFLAG_USE_LASTERROR as _FUNCFLAG_USE_LASTERROR @@ -145,8 +148,8 @@ return CFunctionType if _os.name in ("nt", "ce"): - from _ctypes import LoadLibrary as _dlopen - from _ctypes import FUNCFLAG_STDCALL as _FUNCFLAG_STDCALL + from _ctypes import LoadLibrary as _dlopen + from _ctypes import FUNCFLAG_STDCALL as _FUNCFLAG_STDCALL if _os.name == "ce": # 'ce' doesn't have the stdcall calling convention _FUNCFLAG_STDCALL = _FUNCFLAG_CDECL @@ -174,16 +177,16 @@ WINFUNCTYPE.__doc__ = CFUNCTYPE.__doc__.replace("CFUNCTYPE", "WINFUNCTYPE") elif _os.name == "posix": - from _ctypes import dlopen as _dlopen + from _ctypes import dlopen as _dlopen -from _ctypes import sizeof, byref, addressof, alignment, resize -from _ctypes import get_errno, set_errno -from _ctypes import _SimpleCData +from _ctypes import sizeof, byref, addressof, alignment, resize +from _ctypes import get_errno, set_errno +from _ctypes import _SimpleCData def _check_size(typ, typecode=None): # Check if sizeof(ctypes_type) against struct.calcsize. This # should protect somewhat against a misconfigured libffi. - from struct import calcsize + from struct import calcsize if typecode is None: # Most _type_ codes are the same as used in struct typecode = typ._type_ @@ -194,7 +197,7 @@ class py_object(_SimpleCData): _type_ = "O" - def __repr__(self): + def __repr__(self): try: return super(py_object, self).__repr__() except ValueError: @@ -279,12 +282,12 @@ class c_char_p(_SimpleCData): _type_ = "z" if _os.name == "nt": - def __repr__(self): + def __repr__(self): if not windll.kernel32.IsBadStringPtrA(self, -1): return "%s(%r)" % (self.__class__.__name__, self.value) return "%s(%s)" % (self.__class__.__name__, cast(self, c_void_p).value) else: - def __repr__(self): + def __repr__(self): return "%s(%s)" % (self.__class__.__name__, cast(self, c_void_p).value) _check_size(c_char_p, "P") @@ -296,7 +299,7 @@ class c_bool(_SimpleCData): _type_ = "?" -from _ctypes import POINTER, pointer, _pointer_type_cache +from _ctypes import POINTER, pointer, _pointer_type_cache def _reset_cache(): _pointer_type_cache.clear() @@ -315,7 +318,7 @@ CFUNCTYPE(c_int)(lambda: None) try: - from _ctypes import set_conversion_mode + from _ctypes import set_conversion_mode except ImportError: pass else: @@ -382,7 +385,7 @@ _func_flags_ = _FUNCFLAG_CDECL _func_restype_ = c_int - def __init__(self, name, mode=DEFAULT_MODE, handle=None, + def __init__(self, name, mode=DEFAULT_MODE, handle=None, use_errno=False, use_last_error=False): self._name = name @@ -402,20 +405,20 @@ else: self._handle = handle - def __repr__(self): + def __repr__(self): return "<%s '%s', handle %x at %x>" % \ (self.__class__.__name__, self._name, (self._handle & (_sys.maxint*2 + 1)), id(self) & (_sys.maxint*2 + 1)) - def __getattr__(self, name): + def __getattr__(self, name): if name.startswith('__') and name.endswith('__'): raise AttributeError(name) func = self.__getitem__(name) setattr(self, name, func) return func - def __getitem__(self, name_or_ordinal): + def __getitem__(self, name_or_ordinal): func = self._FuncPtr((name_or_ordinal, self)) if not isinstance(name_or_ordinal, (int, long)): func.__name__ = name_or_ordinal @@ -438,7 +441,7 @@ # XXX Hm, what about HRESULT as normal parameter? # Mustn't it derive from c_long then? - from _ctypes import _check_HRESULT, _SimpleCData + from _ctypes import _check_HRESULT, _SimpleCData class HRESULT(_SimpleCData): _type_ = "l" # _check_retval_ is called with the function's result when it @@ -462,17 +465,17 @@ _func_restype_ = HRESULT class LibraryLoader(object): - def __init__(self, dlltype): + def __init__(self, dlltype): self._dlltype = dlltype - def __getattr__(self, name): + def __getattr__(self, name): if name[0] == '_': raise AttributeError(name) dll = self._dlltype(name) setattr(self, name, dll) return dll - def __getitem__(self, name): + def __getitem__(self, name): return getattr(self, name) def LoadLibrary(self, name): @@ -497,7 +500,7 @@ GetLastError = windll.kernel32.GetLastError else: GetLastError = windll.coredll.GetLastError - from _ctypes import get_last_error, set_last_error + from _ctypes import get_last_error, set_last_error def WinError(code=None, descr=None): if code is None: @@ -518,7 +521,7 @@ # functions -from _ctypes import _memmove_addr, _memset_addr, _string_at_addr, _cast_addr +from _ctypes import _memmove_addr, _memset_addr, _string_at_addr, _cast_addr ## void *memmove(void *, const void *, size_t); memmove = CFUNCTYPE(c_void_p, c_void_p, c_void_p, c_size_t)(_memmove_addr) @@ -545,7 +548,7 @@ return _string_at(ptr, size) try: - from _ctypes import _wstring_at_addr + from _ctypes import _wstring_at_addr except ImportError: pass else: @@ -573,7 +576,7 @@ return 0 # S_OK return ccom.DllCanUnloadNow() -from ctypes._endian import BigEndianStructure, LittleEndianStructure +from ctypes._endian import BigEndianStructure, LittleEndianStructure # Fill in specifically-sized types c_int8 = c_byte @@ -621,13 +624,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/index.html b/docs/build/html/_modules/index.html index 35be943..1f0d259 100644 --- a/docs/build/html/_modules/index.html +++ b/docs/build/html/_modules/index.html @@ -6,14 +6,17 @@ - Overview: module code — PythonForWindows 0.5 documentation + Overview: module code — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -47,6 +50,8 @@
  • windows.debug.breakpoints
  • windows.debug.debugger
  • windows.debug.localdbg
  • +
  • windows.debug.symboldbg
  • +
  • windows.debug.symbols
  • windows.generated_def.flag
  • windows.generated_def.winstructs
  • windows.hooks
  • @@ -64,7 +69,9 @@
  • windows.utils.pythonutils
  • windows.utils.winutils
  • windows.winobject.apisetmap
  • +
  • windows.winobject.device_manager
  • windows.winobject.event_log
  • +
  • windows.winobject.event_trace
  • windows.winobject.exception
  • windows.winobject.handle
  • windows.winobject.network
  • @@ -113,12 +120,12 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/alpc.html b/docs/build/html/_modules/windows/alpc.html index 20f3461..402c77c 100644 --- a/docs/build/html/_modules/windows/alpc.html +++ b/docs/build/html/_modules/windows/alpc.html @@ -6,14 +6,17 @@ - windows.alpc — PythonForWindows 0.5 documentation + windows.alpc — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -39,11 +42,11 @@

    Source code for windows.alpc

     import sys
     import ctypes
    -from collections import namedtuple
    +from collections import namedtuple
     
     import windows
    -from windows import winproxy
    -from windows import generated_def as gdef
    +from windows import winproxy
    +from windows import generated_def as gdef
     import windows.pycompat
     
     
    @@ -59,7 +62,7 @@
     
    [docs]class AlpcMessage(object): """Represent a full ALPC Message: a :class:`AlpcMessagePort` and a :class:`MessageAttribute`""" # PORT_MESSAGE + MessageAttribute - def __init__(self, msg_or_size=0x1000, attributes=None): + def __init__(self, msg_or_size=0x1000, attributes=None): # Init the PORT_MESSAGE if isinstance(msg_or_size, windows.pycompat.int_types): self.port_message_buffer_size = msg_or_size @@ -390,10 +393,10 @@ "An ALPC client able to connect to a port and send/receive messages" DEFAULT_MAX_MESSAGE_LENGTH = 0x9000 - def __init__(self, port_name=None): + def __init__(self, port_name=None): """Init the :class:`AlpcClient` automatically connect to ``port_name`` using default values if given""" self.handle = None - self.port_name = None + self.port_name = None #: The name of the ALPC port the client is connect to. if port_name is not None: x = self.connect_to_port(port_name, "") @@ -477,7 +480,7 @@ if self.handle: self._close_port(self.handle) - def __del__(self): + def __del__(self): if sys.path is not None: self.disconnect()
    @@ -486,7 +489,7 @@ """An ALPC server able to create a port, accept connections and send/receive messages""" DEFAULT_MAX_MESSAGE_LENGTH = 0x1000 - def __init__(self, port_name=None): + def __init__(self, port_name=None): self.port_name = None self.communication_port_list = [] self.handle = None @@ -576,7 +579,7 @@ # TODO: add an API to close a communication port ? - def __del__(self): + def __del__(self): if sys.path is not None: self.disconnect()
    @@ -611,13 +614,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/com.html b/docs/build/html/_modules/windows/com.html index 38ef7aa..a02a0d9 100644 --- a/docs/build/html/_modules/windows/com.html +++ b/docs/build/html/_modules/windows/com.html @@ -6,14 +6,17 @@ - windows.com — PythonForWindows 0.5 documentation + windows.com — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -41,18 +44,18 @@ import struct import ctypes import functools -from ctypes import HRESULT, byref, cast +from ctypes import HRESULT, byref, cast import windows -from windows import winproxy -from windows.generated_def.winstructs import * +from windows import winproxy +from windows.generated_def.winstructs import * import windows.generated_def as gdef -from windows.generated_def import RPC_C_IMP_LEVEL_IMPERSONATE, CLSCTX_INPROC_SERVER -from windows.generated_def import interfaces -from windows.generated_def.interfaces import generate_IID, IID +from windows.generated_def import RPC_C_IMP_LEVEL_IMPERSONATE, CLSCTX_INPROC_SERVER +from windows.generated_def import interfaces +from windows.generated_def.interfaces import generate_IID, IID -from windows.pycompat import int_types, basestring +from windows.pycompat import int_types, basestring # We have windows.com.COMImplementation # So we need windows.com.COMInterface @@ -204,7 +207,7 @@ empty = object() class Variant(VARIANT): - def __init__(self, value=empty, type=None): + def __init__(self, value=empty, type=None): if type is not None: self.set_value_and_type(value, type) return @@ -309,7 +312,7 @@ asbyte = generate_getter(VT_UI1) asunknown = generate_getter(VT_UNKNOWN) - def __repr__(self): + def __repr__(self): return """<{0} of type {1}>""".format(type(self).__name__, self.vt) # Deprecated: remove me when test pass :) @@ -370,7 +373,7 @@ _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): + def __init__(self): self.verify_implem(self.IMPLEMENT) vtable, implems = self._create_vtable(self.IMPLEMENT) self.vtable = vtable @@ -424,13 +427,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/crypto/certificate.html b/docs/build/html/_modules/windows/crypto/certificate.html index 36dbd81..2988594 100644 --- a/docs/build/html/_modules/windows/crypto/certificate.html +++ b/docs/build/html/_modules/windows/crypto/certificate.html @@ -6,14 +6,17 @@ - windows.crypto.certificate — PythonForWindows 0.5 documentation + windows.crypto.certificate — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -41,10 +44,10 @@ import ctypes import windows -from windows import winproxy +from windows import winproxy import windows.generated_def as gdef -from windows.crypto import DEFAULT_ENCODING +from windows.crypto import DEFAULT_ENCODING import windows.crypto.cryptmsg @@ -82,7 +85,7 @@ gdef.CMSG_SIGNER_COUNT_PARAM: gdef.DWORD, gdef.CMSG_CERT_COUNT_PARAM: gdef.DWORD} - def __init__(self, filename, content_type=gdef.CERT_QUERY_CONTENT_FLAG_ALL): + def __init__(self, filename, content_type=gdef.CERT_QUERY_CONTENT_FLAG_ALL): # No other API than filename for now.. self.filename = filename @@ -136,7 +139,7 @@ """ return list(self._signers_and_certs_generator()) - def __repr__(self): + def __repr__(self): return '<{0} "{1}" content_type={2!r}>'.format(type(self).__name__, self.filename, self.content_type) @@ -215,7 +218,7 @@ return None return Certificate.from_pointer(rawcertcontext) - def __del__(self): + def __del__(self): return winproxy.CertCloseStore(self, 0) @@ -516,12 +519,12 @@ return ctypes.cast(ptr, ctypes.POINTER(Certificate))[0] - def __eq__(self, other): + def __eq__(self, other): if not isinstance(other, Certificate): return NotImplemented return windows.winproxy.CertCompareCertificate(DEFAULT_ENCODING, self.pCertInfo, other.pCertInfo) - def __repr__(self): + def __repr__(self): return '<{0} "{1}" serial="{2}">'.format(type(self).__name__, self.name, self.serial) @@ -596,7 +599,7 @@ """ _type_ = gdef.HCRYPTPROV._type_ - def __init__(self, pszContainer=None, pszProvider=None, dwProvType=0, dwFlags=0, retrycreate=False): + def __init__(self, pszContainer=None, pszProvider=None, dwProvType=0, dwFlags=0, retrycreate=False): self.pszContainer = pszContainer self.pszProvider = pszProvider self.dwProvType = dwProvType @@ -605,11 +608,11 @@ #self.value = HCRYPTPROV() pass - def __enter__(self): + def __enter__(self): self.acquire() return self - def __exit__(self, *args): + def __exit__(self, *args): self.release() def acquire(self): @@ -654,13 +657,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/crypto/cryptmsg.html b/docs/build/html/_modules/windows/crypto/cryptmsg.html index d2e7952..a97d03c 100644 --- a/docs/build/html/_modules/windows/crypto/cryptmsg.html +++ b/docs/build/html/_modules/windows/crypto/cryptmsg.html @@ -6,14 +6,17 @@ - windows.crypto.cryptmsg — PythonForWindows 0.5 documentation + windows.crypto.cryptmsg — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -39,7 +42,7 @@

    Source code for windows.crypto.cryptmsg

     import ctypes
     
    -from windows import winproxy
    +from windows import winproxy
     import windows.generated_def as gdef
     import windows.crypto
     
    @@ -154,20 +157,21 @@
     
         def update(self, blob, final):
             # Test isinstance string ?
    -        if isinstance(blob, (basestring, bytearray)):
    +        if isinstance(blob, (windows.pycompat.anybuff, bytearray)):
    +            blob = windows.pycompat.raw_encode(blob)
                 buffer = windows.utils.BUFFER(gdef.BYTE).from_buffer_copy(blob)
                 return winproxy.CryptMsgUpdate(self, buffer, len(blob), final)
             return winproxy.CryptMsgUpdate(self, blob.pbData, blob.cbData, final)
     
         # constructor
    -    @classmethod
    -    def from_data(self, data):
    +
    [docs] @classmethod + def from_buffer(self, data): hmsg = winproxy.CryptMsgOpenToDecode(windows.crypto.DEFAULT_ENCODING, 0, 0, None, None, None) newmsg = CryptMessage(hmsg) newmsg.update(data, final=True) - return newmsg + return newmsg
    - def __del__(self): + def __del__(self): return winproxy.CryptMsgClose(self)
    @@ -201,13 +205,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/crypto/encrypt_decrypt.html b/docs/build/html/_modules/windows/crypto/encrypt_decrypt.html index a1c5c91..1e5bf3d 100644 --- a/docs/build/html/_modules/windows/crypto/encrypt_decrypt.html +++ b/docs/build/html/_modules/windows/crypto/encrypt_decrypt.html @@ -6,14 +6,17 @@ - windows.crypto.encrypt_decrypt — PythonForWindows 0.5 documentation + windows.crypto.encrypt_decrypt — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -37,11 +40,11 @@

    Source code for windows.crypto.encrypt_decrypt

    -from os import urandom
    +from os import urandom
     
    -from windows import winproxy
    -from windows.crypto import DEFAULT_ENCODING
    -from windows.generated_def import *
    +from windows import winproxy
    +from windows.crypto import DEFAULT_ENCODING
    +from windows.generated_def import *
     
     __all__ = ["encrypt", "decrypt"]
     
    @@ -56,7 +59,7 @@
     
     
     class GenerateInitVector(object):
    -    def __repr__(self):
    +    def __repr__(self):
             return "GenerateInitVector()"
     
         def generate_init_vector(self, algo):
    @@ -188,13 +191,13 @@
             
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/crypto/generation.html b/docs/build/html/_modules/windows/crypto/generation.html index 2d9f8df..ea906a5 100644 --- a/docs/build/html/_modules/windows/crypto/generation.html +++ b/docs/build/html/_modules/windows/crypto/generation.html @@ -6,14 +6,17 @@ - windows.crypto.generation — PythonForWindows 0.5 documentation + windows.crypto.generation — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - +
    @@ -38,9 +41,9 @@

    Source code for windows.crypto.generation

     import windows
    -from windows import winproxy
    -from windows.generated_def import *
    -from windows.crypto import DEFAULT_ENCODING, CertificateStore
    +from windows import winproxy
    +from windows.generated_def import *
    +from windows.crypto import DEFAULT_ENCODING, CertificateStore
     
     
     
    [docs]def generate_selfsigned_certificate(name="CN=DEFAULT", prov=None, key_info=None, flags=0, signature_algo=None): @@ -122,13 +125,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/debug/breakpoints.html b/docs/build/html/_modules/windows/debug/breakpoints.html index 165a945..7f6b722 100644 --- a/docs/build/html/_modules/windows/debug/breakpoints.html +++ b/docs/build/html/_modules/windows/debug/breakpoints.html @@ -6,14 +6,17 @@ - windows.debug.breakpoints — PythonForWindows 0.5 documentation + windows.debug.breakpoints — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - +
    @@ -37,12 +40,13 @@

    Source code for windows.debug.breakpoints

    -from collections import OrderedDict
    +from collections import OrderedDict
     
     import windows
    -from windows.generated_def.winstructs import *
    -from windows.generated_def import windef
    -from windows.winobject.process import WinProcess, WinThread
    +from windows.generated_def.winstructs import *
    +from windows.generated_def import windef
    +from windows.winobject.process import WinProcess, WinThread
    +from windows.pycompat import basestring
     
     
     STANDARD_BP = "BP"
    @@ -52,7 +56,7 @@
     
    [docs]class Breakpoint(object): """An standard (Int3) breakpoint (type == ``STANDARD_BP``)""" type = STANDARD_BP # REAL BP - def __init__(self, addr): + def __init__(self, addr): self.addr = addr def apply_to_target(self, target): @@ -64,7 +68,7 @@ class ProxyBreakpoint(Breakpoint): - def __init__(self, target, addr, type): + def __init__(self, target, addr, type): self.target = target self.addr = addr self.type = type @@ -85,7 +89,7 @@ type = MEMORY_BREAKPOINT DEFAULT_EVENTS = "RWX" DEFAULT_SIZE = 0x1000 -
    [docs] def __init__(self, addr, size=None, events=None): +
    [docs] def __init__(self, addr, size=None, events=None): """``size``: the size of the memory breakpoint. ``events``: a string representing the events that interest the BP (any of "RWX")""" @@ -124,7 +128,7 @@ ## Behaviour breakpoint ! # class FunctionParamDumpBP(Breakpoint): class FunctionParamDumpBPAbstract(object): - def __init__(self, addr=None, target=None): + def __init__(self, addr=None, target=None): if target is None: try: target = self.TARGET @@ -205,13 +209,13 @@ class FunctionParameterProxy(object): # TODO: clean this + put more of the logic in the X64ArgumentRetriever - def __init__(self, extractor, name_map, parameters_type, x): + def __init__(self, extractor, name_map, parameters_type, x): self.extractor = extractor self.name_map = name_map self.parameters_type = parameters_type self.x = x - def __getitem__(self, x): + def __getitem__(self, x): if isinstance(x, basestring): x = self.name_map[x] # import pdb;pdb.set_trace() @@ -229,7 +233,7 @@ pass return t - def __setitem__(self, x, value): + def __setitem__(self, x, value): if isinstance(x, basestring): x = self.name_map[x] try: @@ -248,7 +252,7 @@ pass class FunctionRetBP(Breakpoint): - def __init__(self, addr, initial_breakpoint): + def __init__(self, addr, initial_breakpoint): super(FunctionRetBP, self).__init__(addr) self.initial_breakpoint = initial_breakpoint @@ -261,10 +265,15 @@ """A Breakpoint that allow to trigger at the return of a function"""
    [docs] def break_on_ret(self, dbg, exception): """Setup a breakpoint at the return address of the function, this breakpoint will call :func:`ret_trigger`""" - cproc = dbg.current_process - return_addr = dbg.current_process.read_ptr(dbg.current_thread.context.sp) + return_addr = self.get_ret_addr(dbg, exception) dbg.add_bp(FunctionRetBP(return_addr, self), target=dbg.current_process)
    +
    [docs] def get_ret_addr(self, dbg, exception): + """Get the return address of the current target, only valid in the trigger() function.""" + cproc = dbg.current_process + return dbg.current_process.read_ptr(dbg.current_thread.context.sp)
    + +
    [docs] def ret_trigger(self, dbg, exception): """Called at the return of the function if :func:`break_on_ret` was called""" raise NotImplementedError("ret_trigger")
    @@ -278,7 +287,7 @@ """
    class PrintBP(Breakpoint): - def __init__(self, addr, format, func=None): + def __init__(self, addr, format, func=None): super(PrintBP, self).__init__(addr) self.format = format self.func = func @@ -321,13 +330,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/debug/debugger.html b/docs/build/html/_modules/windows/debug/debugger.html index 6f1d368..e51c455 100644 --- a/docs/build/html/_modules/windows/debug/debugger.html +++ b/docs/build/html/_modules/windows/debug/debugger.html @@ -6,14 +6,17 @@ - windows.debug.debugger — PythonForWindows 0.5 documentation + windows.debug.debugger — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - +
    @@ -38,8 +41,8 @@

    Source code for windows.debug.debugger

     import os.path
    -from collections import defaultdict, namedtuple
    -from contextlib import contextmanager
    +from collections import defaultdict, namedtuple
    +from contextlib import contextmanager
     
     import windows
     import windows.generated_def as gdef
    @@ -48,17 +51,17 @@
     import windows.native_exec.simple_x86 as x86
     import windows.native_exec.simple_x64 as x64
     
    -from windows.winobject.process import WinProcess, WinThread
    -from windows.dbgprint import dbgprint
    -from windows import winproxy
    -from windows.generated_def.winstructs import *
    -from windows.generated_def import windef
    -from .breakpoints import *
    +from windows.winobject.process import WinProcess, WinThread
    +from windows.dbgprint import dbgprint
    +from windows import winproxy
    +from windows.generated_def.winstructs import *
    +from windows.generated_def import windef
    +from .breakpoints import *
     
     #from windows.syswow64 import CS_32bits
    -from windows.winobject.exception import VectoredException
    +from windows.winobject.exception import VectoredException
     
    -from windows.pycompat import basestring
    +from windows.pycompat import basestring
     
     
     PAGE_SIZE = 0x1000
    @@ -87,7 +90,7 @@
             * Memory BP (virtual_protect)
         """
     
    -
    [docs] def __init__(self, target): +
    [docs] def __init__(self, target): """``target`` must be a debuggable :class:`WinProcess`.""" self._init_dispatch_handlers() self.target = target @@ -810,6 +813,7 @@ self.breakpoints[self.current_process.pid] = {} self._memory_save[self.current_process.pid] = {} self._module_by_process[self.current_process.pid] = {} + self._internal_on_create_process(create_process) # Allow hook for symbol-debugger self._update_debugger_state(debug_event) self._add_exe_to_module_list(create_process) self._setup_pending_breakpoints_new_process(self.current_process) @@ -875,6 +879,9 @@ del self._breakpoint_to_reput[self.current_thread.tid] return retvalue + def _internal_on_create_process(self, create_process): + return None + def _internal_on_load_dll(self, load_dll): return None @@ -1205,13 +1212,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/debug/localdbg.html b/docs/build/html/_modules/windows/debug/localdbg.html index 1a1a4cf..c1e0db3 100644 --- a/docs/build/html/_modules/windows/debug/localdbg.html +++ b/docs/build/html/_modules/windows/debug/localdbg.html @@ -6,14 +6,17 @@ - windows.debug.localdbg — PythonForWindows 0.5 documentation + windows.debug.localdbg — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - +
    @@ -37,20 +40,20 @@

    Source code for windows.debug.localdbg

    -from collections import defaultdict
    -from contextlib import contextmanager
    +from collections import defaultdict
    +from contextlib import contextmanager
     
     import windows
     import windows.winobject.exception as winexception
     
    -from windows import winproxy
    -from windows.generated_def import windef
    -from windows.generated_def.winstructs import *
    -from .breakpoints import *
    +from windows import winproxy
    +from windows.generated_def import windef
    +from windows.generated_def.winstructs import *
    +from .breakpoints import *
     
     class FakeDebuggerCurrentThread(object):
         """A pseudo thread representing the current thread at exception time"""
    -    def __init__(self, dbg):
    +    def __init__(self, dbg):
             self.dbg = dbg
     
         @property
    @@ -75,7 +78,7 @@
             * Hardware-Exec BP (DrX)
         """
     
    -    def __init__(self):
    +    def __init__(self):
             self.breakpoints = {}
             self._memory_save = {}
             self._reput_breakpoint = {}
    @@ -85,7 +88,7 @@
             winproxy.AddVectoredExceptionHandler(0, self.callback_vectored)
             self.setup_hxbp_callback_vectored =  winexception.VectoredException(self.setup_hxbp_callback)
             self.hxbp_info = None
    -        self.code = windows.native_exec.create_function("\xcc\xc3", [PVOID])
    +        self.code = windows.native_exec.create_function(b"\xcc\xc3", [PVOID])
             self.veh_depth = 0
             self.current_exception = None
             self.exceptions_stack = [None]
    @@ -167,7 +170,7 @@
                 bp, single_step = self._reput_breakpoint[windows.current_thread.tid]
                 self._memory_save[bp._addr] = windows.current_process.read_memory(bp._addr, 1)
                 with windows.utils.VirtualProtected(bp._addr, 1, PAGE_EXECUTE_READWRITE):
    -                windows.current_process.write_memory(bp._addr, "\xcc")
    +                windows.current_process.write_memory(bp._addr, b"\xcc")
                 del self._reput_breakpoint[windows.current_thread.tid]
                 if single_step:
                     return self.on_exception(exc)
    @@ -223,7 +226,7 @@
             self.breakpoints[addr] = bp
             self._memory_save[addr] = windows.current_process.read_memory(addr, 1)
             with windows.utils.VirtualProtected(addr, 1, PAGE_EXECUTE_READWRITE):
    -            windows.current_process.write_memory(addr, "\xcc")
    +            windows.current_process.write_memory(addr, b"\xcc")
             return
    def add_bp_hxbp(self, bp, targets=None): @@ -243,16 +246,18 @@ def setup_hxbp_callback(self, exc): with self.NewCurrentException(exc): exp_code = self.get_exception_code() + if exp_code != windef.EXCEPTION_BREAKPOINT: + return windef.EXCEPTION_CONTINUE_SEARCH context = self.get_exception_context() exp_addr = context.pc hxbp_used = self.setup_hxbp_in_context(context, self.data) - windows.current_process.write_memory(exp_addr, "\x90") + windows.current_process.write_memory(exp_addr, b"\x90") # Raising in the VEH is a bad idea.. # So better give the information to triggerer.. if hxbp_used is not None: - self.get_exception_context().Eax = exp_addr + self.get_exception_context().func_result = exp_addr else: - self.get_exception_context().Eax = 0 + self.get_exception_context().func_result = 0 return windef.EXCEPTION_CONTINUE_EXECUTION def remove_hxbp_callback(self, exc): @@ -261,7 +266,7 @@ context = self.get_exception_context() exp_addr = context.pc hxbp_used = self.remove_hxbp_in_context(context, self.data) - windows.current_process.write_memory(exp_addr, "\x90") + windows.current_process.write_memory(exp_addr, b"\x90") # Raising in the VEH is a bad idea.. # So better give the information to triggerer.. if hxbp_used is not None: @@ -306,7 +311,7 @@ x = self.code() if x is None: raise ValueError("Could not setup HXBP") - windows.current_process.write_memory(x, "\xcc") + windows.current_process.write_memory(x, b"\xcc") return def setup_hxbp_other_thread(self, addr, thread): @@ -329,7 +334,7 @@ x = self.code() if x is None: raise ValueError("Could not remove HXBP") - windows.current_process.write_memory(x, "\xcc") + windows.current_process.write_memory(x, b"\xcc") return def remove_hxbp_other_thread(self, addr, thread): @@ -372,13 +377,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/debug/symboldbg.html b/docs/build/html/_modules/windows/debug/symboldbg.html new file mode 100644 index 0000000..40ede1b --- /dev/null +++ b/docs/build/html/_modules/windows/debug/symboldbg.html @@ -0,0 +1,132 @@ + + + + + + + + windows.debug.symboldbg — PythonForWindows 0.6 documentation + + + + + + + + + + + + + + + +
    +
    +
    +
    + +

    Source code for windows.debug.symboldbg

    +import windows
    +import windows.generated_def as gdef
    +from windows.pycompat import int_types
    +
    +from . import Debugger
    +from . import symbols
    +
    +
    [docs]class SymbolDebugger(Debugger): + """A debugger using the symbol API (hence PDB) for name resolution. + To use PDB, a correct version of dbghelp should be configured as well as ``_NT_SYMBOL_PATH``. + (See :ref:`debug_symbols_module`) + + This debugger add a ``current_resolver`` variable (A :class:`~windows.debug.symbols.ProcessSymbolHandler`) for the ``current_process``. + """ + def __init__(self, *args, **kwargs): + super(SymbolDebugger, self).__init__(*args, **kwargs) + self._resolvers = {} + + def _internal_on_load_dll(self, load_dll): + path = self._get_loaded_dll(load_dll) + # Path is used instead of name for naming the module (and can be set to whatever if using file handle) + x = self.current_resolver.load_module(load_dll.hFile, path=path, addr=load_dll.lpBaseOfDll) + + def _internal_on_create_process(self, create_process): + # Create and setup a symbol resolver for the new process + resolver = symbols.ProcessSymbolHandler(self.current_process) + self._resolvers[self.current_process.pid] = resolver + self.current_resolver = resolver + + def _update_debugger_state(self, debug_event): + super(SymbolDebugger, self)._update_debugger_state(debug_event) + self.current_resolver = self._resolvers[debug_event.dwProcessId] + + def _resolve(self, addr, target): + if isinstance(addr, int_types): + return addr + if "+" in addr: + symbol, deplacement = addr.split("+", 1) + deplacement = int(deplacement, 0) + else: + symbol = addr + deplacement = 0 + try: + return self.current_resolver[symbol].addr + deplacement + except WindowsError as e: + if not e.winerror in (gdef.ERROR_NOT_FOUND, gdef.ERROR_MOD_NOT_FOUND): + raise + return None
    +
    + +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/debug/symbols.html b/docs/build/html/_modules/windows/debug/symbols.html new file mode 100644 index 0000000..57f2517 --- /dev/null +++ b/docs/build/html/_modules/windows/debug/symbols.html @@ -0,0 +1,816 @@ + + + + + + + + windows.debug.symbols — PythonForWindows 0.6 documentation + + + + + + + + + + + + + + + +
    +
    +
    +
    + +

    Source code for windows.debug.symbols

    +import os.path
    +import ctypes
    +import copy
    +import itertools
    +from collections import namedtuple
    +
    +import windows
    +import windows.generated_def as gdef
    +from windows import winproxy
    +from windows.pycompat import basestring
    +
    +DEFAULT_DBG_OPTION = gdef.SYMOPT_DEFERRED_LOADS + gdef.SYMOPT_UNDNAME
    +
    +
    +
    [docs]def set_dbghelp_path(path): + """Set the path of the ``dbghelp.dll`` file to use. It allow to configure a different version of the DLL handling PDB downloading. + + If ``path`` is a directory, the final ``dbghelp.dll`` will be computed as + ``path\<current_process_bitness>\dbghelp.dll``. + + This allow to use the same script transparently in both 32b & 64b python interpreters. + """ + loaded_modules = [m.name.lower() for m in windows.current_process.peb.modules] + if os.path.isdir(path): + path = os.path.join(path, str(windows.current_process.bitness), "dbghelp.dll") + if "dbghelp.dll" in loaded_modules: + raise ValueError("setup_dbghelp_path should be called before any dbghelp function") + # Change the DLL used by DbgHelpProxy + winproxy.DbgHelpProxy.APIDLL = path + return
    + +# Load symbol config from ENV if present +try: + env_dbghelp_path = os.environ["PFW_DBGHELP_PATH"] + # Setup the dbghelp path used by PFW + set_dbghelp_path(env_dbghelp_path) +except KeyError as e: + pass + + + +class SymbolInfoBase(object): + """Represent a Symbol. + This class in based on the class `SYMBOL_INFO <https://docs.microsoft.com/en-us/windows/win32/api/dbghelp/ns-dbghelp-symbol_info>`_ + with the handling on displacement embeded into it. + """ + # Init on ctypes struct is not always called + # resolver & displacement should be set manually + CHAR_TYPE = None + + def __init__(self, *args, **kwargs): + self.resolver = kwargs.get("resolver", None) + #: POUET POUET + self.displacement = kwargs.get("displacement", 0) #: POUET POUET + + + def as_type(self): + # assert self.Address == 0 ? + return SymbolType(self.Index, self.ModBase, self.resolver) + + @property + def name(self): + """The name of the symbol""" + if not self.NameLen: + return None + size = self.NameLen + addr = ctypes.addressof(self) + type(self).Name.offset + return (self.CHAR_TYPE * size).from_address(addr)[:] + + @property + def fullname(self): + """The fullname of the symbol in the windbg format ``mod!sym+displacement``""" + return str(self) + + @property + def addr(self): + """The address of the symbol""" + return self.Address + self.displacement + + @property + def start(self): + """The address of the start of the symbol + If the symbol include a displacement, it is not taken into account + """ + return self.Address + + @property # Fixed ? + def module(self): + """The module containing the symbol + + :type: :class:`SymbolModule` + """ + return self.resolver.get_module(self.ModBase) + + @property + def tag(self): + """The Tag of the module + + :type: :class:`~windows.generated_def.winstructs.SymTagEnum` + """ + return gdef.SymTagEnum.mapper[self.Tag] + + def __int__(self): + """An alias for ``addr``""" + return self.addr + + def __str__(self): + """The fullname of the symbol in the windbg format ``mod!sym+displacement``""" + if self.displacement: + return "{self.module.name}!{self.name}+{self.displacement:#x}".format(self=self) + return "{self.module.name}!{self.name}".format(self=self) + + def __repr__(self): + if self.displacement: + return '<{0} name="{1}" start={2:#x} displacement={3:#x} tag={4}>'.format(type(self).__name__, self.name, self.start, self.displacement, self.tag.name) + return '<{0} name="{1}" start={2:#x} tag={3}>'.format(type(self).__name__, self.name, self.start, self.tag.name) + + +
    [docs]class SymbolInfoA(gdef.SYMBOL_INFO, SymbolInfoBase): + """Represent a Symbol. + This class in based on the class `SYMBOL_INFO <https://docs.microsoft.com/en-us/windows/win32/api/dbghelp/ns-dbghelp-symbol_info>`_ + with the handling on displacement embeded into it.s + + Exemple: + + >>> sh = windows.debug.symbols.VirtualSymbolHandler() + >>> mod = sh.load_file(r"c:\windows\system32\kernelbase.dll") + >>> sym1 = sh["kernelbase!CreateFileW"] + >>> sym2 = sh[int(sym1) + 3] + >>> sym2 + <SymbolInfoA name="CreateFileW" start=0x100f20b0 displacement=0x3 tag=SymTagPublicSymbol> + >>> hex(sym2.start) + '0x100f20b0L' + >>> hex(sym2.addr) + '0x100f20b3L' + >>> hex(sym2.displacement) + '0x3L' + >>> str(sym2) + 'kernelbase!CreateFileW+0x3' + """ + CHAR_TYPE = gdef.CHAR
    + +class SymbolInfoW(gdef.SYMBOL_INFOW, SymbolInfoBase): + CHAR_TYPE = gdef.WCHAR + +# We use the A Api in our code (for now) +SymbolInfo = SymbolInfoA + +class SymbolType(object): + def __init__(self, typeid, modbase, resolver): + # Inheritance ? + self.resolver = resolver + self._typeid = typeid # Kind of a handle. Different of typeid property. + self.modbase = modbase + + def _get_type_info(self, typeinfo, ires=None): + res = ires + if res is None: + res = TST_TYPE_RES_TYPE.get(typeinfo, gdef.DWORD)() + windows.winproxy.SymGetTypeInfo(self.resolver.handle, self.modbase, self._typeid, typeinfo, ctypes.byref(res)) + if ires is not None: + return ires + newres = res.value + if isinstance(res, gdef.LPWSTR): + windows.winproxy.LocalFree(res) + return newres + + @property + def name(self): + return self._get_type_info(gdef.TI_GET_SYMNAME) + + @property + def size(self): + return self._get_type_info(gdef.TI_GET_LENGTH) + + @property + def tag(self): + return self._get_type_info(gdef.TI_GET_SYMTAG) + + # Diff type/typeid ? + @property + def type(self): + return self.new_typeid(self._get_type_info(gdef.TI_GET_TYPE)) + + @property + def typeid(self): + return self.new_typeid(self._get_type_info(gdef.TI_GET_TYPEID)) + + @property + def basetype(self): + return gdef.BasicType.mapper[self._get_type_info(gdef.TI_GET_BASETYPE)] + + @property + def datakind(self): + return gdef.DataKind.mapper[self._get_type_info(gdef.TI_GET_DATAKIND)] + + @property + def udtkind(self): + return gdef.UdtKind.mapper[self._get_type_info(gdef.TI_GET_UDTKIND)] + + @property + def offset(self): + return self._get_type_info(gdef.TI_GET_OFFSET) + + @property + def nb_children(self): + return self._get_type_info(gdef.TI_GET_CHILDRENCOUNT) + + @property + def children(self): + count = self.nb_children + class res_struct(ctypes.Structure): + _fields_ = [("Count", gdef.ULONG), ("Start", gdef.ULONG), ("Types", (gdef.ULONG * count))] + x = res_struct() + x.Count = count + x.Start = 0 + self._get_type_info(gdef.TI_FINDCHILDREN, x) + return [self.new_typeid(ch) for ch in x.Types] + + # Constructor + @classmethod + def from_symbol_info(cls, syminfo, resolver): + return cls(syminfo.TypeIndex, syminfo.ModBase, resolver) + + # Constructor + def new_typeid(self, newtypeid): + return type(self)(newtypeid, self.modbase, self.resolver) + + def __repr__(self): + if self.tag == gdef.SymTagBaseType: + return '<{0} <basetype> {1}>'.format(type(self).__name__, self.basetype) + return '<{0} name="{1}" tag={2}>'.format(type(self).__name__, self.name, self.tag) + + +
    [docs]class SymbolModule(gdef.IMAGEHLP_MODULE64): + """Represent a loaded symbol module + (see `MSDN IMAGEHLP_MODULE64 <https://docs.microsoft.com/en-us/windows/win32/api/dbghelp/ns-dbghelp-imagehlp_module64>`_) + + .. note:: + + This represent a module in the ``symbol space`` for symbol resolution. + This can be completly virtual (particularly in the case of :class:`VirtualSymbolHandler` + """ + # Init on ctypes struct is not always called + # resolver should be set manually + def __init__(self, resolver): + self.resolver = resolver + + @property + def addr(self): + """The load address of the module""" + return self.BaseOfImage + + @property + def name(self): + """The name of the module""" + return self.ModuleName + + @property + def path(self): + """The full path and file name of the file from which symbols were loaded.""" + return self.LoadedImageName + + @property + def type(self): + """The type of module (:class:`~windows.generated_def.winstructs.SYM_TYPE`), + which can be one of: + + =========== ========================= + SymCoff COFF symbols. + SymCv CodeView symbols. + SymDeferred Symbol loading deferred. + SymDia DIA symbols. + SymExport Symbols generated from a DLL export table. + SymNone No symbols are loaded. + SymPdb PDB symbols. + SymSym .sym file. + SymVirtual The virtual module created by SymLoadModuleEx with SLMFLAG_VIRTUAL. + =========== ========================= + """ + return self.SymType + + @property + def pdb(self): + """The local path of the loaded PDB if present + + Exemple: + >>> sh = windows.debug.symbols.VirtualSymbolHandler() + >>> mod = sh.load_file(r"c:\windows\system32\kernelbase.dll") + >>> mod.pdb + 'd:\\symbols\\wkernelbase.pdb\\017FA9C5278235B7E6BFBA74A9A5AAD91\\wkernelbase.pdb' + """ + LoadedPdbName = self.LoadedPdbName + if not LoadedPdbName: + return None + return LoadedPdbName + + def __repr__(self): + pdb_basename = self.LoadedPdbName.split(b"\\")[-1] + return '<{0} name="{1}" type={2} pdb="{3}" addr={4:#x}>'.format(type(self).__name__, self.name, self.type.value.name, pdb_basename, self.addr)
    + + +# https://docs.microsoft.com/en-us/windows/win32/debug/symbol-handler-initialization +class SymbolHandler(object): + """Base class of symbol handler""" + + def __init__(self, handle, search_path=None, invade_process=False): + # https://docs.microsoft.com/en-us/windows/desktop/api/dbghelp/nf-dbghelp-syminitialize + # This value should be unique and nonzero, but need not be a process handle. + # be sure to use the correct handle. + self.handle = handle #: The handle of the symbol handler + if not engine.options_already_setup: + engine.set_options(DEFAULT_DBG_OPTION) + winproxy.SymInitialize(handle, search_path, invade_process) + + + def load_module(self, file_handle=None, path=None, name=None, addr=0, size=0, data=None, flags=0): + """Load a module at a given ``addr``. The module to load can be pass via a ``file_handle`` + or the direct ``path`` of the file to load. + + :return: :class:`SymbolModule` -- The loaded module + + .. note:: + + The logic of ``SymLoadModuleEx`` seems somewhat strange about the naming of the loaded module. + A custom module ``name`` is only taken into account if the file is passed via a File handle. + To make it more intuitive, if this function is call with a ``path`` and ``name`` and no ``file_handle``, + it will open the path and directly call ``SymLoadModuleEx`` with a file handle and a name. + """ + + # Is that a bug in SymLoadModuleEx ? + # To get a custom name for a module it use "path" + # So we need to use file_handle and set a custom path + # ! BUT it means we cannot get a custom name for a module where the path is not explicit and need to be searched + if name is not None and file_handle is None and os.path.exists(path): + try: + f = open(path) + file_handle = windows.utils.get_handle_from_file(f) + path = name + except Exception as e: + pass + # Expect a-string + path = windows.pycompat.raw_encode(path) + try: + load_addr = winproxy.SymLoadModuleEx(self.handle, file_handle, path, name, addr, size, data, flags) + except WindowsError as e: + # if e.winerror == 0: + # Already loaded ? + # What if someone try to load another PE at the same BaseOfDll ? + # return BaseOfDll + raise + return self.get_module(load_addr) + + def load_file(self, path, name=None, addr=0, size=0, data=None, flags=0): + """Load the module ``path`` at ``addr`` + + :return: :class:`SymbolModule` -- The loaded module + """ + return self.load_module(path=path, name=name, addr=addr, size=size, data=data, flags=flags) + + def unload(self, addr): + """Unload the module at ``addr``""" + return winproxy.SymUnloadModule64(self.handle, addr) + + + @staticmethod + @ctypes.WINFUNCTYPE(gdef.BOOL, gdef.PCSTR, gdef.DWORD64, ctypes.py_object) + def modules_aggregator(modname, modaddr, ctx): + ctx.append(modaddr) + return True + + @property + def modules(self): + """The list of loaded modules + + :return: [:class:`SymbolModule`] -- A list of modules + """ + res = [] + windows.winproxy.SymEnumerateModules64(self.handle, self.modules_aggregator, res) + return [self.get_module(addr) for addr in res] + + + def get_module(self, base): + modinfo = SymbolModule(self) + modinfo.SizeOfStruct = ctypes.sizeof(modinfo) + winproxy.SymGetModuleInfo64(self.handle, base, modinfo) + return modinfo + + def symbol_and_displacement_from_address(self, addr): + displacement = gdef.DWORD64() + max_len_size = 0x1000 + full_size = ctypes.sizeof(SymbolInfo) + (max_len_size - 1) + buff = windows.utils.BUFFER(SymbolInfo)(size=full_size) + sym = buff[0] + sym.SizeOfStruct = ctypes.sizeof(SymbolInfo) + sym.MaxNameLen = max_len_size + winproxy.SymFromAddr(self.handle, addr, displacement, buff) # SymFromAddrW ? + sym.resolver = self + sym.displacement = displacement.value + return sym + + + def symbol_from_name(self, name): + max_len_size = 0x1000 + full_size = ctypes.sizeof(SymbolInfo) + (max_len_size - 1) + buff = windows.utils.BUFFER(SymbolInfo)(size=full_size) + sym = buff[0] + sym.SizeOfStruct = ctypes.sizeof(SymbolInfo) + sym.MaxNameLen = max_len_size + # Expect a-string + name = windows.pycompat.raw_encode(name) + windows.winproxy.SymFromName(self.handle, name, buff) + sym.resolver = self + sym.displacement = 0 + return sym + + def resolve(self, name_or_addr): + """Resolve ``name_or_addr``. + + If its an int -> Return the :class:`SymbolInfo` at the address. + If its a string -> Return the :class:`SymbolInfo` corresponding to the symbol name + + :return: :class:`SymbolInfo` + + .. note:: + + ``__getitem__`` is an alias for ``resolve()`` + + Exemple: + + >>> sh = windows.debug.symbols.VirtualSymbolHandler() + >>> mod = sh.load_file(r"c:\windows\system32\kernelbase.dll") + >>> mod + <SymbolModule name="kernelbase" type=SymPdb pdb="wkernelbase.pdb" addr=0x10000000> + >>> sh.resolve("kernelbase!CreateFileInternal") + <SymbolInfoA name="CreateFileInternal" addr=0x100f2120 tag=SymTagFunction> + >>> sh[0x100f2042] + <SymbolInfoA name="ReadFile" addr=0x100f1ee0 displacement=0x162 tag=SymTagFunction> + >>> str(sh[0x100f2042]) + 'kernelbase!ReadFile+0x162' + """ + # Only returns None if symbol is not Found ? + if isinstance(name_or_addr, windows.pycompat.anybuff): + return self.symbol_from_name(name_or_addr) + try: + return self.symbol_and_displacement_from_address(name_or_addr) + except WindowsError as e: + if e.winerror != gdef.ERROR_MOD_NOT_FOUND: + raise + # We could not resolve and address -> return None + return None + + __getitem__ = resolve + """Alias to resolve for simpler use""" + + @staticmethod + @ctypes.WINFUNCTYPE(gdef.BOOL, ctypes.POINTER(SymbolInfo), gdef.ULONG , ctypes.py_object) + def simple_aggregator(info, size, ctx): + sym = info[0] + fullsize = sym.SizeOfStruct + sym.NameLen + cpy = windows.utils.BUFFER(SymbolInfo)(size=fullsize) + ctypes.memmove(cpy, info, fullsize) + ctx.append(cpy[0]) + return True + + def search(self, mask, mod=0, tag=0, options=gdef.SYMSEARCH_ALLITEMS, callback=None): + """Search the symbols matching ``mask`` (``Windbg`` like). + + :return: [:class:`SymbolInfo`] -- A list of :class:`SymbolInfo` + + >>> sh = windows.debug.symbols.VirtualSymbolHandler() + >>> mod = sh.load_file(r"c:\windows\system32\kernelbase.dll") + >>> sh.search("kernelbase!CreateFile*") + [<SymbolInfoA name="CreateFileInternal" addr=0x100f2120 tag=SymTagFunction>, + <SymbolInfoA name="CreateFileMoniker" addr=0x10117d80 tag=SymTagFunction>, + <SymbolInfoA name="CreateFile2" addr=0x1011e690 tag=SymTagFunction>, + ...] + """ + res = [] + if callback is None: + callback = self.simple_aggregator + else: + callback = ctypes.WINFUNCTYPE(gdef.BOOL, ctypes.POINTER(SymbolInfo), gdef.ULONG , ctypes.py_object)(callback) + + addr = getattr(mod, "addr", mod) # Retrieve mod.addr, else us the value directly + # Expect A-string + mask = windows.pycompat.raw_encode(mask) + windows.winproxy.SymSearch(self.handle, gdef.DWORD64(addr), 0, tag, mask, 0, callback, res, options) + for sym in res: + sym.resolver = self + sym.displacement = 0 + return res + + def get_symbols(self, addr, callback=None): + res = [] + if callback is None: + callback = self.simple_aggregator + else: + callback = ctypes.WINFUNCTYPE(gdef.BOOL, ctypes.POINTER(SymbolInfo), gdef.ULONG , ctypes.py_object)(callback) + try: + windows.winproxy.SymEnumSymbolsForAddr(self.handle, addr, callback, res) + except WindowsError as e: + if e.winerror == gdef.ERROR_MOD_NOT_FOUND: + return [] + raise + + for sym in res: + sym.resolver = self + sym.displacement = 0 + return res + + # Type stuff + def get_type(self, name, mod=0): + max_len_size = 0x1000 + full_size = ctypes.sizeof(SymbolInfo) + (max_len_size - 1) + buff = windows.utils.BUFFER(SymbolInfo)(size=full_size) + buff[0].SizeOfStruct = ctypes.sizeof(SymbolInfo) + buff[0].MaxNameLen = max_len_size + windows.winproxy.SymGetTypeFromName(self.handle, mod, name, buff) + return SymbolType.from_symbol_info(buff[0], resolver=self) + + +# TODO: mets de l'huile pour w4kfu +class StackWalker(object): + def __init__(self, resolver, process=None, thread=None, context=None): + self.resolver = resolver + if process is None and thread is None: + raise ValueError("At least a process or thread must be provided") + if process is None: + process = thread.owner + self.process = process + self.thread = thread + self.context = context + if windows.current_process.bitness == 32 and process.bitness == 64: + raise NotImplementedError("StackWalking 64b does not seems to works from 32b process") + + def _stack_frame_generator(self): + ctx, machine = self._get_effective_context_and_machine() + frame = self._setup_initial_frame_from_context(ctx, machine) + thread_handle = self.thread.handle if self.thread else None + while True: + try: + windows.winproxy.StackWalkEx(machine, + # dbg.current_process.handle, + self.resolver.handle, + thread_handle, + # 0, + frame, + ctypes.byref(ctx), + None, + winproxy.resolve(winproxy.SymFunctionTableAccess64), + winproxy.resolve(winproxy.SymGetModuleBase64), + None, + 0) + except WindowsError as e: + if not e.winerror: + return # No_ERROR -> end of stack walking + raise + yield type(frame).from_buffer_copy(frame) # Make a copy ? + + def __iter__(self): + return self._stack_frame_generator() + + # Autorise to force the retrieving of 32b stack when code is currently on 64b code ? + def _get_effective_context_and_machine(self): + ctx = self.context or self.thread.context + if self.process.bitness == 32: + # Process is 32b, so the context is inevitably x86 + return (ctx, gdef.IMAGE_FILE_MACHINE_I386) + if windows.current_process.bitness == 32: + # If we are 32b, we will only be able to handle x86 stack + # ctx is obligatory a 32b one, as the case us32/target64 is handled + # in __init__ with a NotImplementedError + return (ctx, gdef.IMAGE_FILE_MACHINE_I386) + if self.process.bitness == 64: + # Process is 64b, so the context is inevitably x64 + return (ctx, gdef.IMAGE_FILE_MACHINE_AMD64) + # Thing get a little more complicated here :) + # We are a 64b process and target is 32b. + # So we must find-out if we are in 32 or 64b world at the moment. + # The context_syswow.SegCS give us the information + # The context32.SegCs would be always 32 + ctxsyswow = dbg.current_thread.context_syswow + if ctxsyswow.SegCs == gdef.CS_USER_32B: + return (ctx, gdef.IMAGE_FILE_MACHINE_I386) + return (ctxsyswow, gdef.IMAGE_FILE_MACHINE_AMD64) + + def _setup_initial_frame_from_context(self, ctx, machine): + frame = gdef.STACKFRAME_EX() + frame.AddrPC.Mode = gdef.AddrModeFlat + frame.AddrFrame.Mode = gdef.AddrModeFlat + frame.AddrStack.Mode = gdef.AddrModeFlat + frame.AddrPC.Offset = ctx.pc + frame.AddrStack.Offset = ctx.sp + if machine == gdef.IMAGE_FILE_MACHINE_I386: + frame.AddrFrame.Offset = ctx.Ebp + # Need RBP on 64b ? + return frame + + + + + + +
    [docs]class VirtualSymbolHandler(SymbolHandler): + """A SymbolHandler where its handle is not a valid process handle + Allow to create/resolve symbol in a 'virtual' process + But all API needing a real process handle will fail + """ + VIRTUAL_HANDLER_COUNTER = itertools.count(0x11223344) + def __init__(self, search_path=None): + handle = next(self.VIRTUAL_HANDLER_COUNTER) + super(VirtualSymbolHandler, self).__init__(handle, search_path, False) + + # The VirtualSymbolHandler is not based on an existing process + # So load() in its simplest for should just take the path of the file to load + load = SymbolHandler.load_file + """An alias for :func:`VirtualSymbolHandler.load_file`""" + +
    [docs] def refresh(self): + """Do nothing for a :class:`VirtualSymbolHandler`""" + return False
    + + +
    [docs]class ProcessSymbolHandler(SymbolHandler): + def __init__(self, process, search_path=None, invade_process=False): + super(ProcessSymbolHandler, self).__init__(process.handle, search_path, invade_process) + self.target = process + + # The ProcessSymbolHandler is based on an existing process + # So load() in its simplest form should be able to load the symbol for an existing + # module that is already loaded + # Question: should be able to load other module at other address ? +
    [docs] def load(self, name): + """Load the :class:`SymbolModule` associated with the loaded module ``name`` (as found in the PEB) + + :return: :class:`SymbolModule` + + Exemple: + + >>> sh = windows.debug.symbols.ProcessSymbolHandler(windows.test.pop_proc_64()) + <windows.debug.symbols.ProcessSymbolHandler object at 0x033A2C30> + >>> sh + <windows.debug.symbols.ProcessSymbolHandler object at 0x033A2C30> + >>> sh.load("kernelbase.dll") + <SymbolModule name="kernelbase" type=SymDeferred pdb="" addr=0x7ffb5b090000> + >>> sh["kernelbase!CreateProcessA"] + <SymbolInfoA name="CreateProcessA" start=0x7ffb5b2371f0 tag=SymTagPublicSymbol> + """ + mods = [x for x in self.target.peb.modules if x.name == name] + if not mods: + raise ValueError("Could not find module <{0}>".format(name)) + assert len(mods) == 1 # Load all if multiple match ? + mod = mods[0] + return self.load_module(addr=mod.baseaddr, path=mod.fullname)
    + +
    [docs] def refresh(self): + """Update the list of loaded modules to match the modules present in the target process + + .. note:: + This function only call `SymRefreshModuleList <https://docs.microsoft.com/en-us/windows/win32/api/dbghelp/nf-dbghelp-symrefreshmodulelist>`_ for now. + It seems that this function do not handle refreshing a 64b target from a 32b python + + Also, on a 32b target from a 64b python it seems to only load symbols for the 64b modules (ntdll + syswow dll) + + Exemple: + + >>> sh = windows.debug.symbols.ProcessSymbolHandler(windows.test.pop_proc_64()) + >>> sh.modules + [] + >>> sh.refresh() + 44 + >>> sh.modules + [<SymbolModule name="notepad" type=SymDeferred pdb="" addr=0x7ff772b80000>, + <SymbolModule name="ntdll" type=SymDeferred pdb="" addr=0x7ffb5d860000>, + <SymbolModule name="KERNEL32" type=SymDeferred pdb="" addr=0x7ffb5bb90000>, + <SymbolModule name="KERNELBASE" type=SymDeferred pdb="" addr=0x7ffb5b090000>, + ...] + """ + return windows.winproxy.SymRefreshModuleList(self.handle)
    + + + def stackwalk(self, ctx): + pass
    + + +
    [docs]class SymbolEngine(object): + """Represent the global symbol engine. Just a proxy to get/set global engine options + + Its instance can be accessed using ``windows.debug.symbols.engine`` + + Exemple: + + >>> windows.debug.symbols.engine.options + 6L + >>> windows.debug.symbols.engine.options = gdef.SYMOPT_UNDNAME + >>> windows.debug.symbols.engine.options + 2L + + """ + def __init__(self): + # use to now if we need to call the setup of options + # At the first DbgHelp call + self.options_already_setup = False + + def set_options(self, options): + self.options_already_setup = True + return windows.winproxy.SymSetOptions(options) + + def get_options(self): + return windows.winproxy.SymGetOptions() + + options = property(get_options, set_options) + """The options of the Symbol engine + (`see options <https://docs.microsoft.com/en-us/windows/win32/api/dbghelp/nf-dbghelp-symsetoptions#parameters>`_) + + .. note:: + + Default options are: ``gdef.SYMOPT_DEFERRED_LOADS + gdef.SYMOPT_UNDNAME`` + """
    + +engine = SymbolEngine() +"""The instance of the :class:`SymbolEngine`""" + + +TST_TYPE_RES_TYPE = { + gdef.TI_GET_SYMNAME: gdef.LPWSTR, + gdef.TI_GET_LENGTH: gdef.ULONG64, + gdef.TI_GET_ADDRESS: gdef.ULONG64, + gdef.TI_GTIEX_REQS_VALID: gdef.ULONG64, + gdef.TI_GET_SYMTAG: gdef.SymTagEnum, +} +
    + +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/generated_def/flag.html b/docs/build/html/_modules/windows/generated_def/flag.html index 946c09a..6ea719e 100644 --- a/docs/build/html/_modules/windows/generated_def/flag.html +++ b/docs/build/html/_modules/windows/generated_def/flag.html @@ -6,14 +6,17 @@ - windows.generated_def.flag — PythonForWindows 0.5 documentation + windows.generated_def.flag — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - +
    @@ -44,13 +47,13 @@
    [docs]class Flag(long): - def __new__(cls, name, value): + def __new__(cls, name, value): return super(Flag, cls).__new__(cls, value) - def __init__(self, name, value): + def __init__(self, name, value): self.name = name - def __repr__(self): + def __repr__(self): return "{0}({1:#x})".format(self.name, self) # Custom __str__ removed for multiple reason @@ -66,15 +69,15 @@ class StrFlag(str): - def __new__(cls, name, value): + def __new__(cls, name, value): if isinstance(value, cls): return value return super(StrFlag, cls).__new__(cls, value) - def __init__(self, name, value): + def __init__(self, name, value): self.name = name - def __repr__(self): + def __repr__(self): return "{0}({1})".format(self.name, str.__repr__(self)) # __str__ = __repr__ @@ -91,20 +94,20 @@ class FlagMapper(dict): - def __init__(self, *values): + def __init__(self, *values): self.update({x:x for x in values}) - def __missing__(self, key): + def __missing__(self, key): return key class FlagExatractor(object): - def __init__(self, attr, values): + def __init__(self, attr, values): self.attr = attr self.attrsize = attr.size * 8 self.mapper = FlagMapper(*values) - def __get__(self, obj, type): + def __get__(self, obj, type): if obj is None: return self # Retrieve the real value @@ -143,13 +146,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/generated_def/winstructs.html b/docs/build/html/_modules/windows/generated_def/winstructs.html index df61025..5cfb718 100644 --- a/docs/build/html/_modules/windows/generated_def/winstructs.html +++ b/docs/build/html/_modules/windows/generated_def/winstructs.html @@ -6,14 +6,17 @@ - windows.generated_def.winstructs — PythonForWindows 0.5 documentation + windows.generated_def.winstructs — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - +
    @@ -37,22 +40,22 @@

    Source code for windows.generated_def.winstructs

    -from .windef import *
    +from .windef import *
     import windows # Allow extended-struct to use windows/winproxy/...
    -from ctypes import *
    -from ctypes.wintypes import *
    +from ctypes import *
    +from ctypes.wintypes import *
     
    -from .flag import Flag, FlagMapper, FlagExatractor
    +from .flag import Flag, FlagMapper, FlagExatractor
     
     class EnumValue(Flag):
    -    def __new__(cls, enum_name, name, value):
    +    def __new__(cls, enum_name, name, value):
             return super(EnumValue, cls).__new__(cls, name, value)
     
    -    def __init__(self, enum_name, name, value):
    +    def __init__(self, enum_name, name, value):
             self.enum_name = enum_name
             self.name = name
     
    -    def __repr__(self):
    +    def __repr__(self):
             return "{0}.{1}({2})".format(self.enum_name, self.name, hex(self))
     
         # Fix pickling with protocol 2
    @@ -72,7 +75,7 @@
             raw_value = super_noissue(EnumType, self).value
             return self.mapper.get(raw_value, raw_value)
     
    -    def __repr__(self):
    +    def __repr__(self):
             raw_value = super_noissue(EnumType, self).value
             if raw_value in self.values:
                 value = self.value
    @@ -80,7 +83,7 @@
             return "<{0}({1})>".format(type(self).__name__, hex(self.value))
     
     # Sale: windef is hardcoded
    -from . import windef
    +from . import windef
     SZOID_MAPPER = FlagMapper(*(getattr(windef, x) for x in dir(windef) if x.startswith("szOID")))
     FC_ZERO = EnumValue("NDR_FORMAT_CHARACTER", "FC_ZERO", 0x0)
     FC_BYTE = EnumValue("NDR_FORMAT_CHARACTER", "FC_BYTE", 0x1)
    @@ -191,11 +194,520 @@
     FC_INT3264 = EnumValue("NDR_FORMAT_CHARACTER", "FC_INT3264", 0xb8)
     FC_UINT3264 = EnumValue("NDR_FORMAT_CHARACTER", "FC_UINT3264", 0xb9)
     FC_END_OF_UNIVERSE = EnumValue("NDR_FORMAT_CHARACTER", "FC_END_OF_UNIVERSE", 0xba)
    -
    [docs]class NDR_FORMAT_CHARACTER(EnumType): +
    [docs]class NDR_FORMAT_CHARACTER(EnumType): values = [FC_ZERO, FC_BYTE, FC_CHAR, FC_SMALL, FC_USMALL, FC_WCHAR, FC_SHORT, FC_USHORT, FC_LONG, FC_ULONG, FC_FLOAT, FC_HYPER, FC_DOUBLE, FC_ENUM16, FC_ENUM32, FC_IGNORE, FC_ERROR_STATUS_T, FC_RP, FC_UP, FC_OP, FC_FP, FC_STRUCT, FC_PSTRUCT, FC_CSTRUCT, FC_CPSTRUCT, FC_CVSTRUCT, FC_BOGUS_STRUCT, FC_CARRAY, FC_CVARRAY, FC_SMFARRAY, FC_LGFARRAY, FC_SMVARRAY, FC_LGVARRAY, FC_BOGUS_ARRAY, FC_C_CSTRING, FC_C_BSTRING, FC_C_SSTRING, FC_C_WSTRING, FC_CSTRING, FC_BSTRING, FC_SSTRING, FC_WSTRING, FC_ENCAPSULATED_UNION, FC_NON_ENCAPSULATED_UNION, FC_BYTE_COUNT_POINTER, FC_TRANSMIT_AS, FC_REPRESENT_AS, FC_IP, FC_BIND_CONTEXT, FC_BIND_GENERIC, FC_BIND_PRIMITIVE, FC_AUTO_HANDLE, FC_CALLBACK_HANDLE, FC_UNUSED1, FC_POINTER, FC_ALIGNM2, FC_ALIGNM4, FC_ALIGNM8, FC_UNUSED2, FC_UNUSED3, FC_UNUSED4, FC_STRUCTPAD1, FC_STRUCTPAD2, FC_STRUCTPAD3, FC_STRUCTPAD4, FC_STRUCTPAD5, FC_STRUCTPAD6, FC_STRUCTPAD7, FC_STRING_SIZED, FC_UNUSED5, FC_NO_REPEAT, FC_FIXED_REPEAT, FC_VARIABLE_REPEAT, FC_FIXED_OFFSET, FC_VARIABLE_OFFSET, FC_PP, FC_EMBEDDED_COMPLEX, FC_IN_PARAM, FC_IN_PARAM_BASETYPE, FC_IN_PARAM_NO_FREE_INST, FC_IN_OUT_PARAM, FC_OUT_PARAM, FC_RETURN_PARAM, FC_RETURN_PARAM_BASETYPE, FC_DEREFERENCE, FC_DIV_2, FC_MULT_2, FC_ADD_1, FC_SUB_1, FC_CALLBACK, FC_CONSTANT_IID, FC_END, FC_PAD, FC_SPLIT_DEREFERENCE, FC_SPLIT_DIV_2, FC_SPLIT_MULT_2, FC_SPLIT_ADD_1, FC_SPLIT_SUB_1, FC_SPLIT_CALLBACK, FC_HARD_STRUCT, FC_TRANSMIT_AS_PTR, FC_REPRESENT_AS_PTR, FC_USER_MARSHAL, FC_PIPE, FC_BLKHOLE, FC_RANGE, FC_INT3264, FC_UINT3264, FC_END_OF_UNIVERSE] mapper = FlagMapper(*values)
    +ProcessDEPPolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessDEPPolicy", 0x0) +ProcessASLRPolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessASLRPolicy", 0x1) +ProcessDynamicCodePolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessDynamicCodePolicy", 0x2) +ProcessStrictHandleCheckPolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessStrictHandleCheckPolicy", 0x3) +ProcessSystemCallDisablePolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessSystemCallDisablePolicy", 0x4) +ProcessMitigationOptionsMask = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessMitigationOptionsMask", 0x5) +ProcessExtensionPointDisablePolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessExtensionPointDisablePolicy", 0x6) +ProcessReserved1Policy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessReserved1Policy", 0x7) +ProcessSignaturePolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessSignaturePolicy", 0x8) +MaxProcessMitigationPolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "MaxProcessMitigationPolicy", 0x9) +
    [docs]class _PROCESS_MITIGATION_POLICY(EnumType): + values = [ProcessDEPPolicy, ProcessASLRPolicy, ProcessDynamicCodePolicy, ProcessStrictHandleCheckPolicy, ProcessSystemCallDisablePolicy, ProcessMitigationOptionsMask, ProcessExtensionPointDisablePolicy, ProcessReserved1Policy, ProcessSignaturePolicy, MaxProcessMitigationPolicy] + mapper = FlagMapper(*values)
    +PROCESS_MITIGATION_POLICY = _PROCESS_MITIGATION_POLICY +PPROCESS_MITIGATION_POLICY = POINTER(_PROCESS_MITIGATION_POLICY) + + +class _ANON__ANON__PROCESS_MITIGATION_DEP_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): + _fields_ = [ + ("Enable", DWORD, 1), + ("DisableAtlThunkEmulation", DWORD, 1), + ("ReservedFlags", DWORD, 30), + ] + +class _ANON__PROCESS_MITIGATION_DEP_POLICY_SUB_UNION_1(Union): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("Flags", DWORD), + ("anon_01", _ANON__ANON__PROCESS_MITIGATION_DEP_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), + ] + +
    [docs]class _PROCESS_MITIGATION_DEP_POLICY(Structure): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("anon_01", _ANON__PROCESS_MITIGATION_DEP_POLICY_SUB_UNION_1), + ("Permanent", BOOLEAN), + ]
    +PPROCESS_MITIGATION_DEP_POLICY = POINTER(_PROCESS_MITIGATION_DEP_POLICY) +PROCESS_MITIGATION_DEP_POLICY = _PROCESS_MITIGATION_DEP_POLICY + +class _ANON__ANON__PROCESS_MITIGATION_ASLR_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): + _fields_ = [ + ("EnableBottomUpRandomization", DWORD, 1), + ("EnableForceRelocateImages", DWORD, 1), + ("EnableHighEntropy", DWORD, 1), + ("DisallowStrippedImages", DWORD, 1), + ("ReservedFlags", DWORD, 28), + ] + +class _ANON__PROCESS_MITIGATION_ASLR_POLICY_SUB_UNION_1(Union): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("Flags", DWORD), + ("anon_01", _ANON__ANON__PROCESS_MITIGATION_ASLR_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), + ] + +
    [docs]class _PROCESS_MITIGATION_ASLR_POLICY(Structure): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("anon_01", _ANON__PROCESS_MITIGATION_ASLR_POLICY_SUB_UNION_1), + ]
    +PPROCESS_MITIGATION_ASLR_POLICY = POINTER(_PROCESS_MITIGATION_ASLR_POLICY) +PROCESS_MITIGATION_ASLR_POLICY = _PROCESS_MITIGATION_ASLR_POLICY + +class _ANON__ANON__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): + _fields_ = [ + ("ProhibitDynamicCode", DWORD, 1), + ("AllowThreadOptOut", DWORD, 1), + ("AllowRemoteDowngrade", DWORD, 1), + ("AuditProhibitDynamicCode", DWORD, 1), + ("ReservedFlags", DWORD, 28), + ] + +class _ANON__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY_SUB_UNION_1(Union): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("Flags", DWORD), + ("anon_01", _ANON__ANON__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), + ] + +
    [docs]class _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY(Structure): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("anon_01", _ANON__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY_SUB_UNION_1), + ]
    +PROCESS_MITIGATION_DYNAMIC_CODE_POLICY = _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY +PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY = POINTER(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY) + +class _ANON__ANON__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): + _fields_ = [ + ("RaiseExceptionOnInvalidHandleReference", DWORD, 1), + ("HandleExceptionsPermanentlyEnabled", DWORD, 1), + ("ReservedFlags", DWORD, 30), + ] + +class _ANON__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY_SUB_UNION_1(Union): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("Flags", DWORD), + ("anon_01", _ANON__ANON__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), + ] + +
    [docs]class _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY(Structure): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("anon_01", _ANON__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY_SUB_UNION_1), + ]
    +PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY +PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = POINTER(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY) + +class _ANON__ANON__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): + _fields_ = [ + ("DisallowWin32kSystemCalls", DWORD, 1), + ("AuditDisallowWin32kSystemCalls", DWORD, 1), + ("ReservedFlags", DWORD, 30), + ] + +class _ANON__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY_SUB_UNION_1(Union): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("Flags", DWORD), + ("anon_01", _ANON__ANON__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), + ] + +
    [docs]class _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY(Structure): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("anon_01", _ANON__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY_SUB_UNION_1), + ]
    +PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = POINTER(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY) +PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY + +class _ANON__ANON__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): + _fields_ = [ + ("DisableExtensionPoints", DWORD, 1), + ("ReservedFlags", DWORD, 31), + ] + +class _ANON__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY_SUB_UNION_1(Union): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("Flags", DWORD), + ("anon_01", _ANON__ANON__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), + ] + +
    [docs]class _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY(Structure): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("anon_01", _ANON__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY_SUB_UNION_1), + ]
    +PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY +PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = POINTER(_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY) + +class _ANON__ANON__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): + _fields_ = [ + ("EnableControlFlowGuard", DWORD, 1), + ("EnableExportSuppression", DWORD, 1), + ("StrictMode", DWORD, 1), + ("ReservedFlags", DWORD, 29), + ] + +class _ANON__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY_SUB_UNION_1(Union): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("Flags", DWORD), + ("anon_01", _ANON__ANON__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), + ] + +
    [docs]class _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY(Structure): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("anon_01", _ANON__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY_SUB_UNION_1), + ]
    +PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = POINTER(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY) +PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY + +class _ANON__ANON__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): + _fields_ = [ + ("MicrosoftSignedOnly", DWORD, 1), + ("StoreSignedOnly", DWORD, 1), + ("MitigationOptIn", DWORD, 1), + ("AuditMicrosoftSignedOnly", DWORD, 1), + ("AuditStoreSignedOnly", DWORD, 1), + ("ReservedFlags", DWORD, 27), + ] + +class _ANON__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY_SUB_UNION_1(Union): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("Flags", DWORD), + ("anon_01", _ANON__ANON__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), + ] + +
    [docs]class _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY(Structure): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("anon_01", _ANON__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY_SUB_UNION_1), + ]
    +PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = POINTER(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY) +PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY + +class _ANON__ANON__PROCESS_MITIGATION_IMAGE_LOAD_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): + _fields_ = [ + ("NoRemoteImages", DWORD, 1), + ("NoLowMandatoryLabelImages", DWORD, 1), + ("PreferSystem32Images", DWORD, 1), + ("AuditNoRemoteImages", DWORD, 1), + ("AuditNoLowMandatoryLabelImages", DWORD, 1), + ("ReservedFlags", DWORD, 27), + ] + +class _ANON__PROCESS_MITIGATION_IMAGE_LOAD_POLICY_SUB_UNION_1(Union): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("Flags", DWORD), + ("anon_01", _ANON__ANON__PROCESS_MITIGATION_IMAGE_LOAD_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), + ] + +
    [docs]class _PROCESS_MITIGATION_IMAGE_LOAD_POLICY(Structure): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("anon_01", _ANON__PROCESS_MITIGATION_IMAGE_LOAD_POLICY_SUB_UNION_1), + ]
    +PPROCESS_MITIGATION_IMAGE_LOAD_POLICY = POINTER(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY) +PROCESS_MITIGATION_IMAGE_LOAD_POLICY = _PROCESS_MITIGATION_IMAGE_LOAD_POLICY + +SC_STATUS_PROCESS_INFO = EnumValue("_SC_STATUS_TYPE", "SC_STATUS_PROCESS_INFO", 0x0) +
    [docs]class _SC_STATUS_TYPE(EnumType): + values = [SC_STATUS_PROCESS_INFO] + mapper = FlagMapper(*values)
    +SC_STATUS_TYPE = _SC_STATUS_TYPE + + +SC_ENUM_PROCESS_INFO = EnumValue("_SC_ENUM_TYPE", "SC_ENUM_PROCESS_INFO", 0x0) +
    [docs]class _SC_ENUM_TYPE(EnumType): + values = [SC_ENUM_PROCESS_INFO] + mapper = FlagMapper(*values)
    +SC_ENUM_TYPE = _SC_ENUM_TYPE + + +
    [docs]class _SERVICE_STATUS(Structure): + _fields_ = [ + ("dwServiceType", DWORD), + ("dwCurrentState", DWORD), + ("dwControlsAccepted", DWORD), + ("dwWin32ExitCode", DWORD), + ("dwServiceSpecificExitCode", DWORD), + ("dwCheckPoint", DWORD), + ("dwWaitHint", DWORD), + ]
    +SERVICE_STATUS = _SERVICE_STATUS +LPSERVICE_STATUS = POINTER(_SERVICE_STATUS) + +class _SERVICE_STATUS_PROCESS(Structure): + _fields_ = [ + ("dwServiceType", DWORD), + ("dwCurrentState", DWORD), + ("dwControlsAccepted", DWORD), + ("dwWin32ExitCode", DWORD), + ("dwServiceSpecificExitCode", DWORD), + ("dwCheckPoint", DWORD), + ("dwWaitHint", DWORD), + ("dwProcessId", DWORD), + ("dwServiceFlags", DWORD), + ] +LPSERVICE_STATUS_PROCESS = POINTER(_SERVICE_STATUS_PROCESS) +SERVICE_STATUS_PROCESS = _SERVICE_STATUS_PROCESS + +
    [docs]class _SERVICE_STATUS_PROCESS(_SERVICE_STATUS_PROCESS): + + SERVICE_STATE = FlagMapper(SERVICE_STOPPED, + SERVICE_START_PENDING, + SERVICE_STOP_PENDING, + SERVICE_RUNNING, + SERVICE_CONTINUE_PENDING, + SERVICE_PAUSE_PENDING, + SERVICE_PAUSED) + + SERVICE_TYPE = FlagMapper(SERVICE_KERNEL_DRIVER, + SERVICE_FILE_SYSTEM_DRIVER, + SERVICE_WIN32_OWN_PROCESS, + SERVICE_WIN32_SHARE_PROCESS, + SERVICE_INTERACTIVE_PROCESS) + + SERVICE_CONTROLE_ACCEPTED = FlagMapper() + + SERVICE_FLAGS = FlagMapper(SERVICE_RUNS_IN_SYSTEM_PROCESS) + + + @property + def dwCurrentState(self): + return self.SERVICE_STATE[super(_SERVICE_STATUS_PROCESS, self).dwCurrentState] + + @property + def dwServiceType(self): + return self.SERVICE_TYPE[super(_SERVICE_STATUS_PROCESS, self).dwServiceType] + + @property + def dwControlsAccepted(self): + return self.SERVICE_CONTROLE_ACCEPTED[super(_SERVICE_STATUS_PROCESS, self).dwControlsAccepted] + + @property + def dwServiceFlags(self): + return self.SERVICE_FLAGS[super(_SERVICE_STATUS_PROCESS, self).dwServiceFlags] + + # Python friendly names + state = dwCurrentState + type = dwServiceType + control_accepted = dwControlsAccepted + flags = dwServiceFlags + + + def __repr__(self): + return """<{0} type={1!r} state={2!r}>""".format(type(self).__name__, + self.type, + self.state)
    +LPSERVICE_STATUS_PROCESS = POINTER(_SERVICE_STATUS_PROCESS) +SERVICE_STATUS_PROCESS = _SERVICE_STATUS_PROCESS +
    [docs]class _ENUM_SERVICE_STATUS_PROCESSA(Structure): + _fields_ = [ + ("lpServiceName", LPSTR), + ("lpDisplayName", LPSTR), + ("ServiceStatusProcess", SERVICE_STATUS_PROCESS), + ]
    +LPENUM_SERVICE_STATUS_PROCESSA = POINTER(_ENUM_SERVICE_STATUS_PROCESSA) +ENUM_SERVICE_STATUS_PROCESSA = _ENUM_SERVICE_STATUS_PROCESSA + +
    [docs]class _ENUM_SERVICE_STATUS_PROCESSW(Structure): + _fields_ = [ + ("lpServiceName", LPWSTR), + ("lpDisplayName", LPWSTR), + ("ServiceStatusProcess", SERVICE_STATUS_PROCESS), + ]
    +ENUM_SERVICE_STATUS_PROCESSW = _ENUM_SERVICE_STATUS_PROCESSW +LPENUM_SERVICE_STATUS_PROCESSW = POINTER(_ENUM_SERVICE_STATUS_PROCESSW) + +
    [docs]class _ENUM_SERVICE_STATUSA(Structure): + _fields_ = [ + ("lpServiceName", LPSTR), + ("lpDisplayName", LPSTR), + ("ServiceStatus", SERVICE_STATUS), + ]
    +LPENUM_SERVICE_STATUSA = POINTER(_ENUM_SERVICE_STATUSA) +ENUM_SERVICE_STATUSA = _ENUM_SERVICE_STATUSA + +
    [docs]class _ENUM_SERVICE_STATUSW(Structure): + _fields_ = [ + ("lpServiceName", LPWSTR), + ("lpDisplayName", LPWSTR), + ("ServiceStatus", SERVICE_STATUS), + ]
    +ENUM_SERVICE_STATUSW = _ENUM_SERVICE_STATUSW +LPENUM_SERVICE_STATUSW = POINTER(_ENUM_SERVICE_STATUSW) + +
    [docs]class _QUERY_SERVICE_CONFIGA(Structure): + _fields_ = [ + ("dwServiceType", DWORD), + ("dwStartType", DWORD), + ("dwErrorControl", DWORD), + ("lpBinaryPathName", LPSTR), + ("lpLoadOrderGroup", LPSTR), + ("dwTagId", DWORD), + ("lpDependencies", LPSTR), + ("lpServiceStartName", LPSTR), + ("lpDisplayName", LPSTR), + ]
    +QUERY_SERVICE_CONFIGA = _QUERY_SERVICE_CONFIGA +LPQUERY_SERVICE_CONFIGA = POINTER(_QUERY_SERVICE_CONFIGA) + +
    [docs]class _QUERY_SERVICE_CONFIGW(Structure): + _fields_ = [ + ("dwServiceType", DWORD), + ("dwStartType", DWORD), + ("dwErrorControl", DWORD), + ("lpBinaryPathName", LPWSTR), + ("lpLoadOrderGroup", LPWSTR), + ("dwTagId", DWORD), + ("lpDependencies", LPWSTR), + ("lpServiceStartName", LPWSTR), + ("lpDisplayName", LPWSTR), + ]
    +LPQUERY_SERVICE_CONFIGW = POINTER(_QUERY_SERVICE_CONFIGW) +QUERY_SERVICE_CONFIGW = _QUERY_SERVICE_CONFIGW + +
    [docs]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) + +
    [docs]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 + +
    [docs]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 + +
    [docs]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 + +
    [docs]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) + +
    [docs]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 + +
    [docs]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) + +
    [docs]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) + +
    [docs]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) + +
    [docs]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 + +
    [docs]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 + +
    [docs]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 @@ -229,6 +741,8 @@ PSTR = LPSTR PCSTR = LPSTR va_list = c_char_p +LPCH = c_char_p +LPWCH = c_wchar BSTR = c_wchar_p OLECHAR = c_wchar POLECHAR = c_wchar_p @@ -245,6 +759,7 @@ PLARGE_INTEGER = POINTER(LARGE_INTEGER) DWORD64 = ULONG64 PDWORD64 = POINTER(DWORD64) +DWORDLONG = ULONGLONG SCODE = LONG CIMTYPE = LONG NET_IFINDEX = ULONG @@ -290,6 +805,8 @@ UINT16 = USHORT UINT32 = UINT UINT64 = ULONGLONG +ULONG32 = UINT32 +LONG32 = INT32 PHANDLE = POINTER(HANDLE) HCATADMIN = HANDLE HCATINFO = HANDLE @@ -302,6 +819,10 @@ HCRYPTPROV_OR_NCRYPT_KEY_HANDLE = PULONG EVT_HANDLE = HANDLE EVT_OBJECT_ARRAY_PROPERTY_HANDLE = HANDLE +LSA_HANDLE = HANDLE +PLSA_HANDLE = POINTER(LSA_HANDLE) +HDSKSPC = HANDLE +HDEVINFO = HANDLE IP4_ADDRESS = DWORD PSECURITY_DESCRIPTOR = PVOID SECURITY_DESCRIPTOR_CONTROL = WORD @@ -315,12 +836,12 @@ PSID_HASH_ENTRY = POINTER(SID_HASH_ENTRY) PSID = PVOID _INITIAL_PSID = PSID -
    [docs]class PSID(_INITIAL_PSID): # _INITIAL_PSID -> PVOID +
    [docs]class PSID(_INITIAL_PSID): # _INITIAL_PSID -> PVOID - def __eq__(self, other): + def __eq__(self, other): return bool(windows.winproxy.EqualSid(self, other)) - def __ne__(self, other): + def __ne__(self, other): return not windows.winproxy.EqualSid(self, other) @property @@ -351,7 +872,7 @@ __str__ = to_string - def __repr__(self): + def __repr__(self): try: return """<{0} "{1}">""".format(type(self).__name__, self.to_string()) except WindowsError: # Case of PSID is not valide @@ -361,6 +882,25 @@ __sprint__ = __repr__
    +CONFIGRET = DWORD +DEVNODE = DWORD +DEVINST = DWORD +PDEVNODE = POINTER(DEVNODE) +PDEVINST = POINTER(DEVINST) +PRIORITY = ULONG +PPRIORITY = POINTER(PRIORITY) +RES_DES = DWORD_PTR +PRES_DES = POINTER(RES_DES) +HMACHINE = HANDLE +PHMACHINE = POINTER(HMACHINE) +LOG_CONF = DWORD_PTR +PLOG_CONF = POINTER(LOG_CONF) +RESOURCEID = ULONG +PRESOURCEID = POINTER(RESOURCEID) +DEVNODEID_A = PCSTR +DEVINSTID_A = PCSTR +DEVNODEID_W = LPWSTR +DEVINSTID_W = LPWSTR RPCOLEDATAREP = ULONG HREFTYPE = DWORD SFGAOF = ULONG @@ -397,95 +937,6 @@ HCRYPTMSG = PVOID PALPC_PORT_ATTRIBUTES = PVOID PPORT_MESSAGE = PVOID -BG_AUTH_SCHEME_BASIC = EnumValue("__MIDL_IBackgroundCopyJob2_0002", "BG_AUTH_SCHEME_BASIC", 0x0) -BG_AUTH_SCHEME_DIGEST = EnumValue("__MIDL_IBackgroundCopyJob2_0002", "BG_AUTH_SCHEME_DIGEST", 0x1) -BG_AUTH_SCHEME_NTLM = EnumValue("__MIDL_IBackgroundCopyJob2_0002", "BG_AUTH_SCHEME_NTLM", 0x2) -BG_AUTH_SCHEME_NEGOTIATE = EnumValue("__MIDL_IBackgroundCopyJob2_0002", "BG_AUTH_SCHEME_NEGOTIATE", 0x3) -BG_AUTH_SCHEME_PASSPORT = EnumValue("__MIDL_IBackgroundCopyJob2_0002", "BG_AUTH_SCHEME_PASSPORT", 0x4) -
    [docs]class __MIDL_IBackgroundCopyJob2_0002(EnumType): - values = [BG_AUTH_SCHEME_BASIC, BG_AUTH_SCHEME_DIGEST, BG_AUTH_SCHEME_NTLM, BG_AUTH_SCHEME_NEGOTIATE, BG_AUTH_SCHEME_PASSPORT] - mapper = FlagMapper(*values)
    -BG_AUTH_SCHEME = __MIDL_IBackgroundCopyJob2_0002 - - -BG_AUTH_TARGET_SERVER = EnumValue("__MIDL_IBackgroundCopyJob2_0001", "BG_AUTH_TARGET_SERVER", 0x0) -BG_AUTH_TARGET_PROXY = EnumValue("__MIDL_IBackgroundCopyJob2_0001", "BG_AUTH_TARGET_PROXY", 0x1) -
    [docs]class __MIDL_IBackgroundCopyJob2_0001(EnumType): - values = [BG_AUTH_TARGET_SERVER, BG_AUTH_TARGET_PROXY] - mapper = FlagMapper(*values)
    -BG_AUTH_TARGET = __MIDL_IBackgroundCopyJob2_0001 - - -
    [docs]class __MIDL_IBackgroundCopyJob2_0003(Structure): - _fields_ = [ - ("UserName", LPWSTR), - ("Password", LPWSTR), - ]
    -BG_BASIC_CREDENTIALS = __MIDL_IBackgroundCopyJob2_0003 - -
    [docs]class __MIDL_IBackgroundCopyJob2_0004(Union): - _fields_ = [ - ("Basic", BG_BASIC_CREDENTIALS), - ]
    -BG_AUTH_CREDENTIALS_UNION = __MIDL_IBackgroundCopyJob2_0004 - -
    [docs]class BG_AUTH_CREDENTIALS(Structure): - _fields_ = [ - ("Target", BG_AUTH_TARGET), - ("Scheme", BG_AUTH_SCHEME), - ("Credentials", BG_AUTH_CREDENTIALS_UNION), - ]
    - - -
    [docs]class _BG_JOB_REPLY_PROGRESS(Structure): - _fields_ = [ - ("BytesTotal", UINT64), - ("BytesTransferred", UINT64), - ]
    -BG_JOB_REPLY_PROGRESS = _BG_JOB_REPLY_PROGRESS - -
    [docs]class _BG_FILE_RANGE(Structure): - _fields_ = [ - ("InitialOffset", UINT64), - ("Length", UINT64), - ]
    -BG_FILE_RANGE = _BG_FILE_RANGE - -AO_NONE = EnumValue("ACTIVATEOPTIONS", "AO_NONE", 0x0) -AO_DESIGNMODE = EnumValue("ACTIVATEOPTIONS", "AO_DESIGNMODE", 0x1) -AO_NOERRORUI = EnumValue("ACTIVATEOPTIONS", "AO_NOERRORUI", 0x2) -AO_NOSPLASHSCREEN = EnumValue("ACTIVATEOPTIONS", "AO_NOSPLASHSCREEN", 0x4) -AO_PRELAUNCH = EnumValue("ACTIVATEOPTIONS", "AO_PRELAUNCH", 0x2000000) -
    [docs]class ACTIVATEOPTIONS(EnumType): - values = [AO_NONE, AO_DESIGNMODE, AO_NOERRORUI, AO_NOSPLASHSCREEN, AO_PRELAUNCH] - mapper = FlagMapper(*values)
    - - -PES_UNKNOWN = EnumValue("PACKAGE_EXECUTION_STATE", "PES_UNKNOWN", 0x0) -PES_RUNNING = EnumValue("PACKAGE_EXECUTION_STATE", "PES_RUNNING", 0x1) -PES_SUSPENDING = EnumValue("PACKAGE_EXECUTION_STATE", "PES_SUSPENDING", 0x2) -PES_SUSPENDED = EnumValue("PACKAGE_EXECUTION_STATE", "PES_SUSPENDED", 0x3) -PES_TERMINATED = EnumValue("PACKAGE_EXECUTION_STATE", "PES_TERMINATED", 0x4) -
    [docs]class PACKAGE_EXECUTION_STATE(EnumType): - values = [PES_UNKNOWN, PES_RUNNING, PES_SUSPENDING, PES_SUSPENDED, PES_TERMINATED] - mapper = FlagMapper(*values)
    - - -
    [docs]class _SHITEMID(Structure): - _fields_ = [ - ("cb", USHORT), - ("abID", BYTE * (1)), - ]
    -SHITEMID = _SHITEMID - -
    [docs]class _ITEMIDLIST(Structure): - _fields_ = [ - ("mkid", SHITEMID), - ]
    -ITEMIDLIST = _ITEMIDLIST -PCIDLIST_ABSOLUTE = POINTER(_ITEMIDLIST) -PIDLIST_ABSOLUTE = POINTER(_ITEMIDLIST) - KeyValueBasicInformation = EnumValue("_KEY_VALUE_INFORMATION_CLASS", "KeyValueBasicInformation", 0x0) KeyValueFullInformation = EnumValue("_KEY_VALUE_INFORMATION_CLASS", "KeyValueFullInformation", 0x1) KeyValuePartialInformation = EnumValue("_KEY_VALUE_INFORMATION_CLASS", "KeyValuePartialInformation", 0x2) @@ -493,7 +944,7 @@ KeyValuePartialInformationAlign64 = EnumValue("_KEY_VALUE_INFORMATION_CLASS", "KeyValuePartialInformationAlign64", 0x4) KeyValueLayerInformation = EnumValue("_KEY_VALUE_INFORMATION_CLASS", "KeyValueLayerInformation", 0x5) MaxKeyValueInfoClass = EnumValue("_KEY_VALUE_INFORMATION_CLASS", "MaxKeyValueInfoClass", 0x6) -
    [docs]class _KEY_VALUE_INFORMATION_CLASS(EnumType): +
    [docs]class _KEY_VALUE_INFORMATION_CLASS(EnumType): values = [KeyValueBasicInformation, KeyValueFullInformation, KeyValuePartialInformation, KeyValueFullInformationAlign64, KeyValuePartialInformationAlign64, KeyValueLayerInformation, MaxKeyValueInfoClass] mapper = FlagMapper(*values)
    KEY_VALUE_INFORMATION_CLASS = _KEY_VALUE_INFORMATION_CLASS @@ -510,13 +961,13 @@ KeyTrustInformation = EnumValue("_KEY_INFORMATION_CLASS", "KeyTrustInformation", 0x8) KeyLayerInformation = EnumValue("_KEY_INFORMATION_CLASS", "KeyLayerInformation", 0x9) MaxKeyInfoClass = EnumValue("_KEY_INFORMATION_CLASS", "MaxKeyInfoClass", 0xa) -
    [docs]class _KEY_INFORMATION_CLASS(EnumType): +
    [docs]class _KEY_INFORMATION_CLASS(EnumType): values = [KeyBasicInformation, KeyNodeInformation, KeyFullInformation, KeyNameInformation, KeyCachedInformation, KeyFlagsInformation, KeyVirtualizationInformation, KeyHandleTagsInformation, KeyTrustInformation, KeyLayerInformation, MaxKeyInfoClass] mapper = FlagMapper(*values)
    KEY_INFORMATION_CLASS = _KEY_INFORMATION_CLASS -
    [docs]class _KEY_VALUE_BASIC_INFORMATION(Structure): +
    [docs]class _KEY_VALUE_BASIC_INFORMATION(Structure): _fields_ = [ ("TitleIndex", ULONG), ("Type", ULONG), @@ -526,7 +977,7 @@ PKEY_VALUE_BASIC_INFORMATION = POINTER(_KEY_VALUE_BASIC_INFORMATION) KEY_VALUE_BASIC_INFORMATION = _KEY_VALUE_BASIC_INFORMATION -
    [docs]class _KEY_VALUE_FULL_INFORMATION(Structure): +
    [docs]class _KEY_VALUE_FULL_INFORMATION(Structure): _fields_ = [ ("TitleIndex", ULONG), ("Type", ULONG), @@ -538,7 +989,7 @@ KEY_VALUE_FULL_INFORMATION = _KEY_VALUE_FULL_INFORMATION PKEY_VALUE_FULL_INFORMATION = POINTER(_KEY_VALUE_FULL_INFORMATION) -
    [docs]class _KEY_VALUE_PARTIAL_INFORMATION(Structure): +
    [docs]class _KEY_VALUE_PARTIAL_INFORMATION(Structure): _fields_ = [ ("TitleIndex", ULONG), ("Type", ULONG), @@ -548,1278 +999,61 @@ PKEY_VALUE_PARTIAL_INFORMATION = POINTER(_KEY_VALUE_PARTIAL_INFORMATION) KEY_VALUE_PARTIAL_INFORMATION = _KEY_VALUE_PARTIAL_INFORMATION -SC_STATUS_PROCESS_INFO = EnumValue("_SC_STATUS_TYPE", "SC_STATUS_PROCESS_INFO", 0x0) -
    [docs]class _SC_STATUS_TYPE(EnumType): - values = [SC_STATUS_PROCESS_INFO] +BG_AUTH_SCHEME_BASIC = EnumValue("__MIDL_IBackgroundCopyJob2_0002", "BG_AUTH_SCHEME_BASIC", 0x0) +BG_AUTH_SCHEME_DIGEST = EnumValue("__MIDL_IBackgroundCopyJob2_0002", "BG_AUTH_SCHEME_DIGEST", 0x1) +BG_AUTH_SCHEME_NTLM = EnumValue("__MIDL_IBackgroundCopyJob2_0002", "BG_AUTH_SCHEME_NTLM", 0x2) +BG_AUTH_SCHEME_NEGOTIATE = EnumValue("__MIDL_IBackgroundCopyJob2_0002", "BG_AUTH_SCHEME_NEGOTIATE", 0x3) +BG_AUTH_SCHEME_PASSPORT = EnumValue("__MIDL_IBackgroundCopyJob2_0002", "BG_AUTH_SCHEME_PASSPORT", 0x4) +
    [docs]class __MIDL_IBackgroundCopyJob2_0002(EnumType): + values = [BG_AUTH_SCHEME_BASIC, BG_AUTH_SCHEME_DIGEST, BG_AUTH_SCHEME_NTLM, BG_AUTH_SCHEME_NEGOTIATE, BG_AUTH_SCHEME_PASSPORT] mapper = FlagMapper(*values)
    -SC_STATUS_TYPE = _SC_STATUS_TYPE +BG_AUTH_SCHEME = __MIDL_IBackgroundCopyJob2_0002 -SC_ENUM_PROCESS_INFO = EnumValue("_SC_ENUM_TYPE", "SC_ENUM_PROCESS_INFO", 0x0) -
    [docs]class _SC_ENUM_TYPE(EnumType): - values = [SC_ENUM_PROCESS_INFO] +BG_AUTH_TARGET_SERVER = EnumValue("__MIDL_IBackgroundCopyJob2_0001", "BG_AUTH_TARGET_SERVER", 0x0) +BG_AUTH_TARGET_PROXY = EnumValue("__MIDL_IBackgroundCopyJob2_0001", "BG_AUTH_TARGET_PROXY", 0x1) +
    [docs]class __MIDL_IBackgroundCopyJob2_0001(EnumType): + values = [BG_AUTH_TARGET_SERVER, BG_AUTH_TARGET_PROXY] mapper = FlagMapper(*values)
    -SC_ENUM_TYPE = _SC_ENUM_TYPE +BG_AUTH_TARGET = __MIDL_IBackgroundCopyJob2_0001 -
    [docs]class _SERVICE_STATUS(Structure): +
    [docs]class __MIDL_IBackgroundCopyJob2_0003(Structure): _fields_ = [ - ("dwServiceType", DWORD), - ("dwCurrentState", DWORD), - ("dwControlsAccepted", DWORD), - ("dwWin32ExitCode", DWORD), - ("dwServiceSpecificExitCode", DWORD), - ("dwCheckPoint", DWORD), - ("dwWaitHint", DWORD), + ("UserName", LPWSTR), + ("Password", LPWSTR), ]
    -SERVICE_STATUS = _SERVICE_STATUS -LPSERVICE_STATUS = POINTER(_SERVICE_STATUS) +BG_BASIC_CREDENTIALS = __MIDL_IBackgroundCopyJob2_0003 -class _SERVICE_STATUS_PROCESS(Structure): +
    [docs]class __MIDL_IBackgroundCopyJob2_0004(Union): _fields_ = [ - ("dwServiceType", DWORD), - ("dwCurrentState", DWORD), - ("dwControlsAccepted", DWORD), - ("dwWin32ExitCode", DWORD), - ("dwServiceSpecificExitCode", DWORD), - ("dwCheckPoint", DWORD), - ("dwWaitHint", DWORD), - ("dwProcessId", DWORD), - ("dwServiceFlags", DWORD), - ] -LPSERVICE_STATUS_PROCESS = POINTER(_SERVICE_STATUS_PROCESS) -SERVICE_STATUS_PROCESS = _SERVICE_STATUS_PROCESS - -
    [docs]class _SERVICE_STATUS_PROCESS(_SERVICE_STATUS_PROCESS): - - SERVICE_STATE = FlagMapper(SERVICE_STOPPED, - SERVICE_START_PENDING, - SERVICE_STOP_PENDING, - SERVICE_RUNNING, - SERVICE_CONTINUE_PENDING, - SERVICE_PAUSE_PENDING, - SERVICE_PAUSED) - - SERVICE_TYPE = FlagMapper(SERVICE_KERNEL_DRIVER, - SERVICE_FILE_SYSTEM_DRIVER, - SERVICE_WIN32_OWN_PROCESS, - SERVICE_WIN32_SHARE_PROCESS, - SERVICE_INTERACTIVE_PROCESS) - - SERVICE_CONTROLE_ACCEPTED = FlagMapper() - - SERVICE_FLAGS = FlagMapper(SERVICE_RUNS_IN_SYSTEM_PROCESS) - - - @property - def dwCurrentState(self): - return self.SERVICE_STATE[super(_SERVICE_STATUS_PROCESS, self).dwCurrentState] - - @property - def dwServiceType(self): - return self.SERVICE_TYPE[super(_SERVICE_STATUS_PROCESS, self).dwServiceType] - - @property - def dwControlsAccepted(self): - return self.SERVICE_CONTROLE_ACCEPTED[super(_SERVICE_STATUS_PROCESS, self).dwControlsAccepted] - - @property - def dwServiceFlags(self): - return self.SERVICE_FLAGS[super(_SERVICE_STATUS_PROCESS, self).dwServiceFlags] - - # Python friendly names - state = dwCurrentState - type = dwServiceType - control_accepted = dwControlsAccepted - flags = dwServiceFlags
    -LPSERVICE_STATUS_PROCESS = POINTER(_SERVICE_STATUS_PROCESS) -SERVICE_STATUS_PROCESS = _SERVICE_STATUS_PROCESS -
    [docs]class _ENUM_SERVICE_STATUS_PROCESSA(Structure): - _fields_ = [ - ("lpServiceName", LPSTR), - ("lpDisplayName", LPSTR), - ("ServiceStatusProcess", SERVICE_STATUS_PROCESS), - ]
    -LPENUM_SERVICE_STATUS_PROCESSA = POINTER(_ENUM_SERVICE_STATUS_PROCESSA) -ENUM_SERVICE_STATUS_PROCESSA = _ENUM_SERVICE_STATUS_PROCESSA - -
    [docs]class _ENUM_SERVICE_STATUS_PROCESSW(Structure): - _fields_ = [ - ("lpServiceName", LPWSTR), - ("lpDisplayName", LPWSTR), - ("ServiceStatusProcess", SERVICE_STATUS_PROCESS), - ]
    -ENUM_SERVICE_STATUS_PROCESSW = _ENUM_SERVICE_STATUS_PROCESSW -LPENUM_SERVICE_STATUS_PROCESSW = POINTER(_ENUM_SERVICE_STATUS_PROCESSW) - -
    [docs]class _ENUM_SERVICE_STATUSA(Structure): - _fields_ = [ - ("lpServiceName", LPSTR), - ("lpDisplayName", LPSTR), - ("ServiceStatus", SERVICE_STATUS), - ]
    -LPENUM_SERVICE_STATUSA = POINTER(_ENUM_SERVICE_STATUSA) -ENUM_SERVICE_STATUSA = _ENUM_SERVICE_STATUSA - -
    [docs]class _ENUM_SERVICE_STATUSW(Structure): - _fields_ = [ - ("lpServiceName", LPWSTR), - ("lpDisplayName", LPWSTR), - ("ServiceStatus", SERVICE_STATUS), - ]
    -ENUM_SERVICE_STATUSW = _ENUM_SERVICE_STATUSW -LPENUM_SERVICE_STATUSW = POINTER(_ENUM_SERVICE_STATUSW) - -
    [docs]class _QUERY_SERVICE_CONFIGA(Structure): - _fields_ = [ - ("dwServiceType", DWORD), - ("dwStartType", DWORD), - ("dwErrorControl", DWORD), - ("lpBinaryPathName", LPSTR), - ("lpLoadOrderGroup", LPSTR), - ("dwTagId", DWORD), - ("lpDependencies", LPSTR), - ("lpServiceStartName", LPSTR), - ("lpDisplayName", LPSTR), - ]
    -QUERY_SERVICE_CONFIGA = _QUERY_SERVICE_CONFIGA -LPQUERY_SERVICE_CONFIGA = POINTER(_QUERY_SERVICE_CONFIGA) - -
    [docs]class _QUERY_SERVICE_CONFIGW(Structure): - _fields_ = [ - ("dwServiceType", DWORD), - ("dwStartType", DWORD), - ("dwErrorControl", DWORD), - ("lpBinaryPathName", LPWSTR), - ("lpLoadOrderGroup", LPWSTR), - ("dwTagId", DWORD), - ("lpDependencies", LPWSTR), - ("lpServiceStartName", LPWSTR), - ("lpDisplayName", LPWSTR), - ]
    -LPQUERY_SERVICE_CONFIGW = POINTER(_QUERY_SERVICE_CONFIGW) -QUERY_SERVICE_CONFIGW = _QUERY_SERVICE_CONFIGW - -TCP_TABLE_BASIC_LISTENER = EnumValue("_TCP_TABLE_CLASS", "TCP_TABLE_BASIC_LISTENER", 0x0) -TCP_TABLE_BASIC_CONNECTIONS = EnumValue("_TCP_TABLE_CLASS", "TCP_TABLE_BASIC_CONNECTIONS", 0x1) -TCP_TABLE_BASIC_ALL = EnumValue("_TCP_TABLE_CLASS", "TCP_TABLE_BASIC_ALL", 0x2) -TCP_TABLE_OWNER_PID_LISTENER = EnumValue("_TCP_TABLE_CLASS", "TCP_TABLE_OWNER_PID_LISTENER", 0x3) -TCP_TABLE_OWNER_PID_CONNECTIONS = EnumValue("_TCP_TABLE_CLASS", "TCP_TABLE_OWNER_PID_CONNECTIONS", 0x4) -TCP_TABLE_OWNER_PID_ALL = EnumValue("_TCP_TABLE_CLASS", "TCP_TABLE_OWNER_PID_ALL", 0x5) -TCP_TABLE_OWNER_MODULE_LISTENER = EnumValue("_TCP_TABLE_CLASS", "TCP_TABLE_OWNER_MODULE_LISTENER", 0x6) -TCP_TABLE_OWNER_MODULE_CONNECTIONS = EnumValue("_TCP_TABLE_CLASS", "TCP_TABLE_OWNER_MODULE_CONNECTIONS", 0x7) -TCP_TABLE_OWNER_MODULE_ALL = EnumValue("_TCP_TABLE_CLASS", "TCP_TABLE_OWNER_MODULE_ALL", 0x8) -
    [docs]class _TCP_TABLE_CLASS(EnumType): - values = [TCP_TABLE_BASIC_LISTENER, TCP_TABLE_BASIC_CONNECTIONS, TCP_TABLE_BASIC_ALL, TCP_TABLE_OWNER_PID_LISTENER, TCP_TABLE_OWNER_PID_CONNECTIONS, TCP_TABLE_OWNER_PID_ALL, TCP_TABLE_OWNER_MODULE_LISTENER, TCP_TABLE_OWNER_MODULE_CONNECTIONS, TCP_TABLE_OWNER_MODULE_ALL] - mapper = FlagMapper(*values)
    -TCP_TABLE_CLASS = _TCP_TABLE_CLASS - - -MIB_TCP_STATE_CLOSED = EnumValue("_MIB_TCP_STATE", "MIB_TCP_STATE_CLOSED", 0x1) -MIB_TCP_STATE_LISTEN = EnumValue("_MIB_TCP_STATE", "MIB_TCP_STATE_LISTEN", 0x2) -MIB_TCP_STATE_SYN_SENT = EnumValue("_MIB_TCP_STATE", "MIB_TCP_STATE_SYN_SENT", 0x3) -MIB_TCP_STATE_SYN_RCVD = EnumValue("_MIB_TCP_STATE", "MIB_TCP_STATE_SYN_RCVD", 0x4) -MIB_TCP_STATE_ESTAB = EnumValue("_MIB_TCP_STATE", "MIB_TCP_STATE_ESTAB", 0x5) -MIB_TCP_STATE_FIN_WAIT1 = EnumValue("_MIB_TCP_STATE", "MIB_TCP_STATE_FIN_WAIT1", 0x6) -MIB_TCP_STATE_FIN_WAIT2 = EnumValue("_MIB_TCP_STATE", "MIB_TCP_STATE_FIN_WAIT2", 0x7) -MIB_TCP_STATE_CLOSE_WAIT = EnumValue("_MIB_TCP_STATE", "MIB_TCP_STATE_CLOSE_WAIT", 0x8) -MIB_TCP_STATE_CLOSING = EnumValue("_MIB_TCP_STATE", "MIB_TCP_STATE_CLOSING", 0x9) -MIB_TCP_STATE_LAST_ACK = EnumValue("_MIB_TCP_STATE", "MIB_TCP_STATE_LAST_ACK", 0xa) -MIB_TCP_STATE_TIME_WAIT = EnumValue("_MIB_TCP_STATE", "MIB_TCP_STATE_TIME_WAIT", 0xb) -MIB_TCP_STATE_DELETE_TCB = EnumValue("_MIB_TCP_STATE", "MIB_TCP_STATE_DELETE_TCB", 0xc) -
    [docs]class _MIB_TCP_STATE(EnumType): - values = [MIB_TCP_STATE_CLOSED, MIB_TCP_STATE_LISTEN, MIB_TCP_STATE_SYN_SENT, MIB_TCP_STATE_SYN_RCVD, MIB_TCP_STATE_ESTAB, MIB_TCP_STATE_FIN_WAIT1, MIB_TCP_STATE_FIN_WAIT2, MIB_TCP_STATE_CLOSE_WAIT, MIB_TCP_STATE_CLOSING, MIB_TCP_STATE_LAST_ACK, MIB_TCP_STATE_TIME_WAIT, MIB_TCP_STATE_DELETE_TCB] - mapper = FlagMapper(*values)
    -MIB_TCP_STATE = _MIB_TCP_STATE - - -NET_FW_IP_PROTOCOL_TCP = EnumValue("NET_FW_IP_PROTOCOL_", "NET_FW_IP_PROTOCOL_TCP", 0x6) -NET_FW_IP_PROTOCOL_UDP = EnumValue("NET_FW_IP_PROTOCOL_", "NET_FW_IP_PROTOCOL_UDP", 0x11) -NET_FW_IP_PROTOCOL_ANY = EnumValue("NET_FW_IP_PROTOCOL_", "NET_FW_IP_PROTOCOL_ANY", 0x100) -
    [docs]class NET_FW_IP_PROTOCOL_(EnumType): - values = [NET_FW_IP_PROTOCOL_TCP, NET_FW_IP_PROTOCOL_UDP, NET_FW_IP_PROTOCOL_ANY] - mapper = FlagMapper(*values)
    -NET_FW_IP_PROTOCOL = NET_FW_IP_PROTOCOL_ - - -IF_OPER_STATUS_NON_OPERATIONAL = EnumValue("_INTERNAL_IF_OPER_STATUS", "IF_OPER_STATUS_NON_OPERATIONAL", 0x0) -IF_OPER_STATUS_UNREACHABLE = EnumValue("_INTERNAL_IF_OPER_STATUS", "IF_OPER_STATUS_UNREACHABLE", 0x1) -IF_OPER_STATUS_DISCONNECTED = EnumValue("_INTERNAL_IF_OPER_STATUS", "IF_OPER_STATUS_DISCONNECTED", 0x2) -IF_OPER_STATUS_CONNECTING = EnumValue("_INTERNAL_IF_OPER_STATUS", "IF_OPER_STATUS_CONNECTING", 0x3) -IF_OPER_STATUS_CONNECTED = EnumValue("_INTERNAL_IF_OPER_STATUS", "IF_OPER_STATUS_CONNECTED", 0x4) -IF_OPER_STATUS_OPERATIONAL = EnumValue("_INTERNAL_IF_OPER_STATUS", "IF_OPER_STATUS_OPERATIONAL", 0x5) -
    [docs]class _INTERNAL_IF_OPER_STATUS(EnumType): - values = [IF_OPER_STATUS_NON_OPERATIONAL, IF_OPER_STATUS_UNREACHABLE, IF_OPER_STATUS_DISCONNECTED, IF_OPER_STATUS_CONNECTING, IF_OPER_STATUS_CONNECTED, IF_OPER_STATUS_OPERATIONAL] - mapper = FlagMapper(*values)
    -INTERNAL_IF_OPER_STATUS = _INTERNAL_IF_OPER_STATUS - - -DnsFreeFlat = EnumValue("DNS_FREE_TYPE", "DnsFreeFlat", 0x0) -DnsFreeRecordList = EnumValue("DNS_FREE_TYPE", "DnsFreeRecordList", 0x1) -DnsFreeParsedMessageFields = EnumValue("DNS_FREE_TYPE", "DnsFreeParsedMessageFields", 0x2) -
    [docs]class DNS_FREE_TYPE(EnumType): - values = [DnsFreeFlat, DnsFreeRecordList, DnsFreeParsedMessageFields] - mapper = FlagMapper(*values)
    - - -
    [docs]class IP6_ADDRESS(Structure): - _fields_ = [ - ("IP6Qword", ULONGLONG * (2)), - ]
    -PIP6_ADDRESS = POINTER(IP6_ADDRESS) - -
    [docs]class _MIB_IPADDRROW_XP(Structure): - _fields_ = [ - ("dwAddr", DWORD), - ("dwIndex", IF_INDEX), - ("dwMask", DWORD), - ("dwBCastAddr", DWORD), - ("dwReasmSize", DWORD), - ("unused1", USHORT), - ("wType", USHORT), - ]
    -MIB_IPADDRROW = _MIB_IPADDRROW_XP -PMIB_IPADDRROW_XP = POINTER(_MIB_IPADDRROW_XP) -MIB_IPADDRROW_XP = _MIB_IPADDRROW_XP - -
    [docs]class _MIB_IPADDRTABLE(Structure): - _fields_ = [ - ("dwNumEntries", DWORD), - ("table", MIB_IPADDRROW * (ANY_SIZE)), - ]
    -PMIB_IPADDRTABLE = POINTER(_MIB_IPADDRTABLE) -MIB_IPADDRTABLE = _MIB_IPADDRTABLE - -
    [docs]class _MIB_IFROW(Structure): - _fields_ = [ - ("wszName", WCHAR * (MAX_INTERFACE_NAME_LEN)), - ("dwIndex", IF_INDEX), - ("dwType", IFTYPE), - ("dwMtu", DWORD), - ("dwSpeed", DWORD), - ("dwPhysAddrLen", DWORD), - ("bPhysAddr", BYTE * (MAXLEN_PHYSADDR)), - ("dwAdminStatus", DWORD), - ("dwOperStatus", INTERNAL_IF_OPER_STATUS), - ("dwLastChange", DWORD), - ("dwInOctets", DWORD), - ("dwInUcastPkts", DWORD), - ("dwInNUcastPkts", DWORD), - ("dwInDiscards", DWORD), - ("dwInErrors", DWORD), - ("dwInUnknownProtos", DWORD), - ("dwOutOctets", DWORD), - ("dwOutUcastPkts", DWORD), - ("dwOutNUcastPkts", DWORD), - ("dwOutDiscards", DWORD), - ("dwOutErrors", DWORD), - ("dwOutQLen", DWORD), - ("dwDescrLen", DWORD), - ("bDescr", UCHAR * (MAXLEN_IFDESCR)), - ]
    -PMIB_IFROW = POINTER(_MIB_IFROW) -MIB_IFROW = _MIB_IFROW - -
    [docs]class _MIB_IFTABLE(Structure): - _fields_ = [ - ("dwNumEntries", DWORD), - ("table", MIB_IFROW * (ANY_SIZE)), - ]
    -PMIB_IFTABLE = POINTER(_MIB_IFTABLE) -MIB_IFTABLE = _MIB_IFTABLE - -
    [docs]class _MIB_TCPROW_OWNER_PID(Structure): - _fields_ = [ - ("dwState", DWORD), - ("dwLocalAddr", DWORD), - ("dwLocalPort", DWORD), - ("dwRemoteAddr", DWORD), - ("dwRemotePort", DWORD), - ("dwOwningPid", DWORD), - ]
    -MIB_TCPROW_OWNER_PID = _MIB_TCPROW_OWNER_PID -PMIB_TCPROW_OWNER_PID = POINTER(_MIB_TCPROW_OWNER_PID) - -
    [docs]class _MIB_TCPTABLE_OWNER_PID(Structure): - _fields_ = [ - ("dwNumEntries", DWORD), - ("table", MIB_TCPROW_OWNER_PID * (ANY_SIZE)), - ]
    -MIB_TCPTABLE_OWNER_PID = _MIB_TCPTABLE_OWNER_PID -PMIB_TCPTABLE_OWNER_PID = POINTER(_MIB_TCPTABLE_OWNER_PID) - -
    [docs]class _MIB_UDPROW_OWNER_PID(Structure): - _fields_ = [ - ("dwLocalAddr", DWORD), - ("dwLocalPort", DWORD), - ("dwOwningPid", DWORD), - ]
    -MIB_UDPROW_OWNER_PID = _MIB_UDPROW_OWNER_PID -PMIB_UDPROW_OWNER_PID = POINTER(_MIB_UDPROW_OWNER_PID) - -
    [docs]class _MIB_UDPTABLE_OWNER_PID(Structure): - _fields_ = [ - ("dwNumEntries", DWORD), - ("table", MIB_UDPROW_OWNER_PID * (ANY_SIZE)), - ]
    -MIB_UDPTABLE_OWNER_PID = _MIB_UDPTABLE_OWNER_PID -PMIB_UDPTABLE_OWNER_PID = POINTER(_MIB_UDPTABLE_OWNER_PID) - -
    [docs]class _MIB_UDP6ROW_OWNER_PID(Structure): - _fields_ = [ - ("ucLocalAddr", UCHAR * (16)), - ("dwLocalScopeId", DWORD), - ("dwLocalPort", DWORD), - ("dwOwningPid", DWORD), - ]
    -MIB_UDP6ROW_OWNER_PID = _MIB_UDP6ROW_OWNER_PID -PMIB_UDP6ROW_OWNER_PID = POINTER(_MIB_UDP6ROW_OWNER_PID) - -
    [docs]class _MIB_UDP6TABLE_OWNER_PID(Structure): - _fields_ = [ - ("dwNumEntries", DWORD), - ("table", MIB_UDP6ROW_OWNER_PID * (ANY_SIZE)), - ]
    -PMIB_UDP6TABLE_OWNER_PID = POINTER(_MIB_UDP6TABLE_OWNER_PID) -MIB_UDP6TABLE_OWNER_PID = _MIB_UDP6TABLE_OWNER_PID - -
    [docs]class _MIB_TCP6ROW_OWNER_PID(Structure): - _fields_ = [ - ("ucLocalAddr", UCHAR * (16)), - ("dwLocalScopeId", DWORD), - ("dwLocalPort", DWORD), - ("ucRemoteAddr", UCHAR * (16)), - ("dwRemoteScopeId", DWORD), - ("dwRemotePort", DWORD), - ("dwState", DWORD), - ("dwOwningPid", DWORD), - ]
    -MIB_TCP6ROW_OWNER_PID = _MIB_TCP6ROW_OWNER_PID -PMIB_TCP6ROW_OWNER_PID = POINTER(_MIB_TCP6ROW_OWNER_PID) - -
    [docs]class _MIB_TCP6TABLE_OWNER_PID(Structure): - _fields_ = [ - ("dwNumEntries", DWORD), - ("table", MIB_TCP6ROW_OWNER_PID * (ANY_SIZE)), - ]
    -MIB_TCP6TABLE_OWNER_PID = _MIB_TCP6TABLE_OWNER_PID -PMIB_TCP6TABLE_OWNER_PID = POINTER(_MIB_TCP6TABLE_OWNER_PID) - -
    [docs]class _MIB_TCPROW(Structure): - _fields_ = [ - ("dwState", DWORD), - ("dwLocalAddr", DWORD), - ("dwLocalPort", DWORD), - ("dwRemoteAddr", DWORD), - ("dwRemotePort", DWORD), - ]
    -MIB_TCPROW = _MIB_TCPROW -PMIB_TCPROW = POINTER(_MIB_TCPROW) - -
    [docs]class _IP_ADAPTER_INDEX_MAP(Structure): - _fields_ = [ - ("Index", ULONG), - ("Name", WCHAR * (MAX_ADAPTER_NAME)), - ]
    -PIP_ADAPTER_INDEX_MAP = POINTER(_IP_ADAPTER_INDEX_MAP) -IP_ADAPTER_INDEX_MAP = _IP_ADAPTER_INDEX_MAP - -
    [docs]class _IP_INTERFACE_INFO(Structure): - _fields_ = [ - ("NumAdapters", LONG), - ("Adapter", IP_ADAPTER_INDEX_MAP * (1)), - ]
    -PIP_INTERFACE_INFO = POINTER(_IP_INTERFACE_INFO) -IP_INTERFACE_INFO = _IP_INTERFACE_INFO - -# Self referencing struct tricks -
    [docs]class _DNS_CACHE_ENTRY(Structure): pass
    -PDNS_CACHE_ENTRY = POINTER(_DNS_CACHE_ENTRY) -DNS_CACHE_ENTRY = _DNS_CACHE_ENTRY -_DNS_CACHE_ENTRY._fields_ = [ - ("pNext", POINTER(_DNS_CACHE_ENTRY)), - ("pszName", PCWSTR), - ("wType", USHORT), - ("wDataLength", USHORT), - ("dwFlags", ULONG), -] - -
    [docs]class DNS_A_DATA(Structure): - _fields_ = [ - ("IpAddress", IP4_ADDRESS), - ]
    -PDNS_A_DATA = POINTER(DNS_A_DATA) - -
    [docs]class DNS_PTR_DATAW(Structure): - _fields_ = [ - ("pNameHost", PWSTR), - ]
    -PDNS_PTR_DATAW = POINTER(DNS_PTR_DATAW) - -
    [docs]class DNS_PTR_DATAA(Structure): - _fields_ = [ - ("pNameHost", PSTR), - ]
    -PDNS_PTR_DATAA = POINTER(DNS_PTR_DATAA) - -
    [docs]class DNS_SOA_DATAW(Structure): - _fields_ = [ - ("pNamePrimaryServer", PWSTR), - ("pNameAdministrator", PWSTR), - ("dwSerialNo", DWORD), - ("dwRefresh", DWORD), - ("dwRetry", DWORD), - ("dwExpire", DWORD), - ("dwDefaultTtl", DWORD), - ]
    -PDNS_SOA_DATAW = POINTER(DNS_SOA_DATAW) - -
    [docs]class DNS_SOA_DATAA(Structure): - _fields_ = [ - ("pNamePrimaryServer", PSTR), - ("pNameAdministrator", PSTR), - ("dwSerialNo", DWORD), - ("dwRefresh", DWORD), - ("dwRetry", DWORD), - ("dwExpire", DWORD), - ("dwDefaultTtl", DWORD), - ]
    -PDNS_SOA_DATAA = POINTER(DNS_SOA_DATAA) - -
    [docs]class DNS_MINFO_DATAW(Structure): - _fields_ = [ - ("pNameMailbox", PWSTR), - ("pNameErrorsMailbox", PWSTR), - ]
    -PDNS_MINFO_DATAW = POINTER(DNS_MINFO_DATAW) - -
    [docs]class DNS_MINFO_DATAA(Structure): - _fields_ = [ - ("pNameMailbox", PSTR), - ("pNameErrorsMailbox", PSTR), - ]
    -PDNS_MINFO_DATAA = POINTER(DNS_MINFO_DATAA) - -
    [docs]class DNS_MX_DATAW(Structure): - _fields_ = [ - ("pNameExchange", PWSTR), - ("wPreference", WORD), - ("Pad", WORD), - ]
    -PDNS_MX_DATAW = POINTER(DNS_MX_DATAW) - -
    [docs]class DNS_MX_DATAA(Structure): - _fields_ = [ - ("pNameExchange", PSTR), - ("wPreference", WORD), - ("Pad", WORD), - ]
    -PDNS_MX_DATAA = POINTER(DNS_MX_DATAA) - -
    [docs]class DNS_TXT_DATAW(Structure): - _fields_ = [ - ("dwStringCount", DWORD), - ("pStringArray", PWSTR * (1)), - ]
    -PDNS_TXT_DATAW = POINTER(DNS_TXT_DATAW) - -
    [docs]class DNS_TXT_DATAA(Structure): - _fields_ = [ - ("dwStringCount", DWORD), - ("pStringArray", PSTR * (1)), - ]
    -PDNS_TXT_DATAA = POINTER(DNS_TXT_DATAA) - -
    [docs]class DNS_NULL_DATA(Structure): - _fields_ = [ - ("dwByteCount", DWORD), - ("Data", BYTE * (1)), - ]
    -PDNS_NULL_DATA = POINTER(DNS_NULL_DATA) - -
    [docs]class DNS_WKS_DATA(Structure): - _fields_ = [ - ("IpAddress", IP4_ADDRESS), - ("chProtocol", UCHAR), - ("BitMask", BYTE * (1)), - ]
    -PDNS_WKS_DATA = POINTER(DNS_WKS_DATA) - -
    [docs]class DNS_AAAA_DATA(Structure): - _fields_ = [ - ("Ip6Address", IP6_ADDRESS), - ]
    -PDNS_AAAA_DATA = POINTER(DNS_AAAA_DATA) - -
    [docs]class DNS_SIG_DATAW(Structure): - _fields_ = [ - ("wTypeCovered", WORD), - ("chAlgorithm", BYTE), - ("chLabelCount", BYTE), - ("dwOriginalTtl", DWORD), - ("dwExpiration", DWORD), - ("dwTimeSigned", DWORD), - ("wKeyTag", WORD), - ("wSignatureLength", WORD), - ("pNameSigner", PWSTR), - ("Signature", BYTE * (1)), - ]
    -DNS_RRSIG_DATAW = DNS_SIG_DATAW -PDNS_RRSIG_DATAW = POINTER(DNS_SIG_DATAW) -PDNS_SIG_DATAW = POINTER(DNS_SIG_DATAW) - -
    [docs]class DNS_SIG_DATAA(Structure): - _fields_ = [ - ("wTypeCovered", WORD), - ("chAlgorithm", BYTE), - ("chLabelCount", BYTE), - ("dwOriginalTtl", DWORD), - ("dwExpiration", DWORD), - ("dwTimeSigned", DWORD), - ("wKeyTag", WORD), - ("wSignatureLength", WORD), - ("pNameSigner", PSTR), - ("Signature", BYTE * (1)), - ]
    -PDNS_SIG_DATAA = POINTER(DNS_SIG_DATAA) -PDNS_RRSIG_DATAA = POINTER(DNS_SIG_DATAA) -DNS_RRSIG_DATAA = DNS_SIG_DATAA - -
    [docs]class DNS_KEY_DATA(Structure): - _fields_ = [ - ("wFlags", WORD), - ("chProtocol", BYTE), - ("chAlgorithm", BYTE), - ("wKeyLength", WORD), - ("wPad", WORD), - ("Key", BYTE * (1)), - ]
    -PDNS_DNSKEY_DATA = POINTER(DNS_KEY_DATA) -PDNS_KEY_DATA = POINTER(DNS_KEY_DATA) -DNS_DNSKEY_DATA = DNS_KEY_DATA - -
    [docs]class DNS_DHCID_DATA(Structure): - _fields_ = [ - ("dwByteCount", DWORD), - ("DHCID", BYTE * (1)), - ]
    -PDNS_DHCID_DATA = POINTER(DNS_DHCID_DATA) - -
    [docs]class DNS_NSEC_DATAW(Structure): - _fields_ = [ - ("pNextDomainName", PWSTR), - ("wTypeBitMapsLength", WORD), - ("wPad", WORD), - ("TypeBitMaps", BYTE * (1)), - ]
    -PDNS_NSEC_DATAW = POINTER(DNS_NSEC_DATAW) - -
    [docs]class DNS_NSEC_DATAA(Structure): - _fields_ = [ - ("pNextDomainName", PSTR), - ("wTypeBitMapsLength", WORD), - ("wPad", WORD), - ("TypeBitMaps", BYTE * (1)), - ]
    -PDNS_NSEC_DATAA = POINTER(DNS_NSEC_DATAA) - -
    [docs]class DNS_NSEC3_DATA(Structure): - _fields_ = [ - ("chAlgorithm", BYTE), - ("bFlags", BYTE), - ("wIterations", WORD), - ("bSaltLength", BYTE), - ("bHashLength", BYTE), - ("wTypeBitMapsLength", WORD), - ("chData", BYTE * (1)), - ]
    -PDNS_NSEC3_DATA = POINTER(DNS_NSEC3_DATA) - -
    [docs]class DNS_NSEC3PARAM_DATA(Structure): - _fields_ = [ - ("chAlgorithm", BYTE), - ("bFlags", BYTE), - ("wIterations", WORD), - ("bSaltLength", BYTE), - ("bPad", BYTE * (3)), - ("pbSalt", BYTE * (1)), - ]
    -PDNS_NSEC3PARAM_DATA = POINTER(DNS_NSEC3PARAM_DATA) - -
    [docs]class DNS_DS_DATA(Structure): - _fields_ = [ - ("wKeyTag", WORD), - ("chAlgorithm", BYTE), - ("chDigestType", BYTE), - ("wDigestLength", WORD), - ("wPad", WORD), - ("Digest", BYTE * (1)), - ]
    -PDNS_DS_DATA = POINTER(DNS_DS_DATA) - -
    [docs]class DNS_OPT_DATA(Structure): - _fields_ = [ - ("wDataLength", WORD), - ("wPad", WORD), - ("Data", BYTE * (1)), - ]
    -PDNS_OPT_DATA = POINTER(DNS_OPT_DATA) - -
    [docs]class DNS_LOC_DATA(Structure): - _fields_ = [ - ("wVersion", WORD), - ("wSize", WORD), - ("wHorPrec", WORD), - ("wVerPrec", WORD), - ("dwLatitude", DWORD), - ("dwLongitude", DWORD), - ("dwAltitude", DWORD), - ]
    -PDNS_LOC_DATA = POINTER(DNS_LOC_DATA) - -
    [docs]class DNS_NXT_DATAW(Structure): - _fields_ = [ - ("pNameNext", PWSTR), - ("wNumTypes", WORD), - ("wTypes", WORD * (1)), - ]
    -PDNS_NXT_DATAW = POINTER(DNS_NXT_DATAW) - -
    [docs]class DNS_NXT_DATAA(Structure): - _fields_ = [ - ("pNameNext", PSTR), - ("wNumTypes", WORD), - ("wTypes", WORD * (1)), - ]
    -PDNS_NXT_DATAA = POINTER(DNS_NXT_DATAA) - -
    [docs]class DNS_SRV_DATAW(Structure): - _fields_ = [ - ("pNameTarget", PWSTR), - ("wPriority", WORD), - ("wWeight", WORD), - ("wPort", WORD), - ("Pad", WORD), - ]
    -PDNS_SRV_DATAW = POINTER(DNS_SRV_DATAW) - -
    [docs]class DNS_SRV_DATAA(Structure): - _fields_ = [ - ("pNameTarget", PSTR), - ("wPriority", WORD), - ("wWeight", WORD), - ("wPort", WORD), - ("Pad", WORD), - ]
    -PDNS_SRV_DATAA = POINTER(DNS_SRV_DATAA) - -
    [docs]class DNS_NAPTR_DATAW(Structure): - _fields_ = [ - ("wOrder", WORD), - ("wPreference", WORD), - ("pFlags", PWSTR), - ("pService", PWSTR), - ("pRegularExpression", PWSTR), - ("pReplacement", PWSTR), - ]
    -PDNS_NAPTR_DATAW = POINTER(DNS_NAPTR_DATAW) - -
    [docs]class DNS_NAPTR_DATAA(Structure): - _fields_ = [ - ("wOrder", WORD), - ("wPreference", WORD), - ("pFlags", PSTR), - ("pService", PSTR), - ("pRegularExpression", PSTR), - ("pReplacement", PSTR), - ]
    -PDNS_NAPTR_DATAA = POINTER(DNS_NAPTR_DATAA) - -
    [docs]class DNS_ATMA_DATA(Structure): - _fields_ = [ - ("AddressType", BYTE), - ("Address", BYTE * (DNS_ATMA_MAX_ADDR_LENGTH)), - ]
    -PDNS_ATMA_DATA = POINTER(DNS_ATMA_DATA) - -
    [docs]class DNS_TKEY_DATAW(Structure): - _fields_ = [ - ("pNameAlgorithm", PWSTR), - ("pAlgorithmPacket", PBYTE), - ("pKey", PBYTE), - ("pOtherData", PBYTE), - ("dwCreateTime", DWORD), - ("dwExpireTime", DWORD), - ("wMode", WORD), - ("wError", WORD), - ("wKeyLength", WORD), - ("wOtherLength", WORD), - ("cAlgNameLength", UCHAR), - ("bPacketPointers", BOOL), - ]
    -PDNS_TKEY_DATAW = POINTER(DNS_TKEY_DATAW) - -
    [docs]class DNS_TKEY_DATAA(Structure): - _fields_ = [ - ("pNameAlgorithm", PSTR), - ("pAlgorithmPacket", PBYTE), - ("pKey", PBYTE), - ("pOtherData", PBYTE), - ("dwCreateTime", DWORD), - ("dwExpireTime", DWORD), - ("wMode", WORD), - ("wError", WORD), - ("wKeyLength", WORD), - ("wOtherLength", WORD), - ("cAlgNameLength", UCHAR), - ("bPacketPointers", BOOL), - ]
    -PDNS_TKEY_DATAA = POINTER(DNS_TKEY_DATAA) - -
    [docs]class DNS_TSIG_DATAW(Structure): - _fields_ = [ - ("pNameAlgorithm", PWSTR), - ("pAlgorithmPacket", PBYTE), - ("pSignature", PBYTE), - ("pOtherData", PBYTE), - ("i64CreateTime", LONGLONG), - ("wFudgeTime", WORD), - ("wOriginalXid", WORD), - ("wError", WORD), - ("wSigLength", WORD), - ("wOtherLength", WORD), - ("cAlgNameLength", UCHAR), - ("bPacketPointers", BOOL), - ]
    -PDNS_TSIG_DATAW = POINTER(DNS_TSIG_DATAW) - -
    [docs]class DNS_TSIG_DATAA(Structure): - _fields_ = [ - ("pNameAlgorithm", PSTR), - ("pAlgorithmPacket", PBYTE), - ("pSignature", PBYTE), - ("pOtherData", PBYTE), - ("i64CreateTime", LONGLONG), - ("wFudgeTime", WORD), - ("wOriginalXid", WORD), - ("wError", WORD), - ("wSigLength", WORD), - ("wOtherLength", WORD), - ("cAlgNameLength", UCHAR), - ("bPacketPointers", BOOL), - ]
    -PDNS_TSIG_DATAA = POINTER(DNS_TSIG_DATAA) - -
    [docs]class DNS_WINS_DATA(Structure): - _fields_ = [ - ("dwMappingFlag", DWORD), - ("dwLookupTimeout", DWORD), - ("dwCacheTimeout", DWORD), - ("cWinsServerCount", DWORD), - ("WinsServers", IP4_ADDRESS * (1)), - ]
    -PDNS_WINS_DATA = POINTER(DNS_WINS_DATA) - -
    [docs]class DNS_WINSR_DATAW(Structure): - _fields_ = [ - ("dwMappingFlag", DWORD), - ("dwLookupTimeout", DWORD), - ("dwCacheTimeout", DWORD), - ("pNameResultDomain", PWSTR), - ]
    -PDNS_WINSR_DATAW = POINTER(DNS_WINSR_DATAW) - -
    [docs]class DNS_WINSR_DATAA(Structure): - _fields_ = [ - ("dwMappingFlag", DWORD), - ("dwLookupTimeout", DWORD), - ("dwCacheTimeout", DWORD), - ("pNameResultDomain", PSTR), + ("Basic", BG_BASIC_CREDENTIALS), ]
    -PDNS_WINSR_DATAA = POINTER(DNS_WINSR_DATAA) +BG_AUTH_CREDENTIALS_UNION = __MIDL_IBackgroundCopyJob2_0004 -
    [docs]class DNS_TLSA_DATA(Structure): +
    [docs]class BG_AUTH_CREDENTIALS(Structure): _fields_ = [ - ("bCertUsage", BYTE), - ("bSelector", BYTE), - ("bMatchingType", BYTE), - ("bCertificateAssociationDataLength", WORD), - ("bPad", BYTE * (3)), - ("bCertificateAssociationData", BYTE * (1)), + ("Target", BG_AUTH_TARGET), + ("Scheme", BG_AUTH_SCHEME), + ("Credentials", BG_AUTH_CREDENTIALS_UNION), ]
    -PDNS_TLSA_DATA = POINTER(DNS_TLSA_DATA) -
    [docs]class DNS_UNKNOWN_DATA(Structure): - _fields_ = [ - ("dwByteCount", DWORD), - ("bData", BYTE * (1)), - ]
    -PDNS_UNKNOWN_DATA = POINTER(DNS_UNKNOWN_DATA) - -
    [docs]class _DnsRecordFlags(Structure): - _fields_ = [ - ("Section", DWORD, 2), - ("Delete", DWORD, 1), - ("CharSet", DWORD, 2), - ("Unused", DWORD, 3), - ("Reserved", DWORD, 24), - ]
    -DNS_RECORD_FLAGS = _DnsRecordFlags - -class _ANON__DNSRECORDA_SUB_UNION_1(Union): - _fields_ = [ - ("DW", DWORD), - ("S", DNS_RECORD_FLAGS), - ] - - -class _ANON__DNSRECORDA_SUB_UNION_2(Union): - _fields_ = [ - ("A", DNS_A_DATA), - ("SOA", DNS_SOA_DATAA), - ("Soa", DNS_SOA_DATAA), - ("PTR", DNS_PTR_DATAA), - ("Ptr", DNS_PTR_DATAA), - ("NS", DNS_PTR_DATAA), - ("Ns", DNS_PTR_DATAA), - ("CNAME", DNS_PTR_DATAA), - ("Cname", DNS_PTR_DATAA), - ("DNAME", DNS_PTR_DATAA), - ("Dname", DNS_PTR_DATAA), - ("MB", DNS_PTR_DATAA), - ("Mb", DNS_PTR_DATAA), - ("MD", DNS_PTR_DATAA), - ("Md", DNS_PTR_DATAA), - ("MF", DNS_PTR_DATAA), - ("Mf", DNS_PTR_DATAA), - ("MG", DNS_PTR_DATAA), - ("Mg", DNS_PTR_DATAA), - ("MR", DNS_PTR_DATAA), - ("Mr", DNS_PTR_DATAA), - ("MINFO", DNS_MINFO_DATAA), - ("Minfo", DNS_MINFO_DATAA), - ("RP", DNS_MINFO_DATAA), - ("Rp", DNS_MINFO_DATAA), - ("MX", DNS_MX_DATAA), - ("Mx", DNS_MX_DATAA), - ("AFSDB", DNS_MX_DATAA), - ("Afsdb", DNS_MX_DATAA), - ("RT", DNS_MX_DATAA), - ("Rt", DNS_MX_DATAA), - ("HINFO", DNS_TXT_DATAA), - ("Hinfo", DNS_TXT_DATAA), - ("ISDN", DNS_TXT_DATAA), - ("Isdn", DNS_TXT_DATAA), - ("TXT", DNS_TXT_DATAA), - ("Txt", DNS_TXT_DATAA), - ("X25", DNS_TXT_DATAA), - ("Null", DNS_NULL_DATA), - ("WKS", DNS_WKS_DATA), - ("Wks", DNS_WKS_DATA), - ("AAAA", DNS_AAAA_DATA), - ("KEY", DNS_KEY_DATA), - ("Key", DNS_KEY_DATA), - ("SIG", DNS_SIG_DATAA), - ("Sig", DNS_SIG_DATAA), - ("ATMA", DNS_ATMA_DATA), - ("Atma", DNS_ATMA_DATA), - ("NXT", DNS_NXT_DATAA), - ("Nxt", DNS_NXT_DATAA), - ("SRV", DNS_SRV_DATAA), - ("Srv", DNS_SRV_DATAA), - ("NAPTR", DNS_NAPTR_DATAA), - ("Naptr", DNS_NAPTR_DATAA), - ("OPT", DNS_OPT_DATA), - ("Opt", DNS_OPT_DATA), - ("DS", DNS_DS_DATA), - ("Ds", DNS_DS_DATA), - ("RRSIG", DNS_RRSIG_DATAA), - ("Rrsig", DNS_RRSIG_DATAA), - ("NSEC", DNS_NSEC_DATAA), - ("Nsec", DNS_NSEC_DATAA), - ("DNSKEY", DNS_DNSKEY_DATA), - ("Dnskey", DNS_DNSKEY_DATA), - ("TKEY", DNS_TKEY_DATAA), - ("Tkey", DNS_TKEY_DATAA), - ("TSIG", DNS_TSIG_DATAA), - ("Tsig", DNS_TSIG_DATAA), - ("WINS", DNS_WINS_DATA), - ("Wins", DNS_WINS_DATA), - ("WINSR", DNS_WINSR_DATAA), - ("WinsR", DNS_WINSR_DATAA), - ("NBSTAT", DNS_WINSR_DATAA), - ("Nbstat", DNS_WINSR_DATAA), - ("DHCID", DNS_DHCID_DATA), - ("NSEC3", DNS_NSEC3_DATA), - ("Nsec3", DNS_NSEC3_DATA), - ("NSEC3PARAM", DNS_NSEC3PARAM_DATA), - ("Nsec3Param", DNS_NSEC3PARAM_DATA), - ("TLSA", DNS_TLSA_DATA), - ("Tlsa", DNS_TLSA_DATA), - ("UNKNOWN", DNS_UNKNOWN_DATA), - ("Unknown", DNS_UNKNOWN_DATA), - ("pDataPtr", PBYTE), - ] - -# Self referencing struct tricks -
    [docs]class _DnsRecordA(Structure): pass
    -PDNS_RECORDA = POINTER(_DnsRecordA) -DNS_RECORDA = _DnsRecordA -_DnsRecordA._fields_ = [ - ("pNext", POINTER(_DnsRecordA)), - ("pName", PSTR), - ("wType", WORD), - ("wDataLength", WORD), - ("Flags", _ANON__DNSRECORDA_SUB_UNION_1), - ("dwTtl", DWORD), - ("dwReserved", DWORD), - ("Data", _ANON__DNSRECORDA_SUB_UNION_2), -] - -class _ANON__DNSRECORDW_SUB_UNION_1(Union): - _fields_ = [ - ("DW", DWORD), - ("S", DNS_RECORD_FLAGS), - ] - - -class _ANON__DNSRECORDW_SUB_UNION_2(Union): - _fields_ = [ - ("A", DNS_A_DATA), - ("SOA", DNS_SOA_DATAW), - ("Soa", DNS_SOA_DATAW), - ("PTR", DNS_PTR_DATAW), - ("Ptr", DNS_PTR_DATAW), - ("NS", DNS_PTR_DATAW), - ("Ns", DNS_PTR_DATAW), - ("CNAME", DNS_PTR_DATAW), - ("Cname", DNS_PTR_DATAW), - ("DNAME", DNS_PTR_DATAW), - ("Dname", DNS_PTR_DATAW), - ("MB", DNS_PTR_DATAW), - ("Mb", DNS_PTR_DATAW), - ("MD", DNS_PTR_DATAW), - ("Md", DNS_PTR_DATAW), - ("MF", DNS_PTR_DATAW), - ("Mf", DNS_PTR_DATAW), - ("MG", DNS_PTR_DATAW), - ("Mg", DNS_PTR_DATAW), - ("MR", DNS_PTR_DATAW), - ("Mr", DNS_PTR_DATAW), - ("MINFO", DNS_MINFO_DATAW), - ("Minfo", DNS_MINFO_DATAW), - ("RP", DNS_MINFO_DATAW), - ("Rp", DNS_MINFO_DATAW), - ("MX", DNS_MX_DATAW), - ("Mx", DNS_MX_DATAW), - ("AFSDB", DNS_MX_DATAW), - ("Afsdb", DNS_MX_DATAW), - ("RT", DNS_MX_DATAW), - ("Rt", DNS_MX_DATAW), - ("HINFO", DNS_TXT_DATAW), - ("Hinfo", DNS_TXT_DATAW), - ("ISDN", DNS_TXT_DATAW), - ("Isdn", DNS_TXT_DATAW), - ("TXT", DNS_TXT_DATAW), - ("Txt", DNS_TXT_DATAW), - ("X25", DNS_TXT_DATAW), - ("Null", DNS_NULL_DATA), - ("WKS", DNS_WKS_DATA), - ("Wks", DNS_WKS_DATA), - ("AAAA", DNS_AAAA_DATA), - ("KEY", DNS_KEY_DATA), - ("Key", DNS_KEY_DATA), - ("SIG", DNS_SIG_DATAW), - ("Sig", DNS_SIG_DATAW), - ("ATMA", DNS_ATMA_DATA), - ("Atma", DNS_ATMA_DATA), - ("NXT", DNS_NXT_DATAW), - ("Nxt", DNS_NXT_DATAW), - ("SRV", DNS_SRV_DATAW), - ("Srv", DNS_SRV_DATAW), - ("NAPTR", DNS_NAPTR_DATAW), - ("Naptr", DNS_NAPTR_DATAW), - ("OPT", DNS_OPT_DATA), - ("Opt", DNS_OPT_DATA), - ("DS", DNS_DS_DATA), - ("Ds", DNS_DS_DATA), - ("RRSIG", DNS_RRSIG_DATAW), - ("Rrsig", DNS_RRSIG_DATAW), - ("NSEC", DNS_NSEC_DATAW), - ("Nsec", DNS_NSEC_DATAW), - ("DNSKEY", DNS_DNSKEY_DATA), - ("Dnskey", DNS_DNSKEY_DATA), - ("TKEY", DNS_TKEY_DATAW), - ("Tkey", DNS_TKEY_DATAW), - ("TSIG", DNS_TSIG_DATAW), - ("Tsig", DNS_TSIG_DATAW), - ("WINS", DNS_WINS_DATA), - ("Wins", DNS_WINS_DATA), - ("WINSR", DNS_WINSR_DATAW), - ("WinsR", DNS_WINSR_DATAW), - ("NBSTAT", DNS_WINSR_DATAW), - ("Nbstat", DNS_WINSR_DATAW), - ("DHCID", DNS_DHCID_DATA), - ("NSEC3", DNS_NSEC3_DATA), - ("Nsec3", DNS_NSEC3_DATA), - ("NSEC3PARAM", DNS_NSEC3PARAM_DATA), - ("Nsec3Param", DNS_NSEC3PARAM_DATA), - ("TLSA", DNS_TLSA_DATA), - ("Tlsa", DNS_TLSA_DATA), - ("UNKNOWN", DNS_UNKNOWN_DATA), - ("Unknown", DNS_UNKNOWN_DATA), - ("pDataPtr", PBYTE), - ] - -# Self referencing struct tricks -
    [docs]class _DnsRecordW(Structure): pass
    -DNS_RECORDW = _DnsRecordW -PDNS_RECORDW = POINTER(_DnsRecordW) -_DnsRecordW._fields_ = [ - ("pNext", POINTER(_DnsRecordW)), - ("pName", PWSTR), - ("wType", WORD), - ("wDataLength", WORD), - ("Flags", _ANON__DNSRECORDW_SUB_UNION_1), - ("dwTtl", DWORD), - ("dwReserved", DWORD), - ("Data", _ANON__DNSRECORDW_SUB_UNION_2), -] - -TASK_ACTION_EXEC = EnumValue("_TASK_ACTION_TYPE", "TASK_ACTION_EXEC", 0x0) -TASK_ACTION_COM_HANDLER = EnumValue("_TASK_ACTION_TYPE", "TASK_ACTION_COM_HANDLER", 0x5) -TASK_ACTION_SEND_EMAIL = EnumValue("_TASK_ACTION_TYPE", "TASK_ACTION_SEND_EMAIL", 0x6) -TASK_ACTION_SHOW_MESSAGE = EnumValue("_TASK_ACTION_TYPE", "TASK_ACTION_SHOW_MESSAGE", 0x7) -
    [docs]class _TASK_ACTION_TYPE(EnumType): - values = [TASK_ACTION_EXEC, TASK_ACTION_COM_HANDLER, TASK_ACTION_SEND_EMAIL, TASK_ACTION_SHOW_MESSAGE] - mapper = FlagMapper(*values)
    -TASK_ACTION_TYPE = _TASK_ACTION_TYPE - - -TASK_RUNLEVEL_LUA = EnumValue("_TASK_RUNLEVEL_TYPE", "TASK_RUNLEVEL_LUA", 0x0) -TASK_RUNLEVEL_HIGHEST = EnumValue("_TASK_RUNLEVEL_TYPE", "TASK_RUNLEVEL_HIGHEST", 0x1) -
    [docs]class _TASK_RUNLEVEL_TYPE(EnumType): - values = [TASK_RUNLEVEL_LUA, TASK_RUNLEVEL_HIGHEST] - mapper = FlagMapper(*values)
    -TASK_RUNLEVEL_TYPE = _TASK_RUNLEVEL_TYPE - - -TASK_LOGON_NONE = EnumValue("_TASK_LOGON_TYPE", "TASK_LOGON_NONE", 0x0) -TASK_LOGON_PASSWORD = EnumValue("_TASK_LOGON_TYPE", "TASK_LOGON_PASSWORD", 0x1) -TASK_LOGON_S4U = EnumValue("_TASK_LOGON_TYPE", "TASK_LOGON_S4U", 0x2) -TASK_LOGON_INTERACTIVE_TOKEN = EnumValue("_TASK_LOGON_TYPE", "TASK_LOGON_INTERACTIVE_TOKEN", 0x3) -TASK_LOGON_GROUP = EnumValue("_TASK_LOGON_TYPE", "TASK_LOGON_GROUP", 0x4) -TASK_LOGON_SERVICE_ACCOUNT = EnumValue("_TASK_LOGON_TYPE", "TASK_LOGON_SERVICE_ACCOUNT", 0x5) -TASK_LOGON_INTERACTIVE_TOKEN_OR_PASSWORD = EnumValue("_TASK_LOGON_TYPE", "TASK_LOGON_INTERACTIVE_TOKEN_OR_PASSWORD", 0x6) -
    [docs]class _TASK_LOGON_TYPE(EnumType): - values = [TASK_LOGON_NONE, TASK_LOGON_PASSWORD, TASK_LOGON_S4U, TASK_LOGON_INTERACTIVE_TOKEN, TASK_LOGON_GROUP, TASK_LOGON_SERVICE_ACCOUNT, TASK_LOGON_INTERACTIVE_TOKEN_OR_PASSWORD] - mapper = FlagMapper(*values)
    -TASK_LOGON_TYPE = _TASK_LOGON_TYPE - - -TASK_STATE_UNKNOWN = EnumValue("_TASK_STATE", "TASK_STATE_UNKNOWN", 0x0) -TASK_STATE_DISABLED = EnumValue("_TASK_STATE", "TASK_STATE_DISABLED", 0x1) -TASK_STATE_QUEUED = EnumValue("_TASK_STATE", "TASK_STATE_QUEUED", 0x2) -TASK_STATE_READY = EnumValue("_TASK_STATE", "TASK_STATE_READY", 0x3) -TASK_STATE_RUNNING = EnumValue("_TASK_STATE", "TASK_STATE_RUNNING", 0x4) -
    [docs]class _TASK_STATE(EnumType): - values = [TASK_STATE_UNKNOWN, TASK_STATE_DISABLED, TASK_STATE_QUEUED, TASK_STATE_READY, TASK_STATE_RUNNING] - mapper = FlagMapper(*values)
    -TASK_STATE = _TASK_STATE - - -TASK_INSTANCES_PARALLEL = EnumValue("_TASK_INSTANCES_POLICY", "TASK_INSTANCES_PARALLEL", 0x0) -TASK_INSTANCES_QUEUE = EnumValue("_TASK_INSTANCES_POLICY", "TASK_INSTANCES_QUEUE", 0x1) -TASK_INSTANCES_IGNORE_NEW = EnumValue("_TASK_INSTANCES_POLICY", "TASK_INSTANCES_IGNORE_NEW", 0x2) -TASK_INSTANCES_STOP_EXISTING = EnumValue("_TASK_INSTANCES_POLICY", "TASK_INSTANCES_STOP_EXISTING", 0x3) -
    [docs]class _TASK_INSTANCES_POLICY(EnumType): - values = [TASK_INSTANCES_PARALLEL, TASK_INSTANCES_QUEUE, TASK_INSTANCES_IGNORE_NEW, TASK_INSTANCES_STOP_EXISTING] - mapper = FlagMapper(*values)
    -TASK_INSTANCES_POLICY = _TASK_INSTANCES_POLICY - - -TASK_COMPATIBILITY_AT = EnumValue("_TASK_COMPATIBILITY", "TASK_COMPATIBILITY_AT", 0x0) -TASK_COMPATIBILITY_V1 = EnumValue("_TASK_COMPATIBILITY", "TASK_COMPATIBILITY_V1", 0x1) -TASK_COMPATIBILITY_V2 = EnumValue("_TASK_COMPATIBILITY", "TASK_COMPATIBILITY_V2", 0x2) -
    [docs]class _TASK_COMPATIBILITY(EnumType): - values = [TASK_COMPATIBILITY_AT, TASK_COMPATIBILITY_V1, TASK_COMPATIBILITY_V2] - mapper = FlagMapper(*values)
    -TASK_COMPATIBILITY = _TASK_COMPATIBILITY - - -TASK_TRIGGER_EVENT = EnumValue("_TASK_TRIGGER_TYPE2", "TASK_TRIGGER_EVENT", 0x0) -TASK_TRIGGER_TIME = EnumValue("_TASK_TRIGGER_TYPE2", "TASK_TRIGGER_TIME", 0x1) -TASK_TRIGGER_DAILY = EnumValue("_TASK_TRIGGER_TYPE2", "TASK_TRIGGER_DAILY", 0x2) -TASK_TRIGGER_WEEKLY = EnumValue("_TASK_TRIGGER_TYPE2", "TASK_TRIGGER_WEEKLY", 0x3) -TASK_TRIGGER_MONTHLY = EnumValue("_TASK_TRIGGER_TYPE2", "TASK_TRIGGER_MONTHLY", 0x4) -TASK_TRIGGER_MONTHLYDOW = EnumValue("_TASK_TRIGGER_TYPE2", "TASK_TRIGGER_MONTHLYDOW", 0x5) -TASK_TRIGGER_IDLE = EnumValue("_TASK_TRIGGER_TYPE2", "TASK_TRIGGER_IDLE", 0x6) -TASK_TRIGGER_REGISTRATION = EnumValue("_TASK_TRIGGER_TYPE2", "TASK_TRIGGER_REGISTRATION", 0x7) -TASK_TRIGGER_BOOT = EnumValue("_TASK_TRIGGER_TYPE2", "TASK_TRIGGER_BOOT", 0x8) -TASK_TRIGGER_LOGON = EnumValue("_TASK_TRIGGER_TYPE2", "TASK_TRIGGER_LOGON", 0x9) -TASK_TRIGGER_SESSION_STATE_CHANGE = EnumValue("_TASK_TRIGGER_TYPE2", "TASK_TRIGGER_SESSION_STATE_CHANGE", 0xb) -
    [docs]class _TASK_TRIGGER_TYPE2(EnumType): - values = [TASK_TRIGGER_EVENT, TASK_TRIGGER_TIME, TASK_TRIGGER_DAILY, TASK_TRIGGER_WEEKLY, TASK_TRIGGER_MONTHLY, TASK_TRIGGER_MONTHLYDOW, TASK_TRIGGER_IDLE, TASK_TRIGGER_REGISTRATION, TASK_TRIGGER_BOOT, TASK_TRIGGER_LOGON, TASK_TRIGGER_SESSION_STATE_CHANGE] - mapper = FlagMapper(*values)
    -TASK_TRIGGER_TYPE2 = _TASK_TRIGGER_TYPE2 - - -TASK_ENUM_HIDDEN = EnumValue("_TASK_ENUM_FLAGS", "TASK_ENUM_HIDDEN", 0x1) -
    [docs]class _TASK_ENUM_FLAGS(EnumType): - values = [TASK_ENUM_HIDDEN] - mapper = FlagMapper(*values)
    -TASK_ENUM_FLAGS = _TASK_ENUM_FLAGS - - -TASK_VALIDATE_ONLY = EnumValue("_TASK_CREATION", "TASK_VALIDATE_ONLY", 0x1) -TASK_CREATE = EnumValue("_TASK_CREATION", "TASK_CREATE", 0x2) -TASK_UPDATE = EnumValue("_TASK_CREATION", "TASK_UPDATE", 0x4) -TASK_CREATE_OR_UPDATE = EnumValue("_TASK_CREATION", "TASK_CREATE_OR_UPDATE", 0x6) -TASK_DISABLE = EnumValue("_TASK_CREATION", "TASK_DISABLE", 0x8) -TASK_DONT_ADD_PRINCIPAL_ACE = EnumValue("_TASK_CREATION", "TASK_DONT_ADD_PRINCIPAL_ACE", 0x10) -TASK_IGNORE_REGISTRATION_TRIGGERS = EnumValue("_TASK_CREATION", "TASK_IGNORE_REGISTRATION_TRIGGERS", 0x20) -
    [docs]class _TASK_CREATION(EnumType): - values = [TASK_VALIDATE_ONLY, TASK_CREATE, TASK_UPDATE, TASK_CREATE_OR_UPDATE, TASK_DISABLE, TASK_DONT_ADD_PRINCIPAL_ACE, TASK_IGNORE_REGISTRATION_TRIGGERS] - mapper = FlagMapper(*values)
    -TASK_CREATION = _TASK_CREATION - - -TASK_RUN_NO_FLAGS = EnumValue("TASK_RUN_FLAGS", "TASK_RUN_NO_FLAGS", 0x0) -TASK_RUN_AS_SELF = EnumValue("TASK_RUN_FLAGS", "TASK_RUN_AS_SELF", 0x1) -TASK_RUN_IGNORE_CONSTRAINTS = EnumValue("TASK_RUN_FLAGS", "TASK_RUN_IGNORE_CONSTRAINTS", 0x2) -TASK_RUN_USE_SESSION_ID = EnumValue("TASK_RUN_FLAGS", "TASK_RUN_USE_SESSION_ID", 0x4) -TASK_RUN_USER_SID = EnumValue("TASK_RUN_FLAGS", "TASK_RUN_USER_SID", 0x8) -
    [docs]class TASK_RUN_FLAGS(EnumType): - values = [TASK_RUN_NO_FLAGS, TASK_RUN_AS_SELF, TASK_RUN_IGNORE_CONSTRAINTS, TASK_RUN_USE_SESSION_ID, TASK_RUN_USER_SID] - mapper = FlagMapper(*values)
    - - -
    [docs]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) - -
    [docs]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 - -
    [docs]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 - -
    [docs]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 - -
    [docs]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) - -
    [docs]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 - -
    [docs]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) - -
    [docs]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) - -
    [docs]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) - -
    [docs]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 -
    [docs]class _API_SET_NAMESPACE_ENTRY_V6(Structure): +
    [docs]class _BG_JOB_REPLY_PROGRESS(Structure): _fields_ = [ - ("Flags", ULONG), - ("NameOffset", ULONG), - ("NameLength", ULONG), - ("HashedLength", ULONG), - ("ValueOffset", ULONG), - ("ValueCount", ULONG), + ("BytesTotal", UINT64), + ("BytesTransferred", UINT64), ]
    -API_SET_NAMESPACE_ENTRY_V6 = _API_SET_NAMESPACE_ENTRY_V6 +BG_JOB_REPLY_PROGRESS = _BG_JOB_REPLY_PROGRESS -
    [docs]class _API_SET_NAMESPACE_V6(Structure): +
    [docs]class _BG_FILE_RANGE(Structure): _fields_ = [ - ("Version", ULONG), - ("Size", ULONG), - ("Flags", ULONG), - ("Count", ULONG), - ("EntryOffset", ULONG), - ("HashOffset", ULONG), - ("HashFactor", ULONG), + ("InitialOffset", UINT64), + ("Length", UINT64), ]
    -API_SET_NAMESPACE_V6 = _API_SET_NAMESPACE_V6 +BG_FILE_RANGE = _BG_FILE_RANGE -
    [docs]class tagRGBTRIPLE(Structure): +
    [docs]class tagRGBTRIPLE(Structure): _fields_ = [ ("rgbtBlue", BYTE), ("rgbtGreen", BYTE), @@ -1830,7 +1064,7 @@ RGBTRIPLE = tagRGBTRIPLE PRGBTRIPLE = POINTER(tagRGBTRIPLE) -
    [docs]class tagBITMAPFILEHEADER(Structure): +
    [docs]class tagBITMAPFILEHEADER(Structure): _pack_ = 2 _fields_ = [ ("bfType", WORD), @@ -1843,7 +1077,7 @@ PBITMAPFILEHEADER = POINTER(tagBITMAPFILEHEADER) LPBITMAPFILEHEADER = POINTER(tagBITMAPFILEHEADER) -
    [docs]class tagBITMAPCOREHEADER(Structure): +
    [docs]class tagBITMAPCOREHEADER(Structure): _fields_ = [ ("bcSize", DWORD), ("bcWidth", WORD), @@ -1855,7 +1089,7 @@ PBITMAPCOREHEADER = POINTER(tagBITMAPCOREHEADER) BITMAPCOREHEADER = tagBITMAPCOREHEADER -
    [docs]class tagBITMAP(Structure): +
    [docs]class tagBITMAP(Structure): _fields_ = [ ("bmType", LONG), ("bmWidth", LONG), @@ -1870,7 +1104,7 @@ PBITMAP = POINTER(tagBITMAP) BITMAP = tagBITMAP -
    [docs]class tagBITMAPINFOHEADER(Structure): +
    [docs]class tagBITMAPINFOHEADER(Structure): _fields_ = [ ("biSize", DWORD), ("biWidth", LONG), @@ -1888,7 +1122,7 @@ PBITMAPINFOHEADER = POINTER(tagBITMAPINFOHEADER) LPBITMAPINFOHEADER = POINTER(tagBITMAPINFOHEADER) -
    [docs]class tagRGBQUAD(Structure): +
    [docs]class tagRGBQUAD(Structure): _fields_ = [ ("rgbBlue", BYTE), ("rgbGreen", BYTE), @@ -1897,7 +1131,7 @@ ]
    RGBQUAD = tagRGBQUAD -
    [docs]class tagBITMAPINFO(Structure): +
    [docs]class tagBITMAPINFO(Structure): _fields_ = [ ("bmiHeader", BITMAPINFOHEADER), ("bmiColors", RGBQUAD * (1)), @@ -1906,7 +1140,7 @@ PBITMAPINFO = POINTER(tagBITMAPINFO) BITMAPINFO = tagBITMAPINFO -
    [docs]class tagBITMAPCOREINFO(Structure): +
    [docs]class tagBITMAPCOREINFO(Structure): _fields_ = [ ("bmciHeader", BITMAPCOREHEADER), ("bmciColors", RGBTRIPLE * (1)), @@ -1915,7 +1149,7 @@ BITMAPCOREINFO = tagBITMAPCOREINFO PBITMAPCOREINFO = POINTER(tagBITMAPCOREINFO) -
    [docs]class tagWNDCLASSEXA(Structure): +
    [docs]class tagWNDCLASSEXA(Structure): _fields_ = [ ("cbSize", UINT), ("style", UINT), @@ -1934,7 +1168,7 @@ LPWNDCLASSEXA = POINTER(tagWNDCLASSEXA) WNDCLASSEXA = tagWNDCLASSEXA -
    [docs]class tagWNDCLASSEXW(Structure): +
    [docs]class tagWNDCLASSEXW(Structure): _fields_ = [ ("cbSize", UINT), ("style", UINT), @@ -1953,235 +1187,751 @@ LPWNDCLASSEXW = POINTER(tagWNDCLASSEXW) PWNDCLASSEXW = POINTER(tagWNDCLASSEXW) -ProcessDEPPolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessDEPPolicy", 0x0) -ProcessASLRPolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessASLRPolicy", 0x1) -ProcessDynamicCodePolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessDynamicCodePolicy", 0x2) -ProcessStrictHandleCheckPolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessStrictHandleCheckPolicy", 0x3) -ProcessSystemCallDisablePolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessSystemCallDisablePolicy", 0x4) -ProcessMitigationOptionsMask = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessMitigationOptionsMask", 0x5) -ProcessExtensionPointDisablePolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessExtensionPointDisablePolicy", 0x6) -ProcessReserved1Policy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessReserved1Policy", 0x7) -ProcessSignaturePolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessSignaturePolicy", 0x8) -MaxProcessMitigationPolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "MaxProcessMitigationPolicy", 0x9) -
    [docs]class _PROCESS_MITIGATION_POLICY(EnumType): - values = [ProcessDEPPolicy, ProcessASLRPolicy, ProcessDynamicCodePolicy, ProcessStrictHandleCheckPolicy, ProcessSystemCallDisablePolicy, ProcessMitigationOptionsMask, ProcessExtensionPointDisablePolicy, ProcessReserved1Policy, ProcessSignaturePolicy, MaxProcessMitigationPolicy] +class _GUID(Structure): + _fields_ = [ + ("Data1", ULONG), + ("Data2", USHORT), + ("Data3", USHORT), + ("Data4", BYTE * (8)), + ] +REFCLSID = POINTER(_GUID) +LPCGUID = POINTER(_GUID) +REFGUID = POINTER(_GUID) +LPGUID = POINTER(_GUID) +IID = _GUID +CLSID = _GUID +LPCLSID = POINTER(_GUID) +GUID = _GUID +REFIID = POINTER(_GUID) + +INITIAL_GUID = _GUID +
    [docs]class _GUID(INITIAL_GUID): + def __init__(self, Data1=None, Data2=None, Data3=None, Data4=None, name=None, strid=None): + data_tuple = (Data1, Data2, Data3, Data4) + self.name = name + self.strid = strid + if all(data is None for data in data_tuple): + return super(_GUID, self).__init__() + if any(data is None for data in data_tuple): + raise ValueError("All or none of (Data1, Data2, Data3, Data4) should be None") + super(_GUID, self).__init__(Data1, Data2, Data3, Data4) + + def __repr__(self): + notpresent = object() + # Handle IID created without '__init__' (like ctypes-ptr deref) + if getattr(self, "strid", notpresent) is notpresent: + self.strid = self.to_string() + if self.strid is None: + return super(_GUID, self).__repr__() + + if getattr(self, "name", notpresent) is notpresent: + self.name = None + if self.name is None: + return '<GUID "{0}">'.format(self.strid.upper()) + return '<GUID "{0}({1})">'.format(self.strid.upper(), self.name) + + __sprint__ = __repr__ + + + def to_string(self): + data4_format = "{0:02X}{1:02X}-" + "".join("{{{i}:02X}}".format(i=i + 2) for i in range(6)) + data4_str = data4_format.format(*self.Data4) + return "{0:08X}-{1:04X}-{2:04X}-".format(self.Data1, self.Data2, self.Data3) + data4_str + + __str__ = to_string + + def update_strid(self): + new_strid = self.to_string() + self.strid = new_strid + + @classmethod + def from_string(cls, iid): + part_iid = iid.split("-") + datas = [int(x, 16) for x in part_iid[:3]] + datas.append(int(part_iid[3][:2], 16)) + datas.append(int(part_iid[3][2:], 16)) + for i in range(6): + datas.append(int(part_iid[4][i * 2:(i + 1) * 2], 16)) + return cls.from_raw(*datas, strid=iid) + + + @classmethod + def from_raw(cls, Data1, Data2, Data3, Data41, Data42, Data43, Data44, Data45, Data46, Data47, Data48, **kwargs): + return cls(Data1, Data2, Data3, (BYTE*8)(Data41, Data42, Data43, Data44, Data45, Data46, Data47, Data48), **kwargs) + + def __eq__(self, other): + if not isinstance(other, (_GUID, INITIAL_GUID)): + return NotImplemented + return (self.Data1, self.Data2, self.Data3, self.Data4[:]) == (other.Data1, other.Data2, other.Data3, other.Data4[:])
    + +REFCLSID = POINTER(_GUID) +LPCGUID = POINTER(_GUID) +REFGUID = POINTER(_GUID) +LPGUID = POINTER(_GUID) +IID = _GUID +CLSID = _GUID +LPCLSID = POINTER(_GUID) +GUID = _GUID +REFIID = POINTER(_GUID) +
    [docs]class _TRACE_PROVIDER_INFO(Structure): + _fields_ = [ + ("ProviderGuid", GUID), + ("SchemaSource", ULONG), + ("ProviderNameOffset", ULONG), + ]
    +TRACE_PROVIDER_INFO = _TRACE_PROVIDER_INFO + +
    [docs]class _PROVIDER_ENUMERATION_INFO(Structure): + _fields_ = [ + ("NumberOfProviders", ULONG), + ("Reserved", ULONG), + ("TraceProviderInfoArray", TRACE_PROVIDER_INFO * (ANYSIZE_ARRAY)), + ]
    +PPROVIDER_ENUMERATION_INFO = POINTER(_PROVIDER_ENUMERATION_INFO) +PROVIDER_ENUMERATION_INFO = _PROVIDER_ENUMERATION_INFO + +CALLFRAME_COPY_NESTED = EnumValue("_CALLFRAME_COPY", "CALLFRAME_COPY_NESTED", 0x1) +CALLFRAME_COPY_INDEPENDENT = EnumValue("_CALLFRAME_COPY", "CALLFRAME_COPY_INDEPENDENT", 0x2) +
    [docs]class _CALLFRAME_COPY(EnumType): + values = [CALLFRAME_COPY_NESTED, CALLFRAME_COPY_INDEPENDENT] mapper = FlagMapper(*values)
    -PROCESS_MITIGATION_POLICY = _PROCESS_MITIGATION_POLICY -PPROCESS_MITIGATION_POLICY = POINTER(_PROCESS_MITIGATION_POLICY) +CALLFRAME_COPY = _CALLFRAME_COPY -class _ANON__ANON__PROCESS_MITIGATION_DEP_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): +MSHLFLAGS_NORMAL = EnumValue("tagMSHLFLAGS", "MSHLFLAGS_NORMAL", 0x0) +MSHLFLAGS_TABLESTRONG = EnumValue("tagMSHLFLAGS", "MSHLFLAGS_TABLESTRONG", 0x1) +MSHLFLAGS_TABLEWEAK = EnumValue("tagMSHLFLAGS", "MSHLFLAGS_TABLEWEAK", 0x2) +MSHLFLAGS_NOPING = EnumValue("tagMSHLFLAGS", "MSHLFLAGS_NOPING", 0x4) +
    [docs]class tagMSHLFLAGS(EnumType): + values = [MSHLFLAGS_NORMAL, MSHLFLAGS_TABLESTRONG, MSHLFLAGS_TABLEWEAK, MSHLFLAGS_NOPING] + mapper = FlagMapper(*values)
    +MSHLFLAGS = tagMSHLFLAGS + + +CALLFRAME_WALK_IN = EnumValue("tagCALLFRAME_WALK", "CALLFRAME_WALK_IN", 0x1) +CALLFRAME_WALK_INOUT = EnumValue("tagCALLFRAME_WALK", "CALLFRAME_WALK_INOUT", 0x2) +CALLFRAME_WALK_OUT = EnumValue("tagCALLFRAME_WALK", "CALLFRAME_WALK_OUT", 0x4) +
    [docs]class tagCALLFRAME_WALK(EnumType): + values = [CALLFRAME_WALK_IN, CALLFRAME_WALK_INOUT, CALLFRAME_WALK_OUT] + mapper = FlagMapper(*values)
    +CALLFRAME_WALK = tagCALLFRAME_WALK + + +SD_LAUNCHPERMISSIONS = EnumValue("tagCOMSD", "SD_LAUNCHPERMISSIONS", 0x0) +SD_ACCESSPERMISSIONS = EnumValue("tagCOMSD", "SD_ACCESSPERMISSIONS", 0x1) +SD_LAUNCHRESTRICTIONS = EnumValue("tagCOMSD", "SD_LAUNCHRESTRICTIONS", 0x2) +SD_ACCESSRESTRICTIONS = EnumValue("tagCOMSD", "SD_ACCESSRESTRICTIONS", 0x3) +
    [docs]class tagCOMSD(EnumType): + values = [SD_LAUNCHPERMISSIONS, SD_ACCESSPERMISSIONS, SD_LAUNCHRESTRICTIONS, SD_ACCESSRESTRICTIONS] + mapper = FlagMapper(*values)
    +COMSD = tagCOMSD + + +
    [docs]class tagMULTI_QI(Structure): _fields_ = [ - ("Enable", DWORD, 1), - ("DisableAtlThunkEmulation", DWORD, 1), - ("ReservedFlags", DWORD, 30), - ] - -class _ANON__PROCESS_MITIGATION_DEP_POLICY_SUB_UNION_1(Union): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("Flags", DWORD), - ("anon_01", _ANON__ANON__PROCESS_MITIGATION_DEP_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), - ] - -
    [docs]class _PROCESS_MITIGATION_DEP_POLICY(Structure): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("anon_01", _ANON__PROCESS_MITIGATION_DEP_POLICY_SUB_UNION_1), - ("Permanent", BOOLEAN), + ("pIID", POINTER(IID)), + ("pItf", POINTER(PVOID)), + ("hr", HRESULT), ]
    -PPROCESS_MITIGATION_DEP_POLICY = POINTER(_PROCESS_MITIGATION_DEP_POLICY) -PROCESS_MITIGATION_DEP_POLICY = _PROCESS_MITIGATION_DEP_POLICY +MULTI_QI = tagMULTI_QI -class _ANON__ANON__PROCESS_MITIGATION_ASLR_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): +
    [docs]class _COAUTHIDENTITY(Structure): _fields_ = [ - ("EnableBottomUpRandomization", DWORD, 1), - ("EnableForceRelocateImages", DWORD, 1), - ("EnableHighEntropy", DWORD, 1), - ("DisallowStrippedImages", DWORD, 1), - ("ReservedFlags", DWORD, 28), - ] - -class _ANON__PROCESS_MITIGATION_ASLR_POLICY_SUB_UNION_1(Union): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("Flags", DWORD), - ("anon_01", _ANON__ANON__PROCESS_MITIGATION_ASLR_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), - ] - -
    [docs]class _PROCESS_MITIGATION_ASLR_POLICY(Structure): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("anon_01", _ANON__PROCESS_MITIGATION_ASLR_POLICY_SUB_UNION_1), + ("User", POINTER(USHORT)), + ("UserLength", ULONG), + ("Domain", POINTER(USHORT)), + ("DomainLength", ULONG), + ("Password", POINTER(USHORT)), + ("PasswordLength", ULONG), + ("Flags", ULONG), ]
    -PPROCESS_MITIGATION_ASLR_POLICY = POINTER(_PROCESS_MITIGATION_ASLR_POLICY) -PROCESS_MITIGATION_ASLR_POLICY = _PROCESS_MITIGATION_ASLR_POLICY +COAUTHIDENTITY = _COAUTHIDENTITY -class _ANON__ANON__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): +
    [docs]class _COAUTHINFO(Structure): _fields_ = [ - ("ProhibitDynamicCode", DWORD, 1), - ("AllowThreadOptOut", DWORD, 1), - ("AllowRemoteDowngrade", DWORD, 1), - ("AuditProhibitDynamicCode", DWORD, 1), - ("ReservedFlags", DWORD, 28), - ] - -class _ANON__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY_SUB_UNION_1(Union): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("Flags", DWORD), - ("anon_01", _ANON__ANON__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), - ] - -
    [docs]class _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY(Structure): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("anon_01", _ANON__PROCESS_MITIGATION_DYNAMIC_CODE_POLICY_SUB_UNION_1), + ("dwAuthnSvc", DWORD), + ("dwAuthzSvc", DWORD), + ("pwszServerPrincName", LPWSTR), + ("dwAuthnLevel", DWORD), + ("dwImpersonationLevel", DWORD), + ("pAuthIdentityData", POINTER(COAUTHIDENTITY)), + ("dwCapabilities", DWORD), ]
    -PROCESS_MITIGATION_DYNAMIC_CODE_POLICY = _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY -PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY = POINTER(_PROCESS_MITIGATION_DYNAMIC_CODE_POLICY) +COAUTHINFO = _COAUTHINFO -class _ANON__ANON__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): +
    [docs]class _COSERVERINFO(Structure): _fields_ = [ - ("RaiseExceptionOnInvalidHandleReference", DWORD, 1), - ("HandleExceptionsPermanentlyEnabled", DWORD, 1), - ("ReservedFlags", DWORD, 30), - ] - -class _ANON__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY_SUB_UNION_1(Union): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("Flags", DWORD), - ("anon_01", _ANON__ANON__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), - ] - -
    [docs]class _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY(Structure): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("anon_01", _ANON__PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY_SUB_UNION_1), + ("dwReserved1", DWORD), + ("pwszName", LPWSTR), + ("pAuthInfo", POINTER(COAUTHINFO)), + ("dwReserved2", DWORD), ]
    -PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY -PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY = POINTER(_PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY) +COSERVERINFO = _COSERVERINFO -class _ANON__ANON__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): +
    [docs]class _CALLFRAMEPARAMINFO(Structure): _fields_ = [ - ("DisallowWin32kSystemCalls", DWORD, 1), - ("AuditDisallowWin32kSystemCalls", DWORD, 1), - ("ReservedFlags", DWORD, 30), - ] - -class _ANON__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY_SUB_UNION_1(Union): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("Flags", DWORD), - ("anon_01", _ANON__ANON__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), - ] - -
    [docs]class _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY(Structure): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("anon_01", _ANON__PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY_SUB_UNION_1), + ("fIn", BOOLEAN), + ("fOut", BOOLEAN), + ("stackOffset", ULONG), + ("cbParam", ULONG), ]
    -PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = POINTER(_PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY) -PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY = _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY +CALLFRAMEPARAMINFO = _CALLFRAMEPARAMINFO -class _ANON__ANON__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): +
    [docs]class _CALLFRAMEINFO(Structure): _fields_ = [ - ("DisableExtensionPoints", DWORD, 1), - ("ReservedFlags", DWORD, 31), - ] - -class _ANON__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY_SUB_UNION_1(Union): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("Flags", DWORD), - ("anon_01", _ANON__ANON__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), - ] - -
    [docs]class _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY(Structure): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("anon_01", _ANON__PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY_SUB_UNION_1), + ("iMethod", ULONG), + ("fHasInValues", BOOL), + ("fHasInOutValues", BOOL), + ("fHasOutValues", BOOL), + ("fDerivesFromIDispatch", BOOL), + ("cInInterfacesMax", LONG), + ("cInOutInterfacesMax", LONG), + ("cOutInterfacesMax", LONG), + ("cTopLevelInInterfaces", LONG), + ("iid", IID), + ("cMethod", ULONG), + ("cParams", ULONG), ]
    -PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY -PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY = POINTER(_PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY) +CALLFRAMEINFO = _CALLFRAMEINFO -class _ANON__ANON__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): +
    [docs]class _CALLFRAME_MARSHALCONTEXT(Structure): _fields_ = [ - ("EnableControlFlowGuard", DWORD, 1), - ("EnableExportSuppression", DWORD, 1), - ("StrictMode", DWORD, 1), - ("ReservedFlags", DWORD, 29), - ] - -class _ANON__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY_SUB_UNION_1(Union): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("Flags", DWORD), - ("anon_01", _ANON__ANON__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), - ] - -
    [docs]class _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY(Structure): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("anon_01", _ANON__PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY_SUB_UNION_1), + ("fIn", BOOLEAN), + ("dwDestContext", DWORD), + ("pvDestContext", LPVOID), + ("mshlmgr", POINTER(PVOID)), + ("guidTransferSyntax", GUID), ]
    -PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = POINTER(_PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY) -PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY = _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY +CALLFRAME_MARSHALCONTEXT = _CALLFRAME_MARSHALCONTEXT -class _ANON__ANON__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): +
    [docs]class tagSAFEARRAYBOUND(Structure): _fields_ = [ - ("MicrosoftSignedOnly", DWORD, 1), - ("StoreSignedOnly", DWORD, 1), - ("MitigationOptIn", DWORD, 1), - ("AuditMicrosoftSignedOnly", DWORD, 1), - ("AuditStoreSignedOnly", DWORD, 1), - ("ReservedFlags", DWORD, 27), - ] - -class _ANON__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY_SUB_UNION_1(Union): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("Flags", DWORD), - ("anon_01", _ANON__ANON__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), - ] - -
    [docs]class _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY(Structure): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("anon_01", _ANON__PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY_SUB_UNION_1), + ("cElements", ULONG), + ("lLbound", LONG), ]
    -PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = POINTER(_PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY) -PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY = _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY +SAFEARRAYBOUND = tagSAFEARRAYBOUND +LPSAFEARRAYBOUND = POINTER(tagSAFEARRAYBOUND) -class _ANON__ANON__PROCESS_MITIGATION_IMAGE_LOAD_POLICY_SUB_UNION_1_SUB_STRUCTURE_1(Structure): +
    [docs]class tagSAFEARRAY(Structure): _fields_ = [ - ("NoRemoteImages", DWORD, 1), - ("NoLowMandatoryLabelImages", DWORD, 1), - ("PreferSystem32Images", DWORD, 1), - ("AuditNoRemoteImages", DWORD, 1), - ("AuditNoLowMandatoryLabelImages", DWORD, 1), - ("ReservedFlags", DWORD, 27), - ] - -class _ANON__PROCESS_MITIGATION_IMAGE_LOAD_POLICY_SUB_UNION_1(Union): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("Flags", DWORD), - ("anon_01", _ANON__ANON__PROCESS_MITIGATION_IMAGE_LOAD_POLICY_SUB_UNION_1_SUB_STRUCTURE_1), - ] - -
    [docs]class _PROCESS_MITIGATION_IMAGE_LOAD_POLICY(Structure): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("anon_01", _ANON__PROCESS_MITIGATION_IMAGE_LOAD_POLICY_SUB_UNION_1), + ("cDims", USHORT), + ("fFeatures", USHORT), + ("cbElements", ULONG), + ("cLocks", ULONG), + ("pvData", PVOID), + ("rgsabound", SAFEARRAYBOUND * (1)), ]
    -PPROCESS_MITIGATION_IMAGE_LOAD_POLICY = POINTER(_PROCESS_MITIGATION_IMAGE_LOAD_POLICY) -PROCESS_MITIGATION_IMAGE_LOAD_POLICY = _PROCESS_MITIGATION_IMAGE_LOAD_POLICY +SAFEARRAY = tagSAFEARRAY + +
    [docs]class __tagBRECORD(Structure): + _fields_ = [ + ("pvRecord", PVOID), + ("pRecInfo", PVOID), + ]
    +_tagBRECORD = __tagBRECORD + +
    [docs]class _ANON_TMP_variant_sub_union(Union): + _fields_ = [ + ("llVal", LONGLONG), + ("lVal", LONG), + ("bVal", BYTE), + ("iVal", SHORT), + ("fltVal", FLOAT), + ("dblVal", DOUBLE), + ("boolVal", VARIANT_BOOL), + ("scode", SCODE), + ("bstrVal", BSTR), + ("punkVal", PVOID), + ("pdispVal", PVOID), + ("parray", POINTER(SAFEARRAY)), + ("pbVal", POINTER(BYTE)), + ("piVal", POINTER(SHORT)), + ("plVal", POINTER(LONG)), + ("pllVal", POINTER(LONGLONG)), + ("pfltVal", POINTER(FLOAT)), + ("pdblVal", POINTER(DOUBLE)), + ("pboolVal", POINTER(VARIANT_BOOL)), + ("pscode", POINTER(SCODE)), + ("pbstrVal", POINTER(BSTR)), + ("byref", PVOID), + ("cVal", CHAR), + ("uiVal", USHORT), + ("ulVal", ULONG), + ("ullVal", ULONGLONG), + ("intVal", INT), + ("uintVal", UINT), + ("pcVal", POINTER(CHAR)), + ("puiVal", POINTER(USHORT)), + ("pulVal", POINTER(ULONG)), + ("pullVal", POINTER(ULONGLONG)), + ("pintVal", POINTER(INT)), + ("puintVal", POINTER(UINT)), + ("_VARIANT_NAME_4", _tagBRECORD), + ]
    + + +
    [docs]class __tagVARIANT(Structure): + _anonymous_ = ("_VARIANT_NAME_3",) + _fields_ = [ + ("vt", VARTYPE), + ("wReserved1", WORD), + ("wReserved2", WORD), + ("wReserved3", WORD), + ("_VARIANT_NAME_3", _ANON_TMP_variant_sub_union), + ]
    +LPVARIANTARG = POINTER(__tagVARIANT) +VARIANTARG = __tagVARIANT +VARIANT = __tagVARIANT +LPVARIANT = POINTER(__tagVARIANT) +_tagVARIANT = __tagVARIANT + +VIRTUAL_DISK_ACCESS_NONE = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_NONE", 0x0) +VIRTUAL_DISK_ACCESS_ATTACH_RO = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_ATTACH_RO", 0x1) +VIRTUAL_DISK_ACCESS_ATTACH_RW = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_ATTACH_RW", 0x2) +VIRTUAL_DISK_ACCESS_DETACH = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_DETACH", 0x3) +VIRTUAL_DISK_ACCESS_GET_INFO = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_GET_INFO", 0x4) +VIRTUAL_DISK_ACCESS_CREATE = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_CREATE", 0x5) +VIRTUAL_DISK_ACCESS_METAOPS = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_METAOPS", 0x6) +VIRTUAL_DISK_ACCESS_READ = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_READ", 0x7) +VIRTUAL_DISK_ACCESS_ALL = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_ALL", 0x8) +VIRTUAL_DISK_ACCESS_WRITABLE = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_WRITABLE", 0x9) +
    [docs]class _VIRTUAL_DISK_ACCESS_MASK(EnumType): + values = [VIRTUAL_DISK_ACCESS_NONE, VIRTUAL_DISK_ACCESS_ATTACH_RO, VIRTUAL_DISK_ACCESS_ATTACH_RW, VIRTUAL_DISK_ACCESS_DETACH, VIRTUAL_DISK_ACCESS_GET_INFO, VIRTUAL_DISK_ACCESS_CREATE, VIRTUAL_DISK_ACCESS_METAOPS, VIRTUAL_DISK_ACCESS_READ, VIRTUAL_DISK_ACCESS_ALL, VIRTUAL_DISK_ACCESS_WRITABLE] + mapper = FlagMapper(*values)
    +VIRTUAL_DISK_ACCESS_MASK = _VIRTUAL_DISK_ACCESS_MASK + + +OPEN_VIRTUAL_DISK_FLAG_NONE = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_NONE", 0x0) +OPEN_VIRTUAL_DISK_FLAG_NO_PARENTS = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_NO_PARENTS", 0x1) +OPEN_VIRTUAL_DISK_FLAG_BLANK_FILE = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_BLANK_FILE", 0x2) +OPEN_VIRTUAL_DISK_FLAG_BOOT_DRIVE = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_BOOT_DRIVE", 0x3) +OPEN_VIRTUAL_DISK_FLAG_CACHED_IO = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_CACHED_IO", 0x4) +OPEN_VIRTUAL_DISK_FLAG_CUSTOM_DIFF_CHAIN = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_CUSTOM_DIFF_CHAIN", 0x5) +OPEN_VIRTUAL_DISK_FLAG_PARENT_CACHED_IO = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_PARENT_CACHED_IO", 0x6) +OPEN_VIRTUAL_DISK_FLAG_VHDSET_FILE_ONLY = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_VHDSET_FILE_ONLY", 0x7) +OPEN_VIRTUAL_DISK_FLAG_IGNORE_RELATIVE_PARENT_LOCATOR = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_IGNORE_RELATIVE_PARENT_LOCATOR", 0x8) +OPEN_VIRTUAL_DISK_FLAG_NO_WRITE_HARDENING = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_NO_WRITE_HARDENING", 0x9) +
    [docs]class _OPEN_VIRTUAL_DISK_FLAG(EnumType): + values = [OPEN_VIRTUAL_DISK_FLAG_NONE, OPEN_VIRTUAL_DISK_FLAG_NO_PARENTS, OPEN_VIRTUAL_DISK_FLAG_BLANK_FILE, OPEN_VIRTUAL_DISK_FLAG_BOOT_DRIVE, OPEN_VIRTUAL_DISK_FLAG_CACHED_IO, OPEN_VIRTUAL_DISK_FLAG_CUSTOM_DIFF_CHAIN, OPEN_VIRTUAL_DISK_FLAG_PARENT_CACHED_IO, OPEN_VIRTUAL_DISK_FLAG_VHDSET_FILE_ONLY, OPEN_VIRTUAL_DISK_FLAG_IGNORE_RELATIVE_PARENT_LOCATOR, OPEN_VIRTUAL_DISK_FLAG_NO_WRITE_HARDENING] + mapper = FlagMapper(*values)
    +OPEN_VIRTUAL_DISK_FLAG = _OPEN_VIRTUAL_DISK_FLAG + + +ATTACH_VIRTUAL_DISK_FLAG_NONE = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_NONE", 0x0) +ATTACH_VIRTUAL_DISK_FLAG_READ_ONLY = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_READ_ONLY", 0x1) +ATTACH_VIRTUAL_DISK_FLAG_NO_DRIVE_LETTER = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_NO_DRIVE_LETTER", 0x2) +ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME", 0x3) +ATTACH_VIRTUAL_DISK_FLAG_NO_LOCAL_HOST = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_NO_LOCAL_HOST", 0x4) +ATTACH_VIRTUAL_DISK_FLAG_NO_SECURITY_DESCRIPTOR = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_NO_SECURITY_DESCRIPTOR", 0x5) +ATTACH_VIRTUAL_DISK_FLAG_BYPASS_DEFAULT_ENCRYPTION_POLICY = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_BYPASS_DEFAULT_ENCRYPTION_POLICY", 0x6) +ATTACH_VIRTUAL_DISK_FLAG_NON_PNP = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_NON_PNP", 0x7) +ATTACH_VIRTUAL_DISK_FLAG_RESTRICTED_RANGE = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_RESTRICTED_RANGE", 0x8) +ATTACH_VIRTUAL_DISK_FLAG_SINGLE_PARTITION = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_SINGLE_PARTITION", 0x9) +ATTACH_VIRTUAL_DISK_FLAG_REGISTER_VOLUME = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_REGISTER_VOLUME", 0xa) +
    [docs]class _ATTACH_VIRTUAL_DISK_FLAG(EnumType): + values = [ATTACH_VIRTUAL_DISK_FLAG_NONE, ATTACH_VIRTUAL_DISK_FLAG_READ_ONLY, ATTACH_VIRTUAL_DISK_FLAG_NO_DRIVE_LETTER, ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME, ATTACH_VIRTUAL_DISK_FLAG_NO_LOCAL_HOST, ATTACH_VIRTUAL_DISK_FLAG_NO_SECURITY_DESCRIPTOR, ATTACH_VIRTUAL_DISK_FLAG_BYPASS_DEFAULT_ENCRYPTION_POLICY, ATTACH_VIRTUAL_DISK_FLAG_NON_PNP, ATTACH_VIRTUAL_DISK_FLAG_RESTRICTED_RANGE, ATTACH_VIRTUAL_DISK_FLAG_SINGLE_PARTITION, ATTACH_VIRTUAL_DISK_FLAG_REGISTER_VOLUME] + mapper = FlagMapper(*values)
    +ATTACH_VIRTUAL_DISK_FLAG = _ATTACH_VIRTUAL_DISK_FLAG + + +OPEN_VIRTUAL_DISK_VERSION_UNSPECIFIED = EnumValue("_OPEN_VIRTUAL_DISK_VERSION", "OPEN_VIRTUAL_DISK_VERSION_UNSPECIFIED", 0x0) +OPEN_VIRTUAL_DISK_VERSION_1 = EnumValue("_OPEN_VIRTUAL_DISK_VERSION", "OPEN_VIRTUAL_DISK_VERSION_1", 0x1) +OPEN_VIRTUAL_DISK_VERSION_2 = EnumValue("_OPEN_VIRTUAL_DISK_VERSION", "OPEN_VIRTUAL_DISK_VERSION_2", 0x2) +OPEN_VIRTUAL_DISK_VERSION_3 = EnumValue("_OPEN_VIRTUAL_DISK_VERSION", "OPEN_VIRTUAL_DISK_VERSION_3", 0x3) +
    [docs]class _OPEN_VIRTUAL_DISK_VERSION(EnumType): + values = [OPEN_VIRTUAL_DISK_VERSION_UNSPECIFIED, OPEN_VIRTUAL_DISK_VERSION_1, OPEN_VIRTUAL_DISK_VERSION_2, OPEN_VIRTUAL_DISK_VERSION_3] + mapper = FlagMapper(*values)
    +OPEN_VIRTUAL_DISK_VERSION = _OPEN_VIRTUAL_DISK_VERSION + + +ATTACH_VIRTUAL_DISK_VERSION_UNSPECIFIED = EnumValue("_ATTACH_VIRTUAL_DISK_VERSION", "ATTACH_VIRTUAL_DISK_VERSION_UNSPECIFIED", 0x0) +ATTACH_VIRTUAL_DISK_VERSION_1 = EnumValue("_ATTACH_VIRTUAL_DISK_VERSION", "ATTACH_VIRTUAL_DISK_VERSION_1", 0x1) +ATTACH_VIRTUAL_DISK_VERSION_2 = EnumValue("_ATTACH_VIRTUAL_DISK_VERSION", "ATTACH_VIRTUAL_DISK_VERSION_2", 0x2) +
    [docs]class _ATTACH_VIRTUAL_DISK_VERSION(EnumType): + values = [ATTACH_VIRTUAL_DISK_VERSION_UNSPECIFIED, ATTACH_VIRTUAL_DISK_VERSION_1, ATTACH_VIRTUAL_DISK_VERSION_2] + mapper = FlagMapper(*values)
    +ATTACH_VIRTUAL_DISK_VERSION = _ATTACH_VIRTUAL_DISK_VERSION + + +
    [docs]class _VIRTUAL_STORAGE_TYPE(Structure): + _fields_ = [ + ("DeviceId", ULONG), + ("VendorId", GUID), + ]
    +VIRTUAL_STORAGE_TYPE = _VIRTUAL_STORAGE_TYPE +PVIRTUAL_STORAGE_TYPE = POINTER(_VIRTUAL_STORAGE_TYPE) + +class _ANON__ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_1(Structure): + _fields_ = [ + ("RWDepth", ULONG), + ] + + +class _ANON__ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_2(Structure): + _fields_ = [ + ("GetInfoOnly", BOOL), + ("ReadOnly", BOOL), + ("ResiliencyGuid", GUID), + ] + + +class _ANON__ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_3(Structure): + _fields_ = [ + ("GetInfoOnly", BOOL), + ("ReadOnly", BOOL), + ("ResiliencyGuid", GUID), + ("SnapshotId", GUID), + ] + +class _ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1(Union): + _anonymous_ = ("Version1","Version2","Version3") + _fields_ = [ + ("Version1", _ANON__ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_1), + ("Version2", _ANON__ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_2), + ("Version3", _ANON__ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_3), + ] + +
    [docs]class _OPEN_VIRTUAL_DISK_PARAMETERS(Structure): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("Version", OPEN_VIRTUAL_DISK_VERSION), + ("anon_01", _ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1), + ]
    +POPEN_VIRTUAL_DISK_PARAMETERS = POINTER(_OPEN_VIRTUAL_DISK_PARAMETERS) +OPEN_VIRTUAL_DISK_PARAMETERS = _OPEN_VIRTUAL_DISK_PARAMETERS + +class _ANON__ANON__ATTACH_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_1(Structure): + _fields_ = [ + ("Reserved", ULONG), + ] + + +class _ANON__ANON__ATTACH_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_2(Structure): + _fields_ = [ + ("RestrictedOffset", ULONGLONG), + ("RestrictedLength", ULONGLONG), + ] + +class _ANON__ATTACH_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1(Union): + _anonymous_ = ("Version1","Version2") + _fields_ = [ + ("Version1", _ANON__ANON__ATTACH_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_1), + ("Version2", _ANON__ANON__ATTACH_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_2), + ] + +
    [docs]class _ATTACH_VIRTUAL_DISK_PARAMETERS(Structure): + _anonymous_ = ("anon_01",) + _fields_ = [ + ("Version", ATTACH_VIRTUAL_DISK_VERSION), + ("anon_01", _ANON__ATTACH_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1), + ]
    +ATTACH_VIRTUAL_DISK_PARAMETERS = _ATTACH_VIRTUAL_DISK_PARAMETERS +PATTACH_VIRTUAL_DISK_PARAMETERS = POINTER(_ATTACH_VIRTUAL_DISK_PARAMETERS) + +class IO_Des_s(Structure): + _fields_ = [ + ("IOD_Count", DWORD), + ("IOD_Type", DWORD), + ("IOD_Alloc_Base", DWORDLONG), + ("IOD_Alloc_End", DWORDLONG), + ("IOD_DesFlags", DWORD), + ] +PIO_DES = POINTER(IO_Des_s) +IO_DES = IO_Des_s + +
    [docs]class IO_Range_s(Structure): + _fields_ = [ + ("IOR_Align", DWORDLONG), + ("IOR_nPorts", DWORD), + ("IOR_Min", DWORDLONG), + ("IOR_Max", DWORDLONG), + ("IOR_RangeFlags", DWORD), + ("IOR_Alias", DWORDLONG), + ]
    +IO_RANGE = IO_Range_s +PIO_RANGE = POINTER(IO_Range_s) + +
    [docs]class Mem_Des_s(Structure): + _fields_ = [ + ("MD_Count", DWORD), + ("MD_Type", DWORD), + ("MD_Alloc_Base", DWORDLONG), + ("MD_Alloc_End", DWORDLONG), + ("MD_Flags", DWORD), + ("MD_Reserved", DWORD), + ]
    +MEM_DES = Mem_Des_s +PMEM_DES = POINTER(Mem_Des_s) + +
    [docs]class Mem_Range_s(Structure): + _fields_ = [ + ("MR_Align", DWORDLONG), + ("MR_nBytes", ULONG), + ("MR_Min", DWORDLONG), + ("MR_Max", DWORDLONG), + ("MR_Flags", DWORD), + ("MR_Reserved", DWORD), + ]
    +MEM_RANGE = Mem_Range_s +PMEM_RANGE = POINTER(Mem_Range_s) + +class DMA_Des_s(Structure): + _fields_ = [ + ("DD_Count", DWORD), + ("DD_Type", DWORD), + ("DD_Flags", DWORD), + ("DD_Alloc_Chan", ULONG), + ] +PDMA_DES = POINTER(DMA_Des_s) +DMA_DES = DMA_Des_s + +
    [docs]class DMA_Range_s(Structure): + _fields_ = [ + ("DR_Min", ULONG), + ("DR_Max", ULONG), + ("DR_Flags", ULONG), + ]
    +DMA_RANGE = DMA_Range_s +PDMA_RANGE = POINTER(DMA_Range_s) + +
    [docs]class IRQ_Des_64_s(Structure): + _fields_ = [ + ("IRQD_Count", DWORD), + ("IRQD_Type", DWORD), + ("IRQD_Flags", DWORD), + ("IRQD_Alloc_Num", ULONG), + ("IRQD_Affinity", ULONG64), + ]
    +IRQ_DES_64 = IRQ_Des_64_s +PIRQ_DES_64 = POINTER(IRQ_Des_64_s) + +
    [docs]class IRQ_Des_32_s(Structure): + _fields_ = [ + ("IRQD_Count", DWORD), + ("IRQD_Type", DWORD), + ("IRQD_Flags", DWORD), + ("IRQD_Alloc_Num", ULONG), + ("IRQD_Affinity", ULONG32), + ]
    +PIRQ_DES_32 = POINTER(IRQ_Des_32_s) +IRQ_DES_32 = IRQ_Des_32_s + +
    [docs]class IRQ_Range_s(Structure): + _fields_ = [ + ("IRQR_Min", ULONG), + ("IRQR_Max", ULONG), + ("IRQR_Flags", ULONG), + ]
    +IRQ_RANGE = IRQ_Range_s +PIRQ_RANGE = POINTER(IRQ_Range_s) + +
    [docs]class BusNumber_Des_s(Structure): + _fields_ = [ + ("BUSD_Count", DWORD), + ("BUSD_Type", DWORD), + ("BUSD_Flags", DWORD), + ("BUSD_Alloc_Base", ULONG), + ("BUSD_Alloc_End", ULONG), + ]
    +BUSNUMBER_DES = BusNumber_Des_s +PBUSNUMBER_DES = POINTER(BusNumber_Des_s) + +
    [docs]class BusNumber_Range_s(Structure): + _fields_ = [ + ("BUSR_Min", ULONG), + ("BUSR_Max", ULONG), + ("BUSR_nBusNumbers", ULONG), + ("BUSR_Flags", ULONG), + ]
    +PBUSNUMBER_RANGE = POINTER(BusNumber_Range_s) +BUSNUMBER_RANGE = BusNumber_Range_s + +
    [docs]class BusNumber_Resource_s(Structure): + _fields_ = [ + ("BusNumber_Header", BUSNUMBER_DES), + ("BusNumber_Data", BUSNUMBER_RANGE * (ANYSIZE_ARRAY)), + ]
    +BUSNUMBER_RESOURCE = BusNumber_Resource_s +PBUSNUMBER_RESOURCE = POINTER(BusNumber_Resource_s) + +
    [docs]class CS_Des_s(Structure): + _fields_ = [ + ("CSD_SignatureLength", DWORD), + ("CSD_LegacyDataOffset", DWORD), + ("CSD_LegacyDataSize", DWORD), + ("CSD_Flags", DWORD), + ("CSD_ClassGuid", GUID), + ("CSD_Signature", BYTE * (ANYSIZE_ARRAY)), + ]
    +PCS_DES = POINTER(CS_Des_s) +CS_DES = CS_Des_s + +
    [docs]class CS_Resource_s(Structure): + _fields_ = [ + ("CS_Header", CS_DES), + ]
    +PCS_RESOURCE = POINTER(CS_Resource_s) +CS_RESOURCE = CS_Resource_s + +
    [docs]class DMA_Des_s(Structure): + _fields_ = [ + ("DD_Count", DWORD), + ("DD_Type", DWORD), + ("DD_Flags", DWORD), + ("DD_Alloc_Chan", ULONG), + ]
    +PDMA_DES = POINTER(DMA_Des_s) +DMA_DES = DMA_Des_s + +
    [docs]class DMA_Resource_s(Structure): + _fields_ = [ + ("DMA_Header", DMA_DES), + ("DMA_Data", DMA_RANGE * (ANYSIZE_ARRAY)), + ]
    +PDMA_RESOURCE = POINTER(DMA_Resource_s) +DMA_RESOURCE = DMA_Resource_s + +
    [docs]class IO_Des_s(Structure): + _fields_ = [ + ("IOD_Count", DWORD), + ("IOD_Type", DWORD), + ("IOD_Alloc_Base", DWORDLONG), + ("IOD_Alloc_End", DWORDLONG), + ("IOD_DesFlags", DWORD), + ]
    +PIO_DES = POINTER(IO_Des_s) +IO_DES = IO_Des_s + +
    [docs]class IO_Resource_s(Structure): + _fields_ = [ + ("IO_Header", IO_DES), + ("IO_Data", IO_RANGE * (ANYSIZE_ARRAY)), + ]
    +IO_RESOURCE = IO_Resource_s +PIO_RESOURCE = POINTER(IO_Resource_s) + +
    [docs]class IRQ_Resource_32_s(Structure): + _fields_ = [ + ("IRQ_Header", IRQ_DES_32), + ("IRQ_Data", IRQ_RANGE * (ANYSIZE_ARRAY)), + ]
    +PIRQ_RESOURCE_32 = POINTER(IRQ_Resource_32_s) +IRQ_RESOURCE_32 = IRQ_Resource_32_s + +
    [docs]class IRQ_Resource_64_s(Structure): + _fields_ = [ + ("IRQ_Header", IRQ_DES_64), + ("IRQ_Data", IRQ_RANGE * (ANYSIZE_ARRAY)), + ]
    +IRQ_RESOURCE_64 = IRQ_Resource_64_s +PIRQ_RESOURCE_64 = POINTER(IRQ_Resource_64_s) + +
    [docs]class Mem_Resource_s(Structure): + _fields_ = [ + ("MEM_Header", MEM_DES), + ("MEM_Data", MEM_RANGE * (ANYSIZE_ARRAY)), + ]
    +MEM_RESOURCE = Mem_Resource_s +PMEM_RESOURCE = POINTER(Mem_Resource_s) + +
    [docs]class MfCard_Des_s(Structure): + _fields_ = [ + ("PMF_Count", DWORD), + ("PMF_Type", DWORD), + ("PMF_Flags", DWORD), + ("PMF_ConfigOptions", BYTE), + ("PMF_IoResourceIndex", BYTE), + ("PMF_Reserved", BYTE * (2)), + ("PMF_ConfigRegisterBase", DWORD), + ]
    +MFCARD_DES = MfCard_Des_s +PMFCARD_DES = POINTER(MfCard_Des_s) + +
    [docs]class MfCard_Resource_s(Structure): + _fields_ = [ + ("MfCard_Header", MFCARD_DES), + ]
    +PMFCARD_RESOURCE = POINTER(MfCard_Resource_s) +MFCARD_RESOURCE = MfCard_Resource_s + +
    [docs]class PcCard_Des_s(Structure): + _fields_ = [ + ("PCD_Count", DWORD), + ("PCD_Type", DWORD), + ("PCD_Flags", DWORD), + ("PCD_ConfigIndex", BYTE), + ("PCD_Reserved", BYTE * (3)), + ("PCD_MemoryCardBase1", DWORD), + ("PCD_MemoryCardBase2", DWORD), + ("PCD_MemoryCardBase", DWORD * (PCD_MAX_MEMORY)), + ("PCD_MemoryFlags", WORD * (PCD_MAX_MEMORY)), + ("PCD_IoFlags", BYTE * (PCD_MAX_IO)), + ]
    +PCCARD_DES = PcCard_Des_s +PPCCARD_DES = POINTER(PcCard_Des_s) + +
    [docs]class PcCard_Resource_s(Structure): + _fields_ = [ + ("PcCard_Header", PCCARD_DES), + ]
    +PPCCARD_RESOURCE = POINTER(PcCard_Resource_s) +PCCARD_RESOURCE = PcCard_Resource_s + +
    [docs]class Mem_Large_Range_s(Structure): + _fields_ = [ + ("MLR_Align", DWORDLONG), + ("MLR_nBytes", ULONGLONG), + ("MLR_Min", DWORDLONG), + ("MLR_Max", DWORDLONG), + ("MLR_Flags", DWORD), + ("MLR_Reserved", DWORD), + ]
    +PMEM_LARGE_RANGE = POINTER(Mem_Large_Range_s) +MEM_LARGE_RANGE = Mem_Large_Range_s + +
    [docs]class Mem_Large_Des_s(Structure): + _fields_ = [ + ("MLD_Count", DWORD), + ("MLD_Type", DWORD), + ("MLD_Alloc_Base", DWORDLONG), + ("MLD_Alloc_End", DWORDLONG), + ("MLD_Flags", DWORD), + ("MLD_Reserved", DWORD), + ]
    +PMEM_LARGE_DES = POINTER(Mem_Large_Des_s) +MEM_LARGE_DES = Mem_Large_Des_s + +
    [docs]class Mem_Large_Resource_s(Structure): + _fields_ = [ + ("MEM_LARGE_Header", MEM_LARGE_DES), + ("MEM_LARGE_Data", MEM_LARGE_RANGE * (ANYSIZE_ARRAY)), + ]
    +MEM_LARGE_RESOURCE = Mem_Large_Resource_s +PMEM_LARGE_RESOURCE = POINTER(Mem_Large_Resource_s) + +
    [docs]class _SP_DEVICE_INTERFACE_DATA(Structure): + _fields_ = [ + ("cbSize", DWORD), + ("InterfaceClassGuid", GUID), + ("Flags", DWORD), + ("Reserved", ULONG_PTR), + ]
    +PSP_DEVICE_INTERFACE_DATA = POINTER(_SP_DEVICE_INTERFACE_DATA) +SP_DEVICE_INTERFACE_DATA = _SP_DEVICE_INTERFACE_DATA + +
    [docs]class _SP_DEVINFO_DATA(Structure): + _fields_ = [ + ("cbSize", DWORD), + ("ClassGuid", GUID), + ("DevInst", DWORD), + ("Reserved", ULONG_PTR), + ]
    +PSP_DEVINFO_DATA = POINTER(_SP_DEVINFO_DATA) +SP_DEVINFO_DATA = _SP_DEVINFO_DATA WBEM_GENUS_CLASS = EnumValue("tag_WBEM_GENUS_TYPE", "WBEM_GENUS_CLASS", 0x1) WBEM_GENUS_INSTANCE = EnumValue("tag_WBEM_GENUS_TYPE", "WBEM_GENUS_INSTANCE", 0x2) -
    [docs]class tag_WBEM_GENUS_TYPE(EnumType): +
    [docs]class tag_WBEM_GENUS_TYPE(EnumType): values = [WBEM_GENUS_CLASS, WBEM_GENUS_INSTANCE] mapper = FlagMapper(*values)
    WBEM_GENUS_TYPE = tag_WBEM_GENUS_TYPE @@ -2195,7 +1945,7 @@ WBEM_FLAG_UPDATE_FORCE_MODE = EnumValue("tag_WBEM_CHANGE_FLAG_TYPE", "WBEM_FLAG_UPDATE_FORCE_MODE", 0x40) WBEM_MASK_UPDATE_MODE = EnumValue("tag_WBEM_CHANGE_FLAG_TYPE", "WBEM_MASK_UPDATE_MODE", 0x60) WBEM_FLAG_ADVISORY = EnumValue("tag_WBEM_CHANGE_FLAG_TYPE", "WBEM_FLAG_ADVISORY", 0x10000) -
    [docs]class tag_WBEM_CHANGE_FLAG_TYPE(EnumType): +
    [docs]class tag_WBEM_CHANGE_FLAG_TYPE(EnumType): values = [WBEM_FLAG_CREATE_OR_UPDATE, WBEM_FLAG_UPDATE_ONLY, WBEM_FLAG_CREATE_ONLY, WBEM_FLAG_UPDATE_COMPATIBLE, WBEM_FLAG_UPDATE_SAFE_MODE, WBEM_FLAG_UPDATE_FORCE_MODE, WBEM_MASK_UPDATE_MODE, WBEM_FLAG_ADVISORY] mapper = FlagMapper(*values)
    WBEM_CHANGE_FLAG_TYPE = tag_WBEM_CHANGE_FLAG_TYPE @@ -2394,7 +2144,7 @@ WBEMMOF_E_ERROR_CREATING_TEMP_FILE = EnumValue("tag_WBEMSTATUS", "WBEMMOF_E_ERROR_CREATING_TEMP_FILE", 0x8004402f) WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE = EnumValue("tag_WBEMSTATUS", "WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE", 0x80044030) WBEMMOF_E_INVALID_DELETECLASS_SYNTAX = EnumValue("tag_WBEMSTATUS", "WBEMMOF_E_INVALID_DELETECLASS_SYNTAX", 0x80044031) -
    [docs]class tag_WBEMSTATUS(EnumType): +
    [docs]class tag_WBEMSTATUS(EnumType): values = [WBEM_NO_ERROR, WBEM_S_NO_ERROR, WBEM_S_SAME, WBEM_S_FALSE, WBEM_S_ALREADY_EXISTS, WBEM_S_RESET_TO_DEFAULT, WBEM_S_DIFFERENT, WBEM_S_TIMEDOUT, WBEM_S_NO_MORE_DATA, WBEM_S_OPERATION_CANCELLED, WBEM_S_PENDING, WBEM_S_DUPLICATE_OBJECTS, WBEM_S_ACCESS_DENIED, WBEM_S_PARTIAL_RESULTS, WBEM_S_SOURCE_NOT_AVAILABLE, WBEM_E_FAILED, WBEM_E_NOT_FOUND, WBEM_E_ACCESS_DENIED, WBEM_E_PROVIDER_FAILURE, WBEM_E_TYPE_MISMATCH, WBEM_E_OUT_OF_MEMORY, WBEM_E_INVALID_CONTEXT, WBEM_E_INVALID_PARAMETER, WBEM_E_NOT_AVAILABLE, WBEM_E_CRITICAL_ERROR, WBEM_E_INVALID_STREAM, WBEM_E_NOT_SUPPORTED, WBEM_E_INVALID_SUPERCLASS, WBEM_E_INVALID_NAMESPACE, WBEM_E_INVALID_OBJECT, WBEM_E_INVALID_CLASS, WBEM_E_PROVIDER_NOT_FOUND, WBEM_E_INVALID_PROVIDER_REGISTRATION, WBEM_E_PROVIDER_LOAD_FAILURE, WBEM_E_INITIALIZATION_FAILURE, WBEM_E_TRANSPORT_FAILURE, WBEM_E_INVALID_OPERATION, WBEM_E_INVALID_QUERY, WBEM_E_INVALID_QUERY_TYPE, WBEM_E_ALREADY_EXISTS, WBEM_E_OVERRIDE_NOT_ALLOWED, WBEM_E_PROPAGATED_QUALIFIER, WBEM_E_PROPAGATED_PROPERTY, WBEM_E_UNEXPECTED, WBEM_E_ILLEGAL_OPERATION, WBEM_E_CANNOT_BE_KEY, WBEM_E_INCOMPLETE_CLASS, WBEM_E_INVALID_SYNTAX, WBEM_E_NONDECORATED_OBJECT, WBEM_E_READ_ONLY, WBEM_E_PROVIDER_NOT_CAPABLE, WBEM_E_CLASS_HAS_CHILDREN, WBEM_E_CLASS_HAS_INSTANCES, WBEM_E_QUERY_NOT_IMPLEMENTED, WBEM_E_ILLEGAL_NULL, WBEM_E_INVALID_QUALIFIER_TYPE, WBEM_E_INVALID_PROPERTY_TYPE, WBEM_E_VALUE_OUT_OF_RANGE, WBEM_E_CANNOT_BE_SINGLETON, WBEM_E_INVALID_CIM_TYPE, WBEM_E_INVALID_METHOD, WBEM_E_INVALID_METHOD_PARAMETERS, WBEM_E_SYSTEM_PROPERTY, WBEM_E_INVALID_PROPERTY, WBEM_E_CALL_CANCELLED, WBEM_E_SHUTTING_DOWN, WBEM_E_PROPAGATED_METHOD, WBEM_E_UNSUPPORTED_PARAMETER, WBEM_E_MISSING_PARAMETER_ID, WBEM_E_INVALID_PARAMETER_ID, WBEM_E_NONCONSECUTIVE_PARAMETER_IDS, WBEM_E_PARAMETER_ID_ON_RETVAL, WBEM_E_INVALID_OBJECT_PATH, WBEM_E_OUT_OF_DISK_SPACE, WBEM_E_BUFFER_TOO_SMALL, WBEM_E_UNSUPPORTED_PUT_EXTENSION, WBEM_E_UNKNOWN_OBJECT_TYPE, WBEM_E_UNKNOWN_PACKET_TYPE, WBEM_E_MARSHAL_VERSION_MISMATCH, WBEM_E_MARSHAL_INVALID_SIGNATURE, WBEM_E_INVALID_QUALIFIER, WBEM_E_INVALID_DUPLICATE_PARAMETER, WBEM_E_TOO_MUCH_DATA, WBEM_E_SERVER_TOO_BUSY, WBEM_E_INVALID_FLAVOR, WBEM_E_CIRCULAR_REFERENCE, WBEM_E_UNSUPPORTED_CLASS_UPDATE, WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE, WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE, WBEM_E_TOO_MANY_PROPERTIES, WBEM_E_UPDATE_TYPE_MISMATCH, WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED, WBEM_E_UPDATE_PROPAGATED_METHOD, WBEM_E_METHOD_NOT_IMPLEMENTED, WBEM_E_METHOD_DISABLED, WBEM_E_REFRESHER_BUSY, WBEM_E_UNPARSABLE_QUERY, WBEM_E_NOT_EVENT_CLASS, WBEM_E_MISSING_GROUP_WITHIN, WBEM_E_MISSING_AGGREGATION_LIST, WBEM_E_PROPERTY_NOT_AN_OBJECT, WBEM_E_AGGREGATING_BY_OBJECT, WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY, WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING, WBEM_E_QUEUE_OVERFLOW, WBEM_E_PRIVILEGE_NOT_HELD, WBEM_E_INVALID_OPERATOR, WBEM_E_LOCAL_CREDENTIALS, WBEM_E_CANNOT_BE_ABSTRACT, WBEM_E_AMENDED_OBJECT, WBEM_E_CLIENT_TOO_SLOW, WBEM_E_NULL_SECURITY_DESCRIPTOR, WBEM_E_TIMED_OUT, WBEM_E_INVALID_ASSOCIATION, WBEM_E_AMBIGUOUS_OPERATION, WBEM_E_QUOTA_VIOLATION, WBEM_E_RESERVED_001, WBEM_E_RESERVED_002, WBEM_E_UNSUPPORTED_LOCALE, WBEM_E_HANDLE_OUT_OF_DATE, WBEM_E_CONNECTION_FAILED, WBEM_E_INVALID_HANDLE_REQUEST, WBEM_E_PROPERTY_NAME_TOO_WIDE, WBEM_E_CLASS_NAME_TOO_WIDE, WBEM_E_METHOD_NAME_TOO_WIDE, WBEM_E_QUALIFIER_NAME_TOO_WIDE, WBEM_E_RERUN_COMMAND, WBEM_E_DATABASE_VER_MISMATCH, WBEM_E_VETO_DELETE, WBEM_E_VETO_PUT, WBEM_E_INVALID_LOCALE, WBEM_E_PROVIDER_SUSPENDED, WBEM_E_SYNCHRONIZATION_REQUIRED, WBEM_E_NO_SCHEMA, WBEM_E_PROVIDER_ALREADY_REGISTERED, WBEM_E_PROVIDER_NOT_REGISTERED, WBEM_E_FATAL_TRANSPORT_ERROR, WBEM_E_ENCRYPTED_CONNECTION_REQUIRED, WBEM_E_PROVIDER_TIMED_OUT, WBEM_E_NO_KEY, WBEM_E_PROVIDER_DISABLED, WBEMESS_E_REGISTRATION_TOO_BROAD, WBEMESS_E_REGISTRATION_TOO_PRECISE, WBEMESS_E_AUTHZ_NOT_PRIVILEGED, WBEMMOF_E_EXPECTED_QUALIFIER_NAME, WBEMMOF_E_EXPECTED_SEMI, WBEMMOF_E_EXPECTED_OPEN_BRACE, WBEMMOF_E_EXPECTED_CLOSE_BRACE, WBEMMOF_E_EXPECTED_CLOSE_BRACKET, WBEMMOF_E_EXPECTED_CLOSE_PAREN, WBEMMOF_E_ILLEGAL_CONSTANT_VALUE, WBEMMOF_E_EXPECTED_TYPE_IDENTIFIER, WBEMMOF_E_EXPECTED_OPEN_PAREN, WBEMMOF_E_UNRECOGNIZED_TOKEN, WBEMMOF_E_UNRECOGNIZED_TYPE, WBEMMOF_E_EXPECTED_PROPERTY_NAME, WBEMMOF_E_TYPEDEF_NOT_SUPPORTED, WBEMMOF_E_UNEXPECTED_ALIAS, WBEMMOF_E_UNEXPECTED_ARRAY_INIT, WBEMMOF_E_INVALID_AMENDMENT_SYNTAX, WBEMMOF_E_INVALID_DUPLICATE_AMENDMENT, WBEMMOF_E_INVALID_PRAGMA, WBEMMOF_E_INVALID_NAMESPACE_SYNTAX, WBEMMOF_E_EXPECTED_CLASS_NAME, WBEMMOF_E_TYPE_MISMATCH, WBEMMOF_E_EXPECTED_ALIAS_NAME, WBEMMOF_E_INVALID_CLASS_DECLARATION, WBEMMOF_E_INVALID_INSTANCE_DECLARATION, WBEMMOF_E_EXPECTED_DOLLAR, WBEMMOF_E_CIMTYPE_QUALIFIER, WBEMMOF_E_DUPLICATE_PROPERTY, WBEMMOF_E_INVALID_NAMESPACE_SPECIFICATION, WBEMMOF_E_OUT_OF_RANGE, WBEMMOF_E_INVALID_FILE, WBEMMOF_E_ALIASES_IN_EMBEDDED, WBEMMOF_E_NULL_ARRAY_ELEM, WBEMMOF_E_DUPLICATE_QUALIFIER, WBEMMOF_E_EXPECTED_FLAVOR_TYPE, WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES, WBEMMOF_E_MULTIPLE_ALIASES, WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES2, WBEMMOF_E_NO_ARRAYS_RETURNED, WBEMMOF_E_MUST_BE_IN_OR_OUT, WBEMMOF_E_INVALID_FLAGS_SYNTAX, WBEMMOF_E_EXPECTED_BRACE_OR_BAD_TYPE, WBEMMOF_E_UNSUPPORTED_CIMV22_QUAL_VALUE, WBEMMOF_E_UNSUPPORTED_CIMV22_DATA_TYPE, WBEMMOF_E_INVALID_DELETEINSTANCE_SYNTAX, WBEMMOF_E_INVALID_QUALIFIER_SYNTAX, WBEMMOF_E_QUALIFIER_USED_OUTSIDE_SCOPE, WBEMMOF_E_ERROR_CREATING_TEMP_FILE, WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE, WBEMMOF_E_INVALID_DELETECLASS_SYNTAX] mapper = FlagMapper(*values)
    WBEMSTATUS = tag_WBEMSTATUS @@ -2402,7 +2152,7 @@ WBEM_NO_WAIT = EnumValue("tag_WBEM_TIMEOUT_TYPE", "WBEM_NO_WAIT", 0x0) WBEM_INFINITE = EnumValue("tag_WBEM_TIMEOUT_TYPE", "WBEM_INFINITE", 0xffffffff) -
    [docs]class tag_WBEM_TIMEOUT_TYPE(EnumType): +
    [docs]class tag_WBEM_TIMEOUT_TYPE(EnumType): values = [WBEM_NO_WAIT, WBEM_INFINITE] mapper = FlagMapper(*values)
    WBEM_TIMEOUT_TYPE = tag_WBEM_TIMEOUT_TYPE @@ -2424,7 +2174,7 @@ WBEM_MASK_RESERVED_FLAGS = EnumValue("tag_WBEM_GENERIC_FLAG_TYPE", "WBEM_MASK_RESERVED_FLAGS", 0x1f000) WBEM_FLAG_USE_AMENDED_QUALIFIERS = EnumValue("tag_WBEM_GENERIC_FLAG_TYPE", "WBEM_FLAG_USE_AMENDED_QUALIFIERS", 0x20000) WBEM_FLAG_STRONG_VALIDATION = EnumValue("tag_WBEM_GENERIC_FLAG_TYPE", "WBEM_FLAG_STRONG_VALIDATION", 0x100000) -
    [docs]class tag_WBEM_GENERIC_FLAG_TYPE(EnumType): +
    [docs]class tag_WBEM_GENERIC_FLAG_TYPE(EnumType): values = [WBEM_FLAG_RETURN_IMMEDIATELY, WBEM_FLAG_RETURN_WBEM_COMPLETE, WBEM_FLAG_BIDIRECTIONAL, WBEM_FLAG_FORWARD_ONLY, WBEM_FLAG_NO_ERROR_OBJECT, WBEM_FLAG_RETURN_ERROR_OBJECT, WBEM_FLAG_SEND_STATUS, WBEM_FLAG_DONT_SEND_STATUS, WBEM_FLAG_ENSURE_LOCATABLE, WBEM_FLAG_DIRECT_READ, WBEM_FLAG_SEND_ONLY_SELECTED, WBEM_RETURN_WHEN_COMPLETE, WBEM_RETURN_IMMEDIATELY, WBEM_MASK_RESERVED_FLAGS, WBEM_FLAG_USE_AMENDED_QUALIFIERS, WBEM_FLAG_STRONG_VALIDATION] mapper = FlagMapper(*values)
    WBEM_GENERIC_FLAG_TYPE = tag_WBEM_GENERIC_FLAG_TYPE @@ -2433,7 +2183,7 @@ WBEM_FLAG_CONNECT_REPOSITORY_ONLY = EnumValue("tag_WBEM_CONNECT_OPTIONS", "WBEM_FLAG_CONNECT_REPOSITORY_ONLY", 0x40) WBEM_FLAG_CONNECT_USE_MAX_WAIT = EnumValue("tag_WBEM_CONNECT_OPTIONS", "WBEM_FLAG_CONNECT_USE_MAX_WAIT", 0x80) WBEM_FLAG_CONNECT_PROVIDERS = EnumValue("tag_WBEM_CONNECT_OPTIONS", "WBEM_FLAG_CONNECT_PROVIDERS", 0x100) -
    [docs]class tag_WBEM_CONNECT_OPTIONS(EnumType): +
    [docs]class tag_WBEM_CONNECT_OPTIONS(EnumType): values = [WBEM_FLAG_CONNECT_REPOSITORY_ONLY, WBEM_FLAG_CONNECT_USE_MAX_WAIT, WBEM_FLAG_CONNECT_PROVIDERS] mapper = FlagMapper(*values)
    WBEM_CONNECT_OPTIONS = tag_WBEM_CONNECT_OPTIONS @@ -2442,7 +2192,7 @@ WBEM_FLAG_DEEP = EnumValue("tag_WBEM_QUERY_FLAG_TYPE", "WBEM_FLAG_DEEP", 0x0) WBEM_FLAG_SHALLOW = EnumValue("tag_WBEM_QUERY_FLAG_TYPE", "WBEM_FLAG_SHALLOW", 0x1) WBEM_FLAG_PROTOTYPE = EnumValue("tag_WBEM_QUERY_FLAG_TYPE", "WBEM_FLAG_PROTOTYPE", 0x2) -
    [docs]class tag_WBEM_QUERY_FLAG_TYPE(EnumType): +
    [docs]class tag_WBEM_QUERY_FLAG_TYPE(EnumType): values = [WBEM_FLAG_DEEP, WBEM_FLAG_SHALLOW, WBEM_FLAG_PROTOTYPE] mapper = FlagMapper(*values)
    WBEM_QUERY_FLAG_TYPE = tag_WBEM_QUERY_FLAG_TYPE @@ -2458,1027 +2208,11 @@ WMI_DISABLE_COLLECTION = EnumValue("WMIDPREQUESTCODE", "WMI_DISABLE_COLLECTION", 0x7) WMI_REGINFO = EnumValue("WMIDPREQUESTCODE", "WMI_REGINFO", 0x8) WMI_EXECUTE_METHOD = EnumValue("WMIDPREQUESTCODE", "WMI_EXECUTE_METHOD", 0x9) -
    [docs]class WMIDPREQUESTCODE(EnumType): +
    [docs]class WMIDPREQUESTCODE(EnumType): values = [WMI_GET_ALL_DATA, WMI_GET_SINGLE_INSTANCE, WMI_SET_SINGLE_INSTANCE, WMI_SET_SINGLE_ITEM, WMI_ENABLE_EVENTS, WMI_DISABLE_EVENTS, WMI_ENABLE_COLLECTION, WMI_DISABLE_COLLECTION, WMI_REGINFO, WMI_EXECUTE_METHOD] mapper = FlagMapper(*values)
    -class _GUID(Structure): - _fields_ = [ - ("Data1", ULONG), - ("Data2", USHORT), - ("Data3", USHORT), - ("Data4", BYTE * (8)), - ] -REFCLSID = POINTER(_GUID) -LPCGUID = POINTER(_GUID) -REFGUID = POINTER(_GUID) -LPGUID = POINTER(_GUID) -IID = _GUID -CLSID = _GUID -LPCLSID = POINTER(_GUID) -GUID = _GUID -REFIID = POINTER(_GUID) - -INITIAL_GUID = _GUID -
    [docs]class _GUID(INITIAL_GUID): - def __init__(self, Data1=None, Data2=None, Data3=None, Data4=None, name=None, strid=None): - data_tuple = (Data1, Data2, Data3, Data4) - self.name = name - self.strid = strid - if all(data is None for data in data_tuple): - return super(_GUID, self).__init__() - if any(data is None for data in data_tuple): - raise ValueError("All or none of (Data1, Data2, Data3, Data4) should be None") - super(_GUID, self).__init__(Data1, Data2, Data3, Data4) - - def __repr__(self): - notpresent = object() - # Handle IID created without '__init__' (like ctypes-ptr deref) - if getattr(self, "strid", notpresent) is notpresent: - self.strid = self.to_string() - if self.strid is None: - return super(_GUID, self).__repr__() - - if getattr(self, "name", notpresent) is notpresent: - self.name = None - if self.name is None: - return '<GUID "{0}">'.format(self.strid.upper()) - return '<GUID "{0}({1})">'.format(self.strid.upper(), self.name) - - __sprint__ = __repr__ - - - def to_string(self): - data4_format = "{0:02X}{1:02X}-" + "".join("{{{i}:02X}}".format(i=i + 2) for i in range(6)) - data4_str = data4_format.format(*self.Data4) - return "{0:08X}-{1:04X}-{2:04X}-".format(self.Data1, self.Data2, self.Data3) + data4_str - - __str__ = to_string - - def update_strid(self): - new_strid = self.to_string() - self.strid = new_strid - - @classmethod - def from_string(cls, iid): - part_iid = iid.split("-") - datas = [int(x, 16) for x in part_iid[:3]] - datas.append(int(part_iid[3][:2], 16)) - datas.append(int(part_iid[3][2:], 16)) - for i in range(6): - datas.append(int(part_iid[4][i * 2:(i + 1) * 2], 16)) - return cls.from_raw(*datas, strid=iid) - - - @classmethod - def from_raw(cls, Data1, Data2, Data3, Data41, Data42, Data43, Data44, Data45, Data46, Data47, Data48, **kwargs): - return cls(Data1, Data2, Data3, (BYTE*8)(Data41, Data42, Data43, Data44, Data45, Data46, Data47, Data48), **kwargs) - - def __eq__(self, other): - if not isinstance(other, (_GUID, INITIAL_GUID)): - return NotImplemented - return (self.Data1, self.Data2, self.Data3, self.Data4[:]) == (other.Data1, other.Data2, other.Data3, other.Data4[:])
    - -REFCLSID = POINTER(_GUID) -LPCGUID = POINTER(_GUID) -REFGUID = POINTER(_GUID) -LPGUID = POINTER(_GUID) -IID = _GUID -CLSID = _GUID -LPCLSID = POINTER(_GUID) -GUID = _GUID -REFIID = POINTER(_GUID) -SymNone = EnumValue("SYM_TYPE", "SymNone", 0x0) -SymCoff = EnumValue("SYM_TYPE", "SymCoff", 0x1) -SymCv = EnumValue("SYM_TYPE", "SymCv", 0x2) -SymPdb = EnumValue("SYM_TYPE", "SymPdb", 0x3) -SymExport = EnumValue("SYM_TYPE", "SymExport", 0x4) -SymDeferred = EnumValue("SYM_TYPE", "SymDeferred", 0x5) -SymSym = EnumValue("SYM_TYPE", "SymSym", 0x6) -SymDia = EnumValue("SYM_TYPE", "SymDia", 0x7) -SymVirtual = EnumValue("SYM_TYPE", "SymVirtual", 0x8) -NumSymTypes = EnumValue("SYM_TYPE", "NumSymTypes", 0x9) -
    [docs]class SYM_TYPE(EnumType): - values = [SymNone, SymCoff, SymCv, SymPdb, SymExport, SymDeferred, SymSym, SymDia, SymVirtual, NumSymTypes] - mapper = FlagMapper(*values)
    - - -btNoType = EnumValue("BasicType", "btNoType", 0x0) -btVoid = EnumValue("BasicType", "btVoid", 0x1) -btChar = EnumValue("BasicType", "btChar", 0x2) -btWChar = EnumValue("BasicType", "btWChar", 0x3) -btInt = EnumValue("BasicType", "btInt", 0x6) -btUInt = EnumValue("BasicType", "btUInt", 0x7) -btFloat = EnumValue("BasicType", "btFloat", 0x8) -btBCD = EnumValue("BasicType", "btBCD", 0x9) -btBool = EnumValue("BasicType", "btBool", 0xa) -btLong = EnumValue("BasicType", "btLong", 0xd) -btULong = EnumValue("BasicType", "btULong", 0xe) -btCurrency = EnumValue("BasicType", "btCurrency", 0x19) -btDate = EnumValue("BasicType", "btDate", 0x1a) -btVariant = EnumValue("BasicType", "btVariant", 0x1b) -btComplex = EnumValue("BasicType", "btComplex", 0x1c) -btBit = EnumValue("BasicType", "btBit", 0x1d) -btBSTR = EnumValue("BasicType", "btBSTR", 0x1e) -btHresult = EnumValue("BasicType", "btHresult", 0x1f) -
    [docs]class BasicType(EnumType): - values = [btNoType, btVoid, btChar, btWChar, btInt, btUInt, btFloat, btBCD, btBool, btLong, btULong, btCurrency, btDate, btVariant, btComplex, btBit, btBSTR, btHresult] - mapper = FlagMapper(*values)
    - - -DataIsUnknown = EnumValue("DataKind", "DataIsUnknown", 0x0) -DataIsLocal = EnumValue("DataKind", "DataIsLocal", 0x1) -DataIsStaticLocal = EnumValue("DataKind", "DataIsStaticLocal", 0x2) -DataIsParam = EnumValue("DataKind", "DataIsParam", 0x3) -DataIsObjectPtr = EnumValue("DataKind", "DataIsObjectPtr", 0x4) -DataIsFileStatic = EnumValue("DataKind", "DataIsFileStatic", 0x5) -DataIsGlobal = EnumValue("DataKind", "DataIsGlobal", 0x6) -DataIsMember = EnumValue("DataKind", "DataIsMember", 0x7) -DataIsStaticMember = EnumValue("DataKind", "DataIsStaticMember", 0x8) -DataIsConstant = EnumValue("DataKind", "DataIsConstant", 0x9) -
    [docs]class DataKind(EnumType): - values = [DataIsUnknown, DataIsLocal, DataIsStaticLocal, DataIsParam, DataIsObjectPtr, DataIsFileStatic, DataIsGlobal, DataIsMember, DataIsStaticMember, DataIsConstant] - mapper = FlagMapper(*values)
    - - -UdtStruct = EnumValue("UdtKind", "UdtStruct", 0x0) -UdtClass = EnumValue("UdtKind", "UdtClass", 0x1) -UdtUnion = EnumValue("UdtKind", "UdtUnion", 0x2) -
    [docs]class UdtKind(EnumType): - values = [UdtStruct, UdtClass, UdtUnion] - mapper = FlagMapper(*values)
    - - -SymTagNull = EnumValue("_SymTagEnum", "SymTagNull", 0x0) -SymTagExe = EnumValue("_SymTagEnum", "SymTagExe", 0x1) -SymTagCompiland = EnumValue("_SymTagEnum", "SymTagCompiland", 0x2) -SymTagCompilandDetails = EnumValue("_SymTagEnum", "SymTagCompilandDetails", 0x3) -SymTagCompilandEnv = EnumValue("_SymTagEnum", "SymTagCompilandEnv", 0x4) -SymTagFunction = EnumValue("_SymTagEnum", "SymTagFunction", 0x5) -SymTagBlock = EnumValue("_SymTagEnum", "SymTagBlock", 0x6) -SymTagData = EnumValue("_SymTagEnum", "SymTagData", 0x7) -SymTagAnnotation = EnumValue("_SymTagEnum", "SymTagAnnotation", 0x8) -SymTagLabel = EnumValue("_SymTagEnum", "SymTagLabel", 0x9) -SymTagPublicSymbol = EnumValue("_SymTagEnum", "SymTagPublicSymbol", 0xa) -SymTagUDT = EnumValue("_SymTagEnum", "SymTagUDT", 0xb) -SymTagEnum = EnumValue("_SymTagEnum", "SymTagEnum", 0xc) -SymTagFunctionType = EnumValue("_SymTagEnum", "SymTagFunctionType", 0xd) -SymTagPointerType = EnumValue("_SymTagEnum", "SymTagPointerType", 0xe) -SymTagArrayType = EnumValue("_SymTagEnum", "SymTagArrayType", 0xf) -SymTagBaseType = EnumValue("_SymTagEnum", "SymTagBaseType", 0x10) -SymTagTypedef = EnumValue("_SymTagEnum", "SymTagTypedef", 0x11) -SymTagBaseClass = EnumValue("_SymTagEnum", "SymTagBaseClass", 0x12) -SymTagFriend = EnumValue("_SymTagEnum", "SymTagFriend", 0x13) -SymTagFunctionArgType = EnumValue("_SymTagEnum", "SymTagFunctionArgType", 0x14) -SymTagFuncDebugStart = EnumValue("_SymTagEnum", "SymTagFuncDebugStart", 0x15) -SymTagFuncDebugEnd = EnumValue("_SymTagEnum", "SymTagFuncDebugEnd", 0x16) -SymTagUsingNamespace = EnumValue("_SymTagEnum", "SymTagUsingNamespace", 0x17) -SymTagVTableShape = EnumValue("_SymTagEnum", "SymTagVTableShape", 0x18) -SymTagVTable = EnumValue("_SymTagEnum", "SymTagVTable", 0x19) -SymTagCustom = EnumValue("_SymTagEnum", "SymTagCustom", 0x1a) -SymTagThunk = EnumValue("_SymTagEnum", "SymTagThunk", 0x1b) -SymTagCustomType = EnumValue("_SymTagEnum", "SymTagCustomType", 0x1c) -SymTagManagedType = EnumValue("_SymTagEnum", "SymTagManagedType", 0x1d) -SymTagDimension = EnumValue("_SymTagEnum", "SymTagDimension", 0x1e) -
    [docs]class _SymTagEnum(EnumType): - values = [SymTagNull, SymTagExe, SymTagCompiland, SymTagCompilandDetails, SymTagCompilandEnv, SymTagFunction, SymTagBlock, SymTagData, SymTagAnnotation, SymTagLabel, SymTagPublicSymbol, SymTagUDT, SymTagEnum, SymTagFunctionType, SymTagPointerType, SymTagArrayType, SymTagBaseType, SymTagTypedef, SymTagBaseClass, SymTagFriend, SymTagFunctionArgType, SymTagFuncDebugStart, SymTagFuncDebugEnd, SymTagUsingNamespace, SymTagVTableShape, SymTagVTable, SymTagCustom, SymTagThunk, SymTagCustomType, SymTagManagedType, SymTagDimension] - mapper = FlagMapper(*values)
    -SymTagEnum = _SymTagEnum - - -SYMOPT_EX_DISABLEACCESSTIMEUPDATE = EnumValue("_IMAGEHLP_EXTENDED_OPTIONS", "SYMOPT_EX_DISABLEACCESSTIMEUPDATE", 0x0) -SYMOPT_EX_MAX = EnumValue("_IMAGEHLP_EXTENDED_OPTIONS", "SYMOPT_EX_MAX", 0x1) -SYMOPT_EX_LASTVALIDDEBUGDIRECTORY = EnumValue("_IMAGEHLP_EXTENDED_OPTIONS", "SYMOPT_EX_LASTVALIDDEBUGDIRECTORY", 0x2) -
    [docs]class _IMAGEHLP_EXTENDED_OPTIONS(EnumType): - values = [SYMOPT_EX_DISABLEACCESSTIMEUPDATE, SYMOPT_EX_MAX, SYMOPT_EX_LASTVALIDDEBUGDIRECTORY] - mapper = FlagMapper(*values)
    -IMAGEHLP_EXTENDED_OPTIONS = _IMAGEHLP_EXTENDED_OPTIONS - - -TI_GET_SYMTAG = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_SYMTAG", 0x0) -TI_GET_SYMNAME = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_SYMNAME", 0x1) -TI_GET_LENGTH = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_LENGTH", 0x2) -TI_GET_TYPE = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_TYPE", 0x3) -TI_GET_TYPEID = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_TYPEID", 0x4) -TI_GET_BASETYPE = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_BASETYPE", 0x5) -TI_GET_ARRAYINDEXTYPEID = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_ARRAYINDEXTYPEID", 0x6) -TI_FINDCHILDREN = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_FINDCHILDREN", 0x7) -TI_GET_DATAKIND = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_DATAKIND", 0x8) -TI_GET_ADDRESSOFFSET = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_ADDRESSOFFSET", 0x9) -TI_GET_OFFSET = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_OFFSET", 0xa) -TI_GET_VALUE = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_VALUE", 0xb) -TI_GET_COUNT = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_COUNT", 0xc) -TI_GET_CHILDRENCOUNT = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_CHILDRENCOUNT", 0xd) -TI_GET_BITPOSITION = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_BITPOSITION", 0xe) -TI_GET_VIRTUALBASECLASS = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_VIRTUALBASECLASS", 0xf) -TI_GET_VIRTUALTABLESHAPEID = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_VIRTUALTABLESHAPEID", 0x10) -TI_GET_VIRTUALBASEPOINTEROFFSET = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_VIRTUALBASEPOINTEROFFSET", 0x11) -TI_GET_CLASSPARENTID = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_CLASSPARENTID", 0x12) -TI_GET_NESTED = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_NESTED", 0x13) -TI_GET_SYMINDEX = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_SYMINDEX", 0x14) -TI_GET_LEXICALPARENT = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_LEXICALPARENT", 0x15) -TI_GET_ADDRESS = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_ADDRESS", 0x16) -TI_GET_THISADJUST = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_THISADJUST", 0x17) -TI_GET_UDTKIND = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_UDTKIND", 0x18) -TI_IS_EQUIV_TO = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_IS_EQUIV_TO", 0x19) -TI_GET_CALLING_CONVENTION = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_CALLING_CONVENTION", 0x1a) -TI_IS_CLOSE_EQUIV_TO = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_IS_CLOSE_EQUIV_TO", 0x1b) -TI_GTIEX_REQS_VALID = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GTIEX_REQS_VALID", 0x1c) -TI_GET_VIRTUALBASEOFFSET = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_VIRTUALBASEOFFSET", 0x1d) -TI_GET_VIRTUALBASEDISPINDEX = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_VIRTUALBASEDISPINDEX", 0x1e) -TI_GET_IS_REFERENCE = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_IS_REFERENCE", 0x1f) -TI_GET_INDIRECTVIRTUALBASECLASS = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "TI_GET_INDIRECTVIRTUALBASECLASS", 0x20) -IMAGEHLP_SYMBOL_TYPE_INFO_MAX = EnumValue("_IMAGEHLP_SYMBOL_TYPE_INFO", "IMAGEHLP_SYMBOL_TYPE_INFO_MAX", 0x21) -
    [docs]class _IMAGEHLP_SYMBOL_TYPE_INFO(EnumType): - values = [TI_GET_SYMTAG, TI_GET_SYMNAME, TI_GET_LENGTH, TI_GET_TYPE, TI_GET_TYPEID, TI_GET_BASETYPE, TI_GET_ARRAYINDEXTYPEID, TI_FINDCHILDREN, TI_GET_DATAKIND, TI_GET_ADDRESSOFFSET, TI_GET_OFFSET, TI_GET_VALUE, TI_GET_COUNT, TI_GET_CHILDRENCOUNT, TI_GET_BITPOSITION, TI_GET_VIRTUALBASECLASS, TI_GET_VIRTUALTABLESHAPEID, TI_GET_VIRTUALBASEPOINTEROFFSET, TI_GET_CLASSPARENTID, TI_GET_NESTED, TI_GET_SYMINDEX, TI_GET_LEXICALPARENT, TI_GET_ADDRESS, TI_GET_THISADJUST, TI_GET_UDTKIND, TI_IS_EQUIV_TO, TI_GET_CALLING_CONVENTION, TI_IS_CLOSE_EQUIV_TO, TI_GTIEX_REQS_VALID, TI_GET_VIRTUALBASEOFFSET, TI_GET_VIRTUALBASEDISPINDEX, TI_GET_IS_REFERENCE, TI_GET_INDIRECTVIRTUALBASECLASS, IMAGEHLP_SYMBOL_TYPE_INFO_MAX] - mapper = FlagMapper(*values)
    -IMAGEHLP_SYMBOL_TYPE_INFO = _IMAGEHLP_SYMBOL_TYPE_INFO - - -sevInfo = EnumValue("_CBA_EVENT_SEVERITY", "sevInfo", 0x0) -sevProblem = EnumValue("_CBA_EVENT_SEVERITY", "sevProblem", 0x1) -sevAttn = EnumValue("_CBA_EVENT_SEVERITY", "sevAttn", 0x2) -sevFatal = EnumValue("_CBA_EVENT_SEVERITY", "sevFatal", 0x3) -sevMax = EnumValue("_CBA_EVENT_SEVERITY", "sevMax", 0x4) -
    [docs]class _CBA_EVENT_SEVERITY(EnumType): - values = [sevInfo, sevProblem, sevAttn, sevFatal, sevMax] - mapper = FlagMapper(*values)
    -CBA_EVENT_SEVERITY = _CBA_EVENT_SEVERITY - - -AddrMode1616 = EnumValue("ADDRESS_MODE", "AddrMode1616", 0x0) -AddrMode1632 = EnumValue("ADDRESS_MODE", "AddrMode1632", 0x1) -AddrModeReal = EnumValue("ADDRESS_MODE", "AddrModeReal", 0x2) -AddrModeFlat = EnumValue("ADDRESS_MODE", "AddrModeFlat", 0x3) -
    [docs]class ADDRESS_MODE(EnumType): - values = [AddrMode1616, AddrMode1632, AddrModeReal, AddrModeFlat] - mapper = FlagMapper(*values)
    - - -
    [docs]class _IMAGEHLP_MODULE64(Structure): - _fields_ = [ - ("SizeOfStruct", DWORD), - ("BaseOfImage", DWORD64), - ("ImageSize", DWORD), - ("TimeDateStamp", DWORD), - ("CheckSum", DWORD), - ("NumSyms", DWORD), - ("SymType", SYM_TYPE), - ("ModuleName", CHAR * (32)), - ("ImageName", CHAR * (256)), - ("LoadedImageName", CHAR * (256)), - ("LoadedPdbName", CHAR * (256)), - ("CVSig", DWORD), - ("CVData", CHAR * (MAX_PATH * 3)), - ("PdbSig", DWORD), - ("PdbSig70", GUID), - ("PdbAge", DWORD), - ("PdbUnmatched", BOOL), - ("DbgUnmatched", BOOL), - ("LineNumbers", BOOL), - ("GlobalSymbols", BOOL), - ("TypeInfo", BOOL), - ("SourceIndexed", BOOL), - ("Publics", BOOL), - ]
    -PIMAGEHLP_MODULE64 = POINTER(_IMAGEHLP_MODULE64) -IMAGEHLP_MODULE64 = _IMAGEHLP_MODULE64 - -
    [docs]class _IMAGEHLP_MODULEW64(Structure): - _fields_ = [ - ("SizeOfStruct", DWORD), - ("BaseOfImage", DWORD64), - ("ImageSize", DWORD), - ("TimeDateStamp", DWORD), - ("CheckSum", DWORD), - ("NumSyms", DWORD), - ("SymType", SYM_TYPE), - ("ModuleName", WCHAR * (32)), - ("ImageName", WCHAR * (256)), - ("LoadedImageName", WCHAR * (256)), - ("LoadedPdbName", WCHAR * (256)), - ("CVSig", DWORD), - ("CVData", POINTER(WCHAR) * (MAX_PATH * 3)), - ("PdbSig", DWORD), - ("PdbSig70", GUID), - ("PdbAge", DWORD), - ("PdbUnmatched", BOOL), - ("DbgUnmatched", BOOL), - ("LineNumbers", BOOL), - ("GlobalSymbols", BOOL), - ("TypeInfo", BOOL), - ("SourceIndexed", BOOL), - ("Publics", BOOL), - ("MachineType", DWORD), - ("Reserved", DWORD), - ]
    -PIMAGEHLP_MODULEW64 = POINTER(_IMAGEHLP_MODULEW64) -IMAGEHLP_MODULEW64 = _IMAGEHLP_MODULEW64 - -class _SYMBOL_INFO(Structure): - _fields_ = [ - ("SizeOfStruct", ULONG), - ("TypeIndex", ULONG), - ("Reserved", ULONG64 * (2)), - ("Index", ULONG), - ("Size", ULONG), - ("ModBase", ULONG64), - ("Flags", ULONG), - ("Value", ULONG64), - ("Address", ULONG64), - ("Register", ULONG), - ("Scope", ULONG), - ("Tag", ULONG), - ("NameLen", ULONG), - ("MaxNameLen", ULONG), - ("Name", CHAR * (1)), - ] -SYMBOL_INFO = _SYMBOL_INFO -PSYMBOL_INFO = POINTER(_SYMBOL_INFO) - -old_SYMBOL_INFO = _SYMBOL_INFO -
    [docs]class _SYMBOL_INFO(old_SYMBOL_INFO): - @property - def tag(self): - return SymTagEnum.mapper[self.Tag]
    -SYMBOL_INFO = _SYMBOL_INFO -PSYMBOL_INFO = POINTER(_SYMBOL_INFO) -class _SYMBOL_INFOW(Structure): - _fields_ = [ - ("SizeOfStruct", ULONG), - ("TypeIndex", ULONG), - ("Reserved", ULONG64 * (2)), - ("Index", ULONG), - ("Size", ULONG), - ("ModBase", ULONG64), - ("Flags", ULONG), - ("Value", ULONG64), - ("Address", ULONG64), - ("Register", ULONG), - ("Scope", ULONG), - ("Tag", ULONG), - ("NameLen", ULONG), - ("MaxNameLen", ULONG), - ("Name", WCHAR * (1)), - ] -SYMBOL_INFOW = _SYMBOL_INFOW -PSYMBOL_INFOW = POINTER(_SYMBOL_INFOW) - -old_SYMBOL_INFOW = _SYMBOL_INFOW -
    [docs]class _SYMBOL_INFOW(old_SYMBOL_INFOW): - @property - def tag(self): - return SymTagEnum.mapper[self.Tag]
    -SYMBOL_INFOW = _SYMBOL_INFOW -PSYMBOL_INFOW = POINTER(_SYMBOL_INFOW) -
    [docs]class SYMSRV_INDEX_INFOW(Structure): - _fields_ = [ - ("sizeofstruct", DWORD), - ("file", WCHAR * (MAX_PATH + 1)), - ("stripped", BOOL), - ("timestamp", DWORD), - ("size", DWORD), - ("dbgfile", WCHAR * (MAX_PATH + 1)), - ("pdbfile", WCHAR * (MAX_PATH + 1)), - ("guid", GUID), - ("sig", DWORD), - ("age", DWORD), - ]
    -PSYMSRV_INDEX_INFOW = POINTER(SYMSRV_INDEX_INFOW) - -
    [docs]class SYMSRV_INDEX_INFO(Structure): - _fields_ = [ - ("sizeofstruct", DWORD), - ("file", CHAR * (MAX_PATH + 1)), - ("stripped", BOOL), - ("timestamp", DWORD), - ("size", DWORD), - ("dbgfile", CHAR * (MAX_PATH + 1)), - ("pdbfile", CHAR * (MAX_PATH + 1)), - ("guid", GUID), - ("sig", DWORD), - ("age", DWORD), - ]
    -PSYMSRV_INDEX_INFO = POINTER(SYMSRV_INDEX_INFO) - -
    [docs]class _IMAGEHLP_SYMBOL(Structure): - _fields_ = [ - ("SizeOfStruct", DWORD), - ("Address", DWORD), - ("Size", DWORD), - ("Flags", DWORD), - ("MaxNameLength", DWORD), - ("Name", CHAR * (1)), - ]
    -PIMAGEHLP_SYMBOL = POINTER(_IMAGEHLP_SYMBOL) -IMAGEHLP_SYMBOL = _IMAGEHLP_SYMBOL - -
    [docs]class _IMAGEHLP_SYMBOL64(Structure): - _fields_ = [ - ("SizeOfStruct", DWORD), - ("Address", DWORD64), - ("Size", DWORD), - ("Flags", DWORD), - ("MaxNameLength", DWORD), - ("Name", CHAR * (1)), - ]
    -PIMAGEHLP_SYMBOL64 = POINTER(_IMAGEHLP_SYMBOL64) -IMAGEHLP_SYMBOL64 = _IMAGEHLP_SYMBOL64 - -
    [docs]class _IMAGEHLP_SYMBOLW64(Structure): - _fields_ = [ - ("SizeOfStruct", DWORD), - ("Address", DWORD64), - ("Size", DWORD), - ("Flags", DWORD), - ("MaxNameLength", DWORD), - ("Name", WCHAR * (1)), - ]
    -PIMAGEHLP_SYMBOLW64 = POINTER(_IMAGEHLP_SYMBOLW64) -IMAGEHLP_SYMBOLW64 = _IMAGEHLP_SYMBOLW64 - -
    [docs]class _IMAGEHLP_STACK_FRAME(Structure): - _fields_ = [ - ("InstructionOffset", ULONG64), - ("ReturnOffset", ULONG64), - ("FrameOffset", ULONG64), - ("StackOffset", ULONG64), - ("BackingStoreOffset", ULONG64), - ("FuncTableEntry", ULONG64), - ("Params", ULONG64 * (4)), - ("Reserved", ULONG64 * (5)), - ("Virtual", BOOL), - ("Reserved2", ULONG), - ]
    -IMAGEHLP_STACK_FRAME = _IMAGEHLP_STACK_FRAME -PIMAGEHLP_STACK_FRAME = POINTER(_IMAGEHLP_STACK_FRAME) - -
    [docs]class _IMAGEHLP_CBA_EVENT(Structure): - _fields_ = [ - ("severity", CBA_EVENT_SEVERITY), - ("code", DWORD), - ("desc", PCHAR), - ("object", PVOID), - ]
    -PIMAGEHLP_CBA_EVENT = POINTER(_IMAGEHLP_CBA_EVENT) -IMAGEHLP_CBA_EVENT = _IMAGEHLP_CBA_EVENT - -
    [docs]class _IMAGEHLP_CBA_EVENTW(Structure): - _fields_ = [ - ("severity", CBA_EVENT_SEVERITY), - ("code", DWORD), - ("desc", PCWSTR), - ("object", PVOID), - ]
    -PIMAGEHLP_CBA_EVENTW = POINTER(_IMAGEHLP_CBA_EVENTW) -IMAGEHLP_CBA_EVENTW = _IMAGEHLP_CBA_EVENTW - -
    [docs]class _IMAGEHLP_CBA_READ_MEMORY(Structure): - _fields_ = [ - ("addr", DWORD64), - ("buf", PVOID), - ("bytes", DWORD), - ("bytesread", POINTER(DWORD)), - ]
    -PIMAGEHLP_CBA_READ_MEMORY = POINTER(_IMAGEHLP_CBA_READ_MEMORY) -IMAGEHLP_CBA_READ_MEMORY = _IMAGEHLP_CBA_READ_MEMORY - -
    [docs]class _IMAGEHLP_DEFERRED_SYMBOL_LOAD(Structure): - _fields_ = [ - ("SizeOfStruct", DWORD), - ("BaseOfImage", DWORD), - ("CheckSum", DWORD), - ("TimeDateStamp", DWORD), - ("FileName", CHAR * (MAX_PATH)), - ("Reparse", BOOLEAN), - ("hFile", HANDLE), - ]
    -PIMAGEHLP_DEFERRED_SYMBOL_LOAD = POINTER(_IMAGEHLP_DEFERRED_SYMBOL_LOAD) -IMAGEHLP_DEFERRED_SYMBOL_LOAD = _IMAGEHLP_DEFERRED_SYMBOL_LOAD - -
    [docs]class _IMAGEHLP_DEFERRED_SYMBOL_LOAD64(Structure): - _fields_ = [ - ("SizeOfStruct", DWORD), - ("BaseOfImage", DWORD64), - ("CheckSum", DWORD), - ("TimeDateStamp", DWORD), - ("FileName", CHAR * (MAX_PATH)), - ("Reparse", BOOLEAN), - ("hFile", HANDLE), - ("Flags", DWORD), - ]
    -IMAGEHLP_DEFERRED_SYMBOL_LOAD64 = _IMAGEHLP_DEFERRED_SYMBOL_LOAD64 -PIMAGEHLP_DEFERRED_SYMBOL_LOAD64 = POINTER(_IMAGEHLP_DEFERRED_SYMBOL_LOAD64) - -
    [docs]class _IMAGEHLP_DEFERRED_SYMBOL_LOADW64(Structure): - _fields_ = [ - ("SizeOfStruct", DWORD), - ("BaseOfImage", DWORD64), - ("CheckSum", DWORD), - ("TimeDateStamp", DWORD), - ("FileName", WCHAR * (MAX_PATH + 1)), - ("Reparse", BOOLEAN), - ("hFile", HANDLE), - ("Flags", DWORD), - ]
    -IMAGEHLP_DEFERRED_SYMBOL_LOADW64 = _IMAGEHLP_DEFERRED_SYMBOL_LOADW64 -PIMAGEHLP_DEFERRED_SYMBOL_LOADW64 = POINTER(_IMAGEHLP_DEFERRED_SYMBOL_LOADW64) - -
    [docs]class _IMAGEHLP_DUPLICATE_SYMBOL64(Structure): - _fields_ = [ - ("SizeOfStruct", DWORD), - ("NumberOfDups", DWORD), - ("Symbol", PIMAGEHLP_SYMBOL64), - ("SelectedSymbol", DWORD), - ]
    -PIMAGEHLP_DUPLICATE_SYMBOL64 = POINTER(_IMAGEHLP_DUPLICATE_SYMBOL64) -IMAGEHLP_DUPLICATE_SYMBOL64 = _IMAGEHLP_DUPLICATE_SYMBOL64 - -
    [docs]class _IMAGEHLP_DUPLICATE_SYMBOL(Structure): - _fields_ = [ - ("SizeOfStruct", DWORD), - ("NumberOfDups", DWORD), - ("Symbol", PIMAGEHLP_SYMBOL), - ("SelectedSymbol", DWORD), - ]
    -PIMAGEHLP_DUPLICATE_SYMBOL = POINTER(_IMAGEHLP_DUPLICATE_SYMBOL) -IMAGEHLP_DUPLICATE_SYMBOL = _IMAGEHLP_DUPLICATE_SYMBOL - -
    [docs]class _tagADDRESS(Structure): - _fields_ = [ - ("Offset", DWORD), - ("Segment", WORD), - ("Mode", ADDRESS_MODE), - ]
    -LPADDRESS = POINTER(_tagADDRESS) -ADDRESS = _tagADDRESS - -class _tagADDRESS64(Structure): - _fields_ = [ - ("Offset", DWORD64), - ("Segment", WORD), - ("Mode", ADDRESS_MODE), - ] -LPADDRESS64 = POINTER(_tagADDRESS64) -ADDRESS64 = _tagADDRESS64 - -
    [docs]class _tagADDRESS64(_tagADDRESS64): - def __repr__(self): - if not self.Segment: - return "<{0} {offset:#x}>".format(type(self).__name__, offset=self.Offset) - return "<{0} {seg:#x}:{offset:#x}>".format(type(self).__name__, seg=self.Segment, offset=self.Offset)
    -LPADDRESS64 = POINTER(_tagADDRESS64) -ADDRESS64 = _tagADDRESS64 -
    [docs]class _KDHELP(Structure): - _fields_ = [ - ("Thread", DWORD), - ("ThCallbackStack", DWORD), - ("NextCallback", DWORD), - ("FramePointer", DWORD), - ("KiCallUserMode", DWORD), - ("KeUserCallbackDispatcher", DWORD), - ("SystemRangeStart", DWORD), - ("ThCallbackBStore", DWORD), - ("KiUserExceptionDispatcher", DWORD), - ("StackBase", DWORD), - ("StackLimit", DWORD), - ("Reserved", DWORD * (5)), - ]
    -KDHELP = _KDHELP -PKDHELP = POINTER(_KDHELP) - -
    [docs]class _KDHELP64(Structure): - _fields_ = [ - ("Thread", DWORD64), - ("ThCallbackStack", DWORD), - ("ThCallbackBStore", DWORD), - ("NextCallback", DWORD), - ("FramePointer", DWORD), - ("KiCallUserMode", DWORD64), - ("KeUserCallbackDispatcher", DWORD64), - ("SystemRangeStart", DWORD64), - ("KiUserExceptionDispatcher", DWORD64), - ("StackBase", DWORD64), - ("StackLimit", DWORD64), - ("BuildVersion", DWORD), - ("RetpolineStubFunctionTableSize", DWORD), - ("RetpolineStubFunctionTable", DWORD64), - ("RetpolineStubOffset", DWORD), - ("RetpolineStubSize", DWORD), - ("Reserved0", DWORD64 * (2)), - ]
    -KDHELP64 = _KDHELP64 -PKDHELP64 = POINTER(_KDHELP64) - -
    [docs]class _tagSTACKFRAME(Structure): - _fields_ = [ - ("AddrPC", ADDRESS), - ("AddrReturn", ADDRESS), - ("AddrFrame", ADDRESS), - ("AddrStack", ADDRESS), - ("FuncTableEntry", PVOID), - ("Params", DWORD * (4)), - ("Far", BOOL), - ("Virtual", BOOL), - ("Reserved", DWORD * (3)), - ("KdHelp", KDHELP), - ("AddrBStore", ADDRESS), - ]
    -STACKFRAME = _tagSTACKFRAME -LPSTACKFRAME = POINTER(_tagSTACKFRAME) - -
    [docs]class _tagSTACKFRAME64(Structure): - _fields_ = [ - ("AddrPC", ADDRESS64), - ("AddrReturn", ADDRESS64), - ("AddrFrame", ADDRESS64), - ("AddrStack", ADDRESS64), - ("AddrBStore", ADDRESS64), - ("FuncTableEntry", PVOID), - ("Params", DWORD64 * (4)), - ("Far", BOOL), - ("Virtual", BOOL), - ("Reserved", DWORD64 * (3)), - ("KdHelp", KDHELP64), - ]
    -STACKFRAME64 = _tagSTACKFRAME64 -LPSTACKFRAME64 = POINTER(_tagSTACKFRAME64) - -
    [docs]class _tagSTACKFRAME_EX(Structure): - _fields_ = [ - ("AddrPC", ADDRESS64), - ("AddrReturn", ADDRESS64), - ("AddrFrame", ADDRESS64), - ("AddrStack", ADDRESS64), - ("AddrBStore", ADDRESS64), - ("FuncTableEntry", PVOID), - ("Params", DWORD64 * (4)), - ("Far", BOOL), - ("Virtual", BOOL), - ("Reserved", DWORD64 * (3)), - ("KdHelp", KDHELP64), - ("StackFrameSize", DWORD), - ("InlineFrameContext", DWORD), - ]
    -LPSTACKFRAME_EX = POINTER(_tagSTACKFRAME_EX) -STACKFRAME_EX = _tagSTACKFRAME_EX - -VIRTUAL_DISK_ACCESS_NONE = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_NONE", 0x0) -VIRTUAL_DISK_ACCESS_ATTACH_RO = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_ATTACH_RO", 0x1) -VIRTUAL_DISK_ACCESS_ATTACH_RW = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_ATTACH_RW", 0x2) -VIRTUAL_DISK_ACCESS_DETACH = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_DETACH", 0x3) -VIRTUAL_DISK_ACCESS_GET_INFO = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_GET_INFO", 0x4) -VIRTUAL_DISK_ACCESS_CREATE = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_CREATE", 0x5) -VIRTUAL_DISK_ACCESS_METAOPS = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_METAOPS", 0x6) -VIRTUAL_DISK_ACCESS_READ = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_READ", 0x7) -VIRTUAL_DISK_ACCESS_ALL = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_ALL", 0x8) -VIRTUAL_DISK_ACCESS_WRITABLE = EnumValue("_VIRTUAL_DISK_ACCESS_MASK", "VIRTUAL_DISK_ACCESS_WRITABLE", 0x9) -
    [docs]class _VIRTUAL_DISK_ACCESS_MASK(EnumType): - values = [VIRTUAL_DISK_ACCESS_NONE, VIRTUAL_DISK_ACCESS_ATTACH_RO, VIRTUAL_DISK_ACCESS_ATTACH_RW, VIRTUAL_DISK_ACCESS_DETACH, VIRTUAL_DISK_ACCESS_GET_INFO, VIRTUAL_DISK_ACCESS_CREATE, VIRTUAL_DISK_ACCESS_METAOPS, VIRTUAL_DISK_ACCESS_READ, VIRTUAL_DISK_ACCESS_ALL, VIRTUAL_DISK_ACCESS_WRITABLE] - mapper = FlagMapper(*values)
    -VIRTUAL_DISK_ACCESS_MASK = _VIRTUAL_DISK_ACCESS_MASK - - -OPEN_VIRTUAL_DISK_FLAG_NONE = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_NONE", 0x0) -OPEN_VIRTUAL_DISK_FLAG_NO_PARENTS = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_NO_PARENTS", 0x1) -OPEN_VIRTUAL_DISK_FLAG_BLANK_FILE = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_BLANK_FILE", 0x2) -OPEN_VIRTUAL_DISK_FLAG_BOOT_DRIVE = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_BOOT_DRIVE", 0x3) -OPEN_VIRTUAL_DISK_FLAG_CACHED_IO = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_CACHED_IO", 0x4) -OPEN_VIRTUAL_DISK_FLAG_CUSTOM_DIFF_CHAIN = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_CUSTOM_DIFF_CHAIN", 0x5) -OPEN_VIRTUAL_DISK_FLAG_PARENT_CACHED_IO = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_PARENT_CACHED_IO", 0x6) -OPEN_VIRTUAL_DISK_FLAG_VHDSET_FILE_ONLY = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_VHDSET_FILE_ONLY", 0x7) -OPEN_VIRTUAL_DISK_FLAG_IGNORE_RELATIVE_PARENT_LOCATOR = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_IGNORE_RELATIVE_PARENT_LOCATOR", 0x8) -OPEN_VIRTUAL_DISK_FLAG_NO_WRITE_HARDENING = EnumValue("_OPEN_VIRTUAL_DISK_FLAG", "OPEN_VIRTUAL_DISK_FLAG_NO_WRITE_HARDENING", 0x9) -
    [docs]class _OPEN_VIRTUAL_DISK_FLAG(EnumType): - values = [OPEN_VIRTUAL_DISK_FLAG_NONE, OPEN_VIRTUAL_DISK_FLAG_NO_PARENTS, OPEN_VIRTUAL_DISK_FLAG_BLANK_FILE, OPEN_VIRTUAL_DISK_FLAG_BOOT_DRIVE, OPEN_VIRTUAL_DISK_FLAG_CACHED_IO, OPEN_VIRTUAL_DISK_FLAG_CUSTOM_DIFF_CHAIN, OPEN_VIRTUAL_DISK_FLAG_PARENT_CACHED_IO, OPEN_VIRTUAL_DISK_FLAG_VHDSET_FILE_ONLY, OPEN_VIRTUAL_DISK_FLAG_IGNORE_RELATIVE_PARENT_LOCATOR, OPEN_VIRTUAL_DISK_FLAG_NO_WRITE_HARDENING] - mapper = FlagMapper(*values)
    -OPEN_VIRTUAL_DISK_FLAG = _OPEN_VIRTUAL_DISK_FLAG - - -ATTACH_VIRTUAL_DISK_FLAG_NONE = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_NONE", 0x0) -ATTACH_VIRTUAL_DISK_FLAG_READ_ONLY = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_READ_ONLY", 0x1) -ATTACH_VIRTUAL_DISK_FLAG_NO_DRIVE_LETTER = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_NO_DRIVE_LETTER", 0x2) -ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME", 0x3) -ATTACH_VIRTUAL_DISK_FLAG_NO_LOCAL_HOST = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_NO_LOCAL_HOST", 0x4) -ATTACH_VIRTUAL_DISK_FLAG_NO_SECURITY_DESCRIPTOR = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_NO_SECURITY_DESCRIPTOR", 0x5) -ATTACH_VIRTUAL_DISK_FLAG_BYPASS_DEFAULT_ENCRYPTION_POLICY = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_BYPASS_DEFAULT_ENCRYPTION_POLICY", 0x6) -ATTACH_VIRTUAL_DISK_FLAG_NON_PNP = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_NON_PNP", 0x7) -ATTACH_VIRTUAL_DISK_FLAG_RESTRICTED_RANGE = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_RESTRICTED_RANGE", 0x8) -ATTACH_VIRTUAL_DISK_FLAG_SINGLE_PARTITION = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_SINGLE_PARTITION", 0x9) -ATTACH_VIRTUAL_DISK_FLAG_REGISTER_VOLUME = EnumValue("_ATTACH_VIRTUAL_DISK_FLAG", "ATTACH_VIRTUAL_DISK_FLAG_REGISTER_VOLUME", 0xa) -
    [docs]class _ATTACH_VIRTUAL_DISK_FLAG(EnumType): - values = [ATTACH_VIRTUAL_DISK_FLAG_NONE, ATTACH_VIRTUAL_DISK_FLAG_READ_ONLY, ATTACH_VIRTUAL_DISK_FLAG_NO_DRIVE_LETTER, ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME, ATTACH_VIRTUAL_DISK_FLAG_NO_LOCAL_HOST, ATTACH_VIRTUAL_DISK_FLAG_NO_SECURITY_DESCRIPTOR, ATTACH_VIRTUAL_DISK_FLAG_BYPASS_DEFAULT_ENCRYPTION_POLICY, ATTACH_VIRTUAL_DISK_FLAG_NON_PNP, ATTACH_VIRTUAL_DISK_FLAG_RESTRICTED_RANGE, ATTACH_VIRTUAL_DISK_FLAG_SINGLE_PARTITION, ATTACH_VIRTUAL_DISK_FLAG_REGISTER_VOLUME] - mapper = FlagMapper(*values)
    -ATTACH_VIRTUAL_DISK_FLAG = _ATTACH_VIRTUAL_DISK_FLAG - - -OPEN_VIRTUAL_DISK_VERSION_UNSPECIFIED = EnumValue("_OPEN_VIRTUAL_DISK_VERSION", "OPEN_VIRTUAL_DISK_VERSION_UNSPECIFIED", 0x0) -OPEN_VIRTUAL_DISK_VERSION_1 = EnumValue("_OPEN_VIRTUAL_DISK_VERSION", "OPEN_VIRTUAL_DISK_VERSION_1", 0x1) -OPEN_VIRTUAL_DISK_VERSION_2 = EnumValue("_OPEN_VIRTUAL_DISK_VERSION", "OPEN_VIRTUAL_DISK_VERSION_2", 0x2) -OPEN_VIRTUAL_DISK_VERSION_3 = EnumValue("_OPEN_VIRTUAL_DISK_VERSION", "OPEN_VIRTUAL_DISK_VERSION_3", 0x3) -
    [docs]class _OPEN_VIRTUAL_DISK_VERSION(EnumType): - values = [OPEN_VIRTUAL_DISK_VERSION_UNSPECIFIED, OPEN_VIRTUAL_DISK_VERSION_1, OPEN_VIRTUAL_DISK_VERSION_2, OPEN_VIRTUAL_DISK_VERSION_3] - mapper = FlagMapper(*values)
    -OPEN_VIRTUAL_DISK_VERSION = _OPEN_VIRTUAL_DISK_VERSION - - -ATTACH_VIRTUAL_DISK_VERSION_UNSPECIFIED = EnumValue("_ATTACH_VIRTUAL_DISK_VERSION", "ATTACH_VIRTUAL_DISK_VERSION_UNSPECIFIED", 0x0) -ATTACH_VIRTUAL_DISK_VERSION_1 = EnumValue("_ATTACH_VIRTUAL_DISK_VERSION", "ATTACH_VIRTUAL_DISK_VERSION_1", 0x1) -ATTACH_VIRTUAL_DISK_VERSION_2 = EnumValue("_ATTACH_VIRTUAL_DISK_VERSION", "ATTACH_VIRTUAL_DISK_VERSION_2", 0x2) -
    [docs]class _ATTACH_VIRTUAL_DISK_VERSION(EnumType): - values = [ATTACH_VIRTUAL_DISK_VERSION_UNSPECIFIED, ATTACH_VIRTUAL_DISK_VERSION_1, ATTACH_VIRTUAL_DISK_VERSION_2] - mapper = FlagMapper(*values)
    -ATTACH_VIRTUAL_DISK_VERSION = _ATTACH_VIRTUAL_DISK_VERSION - - -
    [docs]class _VIRTUAL_STORAGE_TYPE(Structure): - _fields_ = [ - ("DeviceId", ULONG), - ("VendorId", GUID), - ]
    -VIRTUAL_STORAGE_TYPE = _VIRTUAL_STORAGE_TYPE -PVIRTUAL_STORAGE_TYPE = POINTER(_VIRTUAL_STORAGE_TYPE) - -class _ANON__ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_1(Structure): - _fields_ = [ - ("RWDepth", ULONG), - ] - - -class _ANON__ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_2(Structure): - _fields_ = [ - ("GetInfoOnly", BOOL), - ("ReadOnly", BOOL), - ("ResiliencyGuid", GUID), - ] - - -class _ANON__ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_3(Structure): - _fields_ = [ - ("GetInfoOnly", BOOL), - ("ReadOnly", BOOL), - ("ResiliencyGuid", GUID), - ("SnapshotId", GUID), - ] - -class _ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1(Union): - _anonymous_ = ("Version1","Version2","Version3") - _fields_ = [ - ("Version1", _ANON__ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_1), - ("Version2", _ANON__ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_2), - ("Version3", _ANON__ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_3), - ] - -
    [docs]class _OPEN_VIRTUAL_DISK_PARAMETERS(Structure): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("Version", OPEN_VIRTUAL_DISK_VERSION), - ("anon_01", _ANON__OPEN_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1), - ]
    -POPEN_VIRTUAL_DISK_PARAMETERS = POINTER(_OPEN_VIRTUAL_DISK_PARAMETERS) -OPEN_VIRTUAL_DISK_PARAMETERS = _OPEN_VIRTUAL_DISK_PARAMETERS - -class _ANON__ANON__ATTACH_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_1(Structure): - _fields_ = [ - ("Reserved", ULONG), - ] - - -class _ANON__ANON__ATTACH_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_2(Structure): - _fields_ = [ - ("RestrictedOffset", ULONGLONG), - ("RestrictedLength", ULONGLONG), - ] - -class _ANON__ATTACH_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1(Union): - _anonymous_ = ("Version1","Version2") - _fields_ = [ - ("Version1", _ANON__ANON__ATTACH_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_1), - ("Version2", _ANON__ANON__ATTACH_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1_SUB_STRUCTURE_2), - ] - -
    [docs]class _ATTACH_VIRTUAL_DISK_PARAMETERS(Structure): - _anonymous_ = ("anon_01",) - _fields_ = [ - ("Version", ATTACH_VIRTUAL_DISK_VERSION), - ("anon_01", _ANON__ATTACH_VIRTUAL_DISK_PARAMETERS_SUB_UNION_1), - ]
    -ATTACH_VIRTUAL_DISK_PARAMETERS = _ATTACH_VIRTUAL_DISK_PARAMETERS -PATTACH_VIRTUAL_DISK_PARAMETERS = POINTER(_ATTACH_VIRTUAL_DISK_PARAMETERS) - -
    [docs]class _TRACE_PROVIDER_INFO(Structure): - _fields_ = [ - ("ProviderGuid", GUID), - ("SchemaSource", ULONG), - ("ProviderNameOffset", ULONG), - ]
    -TRACE_PROVIDER_INFO = _TRACE_PROVIDER_INFO - -
    [docs]class _PROVIDER_ENUMERATION_INFO(Structure): - _fields_ = [ - ("NumberOfProviders", ULONG), - ("Reserved", ULONG), - ("TraceProviderInfoArray", TRACE_PROVIDER_INFO * (ANYSIZE_ARRAY)), - ]
    -PPROVIDER_ENUMERATION_INFO = POINTER(_PROVIDER_ENUMERATION_INFO) -PROVIDER_ENUMERATION_INFO = _PROVIDER_ENUMERATION_INFO - -CALLFRAME_COPY_NESTED = EnumValue("_CALLFRAME_COPY", "CALLFRAME_COPY_NESTED", 0x1) -CALLFRAME_COPY_INDEPENDENT = EnumValue("_CALLFRAME_COPY", "CALLFRAME_COPY_INDEPENDENT", 0x2) -
    [docs]class _CALLFRAME_COPY(EnumType): - values = [CALLFRAME_COPY_NESTED, CALLFRAME_COPY_INDEPENDENT] - mapper = FlagMapper(*values)
    -CALLFRAME_COPY = _CALLFRAME_COPY - - -MSHLFLAGS_NORMAL = EnumValue("tagMSHLFLAGS", "MSHLFLAGS_NORMAL", 0x0) -MSHLFLAGS_TABLESTRONG = EnumValue("tagMSHLFLAGS", "MSHLFLAGS_TABLESTRONG", 0x1) -MSHLFLAGS_TABLEWEAK = EnumValue("tagMSHLFLAGS", "MSHLFLAGS_TABLEWEAK", 0x2) -MSHLFLAGS_NOPING = EnumValue("tagMSHLFLAGS", "MSHLFLAGS_NOPING", 0x4) -
    [docs]class tagMSHLFLAGS(EnumType): - values = [MSHLFLAGS_NORMAL, MSHLFLAGS_TABLESTRONG, MSHLFLAGS_TABLEWEAK, MSHLFLAGS_NOPING] - mapper = FlagMapper(*values)
    -MSHLFLAGS = tagMSHLFLAGS - - -CALLFRAME_WALK_IN = EnumValue("tagCALLFRAME_WALK", "CALLFRAME_WALK_IN", 0x1) -CALLFRAME_WALK_INOUT = EnumValue("tagCALLFRAME_WALK", "CALLFRAME_WALK_INOUT", 0x2) -CALLFRAME_WALK_OUT = EnumValue("tagCALLFRAME_WALK", "CALLFRAME_WALK_OUT", 0x4) -
    [docs]class tagCALLFRAME_WALK(EnumType): - values = [CALLFRAME_WALK_IN, CALLFRAME_WALK_INOUT, CALLFRAME_WALK_OUT] - mapper = FlagMapper(*values)
    -CALLFRAME_WALK = tagCALLFRAME_WALK - - -SD_LAUNCHPERMISSIONS = EnumValue("tagCOMSD", "SD_LAUNCHPERMISSIONS", 0x0) -SD_ACCESSPERMISSIONS = EnumValue("tagCOMSD", "SD_ACCESSPERMISSIONS", 0x1) -SD_LAUNCHRESTRICTIONS = EnumValue("tagCOMSD", "SD_LAUNCHRESTRICTIONS", 0x2) -SD_ACCESSRESTRICTIONS = EnumValue("tagCOMSD", "SD_ACCESSRESTRICTIONS", 0x3) -
    [docs]class tagCOMSD(EnumType): - values = [SD_LAUNCHPERMISSIONS, SD_ACCESSPERMISSIONS, SD_LAUNCHRESTRICTIONS, SD_ACCESSRESTRICTIONS] - mapper = FlagMapper(*values)
    -COMSD = tagCOMSD - - -
    [docs]class tagMULTI_QI(Structure): - _fields_ = [ - ("pIID", POINTER(IID)), - ("pItf", POINTER(PVOID)), - ("hr", HRESULT), - ]
    -MULTI_QI = tagMULTI_QI - -
    [docs]class _COAUTHIDENTITY(Structure): - _fields_ = [ - ("User", POINTER(USHORT)), - ("UserLength", ULONG), - ("Domain", POINTER(USHORT)), - ("DomainLength", ULONG), - ("Password", POINTER(USHORT)), - ("PasswordLength", ULONG), - ("Flags", ULONG), - ]
    -COAUTHIDENTITY = _COAUTHIDENTITY - -
    [docs]class _COAUTHINFO(Structure): - _fields_ = [ - ("dwAuthnSvc", DWORD), - ("dwAuthzSvc", DWORD), - ("pwszServerPrincName", LPWSTR), - ("dwAuthnLevel", DWORD), - ("dwImpersonationLevel", DWORD), - ("pAuthIdentityData", POINTER(COAUTHIDENTITY)), - ("dwCapabilities", DWORD), - ]
    -COAUTHINFO = _COAUTHINFO - -
    [docs]class _COSERVERINFO(Structure): - _fields_ = [ - ("dwReserved1", DWORD), - ("pwszName", LPWSTR), - ("pAuthInfo", POINTER(COAUTHINFO)), - ("dwReserved2", DWORD), - ]
    -COSERVERINFO = _COSERVERINFO - -
    [docs]class _CALLFRAMEPARAMINFO(Structure): - _fields_ = [ - ("fIn", BOOLEAN), - ("fOut", BOOLEAN), - ("stackOffset", ULONG), - ("cbParam", ULONG), - ]
    -CALLFRAMEPARAMINFO = _CALLFRAMEPARAMINFO - -
    [docs]class _CALLFRAMEINFO(Structure): - _fields_ = [ - ("iMethod", ULONG), - ("fHasInValues", BOOL), - ("fHasInOutValues", BOOL), - ("fHasOutValues", BOOL), - ("fDerivesFromIDispatch", BOOL), - ("cInInterfacesMax", LONG), - ("cInOutInterfacesMax", LONG), - ("cOutInterfacesMax", LONG), - ("cTopLevelInInterfaces", LONG), - ("iid", IID), - ("cMethod", ULONG), - ("cParams", ULONG), - ]
    -CALLFRAMEINFO = _CALLFRAMEINFO - -
    [docs]class _CALLFRAME_MARSHALCONTEXT(Structure): - _fields_ = [ - ("fIn", BOOLEAN), - ("dwDestContext", DWORD), - ("pvDestContext", LPVOID), - ("mshlmgr", POINTER(PVOID)), - ("guidTransferSyntax", GUID), - ]
    -CALLFRAME_MARSHALCONTEXT = _CALLFRAME_MARSHALCONTEXT - -
    [docs]class tagSAFEARRAYBOUND(Structure): - _fields_ = [ - ("cElements", ULONG), - ("lLbound", LONG), - ]
    -SAFEARRAYBOUND = tagSAFEARRAYBOUND -LPSAFEARRAYBOUND = POINTER(tagSAFEARRAYBOUND) - -
    [docs]class tagSAFEARRAY(Structure): - _fields_ = [ - ("cDims", USHORT), - ("fFeatures", USHORT), - ("cbElements", ULONG), - ("cLocks", ULONG), - ("pvData", PVOID), - ("rgsabound", SAFEARRAYBOUND * (1)), - ]
    -SAFEARRAY = tagSAFEARRAY - -
    [docs]class __tagBRECORD(Structure): - _fields_ = [ - ("pvRecord", PVOID), - ("pRecInfo", PVOID), - ]
    -_tagBRECORD = __tagBRECORD - -
    [docs]class _ANON_TMP_variant_sub_union(Union): - _fields_ = [ - ("llVal", LONGLONG), - ("lVal", LONG), - ("bVal", BYTE), - ("iVal", SHORT), - ("fltVal", FLOAT), - ("dblVal", DOUBLE), - ("boolVal", VARIANT_BOOL), - ("scode", SCODE), - ("bstrVal", BSTR), - ("punkVal", PVOID), - ("pdispVal", PVOID), - ("parray", POINTER(SAFEARRAY)), - ("pbVal", POINTER(BYTE)), - ("piVal", POINTER(SHORT)), - ("plVal", POINTER(LONG)), - ("pllVal", POINTER(LONGLONG)), - ("pfltVal", POINTER(FLOAT)), - ("pdblVal", POINTER(DOUBLE)), - ("pboolVal", POINTER(VARIANT_BOOL)), - ("pscode", POINTER(SCODE)), - ("pbstrVal", POINTER(BSTR)), - ("byref", PVOID), - ("cVal", CHAR), - ("uiVal", USHORT), - ("ulVal", ULONG), - ("ullVal", ULONGLONG), - ("intVal", INT), - ("uintVal", UINT), - ("pcVal", POINTER(CHAR)), - ("puiVal", POINTER(USHORT)), - ("pulVal", POINTER(ULONG)), - ("pullVal", POINTER(ULONGLONG)), - ("pintVal", POINTER(INT)), - ("puintVal", POINTER(UINT)), - ("_VARIANT_NAME_4", _tagBRECORD), - ]
    - - -
    [docs]class __tagVARIANT(Structure): - _anonymous_ = ("_VARIANT_NAME_3",) - _fields_ = [ - ("vt", VARTYPE), - ("wReserved1", WORD), - ("wReserved2", WORD), - ("wReserved3", WORD), - ("_VARIANT_NAME_3", _ANON_TMP_variant_sub_union), - ]
    -LPVARIANTARG = POINTER(__tagVARIANT) -VARIANTARG = __tagVARIANT -VARIANT = __tagVARIANT -LPVARIANT = POINTER(__tagVARIANT) -_tagVARIANT = __tagVARIANT - SystemBasicInformation = EnumValue("_SYSTEM_INFORMATION_CLASS", "SystemBasicInformation", 0x0) SystemProcessorInformation = EnumValue("_SYSTEM_INFORMATION_CLASS", "SystemProcessorInformation", 0x1) SystemPerformanceInformation = EnumValue("_SYSTEM_INFORMATION_CLASS", "SystemPerformanceInformation", 0x2) @@ -3562,7 +2296,7 @@ SystemMemoryListInformation = EnumValue("_SYSTEM_INFORMATION_CLASS", "SystemMemoryListInformation", 0x50) SystemFileCacheInformationEx = EnumValue("_SYSTEM_INFORMATION_CLASS", "SystemFileCacheInformationEx", 0x51) MaxSystemInfoClass = EnumValue("_SYSTEM_INFORMATION_CLASS", "MaxSystemInfoClass", 0x52) -
    [docs]class _SYSTEM_INFORMATION_CLASS(EnumType): +
    [docs]class _SYSTEM_INFORMATION_CLASS(EnumType): values = [SystemBasicInformation, SystemProcessorInformation, SystemPerformanceInformation, SystemTimeOfDayInformation, SystemPathInformation, SystemProcessInformation, SystemCallCountInformation, SystemDeviceInformation, SystemProcessorPerformanceInformation, SystemFlagsInformation, SystemCallTimeInformation, SystemModuleInformation, SystemLocksInformation, SystemStackTraceInformation, SystemPagedPoolInformation, SystemNonPagedPoolInformation, SystemHandleInformation, SystemObjectInformation, SystemPageFileInformation, SystemVdmInstemulInformation, SystemVdmBopInformation, SystemFileCacheInformation, SystemPoolTagInformation, SystemInterruptInformation, SystemDpcBehaviorInformation, SystemFullMemoryInformation, SystemLoadGdiDriverInformation, SystemUnloadGdiDriverInformation, SystemTimeAdjustmentInformation, SystemSummaryMemoryInformation, SystemMirrorMemoryInformation, SystemPerformanceTraceInformation, SystemObsolete0, SystemExceptionInformation, SystemCrashDumpStateInformation, SystemKernelDebuggerInformation, SystemContextSwitchInformation, SystemRegistryQuotaInformation, SystemExtendServiceTableInformation, SystemPrioritySeperation, SystemVerifierAddDriverInformation, SystemVerifierRemoveDriverInformation, SystemProcessorIdleInformation, SystemLegacyDriverInformation, SystemCurrentTimeZoneInformation, SystemLookasideInformation, SystemTimeSlipNotification, SystemSessionCreate, SystemSessionDetach, SystemSessionInformation, SystemRangeStartInformation, SystemVerifierInformation, SystemVerifierThunkExtend, SystemSessionProcessInformation, SystemLoadGdiDriverInSystemSpace, SystemNumaProcessorMap, SystemPrefetcherInformation, SystemExtendedProcessInformation, SystemRecommendedSharedDataAlignment, SystemComPlusPackage, SystemNumaAvailableMemory, SystemProcessorPowerInformation, SystemEmulationBasicInformation, SystemEmulationProcessorInformation, SystemExtendedHandleInformation, SystemLostDelayedWriteInformation, SystemBigPoolInformation, SystemSessionPoolTagInformation, SystemSessionMappedViewInformation, SystemHotpatchInformation, SystemObjectSecurityMode, SystemWatchdogTimerHandler, SystemWatchdogTimerInformation, SystemLogicalProcessorInformation, SystemWow64SharedInformation, SystemRegisterFirmwareTableInformationHandler, SystemFirmwareTableInformation, SystemModuleInformationEx, SystemVerifierTriageInformation, SystemSuperfetchInformation, SystemMemoryListInformation, SystemFileCacheInformationEx, MaxSystemInfoClass] mapper = FlagMapper(*values)
    SYSTEM_INFORMATION_CLASS = _SYSTEM_INFORMATION_CLASS @@ -3663,7 +2397,7 @@ WinCapabilitySharedUserCertificatesSid = EnumValue("_WELL_KNOWN_SID_TYPE", "WinCapabilitySharedUserCertificatesSid", 0x5c) WinCapabilityEnterpriseAuthenticationSid = EnumValue("_WELL_KNOWN_SID_TYPE", "WinCapabilityEnterpriseAuthenticationSid", 0x5d) WinCapabilityRemovableStorageSid = EnumValue("_WELL_KNOWN_SID_TYPE", "WinCapabilityRemovableStorageSid", 0x5e) -
    [docs]class _WELL_KNOWN_SID_TYPE(EnumType): +
    [docs]class _WELL_KNOWN_SID_TYPE(EnumType): values = [WinNullSid, WinWorldSid, WinLocalSid, WinCreatorOwnerSid, WinCreatorGroupSid, WinCreatorOwnerServerSid, WinCreatorGroupServerSid, WinNtAuthoritySid, WinDialupSid, WinNetworkSid, WinBatchSid, WinInteractiveSid, WinServiceSid, WinAnonymousSid, WinProxySid, WinEnterpriseControllersSid, WinSelfSid, WinAuthenticatedUserSid, WinRestrictedCodeSid, WinTerminalServerSid, WinRemoteLogonIdSid, WinLogonIdsSid, WinLocalSystemSid, WinLocalServiceSid, WinNetworkServiceSid, WinBuiltinDomainSid, WinBuiltinAdministratorsSid, WinBuiltinUsersSid, WinBuiltinGuestsSid, WinBuiltinPowerUsersSid, WinBuiltinAccountOperatorsSid, WinBuiltinSystemOperatorsSid, WinBuiltinPrintOperatorsSid, WinBuiltinBackupOperatorsSid, WinBuiltinReplicatorSid, WinBuiltinPreWindows2000CompatibleAccessSid, WinBuiltinRemoteDesktopUsersSid, WinBuiltinNetworkConfigurationOperatorsSid, WinAccountAdministratorSid, WinAccountGuestSid, WinAccountKrbtgtSid, WinAccountDomainAdminsSid, WinAccountDomainUsersSid, WinAccountDomainGuestsSid, WinAccountComputersSid, WinAccountControllersSid, WinAccountCertAdminsSid, WinAccountSchemaAdminsSid, WinAccountEnterpriseAdminsSid, WinAccountPolicyAdminsSid, WinAccountRasAndIasServersSid, WinNTLMAuthenticationSid, WinDigestAuthenticationSid, WinSChannelAuthenticationSid, WinThisOrganizationSid, WinOtherOrganizationSid, WinBuiltinIncomingForestTrustBuildersSid, WinBuiltinPerfMonitoringUsersSid, WinBuiltinPerfLoggingUsersSid, WinBuiltinAuthorizationAccessSid, WinBuiltinTerminalServerLicenseServersSid, WinBuiltinDCOMUsersSid, WinBuiltinIUsersSid, WinIUserSid, WinBuiltinCryptoOperatorsSid, WinUntrustedLabelSid, WinLowLabelSid, WinMediumLabelSid, WinHighLabelSid, WinSystemLabelSid, WinWriteRestrictedCodeSid, WinCreatorOwnerRightsSid, WinCacheablePrincipalsGroupSid, WinNonCacheablePrincipalsGroupSid, WinEnterpriseReadonlyControllersSid, WinAccountReadonlyControllersSid, WinBuiltinEventLogReadersGroup, WinNewEnterpriseReadonlyControllersSid, WinBuiltinCertSvcDComAccessGroup, WinMediumPlusLabelSid, WinLocalLogonSid, WinConsoleLogonSid, WinThisOrganizationCertificateSid, WinApplicationPackageAuthoritySid, WinBuiltinAnyPackageSid, WinCapabilityInternetClientSid, WinCapabilityInternetClientServerSid, WinCapabilityPrivateNetworkClientServerSid, WinCapabilityPicturesLibrarySid, WinCapabilityVideosLibrarySid, WinCapabilityMusicLibrarySid, WinCapabilityDocumentsLibrarySid, WinCapabilitySharedUserCertificatesSid, WinCapabilityEnterpriseAuthenticationSid, WinCapabilityRemovableStorageSid] mapper = FlagMapper(*values)
    WELL_KNOWN_SID_TYPE = _WELL_KNOWN_SID_TYPE @@ -3752,7 +2486,7 @@ ProcessWin32kSyscallFilterInformation = EnumValue("_PROCESSINFOCLASS", "ProcessWin32kSyscallFilterInformation", 0x4f) ProcessEnergyTrackingState = EnumValue("_PROCESSINFOCLASS", "ProcessEnergyTrackingState", 0x52) MaxProcessInfoClass = EnumValue("_PROCESSINFOCLASS", "MaxProcessInfoClass", 0x53) -
    [docs]class _PROCESSINFOCLASS(EnumType): +
    [docs]class _PROCESSINFOCLASS(EnumType): values = [ProcessBasicInformation, ProcessQuotaLimits, ProcessIoCounters, ProcessVmCounters, ProcessTimes, ProcessBasePriority, ProcessRaisePriority, ProcessDebugPort, ProcessExceptionPort, ProcessAccessToken, ProcessLdtInformation, ProcessLdtSize, ProcessDefaultHardErrorMode, ProcessIoPortHandlers, ProcessPooledUsageAndLimits, ProcessWorkingSetWatch, ProcessUserModeIOPL, ProcessEnableAlignmentFaultFixup, ProcessPriorityClass, ProcessWx86Information, ProcessHandleCount, ProcessAffinityMask, ProcessPriorityBoost, ProcessDeviceMap, ProcessSessionInformation, ProcessForegroundInformation, ProcessWow64Information, ProcessImageFileName, ProcessLUIDDeviceMapsEnabled, ProcessBreakOnTermination, ProcessDebugObjectHandle, ProcessDebugFlags, ProcessHandleTracing, ProcessIoPriority, ProcessExecuteFlags, ProcessTlsInformation, ProcessCookie, ProcessImageInformation, ProcessCycleTime, ProcessPagePriority, ProcessInstrumentationCallback, ProcessThreadStackAllocation, ProcessWorkingSetWatchEx, ProcessImageFileNameWin32, ProcessImageFileMapping, ProcessAffinityUpdateMode, ProcessMemoryAllocationMode, ProcessGroupInformation, ProcessTokenVirtualizationEnabled, ProcessOwnerInformation, ProcessWindowInformation, ProcessHandleInformation, ProcessMitigationPolicy, ProcessDynamicFunctionTableInformation, ProcessHandleCheckingMode, ProcessKeepAliveCount, ProcessRevokeFileHandles, ProcessWorkingSetControl, ProcessHandleTable, ProcessCheckStackExtentsMode, ProcessCommandLineInformation, ProcessProtectionInformation, ProcessMemoryExhaustion, ProcessFaultInformation, ProcessTelemetryIdInformation, ProcessCommitReleaseInformation, ProcessReserved1Information, ProcessReserved2Information, ProcessSubsystemProcess, ProcessInPrivate, ProcessRaiseUMExceptionOnInvalidHandleClose, ProcessSubsystemInformation, ProcessWin32kSyscallFilterInformation, ProcessEnergyTrackingState, MaxProcessInfoClass] mapper = FlagMapper(*values)
    PROCESSINFOCLASS = _PROCESSINFOCLASS @@ -3763,7 +2497,7 @@ MemorySectionName = EnumValue("_MEMORY_INFORMATION_CLASS", "MemorySectionName", 0x2) MemoryBasicVlmInformation = EnumValue("_MEMORY_INFORMATION_CLASS", "MemoryBasicVlmInformation", 0x3) MemoryWorkingSetListEx = EnumValue("_MEMORY_INFORMATION_CLASS", "MemoryWorkingSetListEx", 0x4) -
    [docs]class _MEMORY_INFORMATION_CLASS(EnumType): +
    [docs]class _MEMORY_INFORMATION_CLASS(EnumType): values = [MemoryBasicInformation, MemoryWorkingSetList, MemorySectionName, MemoryBasicVlmInformation, MemoryWorkingSetListEx] mapper = FlagMapper(*values)
    MEMORY_INFORMATION_CLASS = _MEMORY_INFORMATION_CLASS @@ -3787,7 +2521,7 @@ ThreadSetTlsArrayAddress = EnumValue("_THREAD_INFORMATION_CLASS", "ThreadSetTlsArrayAddress", 0xf) ThreadIsIoPending = EnumValue("_THREAD_INFORMATION_CLASS", "ThreadIsIoPending", 0x10) ThreadHideFromDebugger = EnumValue("_THREAD_INFORMATION_CLASS", "ThreadHideFromDebugger", 0x11) -
    [docs]class _THREAD_INFORMATION_CLASS(EnumType): +
    [docs]class _THREAD_INFORMATION_CLASS(EnumType): values = [ThreadBasicInformation, ThreadTimes, ThreadPriority, ThreadBasePriority, ThreadAffinityMask, ThreadImpersonationToken, ThreadDescriptorTableEntry, ThreadEnableAlignmentFaultFixup, ThreadEventPair, ThreadQuerySetWin32StartAddress, ThreadZeroTlsCell, ThreadPerformanceCount, ThreadAmILastThread, ThreadIdealProcessor, ThreadPriorityBoost, ThreadSetTlsArrayAddress, ThreadIsIoPending, ThreadHideFromDebugger] mapper = FlagMapper(*values)
    THREAD_INFORMATION_CLASS = _THREAD_INFORMATION_CLASS @@ -3846,7 +2580,7 @@ VT_ILLEGAL = EnumValue("_VARENUM", "VT_ILLEGAL", 0xffff) VT_ILLEGALMASKED = EnumValue("_VARENUM", "VT_ILLEGALMASKED", 0xfff) VT_TYPEMASK = EnumValue("_VARENUM", "VT_TYPEMASK", 0xfff) -
    [docs]class _VARENUM(EnumType): +
    [docs]class _VARENUM(EnumType): values = [VT_EMPTY, VT_NULL, VT_I2, VT_I4, VT_R4, VT_R8, VT_CY, VT_DATE, VT_BSTR, VT_DISPATCH, VT_ERROR, VT_BOOL, VT_VARIANT, VT_UNKNOWN, VT_DECIMAL, VT_I1, VT_UI1, VT_UI2, VT_UI4, VT_I8, VT_UI8, VT_INT, VT_UINT, VT_VOID, VT_HRESULT, VT_PTR, VT_SAFEARRAY, VT_CARRAY, VT_USERDEFINED, VT_LPSTR, VT_LPWSTR, VT_RECORD, VT_INT_PTR, VT_UINT_PTR, VT_FILETIME, VT_BLOB, VT_STREAM, VT_STORAGE, VT_STREAMED_OBJECT, VT_STORED_OBJECT, VT_BLOB_OBJECT, VT_CF, VT_CLSID, VT_VERSIONED_STREAM, VT_BSTR_BLOB, VT_VECTOR, VT_ARRAY, VT_BYREF, VT_RESERVED, VT_ILLEGAL, VT_ILLEGALMASKED, VT_TYPEMASK] mapper = FlagMapper(*values)
    VARENUM = _VARENUM @@ -3855,7 +2589,7 @@ UDP_TABLE_BASIC = EnumValue("_UDP_TABLE_CLASS", "UDP_TABLE_BASIC", 0x0) UDP_TABLE_OWNER_PID = EnumValue("_UDP_TABLE_CLASS", "UDP_TABLE_OWNER_PID", 0x1) UDP_TABLE_OWNER_MODULE = EnumValue("_UDP_TABLE_CLASS", "UDP_TABLE_OWNER_MODULE", 0x2) -
    [docs]class _UDP_TABLE_CLASS(EnumType): +
    [docs]class _UDP_TABLE_CLASS(EnumType): values = [UDP_TABLE_BASIC, UDP_TABLE_OWNER_PID, UDP_TABLE_OWNER_MODULE] mapper = FlagMapper(*values)
    UDP_TABLE_CLASS = _UDP_TABLE_CLASS @@ -3864,7 +2598,7 @@ NET_FW_RULE_DIR_IN = EnumValue("NET_FW_RULE_DIRECTION_", "NET_FW_RULE_DIR_IN", 0x1) NET_FW_RULE_DIR_OUT = EnumValue("NET_FW_RULE_DIRECTION_", "NET_FW_RULE_DIR_OUT", 0x2) NET_FW_RULE_DIR_MAX = EnumValue("NET_FW_RULE_DIRECTION_", "NET_FW_RULE_DIR_MAX", 0x3) -
    [docs]class NET_FW_RULE_DIRECTION_(EnumType): +
    [docs]class NET_FW_RULE_DIRECTION_(EnumType): values = [NET_FW_RULE_DIR_IN, NET_FW_RULE_DIR_OUT, NET_FW_RULE_DIR_MAX] mapper = FlagMapper(*values)
    NET_FW_RULE_DIRECTION = NET_FW_RULE_DIRECTION_ @@ -3874,7 +2608,7 @@ NET_FW_PROFILE2_PRIVATE = EnumValue("NET_FW_PROFILE_TYPE2_", "NET_FW_PROFILE2_PRIVATE", 0x2) NET_FW_PROFILE2_PUBLIC = EnumValue("NET_FW_PROFILE_TYPE2_", "NET_FW_PROFILE2_PUBLIC", 0x4) NET_FW_PROFILE2_ALL = EnumValue("NET_FW_PROFILE_TYPE2_", "NET_FW_PROFILE2_ALL", 0x7fffffff) -
    [docs]class NET_FW_PROFILE_TYPE2_(EnumType): +
    [docs]class NET_FW_PROFILE_TYPE2_(EnumType): values = [NET_FW_PROFILE2_DOMAIN, NET_FW_PROFILE2_PRIVATE, NET_FW_PROFILE2_PUBLIC, NET_FW_PROFILE2_ALL] mapper = FlagMapper(*values)
    NET_FW_PROFILE_TYPE2 = NET_FW_PROFILE_TYPE2_ @@ -3882,7 +2616,7 @@ TokenPrimary = EnumValue("tagTOKEN_TYPE", "TokenPrimary", 0x1) TokenImpersonation = EnumValue("tagTOKEN_TYPE", "TokenImpersonation", 0x2) -
    [docs]class tagTOKEN_TYPE(EnumType): +
    [docs]class tagTOKEN_TYPE(EnumType): values = [TokenPrimary, TokenImpersonation] mapper = FlagMapper(*values)
    TOKEN_TYPE = tagTOKEN_TYPE @@ -3900,7 +2634,7 @@ FileFsDriverPathInformation = EnumValue("_FS_INFORMATION_CLASS", "FileFsDriverPathInformation", 0x9) FileFsVolumeFlagsInformation = EnumValue("_FS_INFORMATION_CLASS", "FileFsVolumeFlagsInformation", 0xa) FileFsSectorSizeInformation = EnumValue("_FS_INFORMATION_CLASS", "FileFsSectorSizeInformation", 0xb) -
    [docs]class _FS_INFORMATION_CLASS(EnumType): +
    [docs]class _FS_INFORMATION_CLASS(EnumType): values = [FileFsVolumeInformation, FileFsLabelInformation, FileFsSizeInformation, FileFsDeviceInformation, FileFsAttributeInformation, FileFsControlInformation, FileFsFullSizeInformation, FileFsObjectIdInformation, FileFsDriverPathInformation, FileFsVolumeFlagsInformation, FileFsSectorSizeInformation] mapper = FlagMapper(*values)
    FS_INFORMATION_CLASS = _FS_INFORMATION_CLASS @@ -3910,7 +2644,7 @@ SecurityIdentification = EnumValue("_SECURITY_IMPERSONATION_LEVEL", "SecurityIdentification", 0x1) SecurityImpersonation = EnumValue("_SECURITY_IMPERSONATION_LEVEL", "SecurityImpersonation", 0x2) SecurityDelegation = EnumValue("_SECURITY_IMPERSONATION_LEVEL", "SecurityDelegation", 0x3) -
    [docs]class _SECURITY_IMPERSONATION_LEVEL(EnumType): +
    [docs]class _SECURITY_IMPERSONATION_LEVEL(EnumType): values = [SecurityAnonymous, SecurityIdentification, SecurityImpersonation, SecurityDelegation] mapper = FlagMapper(*values)
    SECURITY_IMPERSONATION_LEVEL = _SECURITY_IMPERSONATION_LEVEL @@ -3925,7 +2659,7 @@ ObjectSessionInformation = EnumValue("_OBJECT_INFORMATION_CLASS", "ObjectSessionInformation", 0x5) ObjectSessionObjectInformation = EnumValue("_OBJECT_INFORMATION_CLASS", "ObjectSessionObjectInformation", 0x6) MaxObjectInfoClass = EnumValue("_OBJECT_INFORMATION_CLASS", "MaxObjectInfoClass", 0x7) -
    [docs]class _OBJECT_INFORMATION_CLASS(EnumType): +
    [docs]class _OBJECT_INFORMATION_CLASS(EnumType): values = [ObjectBasicInformation, ObjectNameInformation, ObjectTypeInformation, ObjectTypesInformation, ObjectHandleFlagInformation, ObjectSessionInformation, ObjectSessionObjectInformation, MaxObjectInfoClass] mapper = FlagMapper(*values)
    OBJECT_INFORMATION_CLASS = _OBJECT_INFORMATION_CLASS @@ -3941,7 +2675,7 @@ SidTypeUnknown = EnumValue("_SID_NAME_USE", "SidTypeUnknown", 0x8) SidTypeComputer = EnumValue("_SID_NAME_USE", "SidTypeComputer", 0x9) SidTypeLabel = EnumValue("_SID_NAME_USE", "SidTypeLabel", 0xa) -
    [docs]class _SID_NAME_USE(EnumType): +
    [docs]class _SID_NAME_USE(EnumType): values = [SidTypeUser, SidTypeGroup, SidTypeDomain, SidTypeAlias, SidTypeWellKnownGroup, SidTypeDeletedAccount, SidTypeInvalid, SidTypeUnknown, SidTypeComputer, SidTypeLabel] mapper = FlagMapper(*values)
    SID_NAME_USE = _SID_NAME_USE @@ -3951,7 +2685,7 @@ NET_FW_ACTION_BLOCK = EnumValue("NET_FW_ACTION_", "NET_FW_ACTION_BLOCK", 0x0) NET_FW_ACTION_ALLOW = EnumValue("NET_FW_ACTION_", "NET_FW_ACTION_ALLOW", 0x1) NET_FW_ACTION_MAX = EnumValue("NET_FW_ACTION_", "NET_FW_ACTION_MAX", 0x2) -
    [docs]class NET_FW_ACTION_(EnumType): +
    [docs]class NET_FW_ACTION_(EnumType): values = [NET_FW_ACTION_BLOCK, NET_FW_ACTION_ALLOW, NET_FW_ACTION_MAX] mapper = FlagMapper(*values)
    NET_FW_ACTION = NET_FW_ACTION_ @@ -3960,7 +2694,7 @@ NET_FW_MODIFY_STATE_OK = EnumValue("NET_FW_MODIFY_STATE_", "NET_FW_MODIFY_STATE_OK", 0x0) NET_FW_MODIFY_STATE_GP_OVERRIDE = EnumValue("NET_FW_MODIFY_STATE_", "NET_FW_MODIFY_STATE_GP_OVERRIDE", 0x1) NET_FW_MODIFY_STATE_INBOUND_BLOCKED = EnumValue("NET_FW_MODIFY_STATE_", "NET_FW_MODIFY_STATE_INBOUND_BLOCKED", 0x2) -
    [docs]class NET_FW_MODIFY_STATE_(EnumType): +
    [docs]class NET_FW_MODIFY_STATE_(EnumType): values = [NET_FW_MODIFY_STATE_OK, NET_FW_MODIFY_STATE_GP_OVERRIDE, NET_FW_MODIFY_STATE_INBOUND_BLOCKED] mapper = FlagMapper(*values)
    NET_FW_MODIFY_STATE = NET_FW_MODIFY_STATE_ @@ -3990,7 +2724,7 @@ CLSCTX_APPCONTAINER = EnumValue("tagCLSCTX", "CLSCTX_APPCONTAINER", 0x400000) CLSCTX_ACTIVATE_AAA_AS_IU = EnumValue("tagCLSCTX", "CLSCTX_ACTIVATE_AAA_AS_IU", 0x800000) CLSCTX_PS_DLL = EnumValue("tagCLSCTX", "CLSCTX_PS_DLL", 0x80000000) -
    [docs]class tagCLSCTX(EnumType): +
    [docs]class tagCLSCTX(EnumType): values = [CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, CLSCTX_LOCAL_SERVER, CLSCTX_INPROC_SERVER16, CLSCTX_REMOTE_SERVER, CLSCTX_INPROC_HANDLER16, CLSCTX_RESERVED1, CLSCTX_RESERVED2, CLSCTX_RESERVED3, CLSCTX_RESERVED4, CLSCTX_NO_CODE_DOWNLOAD, CLSCTX_RESERVED5, CLSCTX_NO_CUSTOM_MARSHAL, CLSCTX_ENABLE_CODE_DOWNLOAD, CLSCTX_NO_FAILURE_LOG, CLSCTX_DISABLE_AAA, CLSCTX_ENABLE_AAA, CLSCTX_FROM_DEFAULT_CONTEXT, CLSCTX_ACTIVATE_32_BIT_SERVER, CLSCTX_ACTIVATE_64_BIT_SERVER, CLSCTX_ENABLE_CLOAKING, CLSCTX_APPCONTAINER, CLSCTX_ACTIVATE_AAA_AS_IU, CLSCTX_PS_DLL] mapper = FlagMapper(*values)
    CLSCTX = tagCLSCTX @@ -4009,7 +2743,7 @@ SE_PROVIDER_DEFINED_OBJECT = EnumValue("_SE_OBJECT_TYPE", "SE_PROVIDER_DEFINED_OBJECT", 0xa) SE_WMIGUID_OBJECT = EnumValue("_SE_OBJECT_TYPE", "SE_WMIGUID_OBJECT", 0xb) SE_REGISTRY_WOW64_32KEY = EnumValue("_SE_OBJECT_TYPE", "SE_REGISTRY_WOW64_32KEY", 0xc) -
    [docs]class _SE_OBJECT_TYPE(EnumType): +
    [docs]class _SE_OBJECT_TYPE(EnumType): values = [SE_UNKNOWN_OBJECT_TYPE, SE_FILE_OBJECT, SE_SERVICE, SE_PRINTER, SE_REGISTRY_KEY, SE_LMSHARE, SE_KERNEL_OBJECT, SE_WINDOW_OBJECT, SE_DS_OBJECT, SE_DS_OBJECT_ALL, SE_PROVIDER_DEFINED_OBJECT, SE_WMIGUID_OBJECT, SE_REGISTRY_WOW64_32KEY] mapper = FlagMapper(*values)
    SE_OBJECT_TYPE = _SE_OBJECT_TYPE @@ -4017,7 +2751,7 @@ ViewShare = EnumValue("_SECTION_INHERIT", "ViewShare", 0x1) ViewUnmap = EnumValue("_SECTION_INHERIT", "ViewUnmap", 0x2) -
    [docs]class _SECTION_INHERIT(EnumType): +
    [docs]class _SECTION_INHERIT(EnumType): values = [ViewShare, ViewUnmap] mapper = FlagMapper(*values)
    SECTION_INHERIT = _SECTION_INHERIT @@ -4027,7 +2761,7 @@ COINIT_MULTITHREADED = EnumValue("tagCOINIT", "COINIT_MULTITHREADED", 0x0) COINIT_DISABLE_OLE1DDE = EnumValue("tagCOINIT", "COINIT_DISABLE_OLE1DDE", 0x4) COINIT_SPEED_OVER_MEMORY = EnumValue("tagCOINIT", "COINIT_SPEED_OVER_MEMORY", 0x8) -
    [docs]class tagCOINIT(EnumType): +
    [docs]class tagCOINIT(EnumType): values = [COINIT_APARTMENTTHREADED, COINIT_MULTITHREADED, COINIT_DISABLE_OLE1DDE, COINIT_SPEED_OVER_MEMORY] mapper = FlagMapper(*values)
    COINIT = tagCOINIT @@ -4042,7 +2776,7 @@ TKIND_ALIAS = EnumValue("tagTYPEKIND", "TKIND_ALIAS", 0x6) TKIND_UNION = EnumValue("tagTYPEKIND", "TKIND_UNION", 0x7) TKIND_MAX = EnumValue("tagTYPEKIND", "TKIND_MAX", 0x8) -
    [docs]class tagTYPEKIND(EnumType): +
    [docs]class tagTYPEKIND(EnumType): values = [TKIND_ENUM, TKIND_RECORD, TKIND_MODULE, TKIND_INTERFACE, TKIND_DISPATCH, TKIND_COCLASS, TKIND_ALIAS, TKIND_UNION, TKIND_MAX] mapper = FlagMapper(*values)
    TYPEKIND = tagTYPEKIND @@ -4056,14 +2790,14 @@ RtlPathTypeRelative = EnumValue("_RTL_PATH_TYPE", "RtlPathTypeRelative", 0x5) RtlPathTypeLocalDevice = EnumValue("_RTL_PATH_TYPE", "RtlPathTypeLocalDevice", 0x6) RtlPathTypeRootLocalDevice = EnumValue("_RTL_PATH_TYPE", "RtlPathTypeRootLocalDevice", 0x7) -
    [docs]class _RTL_PATH_TYPE(EnumType): +
    [docs]class _RTL_PATH_TYPE(EnumType): values = [RtlPathTypeUnknown, RtlPathTypeUncAbsolute, RtlPathTypeDriveAbsolute, RtlPathTypeDriveRelative, RtlPathTypeRooted, RtlPathTypeRelative, RtlPathTypeLocalDevice, RtlPathTypeRootLocalDevice] mapper = FlagMapper(*values)
    RTL_PATH_TYPE = _RTL_PATH_TYPE # Self referencing struct tricks -
    [docs]class _LIST_ENTRY(Structure): pass
    +
    [docs]class _LIST_ENTRY(Structure): pass
    PLIST_ENTRY = POINTER(_LIST_ENTRY) LIST_ENTRY = _LIST_ENTRY PRLIST_ENTRY = POINTER(_LIST_ENTRY) @@ -4072,7 +2806,7 @@ ("Blink", POINTER(_LIST_ENTRY)), ] -
    [docs]class _PEB_LDR_DATA(Structure): +
    [docs]class _PEB_LDR_DATA(Structure): _fields_ = [ ("Reserved1", BYTE * (8)), ("Reserved2", PVOID * (3)), @@ -4094,7 +2828,7 @@ INITIAL_LSA_UNICODE_STRING = _LSA_UNICODE_STRING -
    [docs]class _LSA_UNICODE_STRING(INITIAL_LSA_UNICODE_STRING): +
    [docs]class _LSA_UNICODE_STRING(INITIAL_LSA_UNICODE_STRING): @property def str(self): """The python string of the LSA_UNICODE_STRING object @@ -4119,7 +2853,7 @@ buffer = ctypes.create_string_buffer(size) return cls(size, size, ctypes.cast(buffer, PVOID)) - def __repr__(self): + def __repr__(self): return """<{0} "{1}" at {2}>""".format(type(self).__name__, self.str, hex(id(self))) def __sprint__(self): @@ -4133,7 +2867,7 @@ UNICODE_STRING = _LSA_UNICODE_STRING LSA_UNICODE_STRING = _LSA_UNICODE_STRING PLSA_UNICODE_STRING = POINTER(_LSA_UNICODE_STRING) -
    [docs]class _CURDIR(Structure): +
    [docs]class _CURDIR(Structure): _fields_ = [ ("DosPath", UNICODE_STRING), ("Handle", PVOID), @@ -4141,7 +2875,7 @@ PCURDIR = POINTER(_CURDIR) CURDIR = _CURDIR -
    [docs]class _RTL_DRIVE_LETTER_CURDIR(Structure): +
    [docs]class _RTL_DRIVE_LETTER_CURDIR(Structure): _fields_ = [ ("Flags", WORD), ("Length", WORD), @@ -4151,7 +2885,7 @@ PRTL_DRIVE_LETTER_CURDIR = POINTER(_RTL_DRIVE_LETTER_CURDIR) RTL_DRIVE_LETTER_CURDIR = _RTL_DRIVE_LETTER_CURDIR -
    [docs]class _RTL_USER_PROCESS_PARAMETERS(Structure): +
    [docs]class _RTL_USER_PROCESS_PARAMETERS(Structure): _fields_ = [ ("MaximumLength", ULONG), ("Length", ULONG), @@ -4185,7 +2919,7 @@ PRTL_USER_PROCESS_PARAMETERS = POINTER(_RTL_USER_PROCESS_PARAMETERS) RTL_USER_PROCESS_PARAMETERS = _RTL_USER_PROCESS_PARAMETERS -
    [docs]class _ANON_PEB_SYSTEM_DEPENDENT_02(Union): +
    [docs]class _ANON_PEB_SYSTEM_DEPENDENT_02(Union): _fields_ = [ ("FastPebLockRoutine", PVOID), ("SparePtr1", PVOID), @@ -4193,7 +2927,7 @@ ]
    -
    [docs]class _ANON_PEB_SYSTEM_DEPENDENT_03(Union): +
    [docs]class _ANON_PEB_SYSTEM_DEPENDENT_03(Union): _fields_ = [ ("FastPebUnlockRoutine", PVOID), ("SparePtr2", PVOID), @@ -4201,7 +2935,7 @@ ]
    -
    [docs]class _ANON_PEB_SYSTEM_DEPENDENT_06(Union): +
    [docs]class _ANON_PEB_SYSTEM_DEPENDENT_06(Union): _fields_ = [ ("FreeList", PVOID), ("SparePebPtr0", PVOID), @@ -4209,7 +2943,7 @@ ]
    -
    [docs]class _ANON_PEB_SYSTEM_DEPENDENT_07(Union): +
    [docs]class _ANON_PEB_SYSTEM_DEPENDENT_07(Union): _fields_ = [ ("ReadOnlySharedMemoryHeap", PVOID), ("HotpatchInformation", PVOID), @@ -4217,14 +2951,14 @@ ]
    -
    [docs]class _ANON_PEB_UNION_1(Union): +
    [docs]class _ANON_PEB_UNION_1(Union): _fields_ = [ ("KernelCallbackTable", PVOID), ("UserSharedInfoPtr", PVOID), ]
    -
    [docs]class _ANON_PEB_UNION_2(Union): +
    [docs]class _ANON_PEB_UNION_2(Union): _fields_ = [ ("ImageProcessAffinityMask", PVOID), ("ActiveProcessAffinityMask", PVOID), @@ -4244,7 +2978,7 @@ ("ActiveProcessAffinityMask", PVOID), ] -
    [docs]class _PEB(Structure): +
    [docs]class _PEB(Structure): _anonymous_ = ("_SYSTEM_DEPENDENT_02","_SYSTEM_DEPENDENT_03","anon_01","_SYSTEM_DEPENDENT_06","_SYSTEM_DEPENDENT_07","anon_02") _fields_ = [ ("Reserved1", BYTE * (2)), @@ -4316,7 +3050,7 @@ PPEB = POINTER(_PEB) PEB = _PEB -
    [docs]class _SECURITY_ATTRIBUTES(Structure): +
    [docs]class _SECURITY_ATTRIBUTES(Structure): _fields_ = [ ("nLength", DWORD), ("lpSecurityDescriptor", LPVOID), @@ -4326,7 +3060,7 @@ LPSECURITY_ATTRIBUTES = POINTER(_SECURITY_ATTRIBUTES) PSECURITY_ATTRIBUTES = POINTER(_SECURITY_ATTRIBUTES) -
    [docs]class _SYSTEM_VERIFIER_INFORMATION(Structure): +
    [docs]class _SYSTEM_VERIFIER_INFORMATION(Structure): _fields_ = [ ("NextEntryOffset", ULONG), ("Level", ULONG), @@ -4357,28 +3091,28 @@ PSYSTEM_VERIFIER_INFORMATION = POINTER(_SYSTEM_VERIFIER_INFORMATION) SYSTEM_VERIFIER_INFORMATION = _SYSTEM_VERIFIER_INFORMATION -
    [docs]class _CLIENT_ID(Structure): +
    [docs]class _CLIENT_ID(Structure): _fields_ = [ ("UniqueProcess", HANDLE), ("UniqueThread", HANDLE), ]
    CLIENT_ID = _CLIENT_ID -
    [docs]class _CLIENT_ID64(Structure): +
    [docs]class _CLIENT_ID64(Structure): _fields_ = [ ("UniqueProcess", ULONG64), ("UniqueThread", ULONG64), ]
    CLIENT_ID64 = _CLIENT_ID64 -
    [docs]class _CLIENT_ID32(Structure): +
    [docs]class _CLIENT_ID32(Structure): _fields_ = [ ("UniqueProcess", ULONG), ("UniqueThread", ULONG), ]
    CLIENT_ID32 = _CLIENT_ID32 -
    [docs]class _LDR_DATA_TABLE_ENTRY(Structure): +
    [docs]class _LDR_DATA_TABLE_ENTRY(Structure): _fields_ = [ ("Reserved1", PVOID * (2)), ("InMemoryOrderLinks", LIST_ENTRY), @@ -4395,7 +3129,7 @@ PLDR_DATA_TABLE_ENTRY = POINTER(_LDR_DATA_TABLE_ENTRY) LDR_DATA_TABLE_ENTRY = _LDR_DATA_TABLE_ENTRY -
    [docs]class _IMAGE_FILE_HEADER(Structure): +
    [docs]class _IMAGE_FILE_HEADER(Structure): _fields_ = [ ("Machine", WORD), ("NumberOfSections", WORD), @@ -4408,7 +3142,7 @@ IMAGE_FILE_HEADER = _IMAGE_FILE_HEADER PIMAGE_FILE_HEADER = POINTER(_IMAGE_FILE_HEADER) -
    [docs]class _IMAGE_DATA_DIRECTORY(Structure): +
    [docs]class _IMAGE_DATA_DIRECTORY(Structure): _fields_ = [ ("VirtualAddress", DWORD), ("Size", DWORD), @@ -4416,7 +3150,7 @@ IMAGE_DATA_DIRECTORY = _IMAGE_DATA_DIRECTORY PIMAGE_DATA_DIRECTORY = POINTER(_IMAGE_DATA_DIRECTORY) -
    [docs]class _IMAGE_SECTION_HEADER(Structure): +
    [docs]class _IMAGE_SECTION_HEADER(Structure): _fields_ = [ ("Name", BYTE * (IMAGE_SIZEOF_SHORT_NAME)), ("VirtualSize", DWORD), @@ -4432,7 +3166,7 @@ PIMAGE_SECTION_HEADER = POINTER(_IMAGE_SECTION_HEADER) IMAGE_SECTION_HEADER = _IMAGE_SECTION_HEADER -
    [docs]class _IMAGE_OPTIONAL_HEADER64(Structure): +
    [docs]class _IMAGE_OPTIONAL_HEADER64(Structure): _fields_ = [ ("Magic", WORD), ("MajorLinkerVersion", BYTE), @@ -4468,7 +3202,7 @@ PIMAGE_OPTIONAL_HEADER64 = POINTER(_IMAGE_OPTIONAL_HEADER64) IMAGE_OPTIONAL_HEADER64 = _IMAGE_OPTIONAL_HEADER64 -
    [docs]class _IMAGE_OPTIONAL_HEADER(Structure): +
    [docs]class _IMAGE_OPTIONAL_HEADER(Structure): _fields_ = [ ("Magic", WORD), ("MajorLinkerVersion", BYTE), @@ -4505,7 +3239,7 @@ PIMAGE_OPTIONAL_HEADER32 = POINTER(_IMAGE_OPTIONAL_HEADER) IMAGE_OPTIONAL_HEADER32 = _IMAGE_OPTIONAL_HEADER -
    [docs]class _IMAGE_NT_HEADERS64(Structure): +
    [docs]class _IMAGE_NT_HEADERS64(Structure): _fields_ = [ ("Signature", DWORD), ("FileHeader", IMAGE_FILE_HEADER), @@ -4514,7 +3248,7 @@ PIMAGE_NT_HEADERS64 = POINTER(_IMAGE_NT_HEADERS64) IMAGE_NT_HEADERS64 = _IMAGE_NT_HEADERS64 -
    [docs]class _IMAGE_NT_HEADERS(Structure): +
    [docs]class _IMAGE_NT_HEADERS(Structure): _fields_ = [ ("Signature", DWORD), ("FileHeader", IMAGE_FILE_HEADER), @@ -4523,7 +3257,7 @@ IMAGE_NT_HEADERS32 = _IMAGE_NT_HEADERS PIMAGE_NT_HEADERS32 = POINTER(_IMAGE_NT_HEADERS) -
    [docs]class _IMAGE_IMPORT_DESCRIPTOR(Structure): +
    [docs]class _IMAGE_IMPORT_DESCRIPTOR(Structure): _fields_ = [ ("OriginalFirstThunk", DWORD), ("TimeDateStamp", DWORD), @@ -4534,7 +3268,7 @@ IMAGE_IMPORT_DESCRIPTOR = _IMAGE_IMPORT_DESCRIPTOR PIMAGE_IMPORT_DESCRIPTOR = POINTER(_IMAGE_IMPORT_DESCRIPTOR) -
    [docs]class _IMAGE_IMPORT_BY_NAME(Structure): +
    [docs]class _IMAGE_IMPORT_BY_NAME(Structure): _fields_ = [ ("Hint", WORD), ("Name", BYTE * (1)), @@ -4542,7 +3276,7 @@ PIMAGE_IMPORT_BY_NAME = POINTER(_IMAGE_IMPORT_BY_NAME) IMAGE_IMPORT_BY_NAME = _IMAGE_IMPORT_BY_NAME -
    [docs]class _IMAGE_EXPORT_DIRECTORY(Structure): +
    [docs]class _IMAGE_EXPORT_DIRECTORY(Structure): _fields_ = [ ("Characteristics", DWORD), ("TimeDateStamp", DWORD), @@ -4559,7 +3293,7 @@ IMAGE_EXPORT_DIRECTORY = _IMAGE_EXPORT_DIRECTORY PIMAGE_EXPORT_DIRECTORY = POINTER(_IMAGE_EXPORT_DIRECTORY) -
    [docs]class _IMAGE_BASE_RELOCATION(Structure): +
    [docs]class _IMAGE_BASE_RELOCATION(Structure): _fields_ = [ ("VirtualAddress", DWORD), ("SizeOfBlock", DWORD), @@ -4567,7 +3301,7 @@ PIMAGE_BASE_RELOCATION = POINTER(_IMAGE_BASE_RELOCATION) IMAGE_BASE_RELOCATION = _IMAGE_BASE_RELOCATION -
    [docs]class _MEMORY_BASIC_INFORMATION(Structure): +
    [docs]class _MEMORY_BASIC_INFORMATION(Structure): _fields_ = [ ("BaseAddress", PVOID), ("AllocationBase", PVOID), @@ -4580,7 +3314,7 @@ PMEMORY_BASIC_INFORMATION = POINTER(_MEMORY_BASIC_INFORMATION) MEMORY_BASIC_INFORMATION = _MEMORY_BASIC_INFORMATION -
    [docs]class _THREAD_BASIC_INFORMATION(Structure): +
    [docs]class _THREAD_BASIC_INFORMATION(Structure): _fields_ = [ ("ExitStatus", NTSTATUS), ("TebBaseAddress", PVOID), @@ -4607,7 +3341,7 @@ INITIAL_MEMORY_BASIC_INFORMATION32 = _MEMORY_BASIC_INFORMATION32 -
    [docs]class _MEMORY_BASIC_INFORMATION32(INITIAL_MEMORY_BASIC_INFORMATION32): +
    [docs]class _MEMORY_BASIC_INFORMATION32(INITIAL_MEMORY_BASIC_INFORMATION32): STATE_MAPPER = FlagMapper(MEM_COMMIT, MEM_FREE, MEM_RESERVE) TYPE_MAPPER = FlagMapper(MEM_IMAGE, MEM_MAPPED, MEM_PRIVATE) PROTECT_MAPPER = FlagMapper(PAGE_NOACCESS, PAGE_READONLY, PAGE_READWRITE, @@ -4639,7 +3373,7 @@ # Finally make a chooser somewhere ? return self.PROTECT_MAPPER[raw_protect] - def __repr__(self): + def __repr__(self): return "<MEMORY_BASIC_INFORMATION32 BaseAddress={0:#08x} RegionSize={1:#08x} State={2} Type={3} Protect={4}>".format( self.BaseAddress, self.RegionSize, self.State, self.Type, self.Protect)
    MEMORY_BASIC_INFORMATION32 = _MEMORY_BASIC_INFORMATION32 @@ -4661,7 +3395,7 @@ INITIAL_MEMORY_BASIC_INFORMATION64 = _MEMORY_BASIC_INFORMATION64 -
    [docs]class _MEMORY_BASIC_INFORMATION64(INITIAL_MEMORY_BASIC_INFORMATION64): +
    [docs]class _MEMORY_BASIC_INFORMATION64(INITIAL_MEMORY_BASIC_INFORMATION64): STATE_MAPPER = FlagMapper(MEM_COMMIT, MEM_FREE, MEM_RESERVE) TYPE_MAPPER = FlagMapper(MEM_IMAGE, MEM_MAPPED, MEM_PRIVATE) PROTECT_MAPPER = FlagMapper(PAGE_NOACCESS, PAGE_READONLY, PAGE_READWRITE, @@ -4693,33 +3427,33 @@ # Finally make a chooser somewhere ? return self.PROTECT_MAPPER[raw_protect] - def __repr__(self): + def __repr__(self): return "<MEMORY_BASIC_INFORMATION64 BaseAddress={0:#08x} RegionSize={1:#08x} State={2} Type={3} Protect={4}>".format( self.BaseAddress, self.RegionSize, self.State, self.Type, self.Protect)
    PMEMORY_BASIC_INFORMATION64 = POINTER(_MEMORY_BASIC_INFORMATION64) MEMORY_BASIC_INFORMATION64 = _MEMORY_BASIC_INFORMATION64 -
    [docs]class _PSAPI_WORKING_SET_BLOCK(Union): +
    [docs]class _PSAPI_WORKING_SET_BLOCK(Union): _fields_ = [ ("Flags", PVOID), ]
    PSAPI_WORKING_SET_BLOCK = _PSAPI_WORKING_SET_BLOCK PPSAPI_WORKING_SET_BLOCK = POINTER(_PSAPI_WORKING_SET_BLOCK) -
    [docs]class _PSAPI_WORKING_SET_BLOCK32(Union): +
    [docs]class _PSAPI_WORKING_SET_BLOCK32(Union): _fields_ = [ ("Flags", DWORD), ]
    PSAPI_WORKING_SET_BLOCK32 = _PSAPI_WORKING_SET_BLOCK32 PPSAPI_WORKING_SET_BLOCK32 = POINTER(_PSAPI_WORKING_SET_BLOCK32) -
    [docs]class _PSAPI_WORKING_SET_BLOCK64(Union): +
    [docs]class _PSAPI_WORKING_SET_BLOCK64(Union): _fields_ = [ ("Flags", ULONG64), ]
    PSAPI_WORKING_SET_BLOCK64 = _PSAPI_WORKING_SET_BLOCK64 PPSAPI_WORKING_SET_BLOCK64 = POINTER(_PSAPI_WORKING_SET_BLOCK64) -
    [docs]class _PSAPI_WORKING_SET_INFORMATION(Structure): +
    [docs]class _PSAPI_WORKING_SET_INFORMATION(Structure): _fields_ = [ ("NumberOfEntries", PVOID), ("WorkingSetInfo", PSAPI_WORKING_SET_BLOCK * (1)), @@ -4727,7 +3461,7 @@ PPSAPI_WORKING_SET_INFORMATION = POINTER(_PSAPI_WORKING_SET_INFORMATION) PSAPI_WORKING_SET_INFORMATION = _PSAPI_WORKING_SET_INFORMATION -
    [docs]class _PSAPI_WORKING_SET_INFORMATION32(Structure): +
    [docs]class _PSAPI_WORKING_SET_INFORMATION32(Structure): _fields_ = [ ("NumberOfEntries", DWORD), ("WorkingSetInfo", PSAPI_WORKING_SET_BLOCK32 * (1)), @@ -4735,7 +3469,7 @@ PPSAPI_WORKING_SET_INFORMATION32 = POINTER(_PSAPI_WORKING_SET_INFORMATION32) PSAPI_WORKING_SET_INFORMATION32 = _PSAPI_WORKING_SET_INFORMATION32 -
    [docs]class _PSAPI_WORKING_SET_INFORMATION64(Structure): +
    [docs]class _PSAPI_WORKING_SET_INFORMATION64(Structure): _fields_ = [ ("NumberOfEntries", ULONG64), ("WorkingSetInfo", PSAPI_WORKING_SET_BLOCK64 * (1)), @@ -4743,28 +3477,28 @@ PSAPI_WORKING_SET_INFORMATION64 = _PSAPI_WORKING_SET_INFORMATION64 PPSAPI_WORKING_SET_INFORMATION64 = POINTER(_PSAPI_WORKING_SET_INFORMATION64) -
    [docs]class _PSAPI_WORKING_SET_EX_BLOCK(Union): +
    [docs]class _PSAPI_WORKING_SET_EX_BLOCK(Union): _fields_ = [ ("Flags", PVOID), ]
    PSAPI_WORKING_SET_EX_BLOCK = _PSAPI_WORKING_SET_EX_BLOCK PPSAPI_WORKING_SET_EX_BLOCK = POINTER(_PSAPI_WORKING_SET_EX_BLOCK) -
    [docs]class _PSAPI_WORKING_SET_EX_BLOCK32(Union): +
    [docs]class _PSAPI_WORKING_SET_EX_BLOCK32(Union): _fields_ = [ ("Flags", DWORD), ]
    PPSAPI_WORKING_SET_EX_BLOCK32 = POINTER(_PSAPI_WORKING_SET_EX_BLOCK32) PSAPI_WORKING_SET_EX_BLOCK32 = _PSAPI_WORKING_SET_EX_BLOCK32 -
    [docs]class _PSAPI_WORKING_SET_EX_BLOCK64(Union): +
    [docs]class _PSAPI_WORKING_SET_EX_BLOCK64(Union): _fields_ = [ ("Flags", ULONG64), ]
    PSAPI_WORKING_SET_EX_BLOCK64 = _PSAPI_WORKING_SET_EX_BLOCK64 PPSAPI_WORKING_SET_EX_BLOCK64 = POINTER(_PSAPI_WORKING_SET_EX_BLOCK64) -
    [docs]class _PSAPI_WORKING_SET_EX_INFORMATION(Structure): +
    [docs]class _PSAPI_WORKING_SET_EX_INFORMATION(Structure): _fields_ = [ ("VirtualAddress", PVOID), ("VirtualAttributes", PSAPI_WORKING_SET_EX_BLOCK), @@ -4772,7 +3506,7 @@ PPSAPI_WORKING_SET_EX_INFORMATION = POINTER(_PSAPI_WORKING_SET_EX_INFORMATION) PSAPI_WORKING_SET_EX_INFORMATION = _PSAPI_WORKING_SET_EX_INFORMATION -
    [docs]class _PSAPI_WORKING_SET_EX_INFORMATION32(Structure): +
    [docs]class _PSAPI_WORKING_SET_EX_INFORMATION32(Structure): _fields_ = [ ("VirtualAddress", DWORD), ("VirtualAttributes", PSAPI_WORKING_SET_EX_BLOCK32), @@ -4780,7 +3514,7 @@ PSAPI_WORKING_SET_EX_INFORMATION32 = _PSAPI_WORKING_SET_EX_INFORMATION32 PPSAPI_WORKING_SET_EX_INFORMATION32 = POINTER(_PSAPI_WORKING_SET_EX_INFORMATION32) -
    [docs]class _PSAPI_WORKING_SET_EX_INFORMATION64(Structure): +
    [docs]class _PSAPI_WORKING_SET_EX_INFORMATION64(Structure): _fields_ = [ ("VirtualAddress", ULONG64), ("VirtualAttributes", PSAPI_WORKING_SET_EX_BLOCK64), @@ -4788,7 +3522,7 @@ PPSAPI_WORKING_SET_EX_INFORMATION64 = POINTER(_PSAPI_WORKING_SET_EX_INFORMATION64) PSAPI_WORKING_SET_EX_INFORMATION64 = _PSAPI_WORKING_SET_EX_INFORMATION64 -
    [docs]class _STARTUPINFOA(Structure): +
    [docs]class _STARTUPINFOA(Structure): _fields_ = [ ("cb", DWORD), ("lpReserved", LPSTR), @@ -4812,7 +3546,7 @@ LPSTARTUPINFOA = POINTER(_STARTUPINFOA) STARTUPINFOA = _STARTUPINFOA -
    [docs]class _STARTUPINFOW(Structure): +
    [docs]class _STARTUPINFOW(Structure): _fields_ = [ ("cb", DWORD), ("lpReserved", LPWSTR), @@ -4836,7 +3570,7 @@ STARTUPINFOW = _STARTUPINFOW LPSTARTUPINFOW = POINTER(_STARTUPINFOW) -
    [docs]class _STARTUPINFOEXA(Structure): +
    [docs]class _STARTUPINFOEXA(Structure): _fields_ = [ ("StartupInfo", STARTUPINFOA), ("lpAttributeList", LPPROC_THREAD_ATTRIBUTE_LIST), @@ -4844,7 +3578,7 @@ LPSTARTUPINFOEXA = POINTER(_STARTUPINFOEXA) STARTUPINFOEXA = _STARTUPINFOEXA -
    [docs]class _STARTUPINFOEXW(Structure): +
    [docs]class _STARTUPINFOEXW(Structure): _fields_ = [ ("StartupInfo", STARTUPINFOW), ("lpAttributeList", LPPROC_THREAD_ATTRIBUTE_LIST), @@ -4852,7 +3586,7 @@ STARTUPINFOEXW = _STARTUPINFOEXW LPSTARTUPINFOEXW = POINTER(_STARTUPINFOEXW) -
    [docs]class _PROCESS_INFORMATION(Structure): +
    [docs]class _PROCESS_INFORMATION(Structure): _fields_ = [ ("hProcess", HANDLE), ("hThread", HANDLE), @@ -4863,7 +3597,7 @@ PROCESS_INFORMATION = _PROCESS_INFORMATION PPROCESS_INFORMATION = POINTER(_PROCESS_INFORMATION) -
    [docs]class _FLOATING_SAVE_AREA(Structure): +
    [docs]class _FLOATING_SAVE_AREA(Structure): _fields_ = [ ("ControlWord", DWORD), ("StatusWord", DWORD), @@ -4877,7 +3611,7 @@ ]
    FLOATING_SAVE_AREA = _FLOATING_SAVE_AREA -
    [docs]class _CONTEXT32(Structure): +
    [docs]class _CONTEXT32(Structure): _fields_ = [ ("ContextFlags", DWORD), ("Dr0", DWORD), @@ -4909,7 +3643,7 @@ CONTEXT32 = _CONTEXT32 LPCONTEXT32 = POINTER(_CONTEXT32) -
    [docs]class _WOW64_FLOATING_SAVE_AREA(Structure): +
    [docs]class _WOW64_FLOATING_SAVE_AREA(Structure): _fields_ = [ ("ControlWord", DWORD), ("StatusWord", DWORD), @@ -4923,7 +3657,7 @@ ]
    WOW64_FLOATING_SAVE_AREA = _WOW64_FLOATING_SAVE_AREA -
    [docs]class _WOW64_CONTEXT(Structure): +
    [docs]class _WOW64_CONTEXT(Structure): _fields_ = [ ("ContextFlags", DWORD), ("Dr0", DWORD), @@ -4954,7 +3688,7 @@ PWOW64_CONTEXT = POINTER(_WOW64_CONTEXT) WOW64_CONTEXT = _WOW64_CONTEXT -
    [docs]class _M128A(Structure): +
    [docs]class _M128A(Structure): _fields_ = [ ("Low", ULONGLONG), ("High", LONGLONG), @@ -4962,7 +3696,7 @@ M128A = _M128A PM128A = POINTER(_M128A) -
    [docs]class _XSAVE_FORMAT_64(Structure): +
    [docs]class _XSAVE_FORMAT_64(Structure): _fields_ = [ ("ControlWord", WORD), ("StatusWord", WORD), @@ -4984,7 +3718,7 @@ XSAVE_FORMAT_64 = _XSAVE_FORMAT_64 PXSAVE_FORMAT_64 = POINTER(_XSAVE_FORMAT_64) -
    [docs]class _XSAVE_FORMAT_32(Structure): +
    [docs]class _XSAVE_FORMAT_32(Structure): _fields_ = [ ("ControlWord", WORD), ("StatusWord", WORD), @@ -5008,7 +3742,7 @@ XSAVE_FORMAT_32 = _XSAVE_FORMAT_32 PXSAVE_FORMAT_32 = POINTER(_XSAVE_FORMAT_32) -
    [docs]class _TMP_DUMMYSTRUCTNAME(Structure): +
    [docs]class _TMP_DUMMYSTRUCTNAME(Structure): _fields_ = [ ("Header", M128A * (2)), ("Legacy", M128A * (8)), @@ -5031,14 +3765,14 @@ ]
    TMP_DUMMYSTRUCTNAME = _TMP_DUMMYSTRUCTNAME -
    [docs]class _TMP_CONTEXT64_SUBUNION(Union): +
    [docs]class _TMP_CONTEXT64_SUBUNION(Union): _fields_ = [ ("FltSave", XSAVE_FORMAT_64), ("DUMMYSTRUCTNAME", TMP_DUMMYSTRUCTNAME), ]
    TMP_CONTEXT64_SUBUNION = _TMP_CONTEXT64_SUBUNION -
    [docs]class _CONTEXT64(Structure): +
    [docs]class _CONTEXT64(Structure): _fields_ = [ ("P1Home", DWORD64), ("P2Home", DWORD64), @@ -5091,7 +3825,7 @@ CONTEXT64 = _CONTEXT64 LPCONTEXT64 = POINTER(_CONTEXT64) -
    [docs]class tagPROCESSENTRY32W(Structure): +
    [docs]class tagPROCESSENTRY32W(Structure): _fields_ = [ ("dwSize", DWORD), ("cntUsage", DWORD), @@ -5108,7 +3842,7 @@ LPPROCESSENTRY32W = POINTER(tagPROCESSENTRY32W) PROCESSENTRY32W = tagPROCESSENTRY32W -
    [docs]class tagPROCESSENTRY32(Structure): +
    [docs]class tagPROCESSENTRY32(Structure): _fields_ = [ ("dwSize", DWORD), ("cntUsage", DWORD), @@ -5125,7 +3859,7 @@ PPROCESSENTRY32 = POINTER(tagPROCESSENTRY32) LPPROCESSENTRY32 = POINTER(tagPROCESSENTRY32) -
    [docs]class tagTHREADENTRY32(Structure): +
    [docs]class tagTHREADENTRY32(Structure): _fields_ = [ ("dwSize", DWORD), ("cntUsage", DWORD), @@ -5148,18 +3882,18 @@ PLUID = POINTER(_LUID) _INITIAL_LUID = _LUID -
    [docs]class _LUID(_INITIAL_LUID): - def __int__(self): +
    [docs]class _LUID(_INITIAL_LUID): + def __int__(self): return (self.HighPart << 32) | self.LowPart - def __eq__(self, other): + def __eq__(self, other): return (self.HighPart, self.LowPart) == (other.HighPart, other.LowPart) - def __repr__(self): + def __repr__(self): return "<{0} HighPart={1} LowPart={2}>".format(type(self).__name__, self.HighPart, self.LowPart)
    LUID = _LUID PLUID = POINTER(_LUID) -
    [docs]class _LUID_AND_ATTRIBUTES(Structure): +
    [docs]class _LUID_AND_ATTRIBUTES(Structure): _fields_ = [ ("Luid", LUID), ("Attributes", DWORD), @@ -5167,7 +3901,7 @@ LUID_AND_ATTRIBUTES = _LUID_AND_ATTRIBUTES PLUID_AND_ATTRIBUTES = POINTER(_LUID_AND_ATTRIBUTES) -
    [docs]class _OSVERSIONINFOA(Structure): +
    [docs]class _OSVERSIONINFOA(Structure): _fields_ = [ ("dwOSVersionInfoSize", DWORD), ("dwMajorVersion", DWORD), @@ -5180,7 +3914,7 @@ OSVERSIONINFOA = _OSVERSIONINFOA LPOSVERSIONINFOA = POINTER(_OSVERSIONINFOA) -
    [docs]class _OSVERSIONINFOW(Structure): +
    [docs]class _OSVERSIONINFOW(Structure): _fields_ = [ ("dwOSVersionInfoSize", DWORD), ("dwMajorVersion", DWORD), @@ -5195,7 +3929,7 @@ POSVERSIONINFOW = POINTER(_OSVERSIONINFOW) OSVERSIONINFOW = _OSVERSIONINFOW -
    [docs]class _OSVERSIONINFOEXA(Structure): +
    [docs]class _OSVERSIONINFOEXA(Structure): _fields_ = [ ("dwOSVersionInfoSize", DWORD), ("dwMajorVersion", DWORD), @@ -5213,7 +3947,7 @@ POSVERSIONINFOEXA = POINTER(_OSVERSIONINFOEXA) LPOSVERSIONINFOEXA = POINTER(_OSVERSIONINFOEXA) -
    [docs]class _OSVERSIONINFOEXW(Structure): +
    [docs]class _OSVERSIONINFOEXW(Structure): _fields_ = [ ("dwOSVersionInfoSize", DWORD), ("dwMajorVersion", DWORD), @@ -5233,7 +3967,7 @@ POSVERSIONINFOEXW = POINTER(_OSVERSIONINFOEXW) RTL_OSVERSIONINFOEXW = _OSVERSIONINFOEXW -
    [docs]class _OVERLAPPED(Structure): +
    [docs]class _OVERLAPPED(Structure): _fields_ = [ ("Internal", ULONG_PTR), ("InternalHigh", ULONG_PTR), @@ -5244,7 +3978,7 @@ OVERLAPPED = _OVERLAPPED # Self referencing struct tricks -
    [docs]class _EXCEPTION_RECORD(Structure): pass
    +
    [docs]class _EXCEPTION_RECORD(Structure): pass
    PEXCEPTION_RECORD = POINTER(_EXCEPTION_RECORD) EXCEPTION_RECORD = _EXCEPTION_RECORD _EXCEPTION_RECORD._fields_ = [ @@ -5256,7 +3990,7 @@ ("ExceptionInformation", ULONG_PTR * (EXCEPTION_MAXIMUM_PARAMETERS)), ] -
    [docs]class _EXCEPTION_RECORD32(Structure): +
    [docs]class _EXCEPTION_RECORD32(Structure): _fields_ = [ ("ExceptionCode", DWORD), ("ExceptionFlags", DWORD), @@ -5268,7 +4002,7 @@ EXCEPTION_RECORD32 = _EXCEPTION_RECORD32 PEXCEPTION_RECORD32 = POINTER(_EXCEPTION_RECORD32) -
    [docs]class _EXCEPTION_RECORD64(Structure): +
    [docs]class _EXCEPTION_RECORD64(Structure): _fields_ = [ ("ExceptionCode", DWORD), ("ExceptionFlags", DWORD), @@ -5281,7 +4015,7 @@ PEXCEPTION_RECORD64 = POINTER(_EXCEPTION_RECORD64) EXCEPTION_RECORD64 = _EXCEPTION_RECORD64 -
    [docs]class _EXCEPTION_POINTERS64(Structure): +
    [docs]class _EXCEPTION_POINTERS64(Structure): _fields_ = [ ("ExceptionRecord", PEXCEPTION_RECORD), ("ContextRecord", PCONTEXT64), @@ -5289,7 +4023,7 @@ EXCEPTION_POINTERS64 = _EXCEPTION_POINTERS64 PEXCEPTION_POINTERS64 = POINTER(_EXCEPTION_POINTERS64) -
    [docs]class _EXCEPTION_POINTERS32(Structure): +
    [docs]class _EXCEPTION_POINTERS32(Structure): _fields_ = [ ("ExceptionRecord", PEXCEPTION_RECORD), ("ContextRecord", PCONTEXT32), @@ -5297,7 +4031,7 @@ PEXCEPTION_POINTERS32 = POINTER(_EXCEPTION_POINTERS32) EXCEPTION_POINTERS32 = _EXCEPTION_POINTERS32 -
    [docs]class _DEBUG_PROCESSOR_IDENTIFICATION_ALPHA(Structure): +
    [docs]class _DEBUG_PROCESSOR_IDENTIFICATION_ALPHA(Structure): _fields_ = [ ("Type", ULONG), ("Revision", ULONG), @@ -5305,7 +4039,7 @@ DEBUG_PROCESSOR_IDENTIFICATION_ALPHA = _DEBUG_PROCESSOR_IDENTIFICATION_ALPHA PDEBUG_PROCESSOR_IDENTIFICATION_ALPHA = POINTER(_DEBUG_PROCESSOR_IDENTIFICATION_ALPHA) -
    [docs]class _DEBUG_PROCESSOR_IDENTIFICATION_AMD64(Structure): +
    [docs]class _DEBUG_PROCESSOR_IDENTIFICATION_AMD64(Structure): _fields_ = [ ("Family", ULONG), ("Model", ULONG), @@ -5315,7 +4049,7 @@ DEBUG_PROCESSOR_IDENTIFICATION_AMD64 = _DEBUG_PROCESSOR_IDENTIFICATION_AMD64 PDEBUG_PROCESSOR_IDENTIFICATION_AMD64 = POINTER(_DEBUG_PROCESSOR_IDENTIFICATION_AMD64) -
    [docs]class _DEBUG_PROCESSOR_IDENTIFICATION_IA64(Structure): +
    [docs]class _DEBUG_PROCESSOR_IDENTIFICATION_IA64(Structure): _fields_ = [ ("Model", ULONG), ("Revision", ULONG), @@ -5326,7 +4060,7 @@ PDEBUG_PROCESSOR_IDENTIFICATION_IA64 = POINTER(_DEBUG_PROCESSOR_IDENTIFICATION_IA64) DEBUG_PROCESSOR_IDENTIFICATION_IA64 = _DEBUG_PROCESSOR_IDENTIFICATION_IA64 -
    [docs]class _DEBUG_PROCESSOR_IDENTIFICATION_X86(Structure): +
    [docs]class _DEBUG_PROCESSOR_IDENTIFICATION_X86(Structure): _fields_ = [ ("Family", ULONG), ("Model", ULONG), @@ -5336,7 +4070,7 @@ DEBUG_PROCESSOR_IDENTIFICATION_X86 = _DEBUG_PROCESSOR_IDENTIFICATION_X86 PDEBUG_PROCESSOR_IDENTIFICATION_X86 = POINTER(_DEBUG_PROCESSOR_IDENTIFICATION_X86) -
    [docs]class _DEBUG_PROCESSOR_IDENTIFICATION_ARM(Structure): +
    [docs]class _DEBUG_PROCESSOR_IDENTIFICATION_ARM(Structure): _fields_ = [ ("Type", ULONG), ("Revision", ULONG), @@ -5344,7 +4078,7 @@ DEBUG_PROCESSOR_IDENTIFICATION_ARM = _DEBUG_PROCESSOR_IDENTIFICATION_ARM PDEBUG_PROCESSOR_IDENTIFICATION_ARM = POINTER(_DEBUG_PROCESSOR_IDENTIFICATION_ARM) -
    [docs]class _DEBUG_PROCESSOR_IDENTIFICATION_ALL(Union): +
    [docs]class _DEBUG_PROCESSOR_IDENTIFICATION_ALL(Union): _fields_ = [ ("Alpha", DEBUG_PROCESSOR_IDENTIFICATION_ALPHA), ("Amd64", DEBUG_PROCESSOR_IDENTIFICATION_AMD64), @@ -5355,7 +4089,7 @@ PDEBUG_PROCESSOR_IDENTIFICATION_ALL = POINTER(_DEBUG_PROCESSOR_IDENTIFICATION_ALL) DEBUG_PROCESSOR_IDENTIFICATION_ALL = _DEBUG_PROCESSOR_IDENTIFICATION_ALL -
    [docs]class _MODLOAD_DATA(Structure): +
    [docs]class _MODLOAD_DATA(Structure): _fields_ = [ ("ssize", DWORD), ("ssig", DWORD), @@ -5366,7 +4100,7 @@ PMODLOAD_DATA = POINTER(_MODLOAD_DATA) MODLOAD_DATA = _MODLOAD_DATA -
    [docs]class _SYSTEM_MODULE32(Structure): +
    [docs]class _SYSTEM_MODULE32(Structure): _fields_ = [ ("Reserved", ULONG * (2)), ("Base", ULONG), @@ -5381,7 +4115,7 @@ SYSTEM_MODULE32 = _SYSTEM_MODULE32 PSYSTEM_MODULE32 = POINTER(_SYSTEM_MODULE32) -
    [docs]class _SYSTEM_MODULE64(Structure): +
    [docs]class _SYSTEM_MODULE64(Structure): _fields_ = [ ("Reserved", ULONG * (4)), ("Base", ULONG64), @@ -5396,7 +4130,7 @@ SYSTEM_MODULE64 = _SYSTEM_MODULE64 PSYSTEM_MODULE64 = POINTER(_SYSTEM_MODULE64) -
    [docs]class _SYSTEM_MODULE_INFORMATION32(Structure): +
    [docs]class _SYSTEM_MODULE_INFORMATION32(Structure): _fields_ = [ ("ModulesCount", ULONG), ("Modules", SYSTEM_MODULE32 * (0)), @@ -5404,7 +4138,7 @@ PSYSTEM_MODULE_INFORMATION32 = POINTER(_SYSTEM_MODULE_INFORMATION32) SYSTEM_MODULE_INFORMATION32 = _SYSTEM_MODULE_INFORMATION32 -
    [docs]class _SYSTEM_MODULE_INFORMATION64(Structure): +
    [docs]class _SYSTEM_MODULE_INFORMATION64(Structure): _fields_ = [ ("ModulesCount", ULONG), ("Modules", SYSTEM_MODULE64 * (0)), @@ -5412,7 +4146,7 @@ PSYSTEM_MODULE_INFORMATION64 = POINTER(_SYSTEM_MODULE_INFORMATION64) SYSTEM_MODULE_INFORMATION64 = _SYSTEM_MODULE_INFORMATION64 -
    [docs]class _DEBUG_BREAKPOINT_PARAMETERS(Structure): +
    [docs]class _DEBUG_BREAKPOINT_PARAMETERS(Structure): _fields_ = [ ("Offset", ULONG64), ("Id", ULONG), @@ -5430,7 +4164,7 @@ PDEBUG_BREAKPOINT_PARAMETERS = POINTER(_DEBUG_BREAKPOINT_PARAMETERS) DEBUG_BREAKPOINT_PARAMETERS = _DEBUG_BREAKPOINT_PARAMETERS -
    [docs]class _DEBUG_REGISTER_DESCRIPTION(Structure): +
    [docs]class _DEBUG_REGISTER_DESCRIPTION(Structure): _fields_ = [ ("Type", ULONG), ("Flags", ULONG), @@ -5443,7 +4177,7 @@ DEBUG_REGISTER_DESCRIPTION = _DEBUG_REGISTER_DESCRIPTION PDEBUG_REGISTER_DESCRIPTION = POINTER(_DEBUG_REGISTER_DESCRIPTION) -
    [docs]class _DEBUG_STACK_FRAME(Structure): +
    [docs]class _DEBUG_STACK_FRAME(Structure): _fields_ = [ ("InstructionOffset", ULONG64), ("ReturnOffset", ULONG64), @@ -5458,14 +4192,14 @@ PDEBUG_STACK_FRAME = POINTER(_DEBUG_STACK_FRAME) DEBUG_STACK_FRAME = _DEBUG_STACK_FRAME -
    [docs]class _DEBUG_LAST_EVENT_INFO_BREAKPOINT(Structure): +
    [docs]class _DEBUG_LAST_EVENT_INFO_BREAKPOINT(Structure): _fields_ = [ ("Id", ULONG), ]
    DEBUG_LAST_EVENT_INFO_BREAKPOINT = _DEBUG_LAST_EVENT_INFO_BREAKPOINT PDEBUG_LAST_EVENT_INFO_BREAKPOINT = POINTER(_DEBUG_LAST_EVENT_INFO_BREAKPOINT) -
    [docs]class _DEBUG_LAST_EVENT_INFO_EXCEPTION(Structure): +
    [docs]class _DEBUG_LAST_EVENT_INFO_EXCEPTION(Structure): _fields_ = [ ("ExceptionRecord", EXCEPTION_RECORD64), ("FirstChance", ULONG), @@ -5473,35 +4207,35 @@ DEBUG_LAST_EVENT_INFO_EXCEPTION = _DEBUG_LAST_EVENT_INFO_EXCEPTION PDEBUG_LAST_EVENT_INFO_EXCEPTION = POINTER(_DEBUG_LAST_EVENT_INFO_EXCEPTION) -
    [docs]class _DEBUG_LAST_EVENT_INFO_EXIT_THREAD(Structure): +
    [docs]class _DEBUG_LAST_EVENT_INFO_EXIT_THREAD(Structure): _fields_ = [ ("ExitCode", ULONG), ]
    PDEBUG_LAST_EVENT_INFO_EXIT_THREAD = POINTER(_DEBUG_LAST_EVENT_INFO_EXIT_THREAD) DEBUG_LAST_EVENT_INFO_EXIT_THREAD = _DEBUG_LAST_EVENT_INFO_EXIT_THREAD -
    [docs]class _DEBUG_LAST_EVENT_INFO_EXIT_PROCESS(Structure): +
    [docs]class _DEBUG_LAST_EVENT_INFO_EXIT_PROCESS(Structure): _fields_ = [ ("ExitCode", ULONG), ]
    PDEBUG_LAST_EVENT_INFO_EXIT_PROCESS = POINTER(_DEBUG_LAST_EVENT_INFO_EXIT_PROCESS) DEBUG_LAST_EVENT_INFO_EXIT_PROCESS = _DEBUG_LAST_EVENT_INFO_EXIT_PROCESS -
    [docs]class _DEBUG_LAST_EVENT_INFO_LOAD_MODULE(Structure): +
    [docs]class _DEBUG_LAST_EVENT_INFO_LOAD_MODULE(Structure): _fields_ = [ ("Base", ULONG64), ]
    PDEBUG_LAST_EVENT_INFO_LOAD_MODULE = POINTER(_DEBUG_LAST_EVENT_INFO_LOAD_MODULE) DEBUG_LAST_EVENT_INFO_LOAD_MODULE = _DEBUG_LAST_EVENT_INFO_LOAD_MODULE -
    [docs]class _DEBUG_LAST_EVENT_INFO_UNLOAD_MODULE(Structure): +
    [docs]class _DEBUG_LAST_EVENT_INFO_UNLOAD_MODULE(Structure): _fields_ = [ ("Base", ULONG64), ]
    PDEBUG_LAST_EVENT_INFO_UNLOAD_MODULE = POINTER(_DEBUG_LAST_EVENT_INFO_UNLOAD_MODULE) DEBUG_LAST_EVENT_INFO_UNLOAD_MODULE = _DEBUG_LAST_EVENT_INFO_UNLOAD_MODULE -
    [docs]class _DEBUG_LAST_EVENT_INFO_SYSTEM_ERROR(Structure): +
    [docs]class _DEBUG_LAST_EVENT_INFO_SYSTEM_ERROR(Structure): _fields_ = [ ("Error", ULONG), ("Level", ULONG), @@ -5509,7 +4243,7 @@ PDEBUG_LAST_EVENT_INFO_SYSTEM_ERROR = POINTER(_DEBUG_LAST_EVENT_INFO_SYSTEM_ERROR) DEBUG_LAST_EVENT_INFO_SYSTEM_ERROR = _DEBUG_LAST_EVENT_INFO_SYSTEM_ERROR -
    [docs]class _DEBUG_SPECIFIC_FILTER_PARAMETERS(Structure): +
    [docs]class _DEBUG_SPECIFIC_FILTER_PARAMETERS(Structure): _fields_ = [ ("ExecutionOption", ULONG), ("ContinueOption", ULONG), @@ -5520,7 +4254,7 @@ DEBUG_SPECIFIC_FILTER_PARAMETERS = _DEBUG_SPECIFIC_FILTER_PARAMETERS PDEBUG_SPECIFIC_FILTER_PARAMETERS = POINTER(_DEBUG_SPECIFIC_FILTER_PARAMETERS) -
    [docs]class _DEBUG_EXCEPTION_FILTER_PARAMETERS(Structure): +
    [docs]class _DEBUG_EXCEPTION_FILTER_PARAMETERS(Structure): _fields_ = [ ("ExecutionOption", ULONG), ("ContinueOption", ULONG), @@ -5532,35 +4266,35 @@ PDEBUG_EXCEPTION_FILTER_PARAMETERS = POINTER(_DEBUG_EXCEPTION_FILTER_PARAMETERS) DEBUG_EXCEPTION_FILTER_PARAMETERS = _DEBUG_EXCEPTION_FILTER_PARAMETERS -
    [docs]class _TMP_signscale(Structure): +
    [docs]class _TMP_signscale(Structure): _fields_ = [ ("scale", BYTE), ("sign", BYTE), ]
    -
    [docs]class _TMP_lowmid(Structure): +
    [docs]class _TMP_lowmid(Structure): _fields_ = [ ("Lo32", ULONG), ("Mid32", ULONG), ]
    -
    [docs]class TMP_signscale_union(Union): +
    [docs]class TMP_signscale_union(Union): _fields_ = [ ("s", _TMP_signscale), ("signscale", USHORT), ]
    -
    [docs]class TMP_lowmid_union(Union): +
    [docs]class TMP_lowmid_union(Union): _fields_ = [ ("s", _TMP_lowmid), ("Lo64", ULONGLONG), ]
    -
    [docs]class tagDEC(Structure): +
    [docs]class tagDEC(Structure): _fields_ = [ ("wReserved", USHORT), ("u1", TMP_signscale_union), @@ -5569,7 +4303,7 @@ ]
    DECIMAL = tagDEC -
    [docs]class tagDISPPARAMS(Structure): +
    [docs]class tagDISPPARAMS(Structure): _fields_ = [ ("rgvarg", POINTER(VARIANTARG)), ("rgdispidNamedArgs", POINTER(DISPID)), @@ -5578,7 +4312,7 @@ ]
    DISPPARAMS = tagDISPPARAMS -
    [docs]class tagEXCEPINFO(Structure): +
    [docs]class tagEXCEPINFO(Structure): _fields_ = [ ("wCode", WORD), ("wReserved", WORD), @@ -5592,7 +4326,7 @@ ]
    EXCEPINFO = tagEXCEPINFO -
    [docs]class _PROCESS_BASIC_INFORMATION(Structure): +
    [docs]class _PROCESS_BASIC_INFORMATION(Structure): _fields_ = [ ("ExitStatus", NTSTATUS), ("PebBaseAddress", PPEB), @@ -5604,7 +4338,7 @@ PPROCESS_BASIC_INFORMATION = POINTER(_PROCESS_BASIC_INFORMATION) PROCESS_BASIC_INFORMATION = _PROCESS_BASIC_INFORMATION -
    [docs]class _JIT_DEBUG_INFO(Structure): +
    [docs]class _JIT_DEBUG_INFO(Structure): _fields_ = [ ("dwSize", DWORD), ("dwProcessorArchitecture", DWORD), @@ -5617,14 +4351,14 @@ LPJIT_DEBUG_INFO = POINTER(_JIT_DEBUG_INFO) JIT_DEBUG_INFO = _JIT_DEBUG_INFO -
    [docs]class _SID_IDENTIFIER_AUTHORITY(Structure): +
    [docs]class _SID_IDENTIFIER_AUTHORITY(Structure): _fields_ = [ ("Value", BYTE * (6)), ]
    SID_IDENTIFIER_AUTHORITY = _SID_IDENTIFIER_AUTHORITY PSID_IDENTIFIER_AUTHORITY = POINTER(_SID_IDENTIFIER_AUTHORITY) -
    [docs]class _STRING(Structure): +
    [docs]class _STRING(Structure): _fields_ = [ ("Length", USHORT), ("MaximumLength", USHORT), @@ -5647,7 +4381,7 @@ POBJECT_ATTRIBUTES = POINTER(_OBJECT_ATTRIBUTES) OBJECT_ATTRIBUTES = _OBJECT_ATTRIBUTES -
    [docs]class _OBJECT_ATTRIBUTES(_OBJECT_ATTRIBUTES): +
    [docs]class _OBJECT_ATTRIBUTES(_OBJECT_ATTRIBUTES): @classmethod def from_string(cls, path, attributes=OBJ_CASE_INSENSITIVE): # Directly on constructor ? self = cls() @@ -5659,20 +4393,20 @@ self.SecurityQualityOfService = 0 return self - def __repr__(self): + def __repr__(self): if not self.ObjectName: return super(_OBJECT_ATTRIBUTES, self).__repr__() return """<{0} ObjectName="{1}">""".format(type(self).__name__, self.ObjectName[0].str)
    POBJECT_ATTRIBUTES = POINTER(_OBJECT_ATTRIBUTES) OBJECT_ATTRIBUTES = _OBJECT_ATTRIBUTES -
    [docs]class _TMP_UNION_IO_STATUS_BLOCK(Union): +
    [docs]class _TMP_UNION_IO_STATUS_BLOCK(Union): _fields_ = [ ("Status", NTSTATUS), ("Pointer", PVOID), ]
    TMP_UNION_IO_STATUS_BLOCK = _TMP_UNION_IO_STATUS_BLOCK -
    [docs]class _IO_STATUS_BLOCK(Structure): +
    [docs]class _IO_STATUS_BLOCK(Structure): _fields_ = [ ("DUMMYUNIONNAME", TMP_UNION_IO_STATUS_BLOCK), ("Information", ULONG_PTR), @@ -5680,7 +4414,7 @@ IO_STATUS_BLOCK = _IO_STATUS_BLOCK PIO_STATUS_BLOCK = POINTER(_IO_STATUS_BLOCK) -
    [docs]class _SECURITY_QUALITY_OF_SERVICE(Structure): +
    [docs]class _SECURITY_QUALITY_OF_SERVICE(Structure): _fields_ = [ ("Length", DWORD), ("ImpersonationLevel", SECURITY_IMPERSONATION_LEVEL), @@ -5690,14 +4424,14 @@ PSECURITY_QUALITY_OF_SERVICE = POINTER(_SECURITY_QUALITY_OF_SERVICE) SECURITY_QUALITY_OF_SERVICE = _SECURITY_QUALITY_OF_SERVICE -
    [docs]class CATALOG_INFO_(Structure): +
    [docs]class CATALOG_INFO_(Structure): _fields_ = [ ("cbStruct", DWORD), ("wszCatalogFile", WCHAR * (MAX_PATH)), ]
    CATALOG_INFO = CATALOG_INFO_ -
    [docs]class _SYSTEM_HANDLE(Structure): +
    [docs]class _SYSTEM_HANDLE(Structure): _fields_ = [ ("dwProcessId", DWORD), ("bObjectType", BYTE), @@ -5708,7 +4442,7 @@ ]
    SYSTEM_HANDLE = _SYSTEM_HANDLE -
    [docs]class _SYSTEM_HANDLE64(Structure): +
    [docs]class _SYSTEM_HANDLE64(Structure): _fields_ = [ ("dwProcessId", DWORD), ("bObjectType", BYTE), @@ -5719,7 +4453,7 @@ ]
    SYSTEM_HANDLE64 = _SYSTEM_HANDLE64 -
    [docs]class _SYSTEM_HANDLE_INFORMATION(Structure): +
    [docs]class _SYSTEM_HANDLE_INFORMATION(Structure): _fields_ = [ ("HandleCount", ULONG), ("Handles", SYSTEM_HANDLE * (1)), @@ -5727,7 +4461,7 @@ PSYSTEM_HANDLE_INFORMATION = POINTER(_SYSTEM_HANDLE_INFORMATION) SYSTEM_HANDLE_INFORMATION = _SYSTEM_HANDLE_INFORMATION -
    [docs]class _SYSTEM_HANDLE_INFORMATION64(Structure): +
    [docs]class _SYSTEM_HANDLE_INFORMATION64(Structure): _fields_ = [ ("HandleCount", ULONG), ("Handles", SYSTEM_HANDLE64 * (1)), @@ -5735,7 +4469,7 @@ SYSTEM_HANDLE_INFORMATION64 = _SYSTEM_HANDLE_INFORMATION64 PSYSTEM_HANDLE_INFORMATION64 = POINTER(_SYSTEM_HANDLE_INFORMATION64) -
    [docs]class __PUBLIC_OBJECT_TYPE_INFORMATION(Structure): +
    [docs]class __PUBLIC_OBJECT_TYPE_INFORMATION(Structure): _fields_ = [ ("TypeName", UNICODE_STRING), ("Reserved", ULONG * (22)), @@ -5743,7 +4477,7 @@ PPUBLIC_OBJECT_TYPE_INFORMATION = POINTER(__PUBLIC_OBJECT_TYPE_INFORMATION) PUBLIC_OBJECT_TYPE_INFORMATION = __PUBLIC_OBJECT_TYPE_INFORMATION -
    [docs]class _PUBLIC_OBJECT_BASIC_INFORMATION(Structure): +
    [docs]class _PUBLIC_OBJECT_BASIC_INFORMATION(Structure): _fields_ = [ ("Attributes", ULONG), ("GrantedAccess", ACCESS_MASK), @@ -5754,14 +4488,14 @@ PUBLIC_OBJECT_BASIC_INFORMATION = _PUBLIC_OBJECT_BASIC_INFORMATION PPUBLIC_OBJECT_BASIC_INFORMATION = POINTER(_PUBLIC_OBJECT_BASIC_INFORMATION) -
    [docs]class _OBJECT_TYPES_INFORMATION(Structure): +
    [docs]class _OBJECT_TYPES_INFORMATION(Structure): _fields_ = [ ("NumberOfTypes", ULONG), ]
    OBJECT_TYPES_INFORMATION = _OBJECT_TYPES_INFORMATION POBJECT_TYPES_INFORMATION = POINTER(_OBJECT_TYPES_INFORMATION) -
    [docs]class tagSOLE_AUTHENTICATION_SERVICE(Structure): +
    [docs]class tagSOLE_AUTHENTICATION_SERVICE(Structure): _fields_ = [ ("dwAuthnSvc", DWORD), ("dwAuthzSvc", DWORD), @@ -5771,7 +4505,7 @@ PSOLE_AUTHENTICATION_SERVICE = POINTER(tagSOLE_AUTHENTICATION_SERVICE) SOLE_AUTHENTICATION_SERVICE = tagSOLE_AUTHENTICATION_SERVICE -
    [docs]class _OBJECT_DIRECTORY_INFORMATION(Structure): +
    [docs]class _OBJECT_DIRECTORY_INFORMATION(Structure): _fields_ = [ ("Name", UNICODE_STRING), ("TypeName", UNICODE_STRING), @@ -5779,28 +4513,28 @@ OBJECT_DIRECTORY_INFORMATION = _OBJECT_DIRECTORY_INFORMATION POBJECT_DIRECTORY_INFORMATION = POINTER(_OBJECT_DIRECTORY_INFORMATION) -
    [docs]class _DEBUG_VALUE_TMP_SUBSTRUCT1(Structure): +
    [docs]class _DEBUG_VALUE_TMP_SUBSTRUCT1(Structure): _fields_ = [ ("I64", ULONG64), ("Nat", BOOL), ]
    DEBUG_VALUE_TMP_SUBSTRUCT1 = _DEBUG_VALUE_TMP_SUBSTRUCT1 -
    [docs]class _DEBUG_VALUE_TMP_SUBSTRUCT2(Structure): +
    [docs]class _DEBUG_VALUE_TMP_SUBSTRUCT2(Structure): _fields_ = [ ("LowPart", ULONG), ("HighPart", ULONG), ]
    DEBUG_VALUE_TMP_SUBSTRUCT2 = _DEBUG_VALUE_TMP_SUBSTRUCT2 -
    [docs]class _DEBUG_VALUE_TMP_SUBSTRUCT3(Structure): +
    [docs]class _DEBUG_VALUE_TMP_SUBSTRUCT3(Structure): _fields_ = [ ("LowPart", ULONG64), ("HighPart", LONG64), ]
    DEBUG_VALUE_TMP_SUBSTRUCT3 = _DEBUG_VALUE_TMP_SUBSTRUCT3 -
    [docs]class _DEBUG_VALUE_TMP_UNION(Union): +
    [docs]class _DEBUG_VALUE_TMP_UNION(Union): _fields_ = [ ("I8", UCHAR), ("I16", USHORT), @@ -5823,7 +4557,7 @@ ]
    DEBUG_VALUE_TMP_UNION = _DEBUG_VALUE_TMP_UNION -
    [docs]class _DEBUG_VALUE(Structure): +
    [docs]class _DEBUG_VALUE(Structure): _fields_ = [ ("u", _DEBUG_VALUE_TMP_UNION), ("TailOfRawBytes", ULONG), @@ -5832,7 +4566,7 @@ DEBUG_VALUE = _DEBUG_VALUE PDEBUG_VALUE = POINTER(_DEBUG_VALUE) -
    [docs]class _DEBUG_SYMBOL_PARAMETERS(Structure): +
    [docs]class _DEBUG_SYMBOL_PARAMETERS(Structure): _fields_ = [ ("Module", ULONG64), ("TypeId", ULONG), @@ -5844,7 +4578,7 @@ DEBUG_SYMBOL_PARAMETERS = _DEBUG_SYMBOL_PARAMETERS PDEBUG_SYMBOL_PARAMETERS = POINTER(_DEBUG_SYMBOL_PARAMETERS) -
    [docs]class _DEBUG_SYMBOL_ENTRY(Structure): +
    [docs]class _DEBUG_SYMBOL_ENTRY(Structure): _fields_ = [ ("ModuleBase", ULONG64), ("Offset", ULONG64), @@ -5862,7 +4596,7 @@ PDEBUG_SYMBOL_ENTRY = POINTER(_DEBUG_SYMBOL_ENTRY) DEBUG_SYMBOL_ENTRY = _DEBUG_SYMBOL_ENTRY -
    [docs]class _DEBUG_MODULE_PARAMETERS(Structure): +
    [docs]class _DEBUG_MODULE_PARAMETERS(Structure): _fields_ = [ ("Base", ULONG64), ("Size", ULONG), @@ -5880,7 +4614,7 @@ PDEBUG_MODULE_PARAMETERS = POINTER(_DEBUG_MODULE_PARAMETERS) DEBUG_MODULE_PARAMETERS = _DEBUG_MODULE_PARAMETERS -
    [docs]class _DEBUG_MODULE_AND_ID(Structure): +
    [docs]class _DEBUG_MODULE_AND_ID(Structure): _fields_ = [ ("ModuleBase", ULONG64), ("Id", ULONG64), @@ -5888,7 +4622,7 @@ DEBUG_MODULE_AND_ID = _DEBUG_MODULE_AND_ID PDEBUG_MODULE_AND_ID = POINTER(_DEBUG_MODULE_AND_ID) -
    [docs]class _DEBUG_OFFSET_REGION(Structure): +
    [docs]class _DEBUG_OFFSET_REGION(Structure): _fields_ = [ ("Base", ULONG64), ("Size", ULONG64), @@ -5896,7 +4630,7 @@ DEBUG_OFFSET_REGION = _DEBUG_OFFSET_REGION PDEBUG_OFFSET_REGION = POINTER(_DEBUG_OFFSET_REGION) -
    [docs]class _DEBUG_SYMBOL_SOURCE_ENTRY(Structure): +
    [docs]class _DEBUG_SYMBOL_SOURCE_ENTRY(Structure): _fields_ = [ ("ModuleBase", ULONG64), ("Offset", ULONG64), @@ -5914,7 +4648,7 @@ DEBUG_SYMBOL_SOURCE_ENTRY = _DEBUG_SYMBOL_SOURCE_ENTRY PDEBUG_SYMBOL_SOURCE_ENTRY = POINTER(_DEBUG_SYMBOL_SOURCE_ENTRY) -
    [docs]class _RTL_UNLOAD_EVENT_TRACE(Structure): +
    [docs]class _RTL_UNLOAD_EVENT_TRACE(Structure): _fields_ = [ ("BaseAddress", PVOID), ("SizeOfImage", SIZE_T), @@ -5927,7 +4661,7 @@ PRTL_UNLOAD_EVENT_TRACE = POINTER(_RTL_UNLOAD_EVENT_TRACE) RTL_UNLOAD_EVENT_TRACE = _RTL_UNLOAD_EVENT_TRACE -
    [docs]class _RTL_UNLOAD_EVENT_TRACE32(Structure): +
    [docs]class _RTL_UNLOAD_EVENT_TRACE32(Structure): _fields_ = [ ("BaseAddress", DWORD), ("SizeOfImage", DWORD), @@ -5940,7 +4674,7 @@ RTL_UNLOAD_EVENT_TRACE32 = _RTL_UNLOAD_EVENT_TRACE32 PRTL_UNLOAD_EVENT_TRACE32 = POINTER(_RTL_UNLOAD_EVENT_TRACE32) -
    [docs]class _RTL_UNLOAD_EVENT_TRACE64(Structure): +
    [docs]class _RTL_UNLOAD_EVENT_TRACE64(Structure): _fields_ = [ ("BaseAddress", ULONGLONG), ("SizeOfImage", ULONGLONG), @@ -5953,7 +4687,7 @@ PRTL_UNLOAD_EVENT_TRACE64 = POINTER(_RTL_UNLOAD_EVENT_TRACE64) RTL_UNLOAD_EVENT_TRACE64 = _RTL_UNLOAD_EVENT_TRACE64 -
    [docs]class _FILE_FS_ATTRIBUTE_INFORMATION(Structure): +
    [docs]class _FILE_FS_ATTRIBUTE_INFORMATION(Structure): _fields_ = [ ("FileSystemAttributes", ULONG), ("MaximumComponentNameLength", LONG), @@ -5963,7 +4697,7 @@ PFILE_FS_ATTRIBUTE_INFORMATION = POINTER(_FILE_FS_ATTRIBUTE_INFORMATION) FILE_FS_ATTRIBUTE_INFORMATION = _FILE_FS_ATTRIBUTE_INFORMATION -
    [docs]class _FILE_FS_LABEL_INFORMATION(Structure): +
    [docs]class _FILE_FS_LABEL_INFORMATION(Structure): _fields_ = [ ("VolumeLabelLength", ULONG), ("VolumeLabel", WCHAR * (1)), @@ -5971,7 +4705,7 @@ FILE_FS_LABEL_INFORMATION = _FILE_FS_LABEL_INFORMATION PFILE_FS_LABEL_INFORMATION = POINTER(_FILE_FS_LABEL_INFORMATION) -
    [docs]class _FILE_FS_SIZE_INFORMATION(Structure): +
    [docs]class _FILE_FS_SIZE_INFORMATION(Structure): _fields_ = [ ("TotalAllocationUnits", LARGE_INTEGER), ("AvailableAllocationUnits", LARGE_INTEGER), @@ -5981,7 +4715,7 @@ PFILE_FS_SIZE_INFORMATION = POINTER(_FILE_FS_SIZE_INFORMATION) FILE_FS_SIZE_INFORMATION = _FILE_FS_SIZE_INFORMATION -
    [docs]class _FILE_FS_DEVICE_INFORMATION(Structure): +
    [docs]class _FILE_FS_DEVICE_INFORMATION(Structure): _fields_ = [ ("DeviceType", DEVICE_TYPE), ("Characteristics", ULONG), @@ -5989,7 +4723,7 @@ FILE_FS_DEVICE_INFORMATION = _FILE_FS_DEVICE_INFORMATION PFILE_FS_DEVICE_INFORMATION = POINTER(_FILE_FS_DEVICE_INFORMATION) -
    [docs]class _FILE_FS_CONTROL_INFORMATION(Structure): +
    [docs]class _FILE_FS_CONTROL_INFORMATION(Structure): _fields_ = [ ("FreeSpaceStartFiltering", LARGE_INTEGER), ("FreeSpaceThreshold", LARGE_INTEGER), @@ -6001,7 +4735,7 @@ FILE_FS_CONTROL_INFORMATION = _FILE_FS_CONTROL_INFORMATION PFILE_FS_CONTROL_INFORMATION = POINTER(_FILE_FS_CONTROL_INFORMATION) -
    [docs]class _FILE_FS_FULL_SIZE_INFORMATION(Structure): +
    [docs]class _FILE_FS_FULL_SIZE_INFORMATION(Structure): _fields_ = [ ("TotalAllocationUnits", LARGE_INTEGER), ("CallerAvailableAllocationUnits", LARGE_INTEGER), @@ -6012,7 +4746,7 @@ PFILE_FS_FULL_SIZE_INFORMATION = POINTER(_FILE_FS_FULL_SIZE_INFORMATION) FILE_FS_FULL_SIZE_INFORMATION = _FILE_FS_FULL_SIZE_INFORMATION -
    [docs]class _FILE_FS_OBJECTID_INFORMATION(Structure): +
    [docs]class _FILE_FS_OBJECTID_INFORMATION(Structure): _fields_ = [ ("ObjectId", UCHAR * (16)), ("ExtendedInfo", UCHAR * (48)), @@ -6029,7 +4763,7 @@ FILE_FS_DRIVER_PATH_INFORMATION = _FILE_FS_DRIVER_PATH_INFORMATION PFILE_FS_DRIVER_PATH_INFORMATION = POINTER(_FILE_FS_DRIVER_PATH_INFORMATION) -
    [docs]class _FILE_FS_DRIVER_PATH_INFORMATION(Structure): +
    [docs]class _FILE_FS_DRIVER_PATH_INFORMATION(Structure): _fields_ = [ ("DriverInPath", BOOLEAN), ("DriverNameLength", ULONG), @@ -6038,7 +4772,7 @@ FILE_FS_DRIVER_PATH_INFORMATION = _FILE_FS_DRIVER_PATH_INFORMATION PFILE_FS_DRIVER_PATH_INFORMATION = POINTER(_FILE_FS_DRIVER_PATH_INFORMATION) -
    [docs]class _FILE_FS_VOLUME_INFORMATION(Structure): +
    [docs]class _FILE_FS_VOLUME_INFORMATION(Structure): _fields_ = [ ("VolumeCreationTime", LARGE_INTEGER), ("VolumeSerialNumber", ULONG), @@ -6049,7 +4783,7 @@ FILE_FS_VOLUME_INFORMATION = _FILE_FS_VOLUME_INFORMATION PFILE_FS_VOLUME_INFORMATION = POINTER(_FILE_FS_VOLUME_INFORMATION) -
    [docs]class _FILE_FS_SECTOR_SIZE_INFORMATION(Structure): +
    [docs]class _FILE_FS_SECTOR_SIZE_INFORMATION(Structure): _fields_ = [ ("LogicalBytesPerSector", ULONG), ("PhysicalBytesPerSectorForAtomicity", ULONG), @@ -6062,7 +4796,7 @@ PFILE_FS_SECTOR_SIZE_INFORMATION = POINTER(_FILE_FS_SECTOR_SIZE_INFORMATION) FILE_FS_SECTOR_SIZE_INFORMATION = _FILE_FS_SECTOR_SIZE_INFORMATION -
    [docs]class _RTLP_CURDIR_REF(Structure): +
    [docs]class _RTLP_CURDIR_REF(Structure): _fields_ = [ ("RefCount", LONG), ("Handle", HANDLE), @@ -6070,7 +4804,7 @@ PRTLP_CURDIR_REF = POINTER(_RTLP_CURDIR_REF) RTLP_CURDIR_REF = _RTLP_CURDIR_REF -
    [docs]class _RTL_RELATIVE_NAME_U(Structure): +
    [docs]class _RTL_RELATIVE_NAME_U(Structure): _fields_ = [ ("RelativeName", UNICODE_STRING), ("ContainingDirectory", HANDLE), @@ -6079,7 +4813,7 @@ PRTL_RELATIVE_NAME_U = POINTER(_RTL_RELATIVE_NAME_U) RTL_RELATIVE_NAME_U = _RTL_RELATIVE_NAME_U -
    [docs]class _PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION(Structure): +
    [docs]class _PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION(Structure): _fields_ = [ ("Version", ULONG), ("Reserved", ULONG), @@ -6088,7 +4822,7 @@ PPROCESS_INSTRUMENTATION_CALLBACK_INFORMATION = POINTER(_PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION) PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION = _PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION -
    [docs]class _PROCESS_MEMORY_COUNTERS(Structure): +
    [docs]class _PROCESS_MEMORY_COUNTERS(Structure): _fields_ = [ ("cb", DWORD), ("PageFaultCount", DWORD), @@ -6104,7 +4838,7 @@ PPROCESS_MEMORY_COUNTERS = POINTER(_PROCESS_MEMORY_COUNTERS) PROCESS_MEMORY_COUNTERS = _PROCESS_MEMORY_COUNTERS -
    [docs]class _PROCESS_MEMORY_COUNTERS_EX(Structure): +
    [docs]class _PROCESS_MEMORY_COUNTERS_EX(Structure): _fields_ = [ ("cb", DWORD), ("PageFaultCount", DWORD), @@ -6131,405 +4865,68 @@ INITIAL_FILETIME = FILETIME -
    [docs]class _FILETIME(INITIAL_FILETIME): - def __int__(self): +
    [docs]class _FILETIME(INITIAL_FILETIME): + def __int__(self): return (self.dwHighDateTime << 32) + self.dwLowDateTime
    LPFILETIME = POINTER(_FILETIME) PFILETIME = POINTER(_FILETIME) FILETIME = _FILETIME -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) -
    [docs]class _ALPC_PORT_INFORMATION_CLASS(EnumType): - values = [AlpcBasicInformation, AlpcPortInformation, AlpcAssociateCompletionPortInformation, AlpcConnectedSIDInformation, AlpcServerInformation, AlpcMessageZoneInformation, AlpcRegisterCompletionListInformation, AlpcUnregisterCompletionListInformation, AlpcAdjustCompletionListConcurrencyCountInformation, AlpcRegisterCallbackInformation, AlpcCompletionListRundownInformation, AlpcWaitForPortReferences, MaxAlpcPortInfoClass] - mapper = FlagMapper(*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) -
    [docs]class _ALPC_MESSAGE_INFORMATION_CLASS(EnumType): - values = [AlpcMessageSidInformation, AlpcMessageTokenModifiedIdInformation, MaxAlpcMessageInfoClass, AlpcMessageHandleInformation] - mapper = FlagMapper(*values)
    -ALPC_MESSAGE_INFORMATION_CLASS = _ALPC_MESSAGE_INFORMATION_CLASS -PALPC_MESSAGE_INFORMATION_CLASS = POINTER(_ALPC_MESSAGE_INFORMATION_CLASS) - - -
    [docs]class _ALPC_PORT_ATTRIBUTES32(Structure): - _fields_ = [ - ("Flags", ULONG), - ("SecurityQos", SECURITY_QUALITY_OF_SERVICE), - ("MaxMessageLength", SIZE_T), - ("MemoryBandwidth", SIZE_T), - ("MaxPoolUsage", SIZE_T), - ("MaxSectionSize", SIZE_T), - ("MaxViewSize", SIZE_T), - ("MaxTotalSectionSize", SIZE_T), - ("DupObjectTypes", ULONG), - ]
    -PALPC_PORT_ATTRIBUTES32 = POINTER(_ALPC_PORT_ATTRIBUTES32) -ALPC_PORT_ATTRIBUTES32 = _ALPC_PORT_ATTRIBUTES32 - -
    [docs]class _ALPC_PORT_ATTRIBUTES64(Structure): - _fields_ = [ - ("Flags", ULONG), - ("SecurityQos", SECURITY_QUALITY_OF_SERVICE), - ("MaxMessageLength", SIZE_T), - ("MemoryBandwidth", SIZE_T), - ("MaxPoolUsage", SIZE_T), - ("MaxSectionSize", SIZE_T), - ("MaxViewSize", SIZE_T), - ("MaxTotalSectionSize", SIZE_T), - ("DupObjectTypes", ULONG), - ("Reserved", ULONG), - ]
    -ALPC_PORT_ATTRIBUTES64 = _ALPC_PORT_ATTRIBUTES64 -PALPC_PORT_ATTRIBUTES64 = POINTER(_ALPC_PORT_ATTRIBUTES64) - -
    [docs]class _ALPC_MESSAGE_ATTRIBUTES(Structure): - _fields_ = [ - ("AllocatedAttributes", ULONG), - ("ValidAttributes", ULONG), - ]
    -ALPC_MESSAGE_ATTRIBUTES = _ALPC_MESSAGE_ATTRIBUTES -PALPC_MESSAGE_ATTRIBUTES = POINTER(_ALPC_MESSAGE_ATTRIBUTES) - -
    [docs]class _PORT_MESSAGE32_TMP_UNION(Union): - _fields_ = [ - ("ClientViewSize", ULONG), - ("CallbackId", ULONG), - ]
    -PORT_MESSAGE_TMP_UNION = _PORT_MESSAGE32_TMP_UNION - -
    [docs]class _PORT_MESSAGE64_TMP_UNION(Union): - _fields_ = [ - ("ClientViewSize", ULONGLONG), - ("CallbackId", ULONG), - ]
    -PORT_MESSAGE_TMP_UNION = _PORT_MESSAGE64_TMP_UNION - -
    [docs]class _PORT_MESSAGE_TMP_SUBSTRUCT_S1(Structure): - _fields_ = [ - ("DataLength", CSHORT), - ("TotalLength", CSHORT), - ]
    - - -
    [docs]class _PORT_MESSAGE_TMP_UNION_U1(Union): - _fields_ = [ - ("Length", ULONG), - ("s1", _PORT_MESSAGE_TMP_SUBSTRUCT_S1), - ]
    - - -
    [docs]class _PORT_MESSAGE_TMP_SUBSTRUCT_S2(Structure): - _fields_ = [ - ("Type", CSHORT), - ("DataInfoOffset", CSHORT), - ]
    - - -
    [docs]class _PORT_MESSAGE_TMP_UNION_U2(Union): - _fields_ = [ - ("ZeroInit", ULONG), - ("s2", _PORT_MESSAGE_TMP_SUBSTRUCT_S2), - ]
    - - -
    [docs]class _PORT_MESSAGE32(Structure): - _fields_ = [ - ("u1", _PORT_MESSAGE_TMP_UNION_U1), - ("u2", _PORT_MESSAGE_TMP_UNION_U2), - ("ClientId", CLIENT_ID32), - ("MessageId", ULONG), - ("tmp_union", _PORT_MESSAGE32_TMP_UNION), - ]
    -PORT_MESSAGE32 = _PORT_MESSAGE32 -PPORT_MESSAGE32 = POINTER(_PORT_MESSAGE32) - -
    [docs]class _PORT_MESSAGE64(Structure): - _fields_ = [ - ("u1", _PORT_MESSAGE_TMP_UNION_U1), - ("u2", _PORT_MESSAGE_TMP_UNION_U2), - ("ClientId", CLIENT_ID64), - ("MessageId", ULONG), - ("tmp_union", _PORT_MESSAGE64_TMP_UNION), - ]
    -PPORT_MESSAGE64 = POINTER(_PORT_MESSAGE64) -PORT_MESSAGE64 = _PORT_MESSAGE64 - -
    [docs]class _ALPC_SERVER_INFORMATION_TMP_IN(Structure): - _fields_ = [ - ("ThreadHandle", HANDLE), - ]
    -ALPC_SERVER_INFORMATION_TMP_IN = _ALPC_SERVER_INFORMATION_TMP_IN - -
    [docs]class _ALPC_SERVER_INFORMATION_TMP_OUT(Structure): - _fields_ = [ - ("ThreadBlocked", BOOLEAN), - ("ConnectedProcessId", HANDLE), - ("ConnectionPortName", UNICODE_STRING), - ]
    -ALPC_SERVER_INFORMATION_TMP_OUT = _ALPC_SERVER_INFORMATION_TMP_OUT - -
    [docs]class ALPC_SERVER_INFORMATION(Union): - _fields_ = [ - ("In", ALPC_SERVER_INFORMATION_TMP_IN), - ("Out", ALPC_SERVER_INFORMATION_TMP_OUT), - ]
    - - -
    [docs]class _ALPC_CONTEXT_ATTR(Structure): - _fields_ = [ - ("PortContext", PVOID), - ("MessageContext", PVOID), - ("Sequence", ULONG), - ("MessageId", ULONG), - ("CallbackId", ULONG), - ]
    -PALPC_CONTEXT_ATTR = POINTER(_ALPC_CONTEXT_ATTR) -ALPC_CONTEXT_ATTR = _ALPC_CONTEXT_ATTR - -
    [docs]class _ALPC_CONTEXT_ATTR32(Structure): - _fields_ = [ - ("PortContext", ULONG), - ("MessageContext", ULONG), - ("Sequence", ULONG), - ("MessageId", ULONG), - ("CallbackId", ULONG), - ]
    -ALPC_CONTEXT_ATTR32 = _ALPC_CONTEXT_ATTR32 -PALPC_CONTEXT_ATTR32 = POINTER(_ALPC_CONTEXT_ATTR32) - -
    [docs]class _ALPC_CONTEXT_ATTR64(Structure): - _fields_ = [ - ("PortContext", ULONGLONG), - ("MessageContext", ULONGLONG), - ("Sequence", ULONG), - ("MessageId", ULONG), - ("CallbackId", ULONG), - ]
    -ALPC_CONTEXT_ATTR64 = _ALPC_CONTEXT_ATTR64 -PALPC_CONTEXT_ATTR64 = POINTER(_ALPC_CONTEXT_ATTR64) - -
    [docs]class _ALPC_HANDLE_ATTR(Structure): - _fields_ = [ - ("Flags", ULONG), - ("Handle", HANDLE), - ("ObjectType", ULONG), - ("DesiredAccess", ACCESS_MASK), - ]
    -PALPC_HANDLE_ATTR = POINTER(_ALPC_HANDLE_ATTR) -ALPC_HANDLE_ATTR = _ALPC_HANDLE_ATTR - -
    [docs]class _ALPC_HANDLE_ATTR32(Structure): - _fields_ = [ - ("Flags", ULONG), - ("Handle", ULONG), - ("ObjectType", ULONG), - ("DesiredAccess", ACCESS_MASK), - ]
    -ALPC_HANDLE_ATTR32 = _ALPC_HANDLE_ATTR32 -PALPC_HANDLE_ATTR32 = POINTER(_ALPC_HANDLE_ATTR32) - -
    [docs]class _ALPC_HANDLE_ATTR64(Structure): - _fields_ = [ - ("Flags", ULONG), - ("Handle", ULONGLONG), - ("ObjectType", ULONG), - ("DesiredAccess", ACCESS_MASK), - ]
    -PALPC_HANDLE_ATTR64 = POINTER(_ALPC_HANDLE_ATTR64) -ALPC_HANDLE_ATTR64 = _ALPC_HANDLE_ATTR64 - -
    [docs]class _ALPC_SECURITY_ATTR(Structure): - _fields_ = [ - ("Flags", ULONG), - ("QoS", PSECURITY_QUALITY_OF_SERVICE), - ("ContextHandle", ALPC_HANDLE), - ]
    -PALPC_SECURITY_ATTR = POINTER(_ALPC_SECURITY_ATTR) -ALPC_SECURITY_ATTR = _ALPC_SECURITY_ATTR - -
    [docs]class _ALPC_SECURITY_ATTR32(Structure): - _fields_ = [ - ("Flags", ULONG), - ("QoS", ULONG), - ("ContextHandle", ULONG), - ]
    -ALPC_SECURITY_ATTR32 = _ALPC_SECURITY_ATTR32 -PALPC_SECURITY_ATTR32 = POINTER(_ALPC_SECURITY_ATTR32) - -
    [docs]class _ALPC_SECURITY_ATTR64(Structure): - _fields_ = [ - ("Flags", ULONGLONG), - ("QoS", ULONGLONG), - ("ContextHandle", ULONGLONG), - ]
    -PALPC_SECURITY_ATTR64 = POINTER(_ALPC_SECURITY_ATTR64) -ALPC_SECURITY_ATTR64 = _ALPC_SECURITY_ATTR64 - -
    [docs]class _ALPC_DATA_VIEW_ATTR(Structure): - _fields_ = [ - ("Flags", ULONG), - ("SectionHandle", ALPC_HANDLE), - ("ViewBase", PVOID), - ("ViewSize", PVOID), - ]
    -PALPC_DATA_VIEW_ATTR = POINTER(_ALPC_DATA_VIEW_ATTR) -ALPC_DATA_VIEW_ATTR = _ALPC_DATA_VIEW_ATTR - -
    [docs]class _ALPC_DATA_VIEW_ATTR32(Structure): - _fields_ = [ - ("Flags", ULONG), - ("SectionHandle", ULONG), - ("ViewBase", ULONG), - ("ViewSize", ULONG), - ]
    -PALPC_DATA_VIEW_ATTR32 = POINTER(_ALPC_DATA_VIEW_ATTR32) -ALPC_DATA_VIEW_ATTR32 = _ALPC_DATA_VIEW_ATTR32 - -
    [docs]class _ALPC_DATA_VIEW_ATTR64(Structure): - _fields_ = [ - ("Flags", ULONG), - ("SectionHandle", ULONGLONG), - ("ViewBase", ULONGLONG), - ("ViewSize", ULONGLONG), - ]
    -PALPC_DATA_VIEW_ATTR64 = POINTER(_ALPC_DATA_VIEW_ATTR64) -ALPC_DATA_VIEW_ATTR64 = _ALPC_DATA_VIEW_ATTR64 - -
    [docs]class _ALPC_TOKEN_ATTR(Structure): - _fields_ = [ - ("TokenId", ULONGLONG), - ("AuthenticationId", ULONGLONG), - ("ModifiedId", ULONGLONG), - ]
    -ALPC_TOKEN_ATTR = _ALPC_TOKEN_ATTR -PALPC_TOKEN_ATTR = POINTER(_ALPC_TOKEN_ATTR) - -
    [docs]class _ALPC_DIRECT_ATTR(Structure): - _fields_ = [ - ("Event", HANDLE), - ]
    -ALPC_DIRECT_ATTR = _ALPC_DIRECT_ATTR -PALPC_DIRECT_ATTR = POINTER(_ALPC_DIRECT_ATTR) - -
    [docs]class _ALPC_DIRECT_ATTR32(Structure): - _fields_ = [ - ("Event", ULONG), - ]
    -PALPC_DIRECT_ATTR32 = POINTER(_ALPC_DIRECT_ATTR32) -ALPC_DIRECT_ATTR32 = _ALPC_DIRECT_ATTR32 - -
    [docs]class _ALPC_DIRECT_ATTR64(Structure): - _fields_ = [ - ("Event", ULONGLONG), - ]
    -ALPC_DIRECT_ATTR64 = _ALPC_DIRECT_ATTR64 -PALPC_DIRECT_ATTR64 = POINTER(_ALPC_DIRECT_ATTR64) - -
    [docs]class _ALPC_WORK_ON_BEHALF_ATTR(Structure): - _fields_ = [ - ("Ticket", ULONGLONG), - ]
    -PALPC_WORK_ON_BEHALF_ATTR = POINTER(_ALPC_WORK_ON_BEHALF_ATTR) -ALPC_WORK_ON_BEHALF_ATTR = _ALPC_WORK_ON_BEHALF_ATTR - -class _RPC_IF_ID(Structure): - _fields_ = [ - ("Uuid", IID), - ("VersMajor", USHORT), - ("VersMinor", USHORT), - ] -RPC_IF_ID = _RPC_IF_ID - -INITIAL_RPC_IF_ID = RPC_IF_ID - -
    [docs]class _RPC_IF_ID(INITIAL_RPC_IF_ID): - def __repr__(self): - return '<RPC_IF_ID "{0}" ({1}, {2})>'.format(self.Uuid.to_string(), self.VersMajor, self.VersMinor)
    -RPC_IF_ID = _RPC_IF_ID -
    [docs]class _PORT_VIEW(Structure): - _fields_ = [ - ("Length", ULONG), - ("SectionHandle", HANDLE), - ("SectionOffset", ULONG), - ("ViewSize", ULONG), - ("ViewBase", PVOID), - ("TargetViewBase", PVOID), - ]
    -PPORT_VIEW = POINTER(_PORT_VIEW) -PORT_VIEW = _PORT_VIEW - -
    [docs]class _REMOTE_PORT_VIEW(Structure): - _fields_ = [ - ("Length", ULONG), - ("ViewSize", ULONG), - ("ViewBase", PVOID), - ]
    -REMOTE_PORT_VIEW = _REMOTE_PORT_VIEW -PREMOTE_PORT_VIEW = POINTER(_REMOTE_PORT_VIEW) - -
    [docs]class tagCOMVERSION(Structure): - _fields_ = [ - ("MajorVersion", USHORT), - ("MinorVersion", USHORT), - ]
    -COMVERSION = tagCOMVERSION - -
    [docs]class tagORPCTHIS(Structure): - _fields_ = [ - ("version", COMVERSION), - ("flags", ULONG), - ("reserved1", ULONG), - ("cid", GUID), - ("extensions", PVOID), - ]
    -ORPCTHIS = tagORPCTHIS - -
    [docs]class __MIDL_XmitDefs_0001(Structure): - _fields_ = [ - ("asyncOperationId", GUID), - ("oxidClientProcessNA", ULONG64), - ("originalClientLogicalThreadId", GUID), - ("uClientCausalityTraceId", ULONG64), - ]
    -MIDL_XmitDefs_0001 = __MIDL_XmitDefs_0001 - -
    [docs]class _LOCALTHIS(Structure): - _fields_ = [ - ("dwFlags", DWORD), - ("dwClientThread", DWORD), - ("passthroughTraceActivity", GUID), - ("callTraceActivity", GUID), - ("asyncRequestBlock", MIDL_XmitDefs_0001), - ("reserved", DWORD), - ("pTouchedAstaArray", PVOID), - ]
    -LOCALTHIS = _LOCALTHIS - AclRevisionInformation = EnumValue("_ACL_INFORMATION_CLASS", "AclRevisionInformation", 0x1) AclSizeInformation = EnumValue("_ACL_INFORMATION_CLASS", "AclSizeInformation", 0x2) -
    [docs]class _ACL_INFORMATION_CLASS(EnumType): +
    [docs]class _ACL_INFORMATION_CLASS(EnumType): values = [AclRevisionInformation, AclSizeInformation] mapper = FlagMapper(*values)
    ACL_INFORMATION_CLASS = _ACL_INFORMATION_CLASS -
    [docs]class _ACL(Structure): +NO_MULTIPLE_TRUSTEE = EnumValue("_MULTIPLE_TRUSTEE_OPERATION", "NO_MULTIPLE_TRUSTEE", 0x0) +TRUSTEE_IS_IMPERSONATE = EnumValue("_MULTIPLE_TRUSTEE_OPERATION", "TRUSTEE_IS_IMPERSONATE", 0x1) +
    [docs]class _MULTIPLE_TRUSTEE_OPERATION(EnumType): + values = [NO_MULTIPLE_TRUSTEE, TRUSTEE_IS_IMPERSONATE] + mapper = FlagMapper(*values)
    +MULTIPLE_TRUSTEE_OPERATION = _MULTIPLE_TRUSTEE_OPERATION + + +TRUSTEE_IS_SID = EnumValue("_TRUSTEE_FORM", "TRUSTEE_IS_SID", 0x0) +TRUSTEE_IS_NAME = EnumValue("_TRUSTEE_FORM", "TRUSTEE_IS_NAME", 0x1) +TRUSTEE_BAD_FORM = EnumValue("_TRUSTEE_FORM", "TRUSTEE_BAD_FORM", 0x2) +TRUSTEE_IS_OBJECTS_AND_SID = EnumValue("_TRUSTEE_FORM", "TRUSTEE_IS_OBJECTS_AND_SID", 0x3) +TRUSTEE_IS_OBJECTS_AND_NAME = EnumValue("_TRUSTEE_FORM", "TRUSTEE_IS_OBJECTS_AND_NAME", 0x4) +
    [docs]class _TRUSTEE_FORM(EnumType): + values = [TRUSTEE_IS_SID, TRUSTEE_IS_NAME, TRUSTEE_BAD_FORM, TRUSTEE_IS_OBJECTS_AND_SID, TRUSTEE_IS_OBJECTS_AND_NAME] + mapper = FlagMapper(*values)
    +TRUSTEE_FORM = _TRUSTEE_FORM + + +TRUSTEE_IS_UNKNOWN = EnumValue("_TRUSTEE_TYPE", "TRUSTEE_IS_UNKNOWN", 0x0) +TRUSTEE_IS_USER = EnumValue("_TRUSTEE_TYPE", "TRUSTEE_IS_USER", 0x1) +TRUSTEE_IS_GROUP = EnumValue("_TRUSTEE_TYPE", "TRUSTEE_IS_GROUP", 0x2) +TRUSTEE_IS_DOMAIN = EnumValue("_TRUSTEE_TYPE", "TRUSTEE_IS_DOMAIN", 0x3) +TRUSTEE_IS_ALIAS = EnumValue("_TRUSTEE_TYPE", "TRUSTEE_IS_ALIAS", 0x4) +TRUSTEE_IS_WELL_KNOWN_GROUP = EnumValue("_TRUSTEE_TYPE", "TRUSTEE_IS_WELL_KNOWN_GROUP", 0x5) +TRUSTEE_IS_DELETED = EnumValue("_TRUSTEE_TYPE", "TRUSTEE_IS_DELETED", 0x6) +TRUSTEE_IS_INVALID = EnumValue("_TRUSTEE_TYPE", "TRUSTEE_IS_INVALID", 0x7) +TRUSTEE_IS_COMPUTER = EnumValue("_TRUSTEE_TYPE", "TRUSTEE_IS_COMPUTER", 0x8) +
    [docs]class _TRUSTEE_TYPE(EnumType): + values = [TRUSTEE_IS_UNKNOWN, TRUSTEE_IS_USER, TRUSTEE_IS_GROUP, TRUSTEE_IS_DOMAIN, TRUSTEE_IS_ALIAS, TRUSTEE_IS_WELL_KNOWN_GROUP, TRUSTEE_IS_DELETED, TRUSTEE_IS_INVALID, TRUSTEE_IS_COMPUTER] + mapper = FlagMapper(*values)
    +TRUSTEE_TYPE = _TRUSTEE_TYPE + + +NOT_USED_ACCESS = EnumValue("_ACCESS_MODE", "NOT_USED_ACCESS", 0x0) +GRANT_ACCESS = EnumValue("_ACCESS_MODE", "GRANT_ACCESS", 0x1) +SET_ACCESS = EnumValue("_ACCESS_MODE", "SET_ACCESS", 0x2) +DENY_ACCESS = EnumValue("_ACCESS_MODE", "DENY_ACCESS", 0x3) +REVOKE_ACCESS = EnumValue("_ACCESS_MODE", "REVOKE_ACCESS", 0x4) +SET_AUDIT_SUCCESS = EnumValue("_ACCESS_MODE", "SET_AUDIT_SUCCESS", 0x5) +SET_AUDIT_FAILURE = EnumValue("_ACCESS_MODE", "SET_AUDIT_FAILURE", 0x6) +
    [docs]class _ACCESS_MODE(EnumType): + values = [NOT_USED_ACCESS, GRANT_ACCESS, SET_ACCESS, DENY_ACCESS, REVOKE_ACCESS, SET_AUDIT_SUCCESS, SET_AUDIT_FAILURE] + mapper = FlagMapper(*values)
    +ACCESS_MODE = _ACCESS_MODE + + +
    [docs]class _ACL(Structure): _fields_ = [ ("AclRevision", BYTE), ("Sbz1", BYTE), @@ -6540,14 +4937,14 @@ PACL = POINTER(_ACL) ACL = _ACL -
    [docs]class _ACL_REVISION_INFORMATION(Structure): +
    [docs]class _ACL_REVISION_INFORMATION(Structure): _fields_ = [ ("AclRevision", DWORD), ]
    PACL_REVISION_INFORMATION = POINTER(_ACL_REVISION_INFORMATION) ACL_REVISION_INFORMATION = _ACL_REVISION_INFORMATION -
    [docs]class _ACL_SIZE_INFORMATION(Structure): +
    [docs]class _ACL_SIZE_INFORMATION(Structure): _fields_ = [ ("AceCount", DWORD), ("AclBytesInUse", DWORD), @@ -6556,7 +4953,7 @@ PACL_SIZE_INFORMATION = POINTER(_ACL_SIZE_INFORMATION) ACL_SIZE_INFORMATION = _ACL_SIZE_INFORMATION -
    [docs]class _ACE_HEADER(Structure): +
    [docs]class _ACE_HEADER(Structure): _fields_ = [ ("AceType", BYTE), ("AceFlags", BYTE), @@ -6565,7 +4962,7 @@ PACE_HEADER = POINTER(_ACE_HEADER) ACE_HEADER = _ACE_HEADER -
    [docs]class _ACCESS_ALLOWED_ACE(Structure): +
    [docs]class _ACCESS_ALLOWED_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6574,7 +4971,7 @@ PACCESS_ALLOWED_ACE = POINTER(_ACCESS_ALLOWED_ACE) ACCESS_ALLOWED_ACE = _ACCESS_ALLOWED_ACE -
    [docs]class _ACCESS_ALLOWED_CALLBACK_ACE(Structure): +
    [docs]class _ACCESS_ALLOWED_CALLBACK_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6583,7 +4980,7 @@ PACCESS_ALLOWED_CALLBACK_ACE = POINTER(_ACCESS_ALLOWED_CALLBACK_ACE) ACCESS_ALLOWED_CALLBACK_ACE = _ACCESS_ALLOWED_CALLBACK_ACE -
    [docs]class _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE(Structure): +
    [docs]class _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6595,7 +4992,7 @@ PACCESS_ALLOWED_CALLBACK_OBJECT_ACE = POINTER(_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE) ACCESS_ALLOWED_CALLBACK_OBJECT_ACE = _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE -
    [docs]class _ACCESS_DENIED_CALLBACK_OBJECT_ACE(Structure): +
    [docs]class _ACCESS_DENIED_CALLBACK_OBJECT_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6607,7 +5004,7 @@ ACCESS_DENIED_CALLBACK_OBJECT_ACE = _ACCESS_DENIED_CALLBACK_OBJECT_ACE PACCESS_DENIED_CALLBACK_OBJECT_ACE = POINTER(_ACCESS_DENIED_CALLBACK_OBJECT_ACE) -
    [docs]class _ACCESS_ALLOWED_OBJECT_ACE(Structure): +
    [docs]class _ACCESS_ALLOWED_OBJECT_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6619,7 +5016,7 @@ PACCESS_ALLOWED_OBJECT_ACE = POINTER(_ACCESS_ALLOWED_OBJECT_ACE) ACCESS_ALLOWED_OBJECT_ACE = _ACCESS_ALLOWED_OBJECT_ACE -
    [docs]class _ACCESS_DENIED_ACE(Structure): +
    [docs]class _ACCESS_DENIED_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6628,7 +5025,7 @@ ACCESS_DENIED_ACE = _ACCESS_DENIED_ACE PACCESS_DENIED_ACE = POINTER(_ACCESS_DENIED_ACE) -
    [docs]class _ACCESS_DENIED_CALLBACK_ACE(Structure): +
    [docs]class _ACCESS_DENIED_CALLBACK_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6637,7 +5034,7 @@ ACCESS_DENIED_CALLBACK_ACE = _ACCESS_DENIED_CALLBACK_ACE PACCESS_DENIED_CALLBACK_ACE = POINTER(_ACCESS_DENIED_CALLBACK_ACE) -
    [docs]class _ACCESS_DENIED_OBJECT_ACE(Structure): +
    [docs]class _ACCESS_DENIED_OBJECT_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6649,7 +5046,7 @@ ACCESS_DENIED_OBJECT_ACE = _ACCESS_DENIED_OBJECT_ACE PACCESS_DENIED_OBJECT_ACE = POINTER(_ACCESS_DENIED_OBJECT_ACE) -
    [docs]class _SYSTEM_MANDATORY_LABEL_ACE(Structure): +
    [docs]class _SYSTEM_MANDATORY_LABEL_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6658,7 +5055,7 @@ SYSTEM_MANDATORY_LABEL_ACE = _SYSTEM_MANDATORY_LABEL_ACE PSYSTEM_MANDATORY_LABEL_ACE = POINTER(_SYSTEM_MANDATORY_LABEL_ACE) -
    [docs]class _SYSTEM_AUDIT_ACE(Structure): +
    [docs]class _SYSTEM_AUDIT_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6666,7 +5063,7 @@ ]
    SYSTEM_AUDIT_ACE = _SYSTEM_AUDIT_ACE -
    [docs]class _SYSTEM_ALARM_ACE(Structure): +
    [docs]class _SYSTEM_ALARM_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6674,7 +5071,7 @@ ]
    SYSTEM_ALARM_ACE = _SYSTEM_ALARM_ACE -
    [docs]class _SYSTEM_RESOURCE_ATTRIBUTE_ACE(Structure): +
    [docs]class _SYSTEM_RESOURCE_ATTRIBUTE_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6683,7 +5080,7 @@ PSYSTEM_RESOURCE_ATTRIBUTE_ACE = POINTER(_SYSTEM_RESOURCE_ATTRIBUTE_ACE) SYSTEM_RESOURCE_ATTRIBUTE_ACE = _SYSTEM_RESOURCE_ATTRIBUTE_ACE -
    [docs]class _SYSTEM_SCOPED_POLICY_ID_ACE(Structure): +
    [docs]class _SYSTEM_SCOPED_POLICY_ID_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6692,7 +5089,7 @@ SYSTEM_SCOPED_POLICY_ID_ACE = _SYSTEM_SCOPED_POLICY_ID_ACE PSYSTEM_SCOPED_POLICY_ID_ACE = POINTER(_SYSTEM_SCOPED_POLICY_ID_ACE) -
    [docs]class _SYSTEM_PROCESS_TRUST_LABEL_ACE(Structure): +
    [docs]class _SYSTEM_PROCESS_TRUST_LABEL_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6701,7 +5098,7 @@ PSYSTEM_PROCESS_TRUST_LABEL_ACE = POINTER(_SYSTEM_PROCESS_TRUST_LABEL_ACE) SYSTEM_PROCESS_TRUST_LABEL_ACE = _SYSTEM_PROCESS_TRUST_LABEL_ACE -
    [docs]class _SYSTEM_AUDIT_OBJECT_ACE(Structure): +
    [docs]class _SYSTEM_AUDIT_OBJECT_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6713,7 +5110,7 @@ SYSTEM_AUDIT_OBJECT_ACE = _SYSTEM_AUDIT_OBJECT_ACE PSYSTEM_AUDIT_OBJECT_ACE = POINTER(_SYSTEM_AUDIT_OBJECT_ACE) -
    [docs]class _SYSTEM_ALARM_OBJECT_ACE(Structure): +
    [docs]class _SYSTEM_ALARM_OBJECT_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6725,7 +5122,7 @@ SYSTEM_ALARM_OBJECT_ACE = _SYSTEM_ALARM_OBJECT_ACE PSYSTEM_ALARM_OBJECT_ACE = POINTER(_SYSTEM_ALARM_OBJECT_ACE) -
    [docs]class _SYSTEM_AUDIT_CALLBACK_ACE(Structure): +
    [docs]class _SYSTEM_AUDIT_CALLBACK_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6734,7 +5131,7 @@ PSYSTEM_AUDIT_CALLBACK_ACE = POINTER(_SYSTEM_AUDIT_CALLBACK_ACE) SYSTEM_AUDIT_CALLBACK_ACE = _SYSTEM_AUDIT_CALLBACK_ACE -
    [docs]class _SYSTEM_ALARM_CALLBACK_ACE(Structure): +
    [docs]class _SYSTEM_ALARM_CALLBACK_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6743,7 +5140,7 @@ SYSTEM_ALARM_CALLBACK_ACE = _SYSTEM_ALARM_CALLBACK_ACE PSYSTEM_ALARM_CALLBACK_ACE = POINTER(_SYSTEM_ALARM_CALLBACK_ACE) -
    [docs]class _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE(Structure): +
    [docs]class _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6755,7 +5152,7 @@ PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE = POINTER(_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE) SYSTEM_AUDIT_CALLBACK_OBJECT_ACE = _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE -
    [docs]class _SYSTEM_ALARM_CALLBACK_OBJECT_ACE(Structure): +
    [docs]class _SYSTEM_ALARM_CALLBACK_OBJECT_ACE(Structure): _fields_ = [ ("Header", ACE_HEADER), ("Mask", ACCESS_MASK), @@ -6767,7 +5164,7 @@ PSYSTEM_ALARM_CALLBACK_OBJECT_ACE = POINTER(_SYSTEM_ALARM_CALLBACK_OBJECT_ACE) SYSTEM_ALARM_CALLBACK_OBJECT_ACE = _SYSTEM_ALARM_CALLBACK_OBJECT_ACE -
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_UNION(Union): +
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_UNION(Union): _fields_ = [ ("pInt64", DWORD * (ANYSIZE_ARRAY)), ("pUint64", DWORD * (ANYSIZE_ARRAY)), @@ -6777,7 +5174,7 @@ ]
    CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_UNION = _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_UNION -
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1(Structure): +
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1(Structure): _fields_ = [ ("Name", DWORD), ("ValueType", WORD), @@ -6789,7 +5186,7 @@ PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = POINTER(_CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1) CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 -
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE(Structure): +
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE(Structure): _fields_ = [ ("Version", DWORD64), ("Name", PWSTR), @@ -6797,7 +5194,7 @@ PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = POINTER(_CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE) CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE -
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE(Structure): +
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE(Structure): _fields_ = [ ("pValue", PVOID), ("ValueLength", DWORD), @@ -6805,7 +5202,7 @@ PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = POINTER(_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE) CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE -
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE(Structure): +
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE(Structure): _fields_ = [ ("Length", DWORD), ("OctetString", BYTE * (ANYSIZE_ARRAY)), @@ -6813,7 +5210,7 @@ PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE = POINTER(_CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE) CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE = _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE -
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_V1_UNION(Union): +
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_V1_UNION(Union): _fields_ = [ ("pInt64", PLONG64), ("pUint64", PDWORD64), @@ -6823,7 +5220,7 @@ ]
    CLAIM_SECURITY_ATTRIBUTE_V1_UNION = _CLAIM_SECURITY_ATTRIBUTE_V1_UNION -
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_V1(Structure): +
    [docs]class _CLAIM_SECURITY_ATTRIBUTE_V1(Structure): _fields_ = [ ("Name", PWSTR), ("ValueType", WORD), @@ -6835,13 +5232,13 @@ CLAIM_SECURITY_ATTRIBUTE_V1 = _CLAIM_SECURITY_ATTRIBUTE_V1 PCLAIM_SECURITY_ATTRIBUTE_V1 = POINTER(_CLAIM_SECURITY_ATTRIBUTE_V1) -
    [docs]class _CLAIM_SECURITY_ATTRIBUTES_INFORMATION_UNION(Union): +
    [docs]class _CLAIM_SECURITY_ATTRIBUTES_INFORMATION_UNION(Union): _fields_ = [ ("pAttributeV1", PCLAIM_SECURITY_ATTRIBUTE_V1), ]
    CLAIM_SECURITY_ATTRIBUTES_INFORMATION_UNION = _CLAIM_SECURITY_ATTRIBUTES_INFORMATION_UNION -
    [docs]class _CLAIM_SECURITY_ATTRIBUTES_INFORMATION(Structure): +
    [docs]class _CLAIM_SECURITY_ATTRIBUTES_INFORMATION(Structure): _fields_ = [ ("Version", WORD), ("Reserved", WORD), @@ -6851,7 +5248,7 @@ CLAIM_SECURITY_ATTRIBUTES_INFORMATION = _CLAIM_SECURITY_ATTRIBUTES_INFORMATION PCLAIM_SECURITY_ATTRIBUTES_INFORMATION = POINTER(_CLAIM_SECURITY_ATTRIBUTES_INFORMATION) -
    [docs]class _SECURITY_DESCRIPTOR(Structure): +
    [docs]class _SECURITY_DESCRIPTOR(Structure): _fields_ = [ ("Revision", BYTE), ("Sbz1", BYTE), @@ -6864,7 +5261,7 @@ PISECURITY_DESCRIPTOR = POINTER(_SECURITY_DESCRIPTOR) SECURITY_DESCRIPTOR = _SECURITY_DESCRIPTOR -
    [docs]class _GENERIC_MAPPING(Structure): +
    [docs]class _GENERIC_MAPPING(Structure): _fields_ = [ ("GenericRead", ACCESS_MASK), ("GenericWrite", ACCESS_MASK), @@ -6874,7 +5271,7 @@ PGENERIC_MAPPING = POINTER(_GENERIC_MAPPING) GENERIC_MAPPING = _GENERIC_MAPPING -
    [docs]class _PRIVILEGE_SET(Structure): +
    [docs]class _PRIVILEGE_SET(Structure): _fields_ = [ ("PrivilegeCount", DWORD), ("Control", DWORD), @@ -6883,7 +5280,484 @@ PRIVILEGE_SET = _PRIVILEGE_SET PPRIVILEGE_SET = POINTER(_PRIVILEGE_SET) -
    [docs]class _CERT_STRONG_SIGN_SERIALIZED_INFO(Structure): +
    [docs]class _OBJECTS_AND_NAME_A(Structure): + _fields_ = [ + ("ObjectsPresent", DWORD), + ("ObjectType", SE_OBJECT_TYPE), + ("ObjectTypeName", LPSTR), + ("InheritedObjectTypeName", LPSTR), + ("ptstrName", LPSTR), + ]
    +OBJECTS_AND_NAME_A = _OBJECTS_AND_NAME_A +POBJECTS_AND_NAME_A = POINTER(_OBJECTS_AND_NAME_A) + +
    [docs]class _OBJECTS_AND_SID(Structure): + _fields_ = [ + ("ObjectsPresent", DWORD), + ("ObjectTypeGuid", GUID), + ("InheritedObjectTypeGuid", GUID), + ("pSid", PSID), + ]
    +POBJECTS_AND_SID = POINTER(_OBJECTS_AND_SID) +OBJECTS_AND_SID = _OBJECTS_AND_SID + +class _ANON__TRUSTEE_A_SUB_UNION_1(Union): + _fields_ = [ + ("ptstrName", LPSTR), + ("pSid", PSID), + ("pObjectsAndSid", POINTER(OBJECTS_AND_SID)), + ("pObjectsAndName", POINTER(OBJECTS_AND_NAME_A)), + ] + +# Self referencing struct tricks +
    [docs]class _TRUSTEE_A(Structure): pass
    +PTRUSTEEA = POINTER(_TRUSTEE_A) +TRUSTEEA = _TRUSTEE_A +TRUSTEE_A = _TRUSTEE_A +PTRUSTEE_A = POINTER(_TRUSTEE_A) +_TRUSTEE_A._fields_ = [ + ("pMultipleTrustee", POINTER(_TRUSTEE_A)), + ("MultipleTrusteeOperation", MULTIPLE_TRUSTEE_OPERATION), + ("TrusteeForm", TRUSTEE_FORM), + ("TrusteeType", TRUSTEE_TYPE), + ("anon_01", _ANON__TRUSTEE_A_SUB_UNION_1), + ("ptstrName", LPCH), +] + +
    [docs]class _OBJECTS_AND_NAME_W(Structure): + _fields_ = [ + ("ObjectsPresent", DWORD), + ("ObjectType", SE_OBJECT_TYPE), + ("ObjectTypeName", LPWSTR), + ("InheritedObjectTypeName", LPWSTR), + ("ptstrName", LPWSTR), + ]
    +OBJECTS_AND_NAME_W = _OBJECTS_AND_NAME_W +POBJECTS_AND_NAME_W = POINTER(_OBJECTS_AND_NAME_W) + +class _ANON__TRUSTEE_W_SUB_UNION_1(Union): + _fields_ = [ + ("ptstrName", LPWSTR), + ("pSid", PSID), + ("pObjectsAndSid", POINTER(OBJECTS_AND_SID)), + ("pObjectsAndName", POINTER(OBJECTS_AND_NAME_W)), + ] + +# Self referencing struct tricks +
    [docs]class _TRUSTEE_W(Structure): pass
    +PTRUSTEE_W = POINTER(_TRUSTEE_W) +TRUSTEE_W = _TRUSTEE_W +PTRUSTEEW = POINTER(_TRUSTEE_W) +TRUSTEEW = _TRUSTEE_W +_TRUSTEE_W._fields_ = [ + ("pMultipleTrustee", POINTER(_TRUSTEE_W)), + ("MultipleTrusteeOperation", MULTIPLE_TRUSTEE_OPERATION), + ("TrusteeForm", TRUSTEE_FORM), + ("TrusteeType", TRUSTEE_TYPE), + ("anon_01", _ANON__TRUSTEE_W_SUB_UNION_1), + ("ptstrName", LPWCH), +] + +
    [docs]class _EXPLICIT_ACCESS_W(Structure): + _fields_ = [ + ("grfAccessPermissions", DWORD), + ("grfAccessMode", ACCESS_MODE), + ("grfInheritance", DWORD), + ("Trustee", TRUSTEE_W), + ]
    +EXPLICIT_ACCESSW = _EXPLICIT_ACCESS_W +PEXPLICIT_ACCESSW = POINTER(_EXPLICIT_ACCESS_W) +PEXPLICIT_ACCESS_W = POINTER(_EXPLICIT_ACCESS_W) +EXPLICIT_ACCESS_W = _EXPLICIT_ACCESS_W + +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) +
    [docs]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 = FlagMapper(*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) +
    [docs]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 = FlagMapper(*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) +
    [docs]class _BG_JOB_PRIORITY(EnumType): + values = [BG_JOB_PRIORITY_FOREGROUND, BG_JOB_PRIORITY_HIGH, BG_JOB_PRIORITY_NORMAL, BG_JOB_PRIORITY_LOW] + mapper = FlagMapper(*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) +
    [docs]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 = FlagMapper(*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) +
    [docs]class _BG_JOB_TYPE(EnumType): + values = [BG_JOB_TYPE_DOWNLOAD, BG_JOB_TYPE_UPLOAD, BG_JOB_TYPE_UPLOAD_REPLY] + mapper = FlagMapper(*values)
    +BG_JOB_TYPE = _BG_JOB_TYPE + + +
    [docs]class _BG_FILE_PROGRESS(Structure): + _fields_ = [ + ("BytesTotal", UINT64), + ("BytesTransferred", UINT64), + ("Completed", BOOL), + ]
    +BG_FILE_PROGRESS = _BG_FILE_PROGRESS + +
    [docs]class _BG_JOB_PROGRESS(Structure): + _fields_ = [ + ("BytesTotal", UINT64), + ("BytesTransferred", UINT64), + ("FilesTotal", ULONG), + ("FilesTransferred", ULONG), + ]
    +BG_JOB_PROGRESS = _BG_JOB_PROGRESS + +
    [docs]class _BG_FILE_INFO(Structure): + _fields_ = [ + ("RemoteName", LPWSTR), + ("LocalName", LPWSTR), + ]
    +BG_FILE_INFO = _BG_FILE_INFO + +
    [docs]class _BG_JOB_TIMES(Structure): + _fields_ = [ + ("CreationTime", FILETIME), + ("ModificationTime", FILETIME), + ("TransferCompletionTime", FILETIME), + ]
    +BG_JOB_TIMES = _BG_JOB_TIMES + +TokenInvalid = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenInvalid", 0x0) +TokenUser = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenUser", 0x1) +TokenGroups = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenGroups", 0x2) +TokenPrivileges = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenPrivileges", 0x3) +TokenOwner = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenOwner", 0x4) +TokenPrimaryGroup = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenPrimaryGroup", 0x5) +TokenDefaultDacl = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenDefaultDacl", 0x6) +TokenSource = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenSource", 0x7) +TokenType = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenType", 0x8) +TokenImpersonationLevel = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenImpersonationLevel", 0x9) +TokenStatistics = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenStatistics", 0xa) +TokenRestrictedSids = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenRestrictedSids", 0xb) +TokenSessionId = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenSessionId", 0xc) +TokenGroupsAndPrivileges = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenGroupsAndPrivileges", 0xd) +TokenSessionReference = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenSessionReference", 0xe) +TokenSandBoxInert = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenSandBoxInert", 0xf) +TokenAuditPolicy = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenAuditPolicy", 0x10) +TokenOrigin = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenOrigin", 0x11) +TokenElevationType = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenElevationType", 0x12) +TokenLinkedToken = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenLinkedToken", 0x13) +TokenElevation = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenElevation", 0x14) +TokenHasRestrictions = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenHasRestrictions", 0x15) +TokenAccessInformation = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenAccessInformation", 0x16) +TokenVirtualizationAllowed = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenVirtualizationAllowed", 0x17) +TokenVirtualizationEnabled = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenVirtualizationEnabled", 0x18) +TokenIntegrityLevel = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenIntegrityLevel", 0x19) +TokenUIAccess = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenUIAccess", 0x1a) +TokenMandatoryPolicy = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenMandatoryPolicy", 0x1b) +TokenLogonSid = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenLogonSid", 0x1c) +TokenIsAppContainer = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenIsAppContainer", 0x1d) +TokenCapabilities = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenCapabilities", 0x1e) +TokenAppContainerSid = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenAppContainerSid", 0x1f) +TokenAppContainerNumber = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenAppContainerNumber", 0x20) +TokenUserClaimAttributes = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenUserClaimAttributes", 0x21) +TokenDeviceClaimAttributes = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenDeviceClaimAttributes", 0x22) +TokenRestrictedUserClaimAttributes = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenRestrictedUserClaimAttributes", 0x23) +TokenRestrictedDeviceClaimAttributes = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenRestrictedDeviceClaimAttributes", 0x24) +TokenDeviceGroups = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenDeviceGroups", 0x25) +TokenRestrictedDeviceGroups = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenRestrictedDeviceGroups", 0x26) +TokenSecurityAttributes = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenSecurityAttributes", 0x27) +TokenIsRestricted = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenIsRestricted", 0x28) +TokenProcessTrustLevel = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenProcessTrustLevel", 0x29) +TokenPrivateNameSpace = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenPrivateNameSpace", 0x2a) +TokenSingletonAttributes = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenSingletonAttributes", 0x2b) +TokenBnoIsolation = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenBnoIsolation", 0x2c) +TokenChildProcessFlags = EnumValue("_TOKEN_INFORMATION_CLASS", "TokenChildProcessFlags", 0x2d) +MaxTokenInfoClass = EnumValue("_TOKEN_INFORMATION_CLASS", "MaxTokenInfoClass", 0x2e) +
    [docs]class _TOKEN_INFORMATION_CLASS(EnumType): + values = [TokenInvalid, TokenUser, TokenGroups, TokenPrivileges, TokenOwner, TokenPrimaryGroup, TokenDefaultDacl, TokenSource, TokenType, TokenImpersonationLevel, TokenStatistics, TokenRestrictedSids, TokenSessionId, TokenGroupsAndPrivileges, TokenSessionReference, TokenSandBoxInert, TokenAuditPolicy, TokenOrigin, TokenElevationType, TokenLinkedToken, TokenElevation, TokenHasRestrictions, TokenAccessInformation, TokenVirtualizationAllowed, TokenVirtualizationEnabled, TokenIntegrityLevel, TokenUIAccess, TokenMandatoryPolicy, TokenLogonSid, TokenIsAppContainer, TokenCapabilities, TokenAppContainerSid, TokenAppContainerNumber, TokenUserClaimAttributes, TokenDeviceClaimAttributes, TokenRestrictedUserClaimAttributes, TokenRestrictedDeviceClaimAttributes, TokenDeviceGroups, TokenRestrictedDeviceGroups, TokenSecurityAttributes, TokenIsRestricted, TokenProcessTrustLevel, TokenPrivateNameSpace, TokenSingletonAttributes, TokenBnoIsolation, TokenChildProcessFlags, MaxTokenInfoClass] + mapper = FlagMapper(*values)
    +TOKEN_INFORMATION_CLASS = _TOKEN_INFORMATION_CLASS +PTOKEN_INFORMATION_CLASS = POINTER(_TOKEN_INFORMATION_CLASS) + + +TokenElevationTypeDefault = EnumValue("_TOKEN_ELEVATION_TYPE", "TokenElevationTypeDefault", 0x1) +TokenElevationTypeFull = EnumValue("_TOKEN_ELEVATION_TYPE", "TokenElevationTypeFull", 0x2) +TokenElevationTypeLimited = EnumValue("_TOKEN_ELEVATION_TYPE", "TokenElevationTypeLimited", 0x3) +
    [docs]class _TOKEN_ELEVATION_TYPE(EnumType): + values = [TokenElevationTypeDefault, TokenElevationTypeFull, TokenElevationTypeLimited] + mapper = FlagMapper(*values)
    +TOKEN_ELEVATION_TYPE = _TOKEN_ELEVATION_TYPE +PTOKEN_ELEVATION_TYPE = POINTER(_TOKEN_ELEVATION_TYPE) + + +
    [docs]class _TOKEN_PRIVILEGES(Structure): + _fields_ = [ + ("PrivilegeCount", DWORD), + ("Privileges", LUID_AND_ATTRIBUTES * (ANYSIZE_ARRAY)), + ]
    +TOKEN_PRIVILEGES = _TOKEN_PRIVILEGES +PTOKEN_PRIVILEGES = POINTER(_TOKEN_PRIVILEGES) + +
    [docs]class _TOKEN_ELEVATION(Structure): + _fields_ = [ + ("TokenIsElevated", DWORD), + ]
    +TOKEN_ELEVATION = _TOKEN_ELEVATION +PTOKEN_ELEVATION = POINTER(_TOKEN_ELEVATION) + +class _SID_AND_ATTRIBUTES(Structure): + _fields_ = [ + ("Sid", PSID), + ("Attributes", DWORD), + ] +SID_AND_ATTRIBUTES = _SID_AND_ATTRIBUTES +PSID_AND_ATTRIBUTES = POINTER(_SID_AND_ATTRIBUTES) + +_INITIAL_SID_AND_ATTRIBUTES = _SID_AND_ATTRIBUTES +
    [docs]class _SID_AND_ATTRIBUTES(_INITIAL_SID_AND_ATTRIBUTES): + pass
    + + # Only in TOKEN_GROUPS + # attributes = FlagExatractor(_INITIAL_SID_AND_ATTRIBUTES.Attributes, + # (SE_GROUP_MANDATORY, + # SE_GROUP_ENABLED_BY_DEFAULT, + # SE_GROUP_ENABLED, + # SE_GROUP_OWNER, + # SE_GROUP_USE_FOR_DENY_ONLY, + # SE_GROUP_INTEGRITY, + # SE_GROUP_INTEGRITY_ENABLED, + # SE_GROUP_LOGON_ID, + # SE_GROUP_RESOURCE)) +SID_AND_ATTRIBUTES = _SID_AND_ATTRIBUTES +PSID_AND_ATTRIBUTES = POINTER(_SID_AND_ATTRIBUTES) +
    [docs]class _TOKEN_MANDATORY_LABEL(Structure): + _fields_ = [ + ("Label", SID_AND_ATTRIBUTES), + ]
    +TOKEN_MANDATORY_LABEL = _TOKEN_MANDATORY_LABEL +PTOKEN_MANDATORY_LABEL = POINTER(_TOKEN_MANDATORY_LABEL) + +
    [docs]class _TOKEN_USER(Structure): + _fields_ = [ + ("User", SID_AND_ATTRIBUTES), + ]
    +PTOKEN_USER = POINTER(_TOKEN_USER) +TOKEN_USER = _TOKEN_USER + +
    [docs]class _TOKEN_DEFAULT_DACL(Structure): + _fields_ = [ + ("DefaultDacl", PACL), + ]
    +TOKEN_DEFAULT_DACL = _TOKEN_DEFAULT_DACL +PTOKEN_DEFAULT_DACL = POINTER(_TOKEN_DEFAULT_DACL) + +
    [docs]class _TOKEN_GROUPS(Structure): + _fields_ = [ + ("GroupCount", DWORD), + ("Groups", SID_AND_ATTRIBUTES * (ANYSIZE_ARRAY)), + ]
    +TOKEN_GROUPS = _TOKEN_GROUPS +PTOKEN_GROUPS = POINTER(_TOKEN_GROUPS) + +
    [docs]class _TOKEN_OWNER(Structure): + _fields_ = [ + ("Owner", PSID), + ]
    +TOKEN_OWNER = _TOKEN_OWNER +PTOKEN_OWNER = POINTER(_TOKEN_OWNER) + +
    [docs]class _TOKEN_PRIMARY_GROUP(Structure): + _fields_ = [ + ("PrimaryGroup", PSID), + ]
    +PTOKEN_PRIMARY_GROUP = POINTER(_TOKEN_PRIMARY_GROUP) +TOKEN_PRIMARY_GROUP = _TOKEN_PRIMARY_GROUP + +
    [docs]class _TOKEN_SOURCE(Structure): + _fields_ = [ + ("SourceName", CHAR * (TOKEN_SOURCE_LENGTH)), + ("SourceIdentifier", LUID), + ]
    +PTOKEN_SOURCE = POINTER(_TOKEN_SOURCE) +TOKEN_SOURCE = _TOKEN_SOURCE + +
    [docs]class _TOKEN_STATISTICS(Structure): + _fields_ = [ + ("TokenId", LUID), + ("AuthenticationId", LUID), + ("ExpirationTime", LARGE_INTEGER), + ("TokenType", TOKEN_TYPE), + ("ImpersonationLevel", SECURITY_IMPERSONATION_LEVEL), + ("DynamicCharged", DWORD), + ("DynamicAvailable", DWORD), + ("GroupCount", DWORD), + ("PrivilegeCount", DWORD), + ("ModifiedId", LUID), + ]
    +PTOKEN_STATISTICS = POINTER(_TOKEN_STATISTICS) +TOKEN_STATISTICS = _TOKEN_STATISTICS + +
    [docs]class _TOKEN_ORIGIN(Structure): + _fields_ = [ + ("OriginatingLogonSession", LUID), + ]
    +TOKEN_ORIGIN = _TOKEN_ORIGIN +PTOKEN_ORIGIN = POINTER(_TOKEN_ORIGIN) + +
    [docs]class _TOKEN_LINKED_TOKEN(Structure): + _fields_ = [ + ("LinkedToken", HANDLE), + ]
    +PTOKEN_LINKED_TOKEN = POINTER(_TOKEN_LINKED_TOKEN) +TOKEN_LINKED_TOKEN = _TOKEN_LINKED_TOKEN + +
    [docs]class _TOKEN_MANDATORY_POLICY(Structure): + _fields_ = [ + ("Policy", DWORD), + ]
    +TOKEN_MANDATORY_POLICY = _TOKEN_MANDATORY_POLICY +PTOKEN_MANDATORY_POLICY = POINTER(_TOKEN_MANDATORY_POLICY) + +
    [docs]class _SID_AND_ATTRIBUTES_HASH(Structure): + _fields_ = [ + ("SidCount", DWORD), + ("SidAttr", PSID_AND_ATTRIBUTES), + ("Hash", SID_HASH_ENTRY * (SID_HASH_SIZE)), + ]
    +SID_AND_ATTRIBUTES_HASH = _SID_AND_ATTRIBUTES_HASH +PSID_AND_ATTRIBUTES_HASH = POINTER(_SID_AND_ATTRIBUTES_HASH) + +
    [docs]class _TOKEN_APPCONTAINER_INFORMATION(Structure): + _fields_ = [ + ("TokenAppContainer", PSID), + ]
    +PTOKEN_APPCONTAINER_INFORMATION = POINTER(_TOKEN_APPCONTAINER_INFORMATION) +TOKEN_APPCONTAINER_INFORMATION = _TOKEN_APPCONTAINER_INFORMATION + +
    [docs]class _TOKEN_ACCESS_INFORMATION(Structure): + _fields_ = [ + ("SidHash", PSID_AND_ATTRIBUTES_HASH), + ("RestrictedSidHash", PSID_AND_ATTRIBUTES_HASH), + ("Privileges", PTOKEN_PRIVILEGES), + ("AuthenticationId", LUID), + ("TokenType", TOKEN_TYPE), + ("ImpersonationLevel", SECURITY_IMPERSONATION_LEVEL), + ("MandatoryPolicy", TOKEN_MANDATORY_POLICY), + ("Flags", DWORD), + ("AppContainerNumber", DWORD), + ("PackageSid", PSID), + ("CapabilitiesHash", PSID_AND_ATTRIBUTES_HASH), + ("TrustLevelSid", PSID), + ("SecurityAttributes", PSECURITY_ATTRIBUTES_OPAQUE), + ]
    +PTOKEN_ACCESS_INFORMATION = POINTER(_TOKEN_ACCESS_INFORMATION) +TOKEN_ACCESS_INFORMATION = _TOKEN_ACCESS_INFORMATION + +
    [docs]class _TOKEN_GROUPS_AND_PRIVILEGES(Structure): + _fields_ = [ + ("SidCount", DWORD), + ("SidLength", DWORD), + ("Sids", PSID_AND_ATTRIBUTES), + ("RestrictedSidCount", DWORD), + ("RestrictedSidLength", DWORD), + ("RestrictedSids", PSID_AND_ATTRIBUTES), + ("PrivilegeCount", DWORD), + ("PrivilegeLength", DWORD), + ("Privileges", PLUID_AND_ATTRIBUTES), + ("AuthenticationId", LUID), + ]
    +TOKEN_GROUPS_AND_PRIVILEGES = _TOKEN_GROUPS_AND_PRIVILEGES +PTOKEN_GROUPS_AND_PRIVILEGES = POINTER(_TOKEN_GROUPS_AND_PRIVILEGES) + +
    [docs]class _TOKEN_SECURITY_ATTRIBUTE_FQBN_VALUE(Structure): + _fields_ = [ + ("Version", ULONG64), + ("Name", UNICODE_STRING), + ]
    +PTOKEN_SECURITY_ATTRIBUTE_FQBN_VALUE = POINTER(_TOKEN_SECURITY_ATTRIBUTE_FQBN_VALUE) +TOKEN_SECURITY_ATTRIBUTE_FQBN_VALUE = _TOKEN_SECURITY_ATTRIBUTE_FQBN_VALUE + +
    [docs]class _TOKEN_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE(Structure): + _fields_ = [ + ("pValue", PVOID), + ("ValueLength", ULONG), + ]
    +PTOKEN_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = POINTER(_TOKEN_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE) +TOKEN_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = _TOKEN_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE + +
    [docs]class _TOKEN_SECURITY_ATTRIBUTE_V1_UNION(Union): + _fields_ = [ + ("pInt64", PLONG64), + ("pUint64", PULONG64), + ("pString", PUNICODE_STRING), + ("pFqbn", PTOKEN_SECURITY_ATTRIBUTE_FQBN_VALUE), + ("pOctetString", PTOKEN_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE), + ]
    +TOKEN_SECURITY_ATTRIBUTE_V1_UNION = _TOKEN_SECURITY_ATTRIBUTE_V1_UNION + +
    [docs]class _TOKEN_SECURITY_ATTRIBUTE_V1(Structure): + _fields_ = [ + ("Name", UNICODE_STRING), + ("ValueType", USHORT), + ("Reserved", USHORT), + ("Flags", ULONG), + ("ValueCount", ULONG), + ("Values", TOKEN_SECURITY_ATTRIBUTE_V1_UNION), + ]
    +TOKEN_SECURITY_ATTRIBUTE_V1 = _TOKEN_SECURITY_ATTRIBUTE_V1 +PTOKEN_SECURITY_ATTRIBUTE_V1 = POINTER(_TOKEN_SECURITY_ATTRIBUTE_V1) + +
    [docs]class _TOKEN_SECURITY_ATTRIBUTES_INFORMATION_UNION(Union): + _fields_ = [ + ("pAttributeV1", PTOKEN_SECURITY_ATTRIBUTE_V1), + ]
    +TOKEN_SECURITY_ATTRIBUTES_INFORMATION_UNION = _TOKEN_SECURITY_ATTRIBUTES_INFORMATION_UNION + +
    [docs]class _TOKEN_SECURITY_ATTRIBUTES_INFORMATION(Structure): + _fields_ = [ + ("Version", USHORT), + ("Reserved", USHORT), + ("AttributeCount", ULONG), + ("Attribute", TOKEN_SECURITY_ATTRIBUTES_INFORMATION_UNION), + ]
    +PTOKEN_SECURITY_ATTRIBUTES_INFORMATION = POINTER(_TOKEN_SECURITY_ATTRIBUTES_INFORMATION) +TOKEN_SECURITY_ATTRIBUTES_INFORMATION = _TOKEN_SECURITY_ATTRIBUTES_INFORMATION + +
    [docs]class _CERT_STRONG_SIGN_SERIALIZED_INFO(Structure): _fields_ = [ ("dwFlags", DWORD), ("pwszCNGSignHashAlgids", LPWSTR), @@ -6892,7 +5766,7 @@ CERT_STRONG_SIGN_SERIALIZED_INFO = _CERT_STRONG_SIGN_SERIALIZED_INFO PCERT_STRONG_SIGN_SERIALIZED_INFO = POINTER(_CERT_STRONG_SIGN_SERIALIZED_INFO) -
    [docs]class TMP_CERT_STRONG_SIGN_PARA_UNION_TYPE(Union): +
    [docs]class TMP_CERT_STRONG_SIGN_PARA_UNION_TYPE(Union): _fields_ = [ ("pvInfo", PVOID), ("pSerializedInfo", PCERT_STRONG_SIGN_SERIALIZED_INFO), @@ -6900,7 +5774,7 @@ ]
    -
    [docs]class _CERT_STRONG_SIGN_PARA(Structure): +
    [docs]class _CERT_STRONG_SIGN_PARA(Structure): _fields_ = [ ("cbSize", DWORD), ("dwInfoChoice", DWORD), @@ -6942,7 +5816,7 @@ PCRYPT_ATTR_BLOB = POINTER(_CRYPTOAPI_BLOB) CRYPT_ATTR_BLOB = _CRYPTOAPI_BLOB -
    [docs]class _CRYPTOAPI_BLOB(_CRYPTOAPI_BLOB): +
    [docs]class _CRYPTOAPI_BLOB(_CRYPTOAPI_BLOB): @classmethod def from_string(cls, buf): self = cls() @@ -6979,7 +5853,7 @@ PDATA_BLOB = POINTER(_CRYPTOAPI_BLOB) PCRYPT_ATTR_BLOB = POINTER(_CRYPTOAPI_BLOB) CRYPT_ATTR_BLOB = _CRYPTOAPI_BLOB -
    [docs]class CRYPTCATATTRIBUTE_(Structure): +
    [docs]class CRYPTCATATTRIBUTE_(Structure): _fields_ = [ ("cbStruct", DWORD), ("pwszReferenceTag", LPWSTR), @@ -6991,7 +5865,7 @@ CRYPTCATATTRIBUTE = CRYPTCATATTRIBUTE_ PCRYPTCATATTRIBUTE = POINTER(CRYPTCATATTRIBUTE_) -
    [docs]class _CRYPT_ATTRIBUTE_TYPE_VALUE(Structure): +
    [docs]class _CRYPT_ATTRIBUTE_TYPE_VALUE(Structure): _fields_ = [ ("pszObjId", LPSTR), ("Value", CRYPT_OBJID_BLOB), @@ -6999,7 +5873,7 @@ CRYPT_ATTRIBUTE_TYPE_VALUE = _CRYPT_ATTRIBUTE_TYPE_VALUE PCRYPT_ATTRIBUTE_TYPE_VALUE = POINTER(_CRYPT_ATTRIBUTE_TYPE_VALUE) -
    [docs]class _CRYPT_ALGORITHM_IDENTIFIER(Structure): +
    [docs]class _CRYPT_ALGORITHM_IDENTIFIER(Structure): _fields_ = [ ("pszObjId", LPSTR), ("Parameters", CRYPT_OBJID_BLOB), @@ -7007,7 +5881,7 @@ CRYPT_ALGORITHM_IDENTIFIER = _CRYPT_ALGORITHM_IDENTIFIER PCRYPT_ALGORITHM_IDENTIFIER = POINTER(_CRYPT_ALGORITHM_IDENTIFIER) -
    [docs]class SIP_INDIRECT_DATA_(Structure): +
    [docs]class SIP_INDIRECT_DATA_(Structure): _fields_ = [ ("Data", CRYPT_ATTRIBUTE_TYPE_VALUE), ("DigestAlgorithm", CRYPT_ALGORITHM_IDENTIFIER), @@ -7016,7 +5890,7 @@ SIP_INDIRECT_DATA = SIP_INDIRECT_DATA_ PSIP_INDIRECT_DATA = POINTER(SIP_INDIRECT_DATA_) -
    [docs]class CRYPTCATMEMBER_(Structure): +
    [docs]class CRYPTCATMEMBER_(Structure): _fields_ = [ ("cbStruct", DWORD), ("pwszReferenceTag", LPWSTR), @@ -7033,7 +5907,7 @@ CRYPTCATMEMBER = CRYPTCATMEMBER_ PCRYPTCATMEMBER = POINTER(CRYPTCATMEMBER_) -
    [docs]class WINTRUST_FILE_INFO_(Structure): +
    [docs]class WINTRUST_FILE_INFO_(Structure): _fields_ = [ ("cbStruct", DWORD), ("pcwszFilePath", LPCWSTR), @@ -7068,7 +5942,7 @@ # SZOID_MAPPER defined in the generated structures template.py return SZOID_MAPPER[self.pszObjId] - def __repr__(self): + def __repr__(self): # return """<{0} pszObjId={1!r} Values={2}>""".format(type(self).__name__, self.objid, self.cValue) if not self.pszObjId in SZOID_MAPPER: return """<{0} pszObjId="{1}" Values={2}>""".format(type(self).__name__, self.pszObjId, self.cValue) @@ -7076,7 +5950,7 @@ return """<{0} pszObjId="{1}" ({2}) Values={3}>""".format(type(self).__name__, flag, flag.name, self.cValue) PCRYPT_ATTRIBUTE = POINTER(_CRYPT_ATTRIBUTE) CRYPT_ATTRIBUTE = _CRYPT_ATTRIBUTE -
    [docs]class _CTL_ENTRY(Structure): +
    [docs]class _CTL_ENTRY(Structure): _fields_ = [ ("SubjectIdentifier", CRYPT_DATA_BLOB), ("cAttribute", DWORD), @@ -7096,7 +5970,7 @@ OLD_CRYPT_ATTRIBUTE = _CRYPT_ATTRIBUTE -
    [docs]class _CRYPT_ATTRIBUTE(_CRYPT_ATTRIBUTE): +
    [docs]class _CRYPT_ATTRIBUTE(_CRYPT_ATTRIBUTE): @property def count(self): # __len__ ? return self.cValue @@ -7110,7 +5984,7 @@ # SZOID_MAPPER defined in the generated structures template.py return SZOID_MAPPER[self.pszObjId] - def __repr__(self): + def __repr__(self): # return """<{0} pszObjId={1!r} Values={2}>""".format(type(self).__name__, self.objid, self.cValue) if not self.pszObjId in SZOID_MAPPER: return """<{0} pszObjId="{1}" Values={2}>""".format(type(self).__name__, self.pszObjId, self.cValue) @@ -7127,7 +6001,7 @@ PCRYPT_ATTRIBUTES = POINTER(_CRYPT_ATTRIBUTES) OLD_CRYPT_ATTRIBUTES = _CRYPT_ATTRIBUTES -
    [docs]class _CRYPT_ATTRIBUTES(_CRYPT_ATTRIBUTES): +
    [docs]class _CRYPT_ATTRIBUTES(_CRYPT_ATTRIBUTES): @property def count(self): # __len__ ? return self.cAttr @@ -7136,14 +6010,14 @@ def attributes(self): return self.rgAttr[:self.cAttr] - def __getitem__(self, oid): + def __getitem__(self, oid): return [x for x in self.attributes if x.pszObjId == oid] - def __repr__(self): + def __repr__(self): return """<{0} Attributes={1}>""".format(type(self).__name__, self.cAttr)
    CRYPT_ATTRIBUTES = _CRYPT_ATTRIBUTES PCRYPT_ATTRIBUTES = POINTER(_CRYPT_ATTRIBUTES) -
    [docs]class _CERT_EXTENSION(Structure): +
    [docs]class _CERT_EXTENSION(Structure): _fields_ = [ ("pszObjId", LPSTR), ("fCritical", BOOL), @@ -7152,7 +6026,7 @@ CERT_EXTENSION = _CERT_EXTENSION PCERT_EXTENSION = POINTER(_CERT_EXTENSION) -
    [docs]class _CRL_ENTRY(Structure): +
    [docs]class _CRL_ENTRY(Structure): _fields_ = [ ("SerialNumber", CRYPT_INTEGER_BLOB), ("RevocationDate", FILETIME), @@ -7162,7 +6036,7 @@ CRL_ENTRY = _CRL_ENTRY PCRL_ENTRY = POINTER(_CRL_ENTRY) -
    [docs]class _CRL_INFO(Structure): +
    [docs]class _CRL_INFO(Structure): _fields_ = [ ("dwVersion", DWORD), ("SignatureAlgorithm", CRYPT_ALGORITHM_IDENTIFIER), @@ -7177,7 +6051,7 @@ CRL_INFO = _CRL_INFO PCRL_INFO = POINTER(_CRL_INFO) -
    [docs]class _CRL_CONTEXT(Structure): +
    [docs]class _CRL_CONTEXT(Structure): _fields_ = [ ("dwCertEncodingType", DWORD), ("pbCrlEncoded", POINTER(BYTE)), @@ -7189,7 +6063,7 @@ CRL_CONTEXT = _CRL_CONTEXT PCRL_CONTEXT = POINTER(_CRL_CONTEXT) -
    [docs]class _CMSG_SIGNER_INFO(Structure): +
    [docs]class _CMSG_SIGNER_INFO(Structure): _fields_ = [ ("dwVersion", DWORD), ("Issuer", CERT_NAME_BLOB), @@ -7203,7 +6077,7 @@ CMSG_SIGNER_INFO = _CMSG_SIGNER_INFO PCMSG_SIGNER_INFO = POINTER(_CMSG_SIGNER_INFO) -
    [docs]class _CTL_USAGE(Structure): +
    [docs]class _CTL_USAGE(Structure): _fields_ = [ ("cUsageIdentifier", DWORD), ("rgpszUsageIdentifier", POINTER(LPSTR)), @@ -7213,7 +6087,7 @@ CTL_USAGE = _CTL_USAGE PCERT_ENHKEY_USAGE = POINTER(_CTL_USAGE) -
    [docs]class _CTL_INFO(Structure): +
    [docs]class _CTL_INFO(Structure): _fields_ = [ ("dwVersion", DWORD), ("SubjectUsage", CTL_USAGE), @@ -7230,7 +6104,7 @@ CTL_INFO = _CTL_INFO PCTL_INFO = POINTER(_CTL_INFO) -
    [docs]class _CTL_CONTEXT(Structure): +
    [docs]class _CTL_CONTEXT(Structure): _fields_ = [ ("dwMsgAndCertEncodingType", DWORD), ("pbCtlEncoded", POINTER(BYTE)), @@ -7245,7 +6119,7 @@ CTL_CONTEXT = _CTL_CONTEXT PCCTL_CONTEXT = POINTER(_CTL_CONTEXT) -
    [docs]class WINTRUST_CATALOG_INFO_(Structure): +
    [docs]class WINTRUST_CATALOG_INFO_(Structure): _fields_ = [ ("cbStruct", DWORD), ("dwCatalogVersion", DWORD), @@ -7260,7 +6134,7 @@ PWINTRUST_CATALOG_INFO = POINTER(WINTRUST_CATALOG_INFO_) WINTRUST_CATALOG_INFO = WINTRUST_CATALOG_INFO_ -
    [docs]class WINTRUST_BLOB_INFO_(Structure): +
    [docs]class WINTRUST_BLOB_INFO_(Structure): _fields_ = [ ("cbStruct", DWORD), ("gSubject", GUID), @@ -7282,13 +6156,13 @@ CRYPT_BIT_BLOB = _CRYPT_BIT_BLOB PCRYPT_BIT_BLOB = POINTER(_CRYPT_BIT_BLOB) -
    [docs]class _CRYPT_BIT_BLOB(_CRYPT_BIT_BLOB): +
    [docs]class _CRYPT_BIT_BLOB(_CRYPT_BIT_BLOB): @property def data(self): return bytearray(self.pbData[:self.cbData])
    CRYPT_BIT_BLOB = _CRYPT_BIT_BLOB PCRYPT_BIT_BLOB = POINTER(_CRYPT_BIT_BLOB) -
    [docs]class _CERT_PUBLIC_KEY_INFO(Structure): +
    [docs]class _CERT_PUBLIC_KEY_INFO(Structure): _fields_ = [ ("Algorithm", CRYPT_ALGORITHM_IDENTIFIER), ("PublicKey", CRYPT_BIT_BLOB), @@ -7296,7 +6170,7 @@ PCERT_PUBLIC_KEY_INFO = POINTER(_CERT_PUBLIC_KEY_INFO) CERT_PUBLIC_KEY_INFO = _CERT_PUBLIC_KEY_INFO -
    [docs]class _CERT_INFO(Structure): +
    [docs]class _CERT_INFO(Structure): _fields_ = [ ("dwVersion", DWORD), ("SerialNumber", CRYPT_INTEGER_BLOB), @@ -7314,7 +6188,7 @@ CERT_INFO = _CERT_INFO PCERT_INFO = POINTER(_CERT_INFO) -
    [docs]class _CERT_ISSUER_SERIAL_NUMBER(Structure): +
    [docs]class _CERT_ISSUER_SERIAL_NUMBER(Structure): _fields_ = [ ("Issuer", CERT_NAME_BLOB), ("SerialNumber", CRYPT_INTEGER_BLOB), @@ -7322,7 +6196,7 @@ CERT_ISSUER_SERIAL_NUMBER = _CERT_ISSUER_SERIAL_NUMBER PCERT_ISSUER_SERIAL_NUMBER = POINTER(_CERT_ISSUER_SERIAL_NUMBER) -
    [docs]class _TMPUNION_CERT_ID(Union): +
    [docs]class _TMPUNION_CERT_ID(Union): _fields_ = [ ("IssuerSerialNumber", CERT_ISSUER_SERIAL_NUMBER), ("KeyId", CRYPT_HASH_BLOB), @@ -7330,7 +6204,7 @@ ]
    TMPUNION_CERT_ID = _TMPUNION_CERT_ID -
    [docs]class _CERT_ID(Structure): +
    [docs]class _CERT_ID(Structure): _fields_ = [ ("dwIdChoice", DWORD), ("DUMMYUNIONNAME", TMPUNION_CERT_ID), @@ -7338,7 +6212,7 @@ CERT_ID = _CERT_ID PCERT_ID = POINTER(_CERT_ID) -
    [docs]class _CERT_CONTEXT(Structure): +
    [docs]class _CERT_CONTEXT(Structure): _fields_ = [ ("dwCertEncodingType", DWORD), ("pbCertEncoded", POINTER(BYTE)), @@ -7350,7 +6224,7 @@ CERT_CONTEXT = _CERT_CONTEXT PCERT_CONTEXT = POINTER(_CERT_CONTEXT) -
    [docs]class WINTRUST_SGNR_INFO_(Structure): +
    [docs]class WINTRUST_SGNR_INFO_(Structure): _fields_ = [ ("cbStruct", DWORD), ("pcwszDisplayName", LPCWSTR), @@ -7361,7 +6235,7 @@ WINTRUST_SGNR_INFO = WINTRUST_SGNR_INFO_ PWINTRUST_SGNR_INFO = POINTER(WINTRUST_SGNR_INFO_) -
    [docs]class WINTRUST_CERT_INFO_(Structure): +
    [docs]class WINTRUST_CERT_INFO_(Structure): _fields_ = [ ("cbStruct", DWORD), ("pcwszDisplayName", LPCWSTR), @@ -7374,7 +6248,7 @@ WINTRUST_CERT_INFO = WINTRUST_CERT_INFO_ PWINTRUST_CERT_INFO = POINTER(WINTRUST_CERT_INFO_) -
    [docs]class _TMP_WINTRUST_UNION_TYPE(Union): +
    [docs]class _TMP_WINTRUST_UNION_TYPE(Union): _fields_ = [ ("pFile", POINTER(WINTRUST_FILE_INFO)), ("pCatalog", POINTER(WINTRUST_CATALOG_INFO)), @@ -7384,7 +6258,7 @@ ]
    TMP_WINTRUST_UNION_TYPE = _TMP_WINTRUST_UNION_TYPE -
    [docs]class _WINTRUST_DATA(Structure): +
    [docs]class _WINTRUST_DATA(Structure): _fields_ = [ ("cbStruct", DWORD), ("pPolicyCallbackData", LPVOID), @@ -7402,7 +6276,7 @@ PWINTRUST_DATA = POINTER(_WINTRUST_DATA) WINTRUST_DATA = _WINTRUST_DATA -
    [docs]class _CRYPT_SIGN_MESSAGE_PARA(Structure): +
    [docs]class _CRYPT_SIGN_MESSAGE_PARA(Structure): _fields_ = [ ("cbSize", DWORD), ("dwMsgEncodingType", DWORD), @@ -7425,7 +6299,7 @@ CRYPT_SIGN_MESSAGE_PARA = _CRYPT_SIGN_MESSAGE_PARA PCRYPT_SIGN_MESSAGE_PARA = POINTER(_CRYPT_SIGN_MESSAGE_PARA) -
    [docs]class _CRYPT_HASH_MESSAGE_PARA(Structure): +
    [docs]class _CRYPT_HASH_MESSAGE_PARA(Structure): _fields_ = [ ("cbSize", DWORD), ("dwMsgEncodingType", DWORD), @@ -7436,7 +6310,7 @@ PCRYPT_HASH_MESSAGE_PARA = POINTER(_CRYPT_HASH_MESSAGE_PARA) CRYPT_HASH_MESSAGE_PARA = _CRYPT_HASH_MESSAGE_PARA -
    [docs]class _CRYPT_KEY_VERIFY_MESSAGE_PARA(Structure): +
    [docs]class _CRYPT_KEY_VERIFY_MESSAGE_PARA(Structure): _fields_ = [ ("cbSize", DWORD), ("dwMsgEncodingType", DWORD), @@ -7445,7 +6319,7 @@ CRYPT_KEY_VERIFY_MESSAGE_PARA = _CRYPT_KEY_VERIFY_MESSAGE_PARA PCRYPT_KEY_VERIFY_MESSAGE_PARA = POINTER(_CRYPT_KEY_VERIFY_MESSAGE_PARA) -
    [docs]class _CRYPT_VERIFY_MESSAGE_PARA(Structure): +
    [docs]class _CRYPT_VERIFY_MESSAGE_PARA(Structure): _fields_ = [ ("cbSize", DWORD), ("dwMsgAndCertEncodingType", DWORD), @@ -7457,7 +6331,7 @@ CRYPT_VERIFY_MESSAGE_PARA = _CRYPT_VERIFY_MESSAGE_PARA PCRYPT_VERIFY_MESSAGE_PARA = POINTER(_CRYPT_VERIFY_MESSAGE_PARA) -
    [docs]class _SPC_SERIALIZED_OBJECT(Structure): +
    [docs]class _SPC_SERIALIZED_OBJECT(Structure): _fields_ = [ ("ClassId", SPC_UUID), ("SerializedData", CRYPT_DATA_BLOB), @@ -7465,7 +6339,7 @@ SPC_SERIALIZED_OBJECT = _SPC_SERIALIZED_OBJECT PSPC_SERIALIZED_OBJECT = POINTER(_SPC_SERIALIZED_OBJECT) -
    @@ -9898,13 +10478,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/hooks.html b/docs/build/html/_modules/windows/hooks.html index 3224578..9b0d610 100644 --- a/docs/build/html/_modules/windows/hooks.html +++ b/docs/build/html/_modules/windows/hooks.html @@ -6,14 +6,17 @@ - windows.hooks — PythonForWindows 0.5 documentation + windows.hooks — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -42,10 +45,10 @@ import windows import windows.utils as utils -from . import native_exec -from .generated_def import winfuncs -from .generated_def.windef import PAGE_EXECUTE_READWRITE -from .generated_def.winstructs import * +from . import native_exec +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) @@ -54,10 +57,10 @@
    [docs]class Callback(object): """Give type information to hook callback""" - def __init__(self, *types): + def __init__(self, *types): self.types = types - def __call__(self, func): + def __call__(self, func): func._types_info = self.types return func
    @@ -65,7 +68,7 @@ class KnownCallback(object): types = () - def __call__(self, func): + def __call__(self, func): func._types_info = self.types return func @@ -91,7 +94,7 @@
    [docs]class IATHook(object): """Look at my hook <3""" - def __init__(self, IAT_entry, callback, types=None): + def __init__(self, IAT_entry, callback, types=None): if types is None: if not hasattr(callback, "_types_info"): raise ValueError("Callback for IATHook has no type infomations") @@ -199,13 +202,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/native_exec/cpuid.html b/docs/build/html/_modules/windows/native_exec/cpuid.html index 1504519..68c4c8e 100644 --- a/docs/build/html/_modules/windows/native_exec/cpuid.html +++ b/docs/build/html/_modules/windows/native_exec/cpuid.html @@ -6,14 +6,17 @@ - windows.native_exec.cpuid — PythonForWindows 0.5 documentation + windows.native_exec.cpuid — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -43,7 +46,7 @@ import native_function import simple_x86 as x86 import simple_x64 as x64 -from windows.generated_def.winstructs import * +from windows.generated_def.winstructs import * def _bitness(): @@ -228,13 +231,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/native_exec/native_function.html b/docs/build/html/_modules/windows/native_exec/native_function.html index edbcb18..6a18aa2 100644 --- a/docs/build/html/_modules/windows/native_exec/native_function.html +++ b/docs/build/html/_modules/windows/native_exec/native_function.html @@ -6,14 +6,17 @@ - windows.native_exec.native_function — PythonForWindows 0.5 documentation + windows.native_exec.native_function — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -45,8 +48,8 @@ import windows import windows.winproxy -from . import simple_x86 as x86 -from . import simple_x64 as x64 +from . import simple_x86 as x86 +from . import simple_x64 as x64 class PyObj(ctypes.Structure): @@ -61,7 +64,7 @@ # Specific mmap class for code injection class MyMap(mmap.mmap): """ A mmap that is never unmapped and that contains the page address """ - def __init__(self, *args, **kwarg): + def __init__(self, *args, **kwarg): # Get the page address by 'introspection' of the C struct m = PyMmap.from_address(id(self)) self.addr = m.ob_addr @@ -100,7 +103,7 @@ class CustomAllocator(object): int_size = {'32bit': 4, '64bit': 8} - def __init__(self): + def __init__(self): self.maps = [] self.cur_offset = 0 self.cur_page_size = 0 # Force get_new_page on first request @@ -186,13 +189,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/native_exec/simple_x86.html b/docs/build/html/_modules/windows/native_exec/simple_x86.html index cb1fc21..376b963 100644 --- a/docs/build/html/_modules/windows/native_exec/simple_x86.html +++ b/docs/build/html/_modules/windows/native_exec/simple_x86.html @@ -6,14 +6,17 @@ - windows.native_exec.simple_x86 — PythonForWindows 0.5 documentation + windows.native_exec.simple_x86 — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -51,7 +54,7 @@ int_types = (int, long) class BitArray(object): - def __init__(self, size, bits): + def __init__(self, size, bits): self.size = size if len(bits) > size: raise ValueError("size > len(bits)") @@ -76,17 +79,17 @@ res.append(c) return bytearray((res)) - def __getitem__(self, slice): + def __getitem__(self, slice): return self.array[slice] - def __setitem__(self, slice, value): + def __setitem__(self, slice, value): self.array[slice] = value return True - def __repr__(self): + def __repr__(self): return repr(self.array) - def __add__(self, other): + def __add__(self, other): if not isinstance(other, BitArray): return NotImplemented return BitArray(self.size + other.size, self.array + other.array) @@ -114,10 +117,10 @@ class Prefix(object): PREFIX_VALUE = None - def __init__(self, next=None): + def __init__(self, next=None): self.next = next - def __add__(self, other): + def __add__(self, other): return type(self)(other) def get_code_py3(self): @@ -308,7 +311,7 @@ # Instruction Parameters class FixedRegister(object): - def __init__(self, register): + def __init__(self, register): self.reg = register.upper() def accept_arg(self, args, instr_state): @@ -446,7 +449,7 @@ class ModRM(object): - def __init__(self, sub_modrm, accept_reverse=True, has_direction_bit=True): + def __init__(self, sub_modrm, accept_reverse=True, has_direction_bit=True): self.accept_reverse = accept_reverse self.has_direction_bit = has_direction_bit self.sub = sub_modrm @@ -478,7 +481,7 @@ return X86.is_reg(arg1) and X86.is_reg(arg2) - def __init__(self, arg1, arg2, reversed, instr_state): + def __init__(self, arg1, arg2, reversed, instr_state): self.mod = BitArray(2, "11") if X86.reg_size(arg1) != X86.reg_size(arg2): raise ValueError("Register size mitmatch between {0} and {1}".format(arg1, arg2)) @@ -494,7 +497,7 @@ def match(cls, arg1, arg2): return X86.is_reg(arg1) and X86.is_seg_reg(arg2) - def __init__(self, arg1, arg2, reversed, instr_state): + def __init__(self, arg1, arg2, reversed, instr_state): self.mod = BitArray(2, "11") self.rm = X86RegisterSelector.get_reg_bits(arg1) self.reg = BitArray(3, x86_segment_selectors_number[arg2.upper()]) @@ -513,7 +516,7 @@ if X86.reg_size(regname) == 16: instr_state.prefixes.append(OperandSizeOverride) - def __init__(self, arg1, arg2, reversed, instr_state): + def __init__(self, arg1, arg2, reversed, instr_state): # ARG1 : REG # ARG2 : prefix:[MEM] # Handle prefix: @@ -594,7 +597,7 @@ class Slash(object): "No idea for the name: represent the modRM for single args + encoding in reg (/7 in cmp in man intel)" - def __init__(self, reg_num): + def __init__(self, reg_num): "reg = 7 for /7" self.reg = x86_regs[reg_num] @@ -609,7 +612,7 @@ return arg_consum - 1, value class ControlRegisterModRM(object): - def __init__(self, writecr = False): + def __init__(self, writecr = False): self.writecr = writecr def accept_arg(self, args, instr_state): @@ -639,7 +642,7 @@ """Base class of instructions, use `encoding` to find a valid way to assemble the instruction""" encoding = [] - def __init__(self, *initial_args): + def __init__(self, *initial_args): for type_encoding in self.encoding: args = list(initial_args) prefix = [] @@ -675,7 +678,7 @@ # res += other # return res - def __mul__(self, value): + def __mul__(self, value): if not isinstance(value, int_types): return NotImplemented res = MultipleInstr() @@ -688,7 +691,7 @@ class DelayedJump(object): """A jump to a label :NAME""" - def __init__(self, type, label): + def __init__(self, type, label): self.type = type self.label = label @@ -696,7 +699,7 @@ class JmpType(Instruction): """Dispatcher between a real jump or DelayedJump if parameters is a label""" - def __new__(cls, *initial_args): + def __new__(cls, *initial_args): if len(initial_args) == 1: arg = initial_args[0] if isinstance(arg, str) and arg[0] == ":": @@ -709,7 +712,7 @@ Sub a specified size from the size to jump to `emulate` a jump from the begin address of the instruction""" accept_as_Ximmediat = None - def __init__(self, sub): + def __init__(self, sub): self.sub = sub def accept_arg(self, args, instr_state): @@ -949,7 +952,7 @@ class Raw(Instruction): """Output raw data""" - def __init__(self, *initial_args): + def __init__(self, *initial_args): if len(initial_args) != 1: raise ValueError("raw 'opcode' only accept one argument") # Accept space @@ -962,7 +965,7 @@ class Label(object): - def __init__(self, name): + def __init__(self, name): self.name = name @@ -976,7 +979,7 @@ class MultipleInstr(object): JUMP_SIZE = 6 - def __init__(self, init_instrs=()): + def __init__(self, init_instrs=()): self.instrs = {} self.labels = {} self.expected_labels = {} @@ -1111,7 +1114,7 @@ self.add_instruction(Label(label_name)) self.add_instruction(instr) - def __iadd__(self, other): + def __iadd__(self, other): if isinstance(other, MultipleInstr): self.merge_shellcode(other) elif isinstance(other, basestring): @@ -1231,13 +1234,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/pe_parse.html b/docs/build/html/_modules/windows/pe_parse.html index e46ab87..e77551e 100644 --- a/docs/build/html/_modules/windows/pe_parse.html +++ b/docs/build/html/_modules/windows/pe_parse.html @@ -6,14 +6,17 @@ - windows.pe_parse — PythonForWindows 0.5 documentation + windows.pe_parse — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -42,8 +45,8 @@ import windows.hooks as hooks import windows.utils as utils -from windows.generated_def.winstructs import * -from windows.utils import transform_ctypes_fields +from windows.generated_def.winstructs import * +from windows.utils import transform_ctypes_fields import windows.remotectypes as rctypes IMAGE_ORDINAL_FLAG32 = 0x80000000 @@ -151,7 +154,7 @@ def size(self): return self.VirtualSize - def __repr__(self): + def __repr__(self): return "<PESection \"{0}\">".format(self.name) @@ -189,7 +192,7 @@ self.target = target return self - def __repr__(self): + def __repr__(self): return '<{0} "{1}" ordinal {2}>'.format(self.__class__.__name__, self.name, self.ord)
    [docs] def set_hook(self, callback, types=None): @@ -333,7 +336,7 @@
    [docs]class PEFile(object): """Represent a PE loaded in a process (current or remote)""" - def __init__(self, target, baseaddr, targetedbitness, transformers): + def __init__(self, target, baseaddr, targetedbitness, transformers): self.target = target self.baseaddr = baseaddr self.bitness = targetedbitness @@ -494,13 +497,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/pipe.html b/docs/build/html/_modules/windows/pipe.html index 3b38c86..205e7a8 100644 --- a/docs/build/html/_modules/windows/pipe.html +++ b/docs/build/html/_modules/windows/pipe.html @@ -6,14 +6,17 @@ - windows.pipe — PythonForWindows 0.5 documentation + windows.pipe — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - +
    @@ -38,16 +41,16 @@

    Source code for windows.pipe

     import windows
    -from windows import winproxy
    +from windows import winproxy
     import windows.generated_def as gdef
     import ctypes
     
    -from windows.pycompat import is_py3
    +from windows.pycompat import is_py3
     
     if is_py3:
    -    from multiprocessing.connection import PipeConnection as native_PipeConnection
    +    from multiprocessing.connection import PipeConnection as native_PipeConnection
     else:
    -    from _multiprocessing import PipeConnection as native_PipeConnection
    +    from _multiprocessing import PipeConnection as native_PipeConnection
     
     # Inspired from 'multiprocessing\connection.py'
     
    @@ -63,7 +66,7 @@
         """A wrapper arround :class:`_multiprocessing.PipeConnection` able to work as a ContextManager"""
         BUFFER_SIZE = 0x2000
     
    -    def __init__(self, connection, name=None, server=False):
    +    def __init__(self, connection, name=None, server=False):
             self.handle = connection.fileno()
             self.connection = connection
             self.name = name
    @@ -140,13 +143,13 @@
             self.connection.close()
             self.handle = None
    - def __enter__(self): + def __enter__(self): return self - def __exit__(self, *args, **kwargs): + def __exit__(self, *args, **kwargs): self.close() - def __repr__(self): + def __repr__(self): return """<{0} name="{1}" server={2}>""".format(type(self).__name__, self.name, self.server) @@ -196,13 +199,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/remotectypes.html b/docs/build/html/_modules/windows/remotectypes.html index 345786b..9b99bee 100644 --- a/docs/build/html/_modules/windows/remotectypes.html +++ b/docs/build/html/_modules/windows/remotectypes.html @@ -6,14 +6,17 @@ - windows.remotectypes — PythonForWindows 0.5 documentation + windows.remotectypes — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -44,7 +47,7 @@ import ctypes import ctypes.wintypes import itertools -from _ctypes import _SimpleCData +from _ctypes import _SimpleCData # No PFW deps in this file import sys @@ -199,7 +202,7 @@ remote_pointed_type = RemoteStructure.from_structure(self.real_pointer_type._type_) return remote_pointed_type(self.raw_value, self.target) - def __repr__(self): + def __repr__(self): return "<RemoteStructurePointer to {0}>".format(self.real_pointer_type._type_.__name__) @@ -209,11 +212,11 @@ _length_ = len _type_ = subtype - def __init__(self, addr, target): + def __init__(self, addr, target): self._base_addr = addr self.target = target - def __getitem__(self, slice): + def __getitem__(self, slice): # import pdb;pdb.set_trace() if not isinstance(slice, int_types): raise NotImplementedError("RemoteArray slice __getitem__") @@ -238,7 +241,7 @@ # 64bits pointers class RemotePtr64(RemoteValue): - def __init__(self, value, target): + def __init__(self, value, target): self.target = target super(RemotePtr64, self).__init__(value) @@ -259,12 +262,12 @@ # RemoteCCharP for the good `value` implem # c_char_p64 for the good _type_ (ctypes size) class Remote_c_char_p64(c_char_p64, RemotePtr64, RemoteCCharP): - def __repr__(self): + def __repr__(self): return "<Remote_c_char_p64({0})>".format(self.raw_value) class Remote_w_char_p64(c_wchar_p64, RemotePtr64, RemoteWCharP): - def __repr__(self): + def __repr__(self): return "<Remote_c_wchar_p64({0})>".format(self.raw_value) @@ -296,7 +299,7 @@ # 32bits pointers class RemotePtr32(RemoteValue): - def __init__(self, value, target): + def __init__(self, value, target): self.target = target super(RemotePtr32, self).__init__(value) @@ -317,12 +320,12 @@ # RemoteCCharP for the good `value` implem # c_char_p64 for the good _type_ (ctypes size) class Remote_c_char_p32(c_char_p32, RemotePtr32, RemoteCCharP): - def __repr__(self): + def __repr__(self): return "<Remote_c_char_p32({0})>".format(self.raw_value) class Remote_w_char_p32(c_wchar_p32, RemotePtr32, RemoteWCharP): - def __repr__(self): + def __repr__(self): return "<Remote_c_wchar_p32({0})>".format(self.raw_value) @@ -383,7 +386,7 @@ Remote_w_char_p32: Remote_w_char_p32 } - def __init__(self, base_addr, target): + def __init__(self, base_addr, target): self._target = target self._base_addr = base_addr self._fields_dict_ = dict(self._fields_) @@ -430,7 +433,7 @@ return ftype.from_buffer(bytearray(s)) return ftype.from_buffer(bytearray(s)).value - def __getattribute__(self, fieldname): + def __getattribute__(self, fieldname): if fieldname in type(self)._reserved_name: # Prevent recursion ! return super(RemoteStructureUnion, self).__getattribute__(fieldname) try: @@ -479,7 +482,7 @@ def contents(self): return RemoteStructurePointer64.from_buffer_with_target_and_ptr_type(bytearray(self), target=self.target, ptr_type=self).contents - def __repr__(self): + def __repr__(self): return "<RemotePtr64 to struct {0}>".format(type.__name__) return PointerToStruct64 @@ -523,7 +526,7 @@ def contents(self): return RemoteStructurePointer32.from_buffer_with_target_and_ptr_type(bytearray(self), target=self.target, ptr_type=self).contents - def __repr__(self): + def __repr__(self): return "<RemotePtr32 to struct {0}>".format(type.__name__) return PointerToStruct32 @@ -594,13 +597,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/rpc/client.html b/docs/build/html/_modules/windows/rpc/client.html index 56f7351..9c3b01c 100644 --- a/docs/build/html/_modules/windows/rpc/client.html +++ b/docs/build/html/_modules/windows/rpc/client.html @@ -6,14 +6,17 @@ - windows.rpc.client — PythonForWindows 0.5 documentation + windows.rpc.client — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -102,8 +105,8 @@
    [docs]class RPCClient(object): """A client for RPC-over-ALPC able to bind to interface and perform calls using NDR32 marshalling""" REQUEST_IDENTIFIER = 0x11223344 - def __init__(self, port): - self.alpc_client = alpc.AlpcClient(port) + def __init__(self, port): + self.alpc_client = alpc.AlpcClient(port) #: The :class:`windows.alpc.AlpcClient` used to communicate with the server self.number_of_bind_if = 0 # if -> interface self.if_bind_number = {} @@ -249,13 +252,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/rpc/epmapper.html b/docs/build/html/_modules/windows/rpc/epmapper.html index b0b3aea..bcb9fcb 100644 --- a/docs/build/html/_modules/windows/rpc/epmapper.html +++ b/docs/build/html/_modules/windows/rpc/epmapper.html @@ -6,14 +6,17 @@ - windows.rpc.epmapper — PythonForWindows 0.5 documentation + windows.rpc.epmapper — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -38,13 +41,13 @@

    Source code for windows.rpc.epmapper

     import struct
    -from collections import namedtuple
    +from collections import namedtuple
     
     import windows
     import windows.generated_def as gdef
    -from windows.rpc import ndr
    -from windows.dbgprint import dbgprint
    -from windows.pycompat import basestring
    +from windows.rpc import ndr
    +from windows.dbgprint import dbgprint
    +from windows.pycompat import basestring
     
     
     
    @@ -268,13 +271,13 @@
             
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/rpc/ndr.html b/docs/build/html/_modules/windows/rpc/ndr.html index bf298ff..21d8e8f 100644 --- a/docs/build/html/_modules/windows/rpc/ndr.html +++ b/docs/build/html/_modules/windows/rpc/ndr.html @@ -6,14 +6,17 @@ - windows.rpc.ndr — PythonForWindows 0.5 documentation + windows.rpc.ndr — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -68,7 +71,7 @@
    [docs]class NdrUniquePTR(object): """Create a UNIQUE PTR around a given Ndr type""" - def __init__(self, subcls): + def __init__(self, subcls): self.subcls = subcls def pack(self, data): @@ -101,7 +104,12 @@ data = stream.partial_unpack("<I") if data[0] == 0: return None - return self.subcls.parse(stream)
    + return self.subcls.parse(stream) + + def get_alignment(self): + # 14.3.2 Alignment of Constructed Types + # Pointer alignment is always modulo 4. + return 4 class NdrUnpackNone(object): @classmethod @@ -110,7 +118,7 @@ class NdrRef(object): # TESTING - def __init__(self, subcls): + def __init__(self, subcls): self.subcls = subcls def unpack(self, stream): @@ -120,7 +128,7 @@ return self.subcls.unpack(stream) class NdrFixedArray(object): - def __init__(self, subcls, size): + def __init__(self, subcls, size): self.subcls = subcls self.size = size @@ -133,6 +141,9 @@ def unpack(self, stream): return [self.subcls.unpack(stream) for i in range(self.size)] + def get_alignment(self): + return self.subcls.get_alignment() +
    [docs]class NdrSID(object):
    [docs] @classmethod @@ -150,7 +161,12 @@ def unpack(cls, stream): """Unpack a PSID, partial implementation that returns a :class:`str` and not a PSID""" subcount = NdrLong.unpack(stream) - return stream.read(8 + (subcount * 4))
    + return stream.read(8 + (subcount * 4)) + + @classmethod + def get_alignment(self): + # Not sur, but it seems to contain an array of long + return 4 class NdrVaryingCString(object): @classmethod @@ -165,6 +181,11 @@ result += data return dword_pad(result) + @classmethod + def get_alignment(self): + # Not sur, but size is on 4 bytes so... + return 4 +
    [docs]class NdrWString(object):
    [docs] @classmethod def pack(cls, data): @@ -186,7 +207,12 @@ assert size1 == size2 assert zero == 0 s = stream.read(size1 * 2) - return s.decode("utf-16-le")
    + return s.decode("utf-16-le") + + @classmethod + def get_alignment(self): + # Not sur, but size is on 4 bytes so... + return 4
    [docs]class NdrCString(object):
    [docs] @classmethod @@ -199,7 +225,12 @@ l = len(data) result = struct.pack("<3I", l, 0, l) result += data - return dword_pad(result)
    + return dword_pad(result) + + @classmethod + def get_alignment(self): + # Not sur, but size is on 4 bytes so... + return 4 # @classmethod # def unpack(self, stream): @@ -217,7 +248,11 @@ @classmethod def unpack(self, stream): stream.align(4) - return stream.partial_unpack("<I")[0] + return stream.partial_unpack("<I")[0] + + @classmethod + def get_alignment(self): + return 4
    [docs]class NdrHyper(object): @classmethod @@ -227,7 +262,11 @@ @classmethod def unpack(self, stream): stream.align(8) - return stream.partial_unpack("<Q")[0]
    + return stream.partial_unpack("<Q")[0] + + @classmethod + def get_alignment(self): + return 8
    [docs]class NdrShort(object): @classmethod @@ -236,7 +275,11 @@ @classmethod def unpack(self, stream): - return stream.partial_unpack("<H")[0]
    + return stream.partial_unpack("<H")[0] + + @classmethod + def get_alignment(self): + return 2
    [docs]class NdrByte(object): @@ -246,7 +289,11 @@ @classmethod def unpack(self, stream): - return stream.partial_unpack("<B")[0]
    + return stream.partial_unpack("<B")[0] + + @classmethod + def get_alignment(self): + return 1 class NdrGuid(object): @@ -261,6 +308,11 @@ rawguid = stream.partial_unpack("16s")[0] return gdef.IID.from_buffer_copy(rawguid) + @classmethod + def get_alignment(self): + return 1 + + class NdrContextHandle(object): @classmethod def pack(cls, data): @@ -273,6 +325,11 @@ attributes, rawguid = stream.partial_unpack("<I16s") return gdef.IID.from_buffer_copy(rawguid) + @classmethod + def get_alignment(self): + return 4 + +
    [docs]class NdrStructure(object): """a NDR structure that tries to respect the rules of pointer packing, this class should be subclassed with @@ -290,21 +347,38 @@ raise ValueError("NdrStructure packing number elements mismatch: structure has <{0}> members got <{1}>".format(len(cls.MEMBERS), len(data))) conformant_size = [] res = [] + res_size = 0 pointed = [] + outstream = NdrWriteStream() + pointed_to_pack = [] + # pointedoutstream = NdrWriteStream() for i, (member, memberdata) in enumerate(zip(cls.MEMBERS, data)): if hasattr(member, "pack_in_struct"): x, y = member.pack_in_struct(memberdata, i) - res.append(x) + assert len(x) == 4, "Pointer should be size 4" + # Write the pointer + outstream.align(4) + outstream.write(x) if y is not None: - pointed.append(y) + # Store the info to the pointed to pack + pointed_to_pack.append((member.subcls.get_alignment(), y)) + # pointedoutstream.write(y) elif hasattr(member, "pack_conformant"): size, data = member.pack_conformant(memberdata) + outstream.align(member.get_alignment()) + outstream.write(data) conformant_size.append(size) - res.append(data) + # res.append(data) + # res_size += len(data) else: packed_member = member.pack(memberdata) - res.append(packed_member) - return dword_pad(b"".join(conformant_size)) + dword_pad(b"".join(res)) + dword_pad(b"".join(pointed))
    + outstream.align(member.get_alignment()) + outstream.write(packed_member) + # Pack the pointed to the stream + for alignement, pointed_data in pointed_to_pack: + outstream.align(alignement) + outstream.write(pointed_data) + return dword_pad(b"".join(conformant_size)) + outstream.get_data()
    [docs] @classmethod def unpack(cls, stream): @@ -342,7 +416,11 @@ @classmethod def post_unpack(cls, data): - return data
    + return data + + @classmethod + def get_alignment(self): + return max([x.get_alignment() for x in self.MEMBERS]) @@ -359,11 +437,17 @@ print(" * data {0}".format(data)) print(" * members = {0}".format(cls.MEMBERS)) raise ValueError("NdrParameters packing number elements mismatch: structure has <{0}> members got <{1}>".format(len(cls.MEMBERS), len(data))) - res = [] + + + outstream = NdrWriteStream() for (member, memberdata) in zip(cls.MEMBERS, data): + alignment = member.get_alignment() + outstream.align(alignment) packed_member = member.pack(memberdata) - res.append(packed_member) - return b"".join(dword_pad(elt) for elt in res) + outstream.write(packed_member) + return outstream.get_data() + + @classmethod def unpack(cls, stream): @@ -371,7 +455,10 @@ for member in cls.MEMBERS: unpacked_member = member.unpack(stream) res.append(unpacked_member) - return res + return res + + def get_alignment(self): + raise ValueError("NdrParameters should always be top type in NDR description")
    [docs]class NdrConformantArray(object): @@ -401,7 +488,12 @@ def unpack_conformant(cls, stream, size): res = [cls.MEMBER_TYPE.unpack(stream) for i in range(size)] stream.align(4) - return res
    + return res + + @classmethod + def get_alignment(self): + # TODO: test on array of Hyper + return max(4, self.MEMBER_TYPE.get_alignment())
    [docs]class NdrConformantVaryingArrays(object): @@ -443,8 +535,11 @@ @classmethod def _post_unpack(cls, result): - return result
    + return result + def get_alignment(self): + # TODO: test on array of Hyper + return max(4, self.MEMBER_TYPE.get_alignment()) class NdrWcharConformantVaryingArrays(NdrConformantVaryingArrays): MEMBER_TYPE = NdrShort @@ -488,7 +583,7 @@
    [docs]class NdrStream(object): """A stream of bytes used for NDR unpacking""" - def __init__(self, data): + def __init__(self, data): self.fulldata = data self.data = data @@ -526,6 +621,27 @@ # print("align {0}: 0".format(size)) return 0
    +class NdrWriteStream(object): + def __init__(self): + self.data_parts = [] + self.data_size = 0 + + def get_data(self): + data = b"".join(self.data_parts) + assert len(data) == self.data_size + return data + + def write(self, data): + self.data_parts.append(data) + self.data_size += len(data) + return None + + def align(self, alignement): + if self.data_size % alignement == 0: + return + topadsize = (alignement) - (self.data_size % alignement) + self.write(b"P" * topadsize) + return def make_parameters(types, name=None): class NdrCustomParameters(NdrParameters): @@ -568,13 +684,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/security.html b/docs/build/html/_modules/windows/security.html index 2e881f9..b8c72e7 100644 --- a/docs/build/html/_modules/windows/security.html +++ b/docs/build/html/_modules/windows/security.html @@ -6,14 +6,17 @@ - windows.security — PythonForWindows 0.5 documentation + windows.security — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -42,9 +45,10 @@ import windows import windows.generated_def as gdef -from windows import winproxy +from windows import winproxy +from windows.pycompat import basestring -from windows.winobject.token import Token, KNOW_INTEGRITY_LEVEL +from windows.winobject.token import Token, KNOW_INTEGRITY_LEVEL # Specific access right @@ -354,7 +358,7 @@ subcls = ACE_CLASS_BY_ACE_TYPE[self.AceType] return self._to_ace_type(subcls) - def __repr__(self): + def __repr__(self): return "<{0} type={1}>".format(type(self).__name__, self.AceType) @@ -405,7 +409,7 @@ if v: yield ACE_MASKS[v] - def __repr__(self): + def __repr__(self): return "<{0} mask={1}>".format(type(self).__name__, self.Mask) @@ -674,11 +678,11 @@ """ return list(self) -
    [docs] def __len__(self): +
    [docs] def __len__(self): """The number of ``ACE`` in the :class:`Acl`""" return self.AceCount
    -
    [docs] def __getitem__(self, i): +
    [docs] def __getitem__(self, i): """Return ``ACE`` nb ``i`` :return: :class:`Ace` @@ -690,14 +694,14 @@ raise IndexError("Invalid ACL index {0}".format(i)) raise
    -
    [docs] def __iter__(self): +
    [docs] def __iter__(self): """Return an iterable over all the ``ACE`` in the :class:`Acl` :yield: :class:`Ace`""" for i in range(self.AceCount): yield self.get_ace(i)
    - def __repr__(self): + def __repr__(self): return "<Acl count={0}>".format(self.AceCount)
    PAcl = ctypes.POINTER(Acl) @@ -816,7 +820,7 @@ @property def sacl(self): - """The SACL of the security descriptor. You may need special attention to retrieve it (see :any:`DEFAULT_SECURITY_INFORMATION`) + """The SACL of the security descriptor. You may need special attention to retrieve it (see :class:`DEFAULT_SECURITY_INFORMATION`) :type: :class:`Acl` or ``None`` if the SACL was ``NULL`` or not present """ @@ -928,6 +932,17 @@ flags |= gdef.SACL_SECURITY_INFORMATION winproxy.SetNamedSecurityInfoW(filename, gdef.SE_FILE_OBJECT, flags, self.owner, self.group, self.dacl, self.sacl)
    + def to_handle(self, handle, flags=0): + if not flags: + if self.owner: + flags |= gdef.OWNER_SECURITY_INFORMATION + if self.group: + flags |= gdef.GROUP_SECURITY_INFORMATION + if self.dacl: + flags |= gdef.DACL_SECURITY_INFORMATION + if self.sacl: + flags |= gdef.SACL_SECURITY_INFORMATION + self._apply_to_handle_and_type(handle, gdef.SE_FILE_OBJECT, flags)
    [docs] @classmethod def from_service(cls, filename, query_sacl=False, flags=SERVICE_SECURITY_INFORMATION): @@ -1016,11 +1031,11 @@ def explain_simple_ace(ace, sdtype): yield u"Type:" yield u" " + str(ace.Header.AceType) - yield u"Flags:" - yield u" {0:#x}".format(ace.Header.AceFlags) + yield u"Flags: {0:#x}".format(ace.Header.AceFlags) + yield u" {0}".format(ace.Header.flags) yield u"SID:" yield u" " + explain_sid(ace.sid) - yield u"Mask:" + yield u"Mask: {0:#x}".format(ace.Mask) mapper = windows.security.SPECIFIC_ACCESS_RIGTH_BY_TYPE[sdtype] yield u" " + str(list(mapper[x] for x in ace.mask)) @@ -1154,13 +1169,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/syswow64.html b/docs/build/html/_modules/windows/syswow64.html index 7ef6e8c..4c328fb 100644 --- a/docs/build/html/_modules/windows/syswow64.html +++ b/docs/build/html/_modules/windows/syswow64.html @@ -6,14 +6,17 @@ - windows.syswow64 — PythonForWindows 0.5 documentation + windows.syswow64 — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - +
    @@ -39,18 +42,18 @@

    Source code for windows.syswow64

     import struct
     import ctypes
    -from ctypes import byref
    +from ctypes import byref
     import codecs
     import functools
     
     import windows
     import windows.native_exec.simple_x86 as x86
     import windows.native_exec.simple_x64 as x64
    -from .generated_def.winstructs import *
    -from windows.winobject import process
    -from windows import winproxy
    -from .winproxy import NeededParameter
    -from .pycompat import int_types
    +from .generated_def.winstructs import *
    +from windows.winobject import process
    +from windows import winproxy
    +from .winproxy import NeededParameter
    +from .pycompat import int_types
     
     # Special code for syswow64 process
     CS_32bits = 0x23
    @@ -207,7 +210,7 @@
     
     
     class ReadSyswow64Process(process.Process):
    -        def __init__(self, target):
    +        def __init__(self, target):
                 self.target = target
                 self._bitness = target.bitness
     
    @@ -238,7 +241,7 @@
     
     
    [docs]class Syswow64ApiProxy(object): """Create a python wrapper around a function""" - def __init__(self, winproxy_function, errcheck=None): + def __init__(self, winproxy_function, errcheck=None): self.winproxy_function = winproxy_function self.raw_call = None self.errcheck = errcheck @@ -248,7 +251,7 @@ - def __call__(self, python_proxy): + def __call__(self, python_proxy): if not windows.winproxy.is_implemented(self.winproxy_function): return None @@ -390,13 +393,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/utils/pythonutils.html b/docs/build/html/_modules/windows/utils/pythonutils.html index 1ffa0ad..86ac285 100644 --- a/docs/build/html/_modules/windows/utils/pythonutils.html +++ b/docs/build/html/_modules/windows/utils/pythonutils.html @@ -6,14 +6,17 @@ - windows.utils.pythonutils — PythonForWindows 0.5 documentation + windows.utils.pythonutils — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - +
    @@ -43,8 +46,9 @@ import _ctypes import windows.generated_def as gdef -from windows.dbgprint import dbgprint -from windows import winproxy +from windows import winproxy +from windows.dbgprint import dbgprint +from windows.pycompat import basestring @@ -145,7 +149,7 @@ """Wait for the object""" return winproxy.WaitForSingleObject(self.handle, timeout) - def __del__(self): + def __del__(self): # sys.path is not None -> check if python shutdown if hasattr(sys, "path") and sys.path is not None and hasattr(self, "_handle") and self._handle: # Prevent some bug where dbgprint might be None when __del__ is called in a closing process @@ -183,13 +187,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/utils/winutils.html b/docs/build/html/_modules/windows/utils/winutils.html index a71ff15..bf4942f 100644 --- a/docs/build/html/_modules/windows/utils/winutils.html +++ b/docs/build/html/_modules/windows/utils/winutils.html @@ -6,14 +6,17 @@ - windows.utils.winutils — PythonForWindows 0.5 documentation + windows.utils.winutils — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -45,14 +48,14 @@ import math import datetime import warnings -from collections import namedtuple +from collections import namedtuple import windows -from windows.dbgprint import dbgprint +from windows.dbgprint import dbgprint import windows.generated_def as gdef -from .. import winproxy -from ..generated_def.winstructs import * +from .. import winproxy +from ..generated_def.winstructs import * # Function resolution ! @@ -339,12 +342,12 @@ def all(self): return list(self) - def __iter__(self): + def __iter__(self): while self: yield self self = self.next - def __repr__(self): + def __repr__(self): return "<ADS name='{0}'>".format(self.name) @@ -424,12 +427,12 @@ return new - def __iter__(self): + def __iter__(self): while self: yield self self = self.next - def __repr__(self): + def __repr__(self): return '<{0} name="{1}">'.format(type(self).__name__, self.name) @@ -600,19 +603,19 @@ with utils.VirtualProtected(IATentry.addr, ctypes.sizeof(PVOID), gdef.PAGE_EXECUTE_READWRITE): IATentry.value = 0x42424242 """ - def __init__(self, addr, size, new_protect): + def __init__(self, addr, size, new_protect): if (addr % 0x1000): addr = addr - addr % 0x1000 self.addr = addr self.size = size self.new_protect = new_protect - def __enter__(self): + def __enter__(self): self.old_protect = DWORD() winproxy.VirtualProtect(self.addr, self.size, self.new_protect, ctypes.byref(self.old_protect)) return self - def __exit__(self, exc_type, exc_value, traceback): + def __exit__(self, exc_type, exc_value, traceback): winproxy.VirtualProtect(self.addr, self.size, self.old_protect.value, ctypes.byref(self.old_protect)) return False @@ -626,15 +629,15 @@ with windows.utils.DisableWow64FsRedirection(): return windows.utils.create_process(r"C:\Windows\system32\calc.exe", True) """ - def __enter__(self): - if windows.current_process.bitness == 64: + def __enter__(self): + if windows.current_process.bitness == 64 or windows.system.bitness == 32: return self self.OldValue = PVOID() winproxy.Wow64DisableWow64FsRedirection(ctypes.byref(self.OldValue)) return self - def __exit__(self, exc_type, exc_value, traceback): - if windows.current_process.bitness == 64: + def __exit__(self, exc_type, exc_value, traceback): + if windows.current_process.bitness == 64 or windows.system.bitness == 32: return False winproxy.Wow64RevertWow64FsRedirection(self.OldValue) return False @@ -670,13 +673,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/apisetmap.html b/docs/build/html/_modules/windows/winobject/apisetmap.html index 93c081c..16f8446 100644 --- a/docs/build/html/_modules/windows/winobject/apisetmap.html +++ b/docs/build/html/_modules/windows/winobject/apisetmap.html @@ -6,14 +6,17 @@ - windows.winobject.apisetmap — PythonForWindows 0.5 documentation + windows.winobject.apisetmap — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -42,7 +45,7 @@ import windows import windows.generated_def as gdef -from windows import utils +from windows import utils def get_api_set_map_for_current_process(base): @@ -59,7 +62,7 @@ """ version = None #: The version of the ApiSetMap - def __init__(self, base): + def __init__(self, base): self.base = base self.target = windows.current_process @@ -250,13 +253,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/device_manager.html b/docs/build/html/_modules/windows/winobject/device_manager.html new file mode 100644 index 0000000..b6517bc --- /dev/null +++ b/docs/build/html/_modules/windows/winobject/device_manager.html @@ -0,0 +1,599 @@ + + + + + + + + windows.winobject.device_manager — PythonForWindows 0.6 documentation + + + + + + + + + + + + + + + +
    +
    +
    +
    + +

    Source code for windows.winobject.device_manager

    +import ctypes
    +import itertools
    +
    +import windows
    +from windows import winproxy
    +import windows.generated_def as gdef
    +from windows.security import SecurityDescriptor
    +from windows.utils import fixedproperty
    +
    +
    +
    [docs]class DeviceManager(object): + """Represent the device manager""" + + + @property + def classes(self): + """The list of installed device classes. + + :return: [:class:`DeviceClass`] -- A list of :class:`DeviceClass` + """ + return list(self._classes_generator()) + + def _classes_generator(self): + for index in itertools.count(): + try: + yield self._enumerate_classes(index, 0) + except WindowsError as e: + if e.winerror == gdef.CR_NO_SUCH_VALUE: + break + # Some index values might represent list entries containing invalid class data, + # in which case the function returns CR_INVALID_DATA. + # This return value can be ignored. + if e.winerror == gdef.CR_INVALID_DATA: + continue + raise + + + def _enumerate_classes(self, index, flags=0): + res = DeviceClass() + x = winproxy.CM_Enumerate_Classes(index, res, flags) + return res
    + + +
    [docs]class DeviceClass(gdef.GUID): + """A Device class, which is mainly a :class:`GUID` with additional attributes""" + def __init__(self): + # Bypass GUID __init__ that is not revelant here + pass + + @fixedproperty + def name(self): + """The name of the device class""" + return self._get_device_class_name() + + @property + def devices(self): + """The set of devices of the current class. + + :type: :class:`DeviceInformationSet` + """ + return self.enumerate_devices() + + def enumerate_devices(self, flags=0): + handle = winproxy.SetupDiGetClassDevsA(self, Flags=flags) + return DeviceInformationSet(handle) + + def _get_device_class_name(self): + name = ctypes.create_string_buffer(gdef.MAX_CLASS_NAME_LEN) + winproxy.SetupDiClassNameFromGuidA(self, name) + return name.value + + def __repr__(self): + guid_cls = self.to_string() + return """<{0} name="{1}" guid={2}>""".format(type(self).__name__, self.name, guid_cls) + + __str__ = __repr__ # Overwrite default GUID str
    + +
    [docs]class DeviceInformationSet(gdef.HDEVINFO): + """A device instances, can be itered to retrieve the underliyings :class:`DeviceInstance`""" + + def all_device_infos(self): + for index in itertools.count(): + try: + yield self.enum_device_info(index) + except WindowsError as e: + if e.winerror == gdef.ERROR_NO_MORE_ITEMS: + return + raise + + __iter__ = all_device_infos + + def enum_device_info(self, index): + res = DeviceInstance(self) + res.cbSize = ctypes.sizeof(res) + winproxy.SetupDiEnumDeviceInfo(self, index, res) + return res + +
    [docs] def enum_device_interface(self, index): + """Not Implemented Yet""" + raise NotImplementedError("enum_device_interface")
    + + def all(self): + return list(self)
    + + +
    [docs]class DeviceInstance(gdef.SP_DEVINFO_DATA): + """An instance of a Device. + + The properties are from the page https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupdigetdeviceregistrypropertya#spdrp_address + """ + def __init__(self, information_set=None): + self.information_set = information_set + + # make a .device_class ? that return the DeviceClass ased in ClassGuid ? + def get_property(self, property): + datatype = gdef.DWORD() + buffer_size = 0x1000 + buffer = windows.utils.BUFFER(gdef.BYTE, nbelt=buffer_size)() + required_size = gdef.DWORD() + # Registry parsing code expect W stuff, so use W function + try: + winproxy.SetupDiGetDeviceRegistryPropertyW(self.information_set, self, property, datatype, buffer.cast(gdef.LPBYTE), buffer_size, required_size) + except WindowsError as e: + if e.winerror == gdef.ERROR_INVALID_DATA: + return None + raise + # PropertyRegDataType + # A pointer to a variable that receives the data type of the property + # that is being retrieved. + # This is one of the standard registry data types + # Look like its registry based, so use the registry decoders :) + return windows.winobject.registry.decode_registry_buffer(datatype.value, buffer, required_size.value) + + + def _generate_property_getter(prop): + def getter(self): + return self.get_property(prop) + return property(getter) + + name = _generate_property_getter(gdef.SPDRP_FRIENDLYNAME) + """The name of the device""" + description = _generate_property_getter(gdef.SPDRP_DEVICEDESC) + """The description of the device""" + hardware_id = _generate_property_getter(gdef.SPDRP_HARDWAREID) + """The list of hardware IDs for the device. + (https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupdigetdeviceregistrypropertya#spdrp_hardwareid) + """ + enumerator_name = _generate_property_getter(gdef.SPDRP_ENUMERATOR_NAME) + """The enumerator name of the devices + (https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupdigetdeviceregistrypropertya#spdrp_enumerator_name) + """ + driver = _generate_property_getter(gdef.SPDRP_DRIVER) + """The driver of the device + https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupdigetdeviceregistrypropertya#spdrp_driver + """ + # Map on Device type ? + # https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/specifying-device-types + type = _generate_property_getter(gdef.SPDRP_DEVTYPE) + """The type of device + (https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/specifying-device-types) + """ + upper_filters = _generate_property_getter(gdef.SPDRP_UPPERFILTERS) + """A list of string that contains the names of a device's upper filter drivers.""" + lower_filters = _generate_property_getter(gdef.SPDRP_LOWERFILTERS) + """A list of string that contains the names of a device's lower filter drivers.""" + raw_security_descriptor = _generate_property_getter(gdef.SPDRP_SECURITY) + """The raw (binary) security descriptor of the device""" + # I would prefer to use the security_descriptor sddl + # ssdl = _generate_property_getter(gdef.SPDRP_SECURITY_SDS) + service_name = _generate_property_getter(gdef.SPDRP_SERVICE) + """The name of the service for the device + (https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupdigetdeviceregistrypropertya#spdrp_service) + """ + manufacturer = _generate_property_getter(gdef.SPDRP_MFG) + """The name of the device manufacturer.""" + location_information = _generate_property_getter(gdef.SPDRP_LOCATION_INFORMATION) + """The hardware location of a device.""" + location_paths = _generate_property_getter(gdef.SPDRP_LOCATION_PATHS) + """A list of strings that represents the location of the device in the device tree.""" + # Looks like it can raise ERROR_NO_SUCH_DEVINST + # install_date = _generate_property_getter(gdef.SPDRP_INSTALL_STATE) + capabilites = _generate_property_getter(gdef.SPDRP_CAPABILITIES) + """The device capabilites + (https://docs.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setupdigetdeviceregistrypropertya#spdrp_capabilities) + """ + bus_type = _generate_property_getter(gdef.SPDRP_BUSTYPEGUID) + """The function retrieves the GUID for the device's bus type.""" + bus_number = _generate_property_getter(gdef.SPDRP_BUSNUMBER) + """The device's bus number.""" + address = _generate_property_getter(gdef.SPDRP_ADDRESS) + """The device's address.""" + ui_number = _generate_property_getter(gdef.SPDRP_UI_NUMBER) + """Retrieves a DWORD value set to the value of the UINumber member of the device's""" + ui_number_desc_format = _generate_property_getter(gdef.SPDRP_UI_NUMBER_DESC_FORMAT) + + # Getter with special error handling + @property + def device_object_name(self): + """The function retrieves a string that contains the name that is associated with the device's PDO.""" + try: + return self.get_property(gdef.SPDRP_PHYSICAL_DEVICE_OBJECT_NAME) + except WindowsError as e: + if e.winerror not in (gdef.ERROR_INVALID_DATA, gdef.ERROR_NO_SUCH_DEVINST): + raise + + + # https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/hardware-resources + # Explanation of types: + # - https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/hardware-resources#logical-configuration-types-for-resource-requirements-lists + def get_first_logical_configuration(self, type): + res = LogicalConfiguration() + try: + winproxy.CM_Get_First_Log_Conf(res, self.DevInst, type) + except WindowsError as e: + if e.winerror == gdef.CR_CALL_NOT_IMPLEMENTED: + e.strerror += " (Cannot be called from Wow64 process since Win8)" + raise + return res + + def get_next_logical_configuration(self, logconf): + res = gdef.HANDLE(0) + winproxy.CM_Get_Next_Log_Conf(res, logconf) + return res + + def _logical_configuration_generator(self, type): + x = self.get_first_logical_configuration(type) + while x: + yield x + try: + x = self.get_next_logical_configuration(x) + except WindowsError as e: + if e.winerror == gdef.CR_NO_MORE_LOG_CONF: + return + raise + + def get_logical_configuration(self, type): + return list(self._logical_configuration_generator(type)) + + + # Allocated Configuration + # From https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/hardware-resources#logical-configuration-types-for-resource-lists + # A resource list identifying resources currently in use by a device instance. + # !!! Only one allocated configuration can exist for each device instance. + @property + def allocated_configuration(self): + """The allocated configuration of the device. + (https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/hardware-resources#logical-configuration-types-for-resource-lists) + + :type: :class:`LogicalConfiguration` + """ + + allocconfs = self.get_logical_configuration(gdef.ALLOC_LOG_CONF) + if not allocconfs: + return allocconfs + assert len(allocconfs) == 1 # Only one allocated configuration can exist for each device instance. + return allocconfs[0] + + # Boot Configuration + # From https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/hardware-resources#logical-configuration-types-for-resource-lists + # A resource list identifying the resources assigned to a device instance when the system is booted + # Only one boot configuration can exist for each device instance. + + @property + def boot_configuration(self): + """The boot configuration of the device. + (https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/hardware-resources#logical-configuration-types-for-resource-lists) + + :type: :class:`LogicalConfiguration` + """ + bootconfs = self.get_logical_configuration(gdef.BOOT_LOG_CONF) + if not bootconfs: + return bootconfs + assert len(bootconfs) == 1 # Only one boot configuration can exist for each device instance. + return bootconfs[0] + + + + # Make properties for Each type of logical configuration ? + + # 'advanced' attributes extrapolated from properties + @property + def security_descriptor(self): + """The security descriptor of the device. + + :type: :class:`~windows.security.SecurityDescriptor` + """ + + return SecurityDescriptor.from_binary(self.raw_security_descriptor) + + def __repr__(self): + return """<{0} "{1}" (id={2})>""".format(type(self).__name__, self.description, self.DevInst)
    + + +
    [docs]class LogicalConfiguration(gdef.HANDLE): + """Logical Configuration of a Device instance""" + + def get_next_resource_descriptor(self, resource, resdes=None): + if resdes is None: + # Using logical-conf as resdes will retrieve the first one + # https://docs.microsoft.com/en-us/windows/win32/api/cfgmgr32/nf-cfgmgr32-cm_get_next_res_des#remarks + resdes = self + resid = None + if resource == gdef.ResType_All: + resid = gdef.RESOURCEID() + res = gdef.HANDLE() + winproxy.CM_Get_Next_Res_Des(res, resdes, resource, resid, 0) + resdes_type = resid.value if resid is not None else resource + return ResourceDescriptor.from_handle_and_type(res.value, resdes_type) + + def get_resources_for_type(self, type): + try: + current = self.get_next_resource_descriptor(type) + yield current + while True: + current = self.get_next_resource_descriptor(type, current) + yield current + except WindowsError as e: + if e.winerror == gdef.CR_NO_MORE_RES_DES: + return + raise + + @property + def resources(self): + """The list of resources in the current logical configuration + + :type: [:class:`ResourceDescriptor`] -- A list of [:class:`ResourceDescriptor`] + """ + return list(self.get_resources_for_type(gdef.ResType_All)) + + def __repr__(self): + return "<{0}>".format(type(self).__name__)
    + + +ResType_Mapper = gdef.FlagMapper( + gdef.ResType_None, + gdef.ResType_Mem, + gdef.ResType_IO, + gdef.ResType_DMA, + gdef.ResType_IRQ, + gdef.ResType_BusNumber, + gdef.ResType_MemLarge, + gdef.ResType_ClassSpecific, + gdef.ResType_DevicePrivate, + gdef.ResType_MfCardConfig, + gdef.ResType_PcCardConfig, + +) + +
    [docs]class ResourceDescriptor(gdef.HANDLE): + """Describe a resource allocated or reserved by a device instance. + This class is a base class, all resources returned by :class:`LogicalConfiguration` should be one of the following: + + * :class:`ResourceNoType` + * :class:`MemoryResource` + * :class:`IoResource` + * :class:`DmaResource` + * :class:`IrqResource` + * :class:`BusNumberResource` + * :class:`MemLargeResource` + * :class:`ClassSpecificResource` + * :class:`DevicePrivateResource` + * :class:`MfCardConfigResource` + * :class:`PcCardConfigResource` + """ + SUBCLASSES = {} + + def __init__(self, handle, type): + super(ResourceDescriptor, self).__init__(handle) + self.type = ResType_Mapper[type] + + @classmethod + def from_handle_and_type(cls, handle, type): + ecls = cls.SUBCLASSES[type] + return ecls(handle, type) + + @property + def rawdata(self): + """The raw data describing the resource""" + data_size = gdef.ULONG() + winproxy.CM_Get_Res_Des_Data_Size(data_size, self) + if not self: + return None + data_size = data_size.value + buffer = ctypes.create_string_buffer(data_size) + winproxy.CM_Get_Res_Des_Data(self, buffer, data_size) + return bytearray(buffer[:data_size]) + + def __repr__(self): + return "<{0} type={1!r}>".format(type(self).__name__, self.type)
    + + +class ResourceDescriptorWithHeader(ResourceDescriptor): + # Assert the header is the first field + @property + def header_type(self): + # Type of first field + return self.DATA_TYPE._fields_[0][1] + + @property + def header(self): + return self.header_type.from_buffer(self.rawdata) + + @property + def data(self): + return None + +class ResourceDescriptorWithHeaderAndRanges(ResourceDescriptorWithHeader): + def count_field_name(self): + # Assert (manyally checked) that the first field of the + # header is a field containing the size of the data array + # Return name of the first field of the header + return self.header_type._fields_[0][0] + + @property + def data(self): + count_field_name = self.count_field_name() + count = getattr(self.header, count_field_name) + # No entry: + if not count: + return [] + raise NotImplementedError("Resource descriptor with non-zero entry in range array") + + +
    [docs]class ResourceNoType(ResourceDescriptor): + @property + def data(self): + return self.rawdata
    + +
    [docs]class MemoryResource(ResourceDescriptorWithHeaderAndRanges): + """A resource of type MEM_RESOURCE""" + DATA_TYPE = gdef.MEM_RESOURCE + + def __str__(self): + return "<{0} : [{1:#016x}-{2:#016x}]>".format(type(self).__name__, self.header.MD_Alloc_Base, self.header.MD_Alloc_End)
    + +
    [docs]class IoResource(ResourceDescriptorWithHeaderAndRanges): + """A resource of type IO_RESOURCE""" + DATA_TYPE = gdef.IO_RESOURCE + + def __str__(self): + return "<{0} : [{1:#016x}-{2:#016x}]>".format(type(self).__name__, self.header.IOD_Alloc_Base, self.header.IOD_Alloc_End)
    + +
    [docs]class DmaResource(ResourceDescriptorWithHeaderAndRanges): + """A resource of type DMA_RESOURCE""" + DATA_TYPE = gdef.DMA_RESOURCE + + def __str__(self): + return "<{0} : [{1:#016x}]>".format(type(self).__name__, self.header.DD_Alloc_Chan)
    + + +
    [docs]class IrqResource(ResourceDescriptorWithHeaderAndRanges): + """A resource of type IRQ_RESOURCE""" + # 32/64 based on current process bitness + # Cross bitness cannot be implemented as >=Win8 block it + DATA_TYPE = gdef.IRQ_RESOURCE + + def __str__(self): + return "<{0} : [{1:#016x}]>".format(type(self).__name__, self.header.IRQD_Alloc_Num)
    + + +
    [docs]class BusNumberResource(ResourceDescriptorWithHeaderAndRanges): + """A resource of type BUSNUMBER_RESOURCE""" + DATA_TYPE = gdef.BUSNUMBER_RESOURCE + + def __str__(self): + return "<{0} : [{1:#016x}-{2:#016x}]>".format(type(self).__name__, self.header.BUSD_Alloc_Base, self.header.BUSD_Alloc_End)
    + + +
    [docs]class MemLargeResource(ResourceDescriptor): + """A resource of type MEM_LARGE_RESOURCE""" + DATA_TYPE = gdef.MEM_LARGE_RESOURCE + + def __str__(self): + return "<{0} : [{1:#016x}-{2:#016x}]>".format(type(self).__name__, self.header.MLD_Alloc_Base, self.header.MLD_Alloc_End)
    + +
    [docs]class ClassSpecificResource(ResourceDescriptorWithHeader): + """A resource of type CS_RESOURCE""" + DATA_TYPE = gdef.CS_RESOURCE
    + # Any idea for __str__ ? + +
    [docs]class DevicePrivateResource(ResourceDescriptor): + """A device private resource + (https://docs.microsoft.com/en-us/windows-hardware/drivers/install/devprivate-resource) + """ + + @property + def header(self): + return None
    + + # Any idea for __str__ ? + +
    [docs]class MfCardConfigResource(ResourceDescriptorWithHeader): + """A resource of type MFCARD_RESOURCE""" + DATA_TYPE = gdef.MFCARD_RESOURCE
    + # Any idea for __str__ ? + +
    [docs]class PcCardConfigResource(ResourceDescriptorWithHeader): + """A resource of type PCCARD_RESOURCE""" + DATA_TYPE = gdef.PCCARD_RESOURCE
    + # Any idea for __str__ ? + +# Flemme de faire une meta-classe pour ca.. +ResourceDescriptor.SUBCLASSES.update({ + gdef.ResType_None: ResourceNoType, + gdef.ResType_Mem: MemoryResource, + gdef.ResType_IO: IoResource, + gdef.ResType_DMA: DmaResource, + gdef.ResType_IRQ: IrqResource, + gdef.ResType_BusNumber: BusNumberResource, + gdef.ResType_MemLarge: MemLargeResource, + gdef.ResType_ClassSpecific: ClassSpecificResource, + gdef.ResType_DevicePrivate: DevicePrivateResource, + gdef.ResType_MfCardConfig: MfCardConfigResource, + gdef.ResType_PcCardConfig: PcCardConfigResource, +}) +
    + +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/event_log.html b/docs/build/html/_modules/windows/winobject/event_log.html index 802c94d..e802253 100644 --- a/docs/build/html/_modules/windows/winobject/event_log.html +++ b/docs/build/html/_modules/windows/winobject/event_log.html @@ -6,14 +6,17 @@ - windows.winobject.event_log — PythonForWindows 0.5 documentation + windows.winobject.event_log — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -40,12 +43,12 @@ import ctypes import os.path import xml.dom.minidom -from contextlib import contextmanager +from contextlib import contextmanager import windows import windows.generated_def as gdef -from windows import winproxy -from windows.pycompat import int_types +from windows import winproxy +from windows.pycompat import int_types, basestring # Helpers @@ -96,7 +99,7 @@ # No need to pass any param to close ourself :) _close_function = windows.winproxy.EvtClose - def __del__(self): + def __del__(self): if not bool(self): return self._close_function() @@ -106,11 +109,11 @@ """Represent an Event-log query""" TIMEOUT = 0x1000 - def __init__(self, handle=0, channel=None): + def __init__(self, handle=0, channel=None): super(EvtQuery, self).__init__(handle) self.channel = channel - def __next__(self): + def __next__(self): """Return the next :class:`EvtEvent` matching the query""" try: event = EvtEvent(channel=self.channel) @@ -123,10 +126,25 @@ assert ret.value == 1 return event - def __iter__(self): + def __iter__(self): return self - def seek(self, position, seek_flags=None): +
    [docs] def seek(self, position, seek_flags=None): + """Seek to ``position``. + ``seek_flags`` can be one of: + + * ``None`` + * ``EvtSeekRelativeToFirst`` + * ``EvtSeekRelativeToLast`` + * ``EvtSeekRelativeToBookmark`` + + If ``seek_flags`` is None: + + * ``position >= 0`` will use ``EvtSeekRelativeToFirst`` + * ``position < 0`` will use ``EvtSeekRelativeToLast`` and with ``position+1`` + * This allow retrieve the ``position`` lasts events + """ + if seek_flags is None: if position >= 0: seek_flags = gdef.EvtSeekRelativeToFirst @@ -136,7 +154,7 @@ # If user do not want this calcul it can directly pass seek_flags seek_flags = gdef.EvtSeekRelativeToLast position += 1 - windows.winproxy.EvtSeek(self, position, 0, 0, seek_flags) + windows.winproxy.EvtSeek(self, position, 0, 0, seek_flags)
    next = __next__ # Yep.. real name is 'next' in Py2 :D @@ -159,7 +177,7 @@
    [docs]class EvtEvent(EvtHandle): """An Event log""" - def __init__(self, handle=0, channel=None): + def __init__(self, handle=0, channel=None): super(EvtEvent, self).__init__(handle) self.channel = channel @@ -214,10 +232,11 @@ result = self.render(ctx, gdef.EvtRenderEventValues) return [r.value for r in result] - def event_values(self): +
    [docs] def event_values(self): + """The values of the event in a list""" ctx = windows.winproxy.EvtCreateRenderContext(0, None, gdef.EvtRenderContextUser) result = self.render(ctx, gdef.EvtRenderEventValues) - return [r.value for r in result] + return [r.value for r in result]
    def get_raw_values(self, values, flags=gdef.EvtRenderContextValues): nbelt = len(values) @@ -234,8 +253,14 @@ # Properties arround common Event/System values @property def provider(self): + """The provider of the event""" return self.system_values()[gdef.EvtSystemProviderName] + @property + def computer(self): + """The computer that generated the event""" + return self.system_values()[gdef.EvtSystemComputer] + @property def id(self): """The ID of the Event""" @@ -271,6 +296,16 @@ """The process ID of the Event""" return self.value("Event/System/Execution/@ThreadID") + @property + def error_payload(self): + raw = self.value("Event/ProcessingErrorData/EventPayload") + return bytearray(raw) if raw is not None else None + + @property + def user(self): + """The User ID associated with the Event""" + return self.system_values()[gdef.EvtSystemUserID] + @property def metadata(self): """The medata for the current Event @@ -285,9 +320,6 @@ # id not found: try via the Provider in the event (classic channel) return self.channel.get_classic_event_metadata(self.id, self.provider) - - - # Test @property def data(self): # user/event specifique data @@ -301,12 +333,51 @@ event_data_name = (i["name"] for i in self.metadata.event_data if i["type"] == "data") return {k:v for k,v in zip(event_data_name, self.event_values())} + def xml_data(self): + xmlevt = xml.dom.minidom.parseString(self.render_xml()) + res = {} + + eventdata = xmlevt.getElementsByTagName("EventData") + if eventdata: + # <Data Name='FIELD_NAME'>FIELD_VALUE</Data> + for i, datanode in enumerate(xmlevt.getElementsByTagName("Data")): + name = datanode.getAttribute("Name") + if not name: + # Some Data in old EVTX have no name (Windows Powershell) + # Do the best we can by using the position of the event + name = str(i) + + if datanode.hasChildNodes(): + value = datanode.firstChild.nodeValue + else: + value = "" + if not (name not in res): + import pdb;pdb.set_trace() + res[name] = value + userdata = xmlevt.getElementsByTagName("UserData") + if userdata: + # <UserData> + # <EventXML xmlns="Event_NS"> + # <FIELD_NAME>FIELD_VALUE</FIELD_NAME> + # </EventXML> + # </UserData> + for datanode in userdata[0].firstChild.childNodes: + name = datanode.tagName + if datanode.hasChildNodes(): + value = datanode.firstChild.nodeValue + else: + value = "" + assert name not in res + res[name] = value + return res + + @property def date(self): - """Event.time_created as a datetime""" + """``Event.time_created`` as a :class:``datetime``""" return windows.utils.datetime_from_filetime(self.time_created) - def __repr__(self): + def __repr__(self): creation_time = windows.utils.datetime_from_filetime(self.time_created) return '<{0} id="{self.id}" time="{creation_time}">'.format(type(self).__name__, self=self, creation_time=creation_time)
    @@ -372,6 +443,10 @@ vtype = gdef.EvtVarTypeUInt64 elif isinstance(value, basestring): vtype = gdef.EvtVarTypeString + elif isinstance(value, bytes): + # not basestring and bytes -> py3 bytes + vtype = gdef.EvtVarTypeBinary + value = windows.utils.BUFFER(gdef.BYTE).from_buffer_copy(value) else: raise NotImplementedError("LATER") self = cls() @@ -385,36 +460,16 @@ self.Count = len(value) return self - def __repr__(self): + def __repr__(self): return "<{0} of type={1}>".format(type(self).__name__, self.Type) - - - -# x = windows.winproxy.EvtQuery(None, - # "Microsoft-Windows-Windows Firewall With Advanced Security/Firewall", - # "Event/System[EventID=2004 or EventID=2006]", - # gdef.EvtQueryChannelPath + gdef.EvtQueryForwardDirection) -# print(x) -# eq = EvtQuery(x) -# event = next(eq) - -# xx = gdef.LPWSTR("ModifyingApplication") -# xx = gdef.LPWSTR("Event/System/Channel") -# xx = gdef.LPWSTR('Event/EventData/Data[@Name="ModifyingApplication"]') -# xx = gdef.LPWSTR('Event/System/EventID') - -# event = next(eq) - -# list(channels()) -
    [docs]class EvtChannel(object): """An Event Log channel""" DEFAULT_QUERY_FLAGS = gdef.EvtQueryChannelPath + gdef.EvtQueryForwardDirection - def __init__(self, name): + def __init__(self, name): self.name = name self.event_metadata_by_id = {} self.classic_event_metadata_by_id = {} # For classic only @@ -486,7 +541,7 @@ return self.classic_event_metadata_by_id[providername][id] - def __repr__(self): + def __repr__(self): return '<{0} "{1}">'.format(type(self).__name__, self.name)
    @@ -505,7 +560,7 @@
    [docs]class ChannelConfig(EvtHandle): """The configuration of a event channel""" - def __init__(self, handle, name=None): + def __init__(self, handle, name=None): super(ChannelConfig, self).__init__(handle) self.name = name @@ -537,12 +592,14 @@ """``True`` if the channel is a classic event channel (for example the Application or System log)""" return bool(chaninfo(self, gdef.EvtChannelConfigClassicEventlog).value) - def __repr__(self): + def __repr__(self): return '<{0} "{1}">'.format(type(self).__name__, self.name)
    -class PublisherMetadataChannel(object): - def __init__(self, pub_metadata, channel_id): +class PublisherMetadataChannel(object): + """Represent a PublisherMetadataChannel (see https://docs.microsoft.com/en-us/windows/win32/api/winevt/ne-winevt-evt_publisher_metadata_property_id)""" + + def __init__(self, pub_metadata, channel_id): super(PublisherMetadataChannel, self).__init__() self.pub_metadata = pub_metadata self._id = channel_id @@ -552,28 +609,33 @@ @property def flags(self): + """The flags of the ``PublisherMetadataChannel``""" return int(self._query_channel_metadata_property(gdef.EvtPublisherMetadataChannelReferenceFlags)) @property def name(self): + """The name of the ``PublisherMetadataChannel``""" return str(self._query_channel_metadata_property(gdef.EvtPublisherMetadataChannelReferencePath)) @property def id(self): + """The reference id of the ``PublisherMetadataChannel``""" return int(self._query_channel_metadata_property(gdef.EvtPublisherMetadataChannelReferenceID)) @property def index(self): + """The reference index of the ``PublisherMetadataChannel``""" return int(self._query_channel_metadata_property(gdef.EvtPublisherMetadataChannelReferenceIndex)) @property def message_id(self): + """The message id of the ``PublisherMetadataChannel``""" return int(self._query_channel_metadata_property(gdef.EvtPublisherMetadataChannelReferenceMessageID)) class PublisherMetadataLevel(object): - - def __init__(self, pub_metadata, channel_id): + """Represent a PublisherMetadataLevel (see https://docs.microsoft.com/en-us/windows/win32/api/winevt/ne-winevt-evt_publisher_metadata_property_id)""" + def __init__(self, pub_metadata, channel_id): super(PublisherMetadataLevel, self).__init__() self.pub_metadata = pub_metadata self._id = channel_id @@ -595,8 +657,8 @@ class PublisherMetadataOpcode(object): - - def __init__(self, pub_metadata, channel_id): + """Represent a PublisherMetadataOpcode (see https://docs.microsoft.com/en-us/windows/win32/api/winevt/ne-winevt-evt_publisher_metadata_property_id)""" + def __init__(self, pub_metadata, channel_id): super(PublisherMetadataOpcode, self).__init__() self.pub_metadata = pub_metadata self._id = channel_id @@ -606,20 +668,24 @@ @property def name(self): + """The name of the ``PublisherMetadataOpcode``""" return str(self._query_opcode_metadata_property(gdef.EvtPublisherMetadataOpcodeName)) @property def value(self): + """The opcode value of the ``PublisherMetadataOpcode``""" return int(self._query_opcode_metadata_property(gdef.EvtPublisherMetadataOpcodeValue)) @property def message_id(self): + """The message id of the ``PublisherMetadataOpcode``""" return int(self._query_opcode_metadata_property(gdef.EvtPublisherMetadataOpcodeMessageID)) class PublisherMetadataKeyword(object): + """Represent a PublisherMetadataKeyword (see https://docs.microsoft.com/en-us/windows/win32/api/winevt/ne-winevt-evt_publisher_metadata_property_id)""" - def __init__(self, pub_metadata, channel_id): + def __init__(self, pub_metadata, channel_id): super(PublisherMetadataKeyword, self).__init__() self.pub_metadata = pub_metadata self._id = channel_id @@ -629,19 +695,22 @@ @property def name(self): + """The name of the ``PublisherMetadataKeyword``""" return str(self._query_keyword_metadata_property(gdef.EvtPublisherMetadataKeywordName)) @property def value(self): + """The value of the ``PublisherMetadataKeyword``""" return int(self._query_keyword_metadata_property(gdef.EvtPublisherMetadataKeywordValue)) @property def message_id(self): + """The message id of the ``PublisherMetadataKeyword``""" return int(self._query_keyword_metadata_property(gdef.EvtPublisherMetadataKeywordMessageID)) class PublisherMetadataTask(object): - - def __init__(self, pub_metadata, channel_id): + """Represent a PublisherMetadataTask (see https://docs.microsoft.com/en-us/windows/win32/api/winevt/ne-winevt-evt_publisher_metadata_property_id)""" + def __init__(self, pub_metadata, channel_id): super(PublisherMetadataTask, self).__init__() self.pub_metadata = pub_metadata self._id = channel_id @@ -651,23 +720,27 @@ @property def name(self): + """The name of the ``PublisherMetadataTask``""" return str(self._query_keyword_metadata_property(gdef.EvtPublisherMetadataTaskName)) @property def value(self): + """The value of the ``PublisherMetadataTask``""" return int(self._query_keyword_metadata_property(gdef.EvtPublisherMetadataTaskValue)) @property def event_guid(self): + """The event GUId of the ``PublisherMetadataTask``""" return self._query_keyword_metadata_property(gdef.EvtPublisherMetadataTaskEventGuid) @property def message_id(self): + """The message ID GUId of the ``PublisherMetadataTask``""" return int(self._query_keyword_metadata_property(gdef.EvtPublisherMetadataTaskMessageID))
    [docs]class EvtPublisher(object): """An Event provider""" - def __init__(self, name): + def __init__(self, name): self.name = name @property @@ -678,13 +751,13 @@ """ return PublisherMetadata.from_publisher_name(self.name) - def __repr__(self): + def __repr__(self): return '<{0} "{1}">'.format(type(self).__name__, self.name)
    [docs]class PublisherMetadata(EvtHandle): """The metadata about an event provider""" - def __init__(self, handle, name=None): + def __init__(self, handle, name=None): super(PublisherMetadata, self).__init__(handle) self.name = name @@ -860,7 +933,7 @@ return publishinfo(self, gdef.EvtPublisherMetadataParameterFilePath).value - def __repr__(self): + def __repr__(self): return '<{0} "{1}">'.format(type(self).__name__, self.name)
    @@ -1062,7 +1135,7 @@ publisher.metadata # Force to retrieve a handle (check channel exists) return publisher -
    [docs] def __getitem__(self, name): +
    [docs] def __getitem__(self, name): """Open the Evt Channel/Publisher or Evtx file with ``name`` :rtype: :class:`EvtChannel` or :class:`EvtPublisher` or :class:`EvtFile` @@ -1081,40 +1154,6 @@ # Raise FILE_NOT_FOUND if not found (last chance) return self.open_evtx_file(name)
    - - - -# CHANNAME = "Microsoft-Windows-Windows Firewall With Advanced Security/Firewall" -# CHANNAME = r"Microsoft-Windows-Windows Defender/Operational" - -# print("Working of channel: <{0}>".format(CHANNAME)) - -# channel = EvtChannel(CHANNAME) -# chanconf = channel.config -# publisher = chanconf.publisher - -# open publisher metadata - -# print("Provider is <{0}>".format(publisher.name)) - -# pmd = publisher.metadata -# chansref = pmd.chanrefs - -# channame_by_value_id = pmd.channel_name_by_id() - -# for event_metadata in pmd.events_metadata: - # id = event_metadata.id - # if id == 2004: - # print("LOL") - # chan = event_metadata.channel_id - # channame = channame_by_value_id[chan] - # print(" * {0}) {1}".format(id, channame)) - # if "unexpected" in pmd.message(event_metadata.message_id).lower(): - # print("UNEXPECTED in message :D") - - -# query = channel.query(ids=5008) -# evts = list(query) @@ -1147,13 +1186,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/event_trace.html b/docs/build/html/_modules/windows/winobject/event_trace.html new file mode 100644 index 0000000..71ab06c --- /dev/null +++ b/docs/build/html/_modules/windows/winobject/event_trace.html @@ -0,0 +1,532 @@ + + + + + + + + windows.winobject.event_trace — PythonForWindows 0.6 documentation + + + + + + + + + + + + + + + +
    +
    +
    +
    + +

    Source code for windows.winobject.event_trace

    +import ctypes
    +import windows
    +import windows.generated_def as gdef
    +from windows.pycompat import basestring
    +
    +# Renommer le fichier etw ?
    +
    +MAX_ETW_SESSIONS  = 64
    +MAX_SESSION_NAME_LEN = 1024
    +MAX_LOGFILE_PATH_LEN  = 1024
    +
    +MAX_SESSION_NAME_LEN_W = MAX_SESSION_NAME_LEN * 2
    +MAX_LOGFILE_PATH_LEN_W = MAX_LOGFILE_PATH_LEN * 2
    +
    +
    +
    [docs]class EventRecord(gdef.EVENT_RECORD): + @property + def tid(self): + """Thread ID that provided the event""" + return self.EventHeader.ThreadId + + @property + def pid(self): + """Process ID that provided the event""" + return self.EventHeader.ProcessId + + @property + def guid(self): + """Guid of the Event""" + # Well, this is called "ProviderId" but seems to be the Event GUID + # As a provider can generated multiple event with differents GUID + # And this value reflect EVENT_TRACE_HEADER.Guid passed to TraceEvent + return self.EventHeader.ProviderId + + @property + def id(self): + """ID of the Event""" + return self.EventHeader.EventDescriptor.Id + + @property + def opcode(self): + return self.EventHeader.EventDescriptor.Opcode + + @property + def version(self): + return self.EventHeader.EventDescriptor.Version + + @property + def level(self): + return self.EventHeader.EventDescriptor.Level + + @property + def context(self): + if self.UserContext is None: + return None + return ctypes.py_object.from_address(self.UserContext).value + + @property + def user_data(self): + """Event specific data + + :type: :class:`str` + """ + if not (self.UserData and self.UserDataLength): + return "" + dbuf = (ctypes.c_char * self.UserDataLength).from_address(self.UserData) + return dbuf[:] + + # def match(self, provider=None, id=None, opcode=None): + + def __repr__(self): + guid = self.EventHeader.ProviderId + return """<{0} provider="{1}" id={2}>""".format(type(self).__name__, guid, self.id)
    + + +PEventRecord = ctypes.POINTER(EventRecord) + +
    [docs]class EventTraceProperties(gdef.EVENT_TRACE_PROPERTIES): + """Represent an Event Trace session that may exist or now. (https://docs.microsoft.com/en-us/windows/win32/api/evntrace/ns-evntrace-event_trace_properties) + + This class is widly used by :class:`EtwTrace` + """ + # Test: ascii / Use Wchar ? + FULL_SIZE = ctypes.sizeof(gdef.EVENT_TRACE_PROPERTIES) + MAX_SESSION_NAME_LEN_W + MAX_LOGFILE_PATH_LEN_W + + # def alloc(cls, size) ? +
    [docs] @classmethod + def create(cls): + """Initialize a new :class:`EventTraceProperties`""" + buff = windows.utils.BUFFER(cls)(size=cls.FULL_SIZE) + # ctypes.memset(buff, "\x00", cls.FULL_SIZE) + self = buff[0] + self.Wnode.BufferSize = cls.FULL_SIZE + self.LoggerNameOffset = ctypes.sizeof(cls) + self.LogFileNameOffset = ctypes.sizeof(cls) + MAX_SESSION_NAME_LEN + return self
    + + def get_logfilename(self): + assert self.LogFileNameOffset + return windows.current_process.read_string(ctypes.addressof(self) + self.LogFileNameOffset) + + def set_logfilename(self, filename): + assert self.LogFileNameOffset + if not filename.endswith("\x00"): + filename += "\x00" + return windows.current_process.write_memory(ctypes.addressof(self) + self.LogFileNameOffset, filename) + + logfile = property(get_logfilename, set_logfilename) #: The logfile associated with the session + + def get_logger_name(self): + assert self.LoggerNameOffset + return windows.current_process.read_string(ctypes.addressof(self) + self.LoggerNameOffset) + + + def set_logfilename(self, filename): + assert self.LoggerNameOffset + if not filename.endswith("\x00"): + filename += "\x00" + return windows.current_process.write_memory(ctypes.addressof(self) + self.LoggerNameOffset, filename) + + name = property(get_logger_name, set_logfilename) #: The name of the session + + @property + def guid(self): + """The GUID of the Event Trace session (see ``Wnode.Guid``)""" + return self.Wnode.Guid + + @property + def id(self): + """The LoggerId if the session (see ``Wnode.HistoricalContext``)""" + return self.Wnode.HistoricalContext + + + def __repr__(self): + return """<{0} name="{1}" guid={2}>""".format(type(self).__name__, self.name, self.guid)
    + + + # GUID setter ? + +class CtxProcess(object): + def __init__(self, trace, func, stop=False): + self.trace = trace + self.func = func + self.stop = stop + self.timing = {} + + def _get_time(self): + now = gdef.FILETIME() + windows.winproxy.GetSystemTimeAsFileTime(now) + return now + + def __enter__(self): + self.timing["begin"] = self._get_time() + return self.timing + + def __exit__(self, exc_type, exc_value, traceback): + # bad_end = self._get_time() + self.trace.flush() + if self.stop: + self.trace.stop() + # End time after the flush is effective. + self.timing["end"] = self._get_time() + # print("Trace ctx: fake-end: {0:#x}".format(int(fake_end))) + print("Trace ctx: begin={0:#x} | end={1:#x}".format(int(self.timing["begin"]), int(self.timing["end"]))) + self.trace.process(self.func, **self.timing) + + +
    [docs]class EtwTrace(object): + """Represent an ETW Trace for tracing/processing events""" + def __init__(self, name, logfile=None, guid=None): + self.name = windows.pycompat.raw_encode(name) #: The name of the trace + self.logfile = logfile #: The logging file of the trace (``None`` means real time trace) + if guid and isinstance(guid, basestring): + guid = gdef.GUID.from_string(guid) + self.guid = guid #: The guid of the trace + self.handle = 0 + +
    [docs] def exists(self): + """Return ``True`` if the trace already exist (based on its name)""" + prop = EventTraceProperties.create() + try: + windows.winproxy.ControlTraceA(self.handle, self.name, prop, gdef.EVENT_TRACE_CONTROL_QUERY) + except WindowsError as e: + if e.winerror == gdef.ERROR_WMI_INSTANCE_NOT_FOUND: + return False # Not found -> does not exists + raise # Other error -> reraise + return True
    + +
    [docs] def start(self, flags=0): + """Start the tracing""" + prop = EventTraceProperties.create() + prop.NumberOfBuffers = 42 + prop.EnableFlags = flags + if self.guid: + prop.Wnode.Guid = self.guid + if self.logfile: + prop.logfile = self.logfile + if self.name: # Base REAL_TIME on option ? name presence ? logfile presence ? + prop.LogFileMode = gdef.EVENT_TRACE_REAL_TIME_MODE + handle = gdef.TRACEHANDLE() + windows.winproxy.StartTraceA(handle, self.name, prop) + if not self.guid: + self.guid = prop.Wnode.Guid + self.handle = handle
    + +
    [docs] def stop(self, soft=False): # Change name + """stop the tracing. + + ``soft`` will allow to stop a non-existing trace that do not exists/run. + This allow for simpler script that stop/start some EtwTrace. + """ + prop = EventTraceProperties.create() + try: + windows.winproxy.ControlTraceA(0, self.name, prop, gdef.EVENT_TRACE_CONTROL_STOP) + except WindowsError as e: + if soft and e.winerror == gdef.ERROR_WMI_INSTANCE_NOT_FOUND: + return False + raise + return True
    + +
    [docs] def flush(self): + """Flush the trace""" + prop = EventTraceProperties.create() + windows.winproxy.ControlTraceA(0, self.name, prop, gdef.EVENT_TRACE_CONTROL_FLUSH)
    + + +
    [docs] def enable(self, guid, flags=0xff, level=0xff): + """Enable the specified event trace provider.""" + if isinstance(guid, basestring): + guid = gdef.GUID.from_string(guid) + return windows.winproxy.EnableTrace(1, flags, level, guid, self.handle) # EnableTraceEx ?
    + +
    [docs] def enable_ex(self, guid, flags=0xff, level=0xff, any_keyword = 0xffffffff, all_keyword=0x00): + """Enable the specified event trace provider.""" + if isinstance(guid, basestring): + guid = gdef.GUID.from_string(guid) + + # TODO : implement EnableParameters + EVENT_CONTROL_CODE_ENABLE_PROVIDER = 1 + + # EnableTraceEx only accept a UCHAR for the level param + # TODO : maybe raise an Exception instead of silently masking the value ? + level = gdef.UCHAR(chr(level & 0xff)) + + return windows.winproxy.EnableTraceEx2(self.handle, guid, EVENT_CONTROL_CODE_ENABLE_PROVIDER, level , any_keyword, all_keyword, 0, None)
    + + +
    [docs] def process(self, callback, begin=None, end=None, context=None): + """Process the event retrieved by the trace. + This function will call ``callback`` with any :class:`EventRecord` in the trace. + ``begin/end`` allow to filter and only process events in a given timeframe. + + .. warning:: + + If the trace if ``REALTIME`` (no logfile) this function will hang/process new event until the trace is stopped. + + Using ``logman -ets stop TRACE_NAME`` for exemple. + + """ + if end == "now": + end = gdef.FILETIME() + windows.winproxy.GetSystemTimeAsFileTime(end) + windows.utils.sprint(end) + + logfile = gdef.EVENT_TRACE_LOGFILEW() + logfile.LoggerName = windows.pycompat.raw_decode(self.name) + # logfile.ProcessTraceMode = gdef.PROCESS_TRACE_MODE_EVENT_RECORD | gdef.PROCESS_TRACE_MODE_RAW_TIMESTAMP + logfile.ProcessTraceMode = gdef.PROCESS_TRACE_MODE_EVENT_RECORD + if not self.logfile: + logfile.ProcessTraceMode |= gdef.PROCESS_TRACE_MODE_REAL_TIME + else: + # logfile.ProcessTraceMode |= gdef.PROCESS_TRACE_MODE_REAL_TIME + logfile.LogFileName = self.logfile + + if context: + context_ptr = ctypes.pointer(ctypes.py_object(context)) + logfile.Context = ctypes.cast(context_ptr, ctypes.c_void_p) + + @ctypes.WINFUNCTYPE(gdef.PVOID, PEventRecord) + def real_callback(record_ptr): + try: + x = callback(record_ptr[0]) + except Exception as e: + print("CALLBACK ERROR: {0}".format(e)) + return 1 + if x is None: + x = 1 + return x + + @ctypes.WINFUNCTYPE(gdef.PVOID, gdef.PEVENT_TRACE_LOGFILEW) + def buffer_callback(trace): + print("Buffer-callback: event-lost={0}".format(trace[0].LogfileHeader.EventsLost)) + print("Buffer-callback: buffer-lost={0}".format(trace[0].LogfileHeader.BuffersLost)) + return True + + logfile.EventRecordCallback = ctypes.cast(real_callback, gdef.PVOID) + # logfile.BufferCallback = ctypes.cast(buffer_callback, gdef.PVOID) + r = windows.winproxy.OpenTraceW(logfile) + rh = gdef.TRACEHANDLE(r) + return windows.winproxy.ProcessTrace(rh, 1, begin, end)
    + + def CtxProcess(self, func, stop=False): + return CtxProcess(self, func, stop=stop) + + def __repr__(self): + return """<{0} name={1!r} logfile={2!r}>""".format(type(self).__name__, self.name, self.logfile)
    + +class TraceProvider(object): + """Represent a ETW provider, which is just a GUID. + Corresponding name for a provider may be available trhought WMI. + """ + def __init__(self, guid): + self.guid = guid + + @property + def infos(self): + """The :class:`TraceGuidInfo` associated with the provider. + Main use is to retrieve the instances of the provider (directly available with ``instances``) + + :type: :class:`TraceGuidInfo` + """ + size = gdef.DWORD() + info_buffer = ctypes.c_buffer(0x1000) + try: + windows.winproxy.EnumerateTraceGuidsEx(gdef.TraceGuidQueryInfo, self.guid, ctypes.sizeof(self.guid), info_buffer, ctypes.sizeof(info_buffer), size) + except WindowsError as e: + if not e.winerror == gdef.ERROR_INSUFFICIENT_BUFFER: + raise + # Buffer to small + info_buffer = ctypes.c_buffer(size.value) + windows.winproxy.EnumerateTraceGuidsEx(gdef.TraceGuidQueryInfo, self.guid, ctypes.sizeof(self.guid), info_buffer, ctypes.sizeof(info_buffer), size) + return TraceGuidInfo.from_raw_buffer(info_buffer) + + # We dont really care about the C struct layout + # Our trace providers should be able to directly returns its instances + @property + def instances(self): + """The instances of the provider. + + :type: [:class:`TraceProviderInstanceInfo`] -- A list of :class:`TraceProviderInstanceInfo` + """ + return self.infos.instances + + def __repr__(self): + return """<{0} for "{1}">""".format(type(self).__name__, self.guid) + + +class TraceGuidInfo(gdef.TRACE_GUID_INFO): + """Defines the header to the list of sessions that enabled the provider + (see https://docs.microsoft.com/en-us/windows/win32/api/evntrace/ns-evntrace-trace_guid_info) + """ + + @classmethod + def from_raw_buffer(cls, buffer): + self = cls.from_buffer(buffer) + self._raw_buffer_ = buffer + return self + + def _instance_generator(self): + if not self.InstanceCount: + return + abs_offset = ctypes.sizeof(self) + for i in range(self.InstanceCount): + instance = TraceProviderInstanceInfo.from_raw_buffer(self._raw_buffer_, abs_offset) + abs_offset += instance.NextOffset + yield instance + + @property + def instances(self): + """The instances of the provider. + + :type: [:class:`TraceProviderInstanceInfo`] -- A list of :class:`TraceProviderInstanceInfo` + """ + return [x for x in self._instance_generator()] + + def __repr__(self): + return "<{0} InstanceCount={1} Reserved={2}>".format(type(self).__name__, self.InstanceCount, self.Reserved) + + +class TraceProviderInstanceInfo(gdef.TRACE_PROVIDER_INSTANCE_INFO): + """Defines an instance of the provider + (see https://docs.microsoft.com/en-us/windows/win32/api/evntrace/ns-evntrace-trace_provider_instance_info) + """ + @classmethod + def from_raw_buffer(cls, buffer, offset): + self = cls.from_buffer(buffer, offset) + self._offset = offset + self._raw_buffer_ = buffer + return self + + def _instance_generator(self): + offset = self._offset + ctypes.sizeof(self) + entry_size = ctypes.sizeof(gdef.TRACE_ENABLE_INFO) + for i in range(self.EnableCount): + yield gdef.TRACE_ENABLE_INFO.from_buffer(self._raw_buffer_, offset) + offset += entry_size + + @property + def sessions(self): + """The sessions for the instance + + :type: [:class:`~windows.generated_def.winstructs.TRACE_ENABLE_INFO`] -- A list of session + """ + return [x for x in self._instance_generator()] + + def __repr__(self): + return "<{0} Pid={1} EnableCount={2}>".format(type(self).__name__, self.Pid, self.EnableCount) + + +
    [docs]class EtwManager(object): + """An object to query ETW session/providers and open new trace""" + + @property + def sessions(self): + """The list of currently active ETW session. + + :type: [:class:`EventTraceProperties`] -- A list of :class:`EventTraceProperties` + """ + # Create a tuple of MAX_ETW_SESSIONS EventTraceProperties ptr + t = [EventTraceProperties.create() for _ in range(MAX_ETW_SESSIONS)] + # Put this in a ctypes array + array = (gdef.POINTER(EventTraceProperties) * MAX_ETW_SESSIONS)(*(ctypes.pointer(e) for e in t)) + # Cast as array/ptr does not handle subtypes very-well + tarray = ctypes.cast(array, ctypes.POINTER(ctypes.POINTER(gdef.EVENT_TRACE_PROPERTIES))) + count = gdef.DWORD() + windows.winproxy.QueryAllTracesA(tarray, MAX_ETW_SESSIONS, count) + return t[:count.value] + + + @property + def providers(self): + """The list of currently existing ETW providers. + + :type: [:class:`TraceProvider`] -- A list of ETW providers + """ + buffer = windows.utils.BUFFER(gdef.GUID, 0x1000)() + size = gdef.DWORD() + windows.winproxy.EnumerateTraceGuidsEx(gdef.TraceGuidQueryList, None, 0, buffer, buffer.real_size, size) + return [TraceProvider(g) for g in buffer[:size.value // ctypes.sizeof(gdef.GUID)]] + + + # Temp name / API ? +
    [docs] def open_trace(self, name=None, logfile=None, guid=None): + """Open a new ETW Trace + + :return: :class:`EtwTrace` + """ + return EtwTrace(name, logfile, guid)
    +
    + +
    +
    +
    + +
    +
    + + + + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/exception.html b/docs/build/html/_modules/windows/winobject/exception.html index f5efe81..e2e9dfc 100644 --- a/docs/build/html/_modules/windows/winobject/exception.html +++ b/docs/build/html/_modules/windows/winobject/exception.html @@ -6,14 +6,17 @@ - windows.winobject.exception — PythonForWindows 0.5 documentation + windows.winobject.exception — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -39,7 +42,7 @@

    Source code for windows.winobject.exception

     import ctypes
     import windows
    -from windows.generated_def.winstructs import *
    +from windows.generated_def.winstructs import *
     import windows.generated_def.windef as windef
     
     EXCEPTION_CONTINUE_SEARCH = (0x0)
    @@ -175,7 +178,7 @@
                     res.append(name)
             return "|".join(res)
     
    -    def __repr__(self):
    +    def __repr__(self):
             return hex(self)
     
         def __hex__(self):
    @@ -369,7 +372,7 @@
         """A decorator that create a callable which can be passed to :func:`AddVectoredExceptionHandler`"""
         func_type = ctypes.WINFUNCTYPE(ctypes.c_uint, ctypes.POINTER(EEXCEPTION_POINTERS))
     
    -    def __new__(cls, func):
    +    def __new__(cls, func):
             self = object.__new__(cls)
             self.func = func
             v = self.func_type(self.decorator)
    @@ -387,20 +390,20 @@
     
     
     class VectoredExceptionHandler(object):
    -    def __init__(self, pos, handler):
    +    def __init__(self, pos, handler):
             self.handler = VectoredException(handler)
             self.pos = pos
     
    -    def __enter__(self):
    +    def __enter__(self):
             self.value = windows.winproxy.AddVectoredExceptionHandler(self.pos, self.handler)
             return self
     
    -    def __exit__(self, exc_type, exc_value, traceback):
    +    def __exit__(self, exc_type, exc_value, traceback):
             windows.winproxy.RemoveVectoredExceptionHandler(self.value)
             return False
     
     class DumpContextOnException(VectoredExceptionHandler):
    -        def __init__(self, exit=False):
    +        def __init__(self, exit=False):
                 self.exit = exit
                 super(DumpContextOnException, self).__init__(self.print_context_result)
     
    @@ -444,13 +447,13 @@
             
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/handle.html b/docs/build/html/_modules/windows/winobject/handle.html index 617f158..939068f 100644 --- a/docs/build/html/_modules/windows/winobject/handle.html +++ b/docs/build/html/_modules/windows/winobject/handle.html @@ -6,14 +6,17 @@ - windows.winobject.handle — PythonForWindows 0.5 documentation + windows.winobject.handle — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -41,8 +44,8 @@ import ctypes import windows -from windows import winproxy -from windows.generated_def import windef +from windows import winproxy +from windows.generated_def import windef import windows.generated_def as gdef current_process_pid = os.getpid() @@ -146,10 +149,10 @@ del thread._handle return res - def __repr__(self): + def __repr__(self): return "<{0} value=<0x{1:x}> in process pid={2}>".format(type(self).__name__, self.wValue, self.dwProcessId) - def __del__(self): + def __del__(self): if self.dwProcessId == current_process_pid: return if hasattr(self, "_local_handle"): @@ -262,13 +265,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/network.html b/docs/build/html/_modules/windows/winobject/network.html index f334d27..c9e29be 100644 --- a/docs/build/html/_modules/windows/winobject/network.html +++ b/docs/build/html/_modules/windows/winobject/network.html @@ -6,14 +6,17 @@ - windows.winobject.network — PythonForWindows 0.5 documentation + windows.winobject.network — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -42,11 +45,11 @@ import socket import struct -from windows import winproxy +from windows import winproxy import windows.generated_def as gdef -from windows.com import interfaces as cominterfaces -from windows.generated_def.winstructs import * -from windows.generated_def.windef import * +from windows.com import interfaces as cominterfaces +from windows.generated_def.winstructs import * +from windows.generated_def.windef import *
    [docs]class TCP4Connection(MIB_TCPROW_OWNER_PID): @@ -119,7 +122,7 @@ closing.dwRemotePort = self.dwRemotePort return winproxy.SetTcpEntry(ctypes.byref(closing))
    - def __repr__(self): + def __repr__(self): if not self.established: return "<TCP IPV4 Listening socket on {0}:{1}>".format(self.local_addr, self.local_port) return "<TCP IPV4 Connection {s.local_addr}:{s.local_port} -> {s.remote_addr}:{s.remote_port}>".format(s=self) @@ -177,7 +180,7 @@ def close(self): raise NotImplementedError("Closing IPV6 connection non implemented") - def __repr__(self): + def __repr__(self): if not self.established: return "<TCP IPV6 Listening socket on {0}:{1}>".format(self.local_addr, self.local_port) return "<TCP IPV6 Connection {0}:{1} -> {2}:{3}>".format(self.local_addr, self.local_port, self.remote_addr, self.remote_port) @@ -432,7 +435,7 @@ self.get_RemotePorts(icmp_type_and_code) return icmp_type_and_code.value - def __repr__(self): + def __repr__(self): return u'<{0} "{1}">'.format(type(self).__name__, self.name).encode("ascii", errors='backslashreplace')
    [docs]class Network(object): @@ -516,13 +519,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/object_manager.html b/docs/build/html/_modules/windows/winobject/object_manager.html index d5a89a5..8410217 100644 --- a/docs/build/html/_modules/windows/winobject/object_manager.html +++ b/docs/build/html/_modules/windows/winobject/object_manager.html @@ -6,14 +6,17 @@ - windows.winobject.object_manager — PythonForWindows 0.5 documentation + windows.winobject.object_manager — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -39,10 +42,10 @@

    Source code for windows.winobject.object_manager

     import os.path
     import ctypes
    -from collections import namedtuple
    +from collections import namedtuple
     
     import windows
    -from windows import winproxy
    +from windows import winproxy
     import windows.generated_def as gdef
     
     
    @@ -59,13 +62,20 @@
         x = winproxy.NtOpenSymbolicLinkObject(res, gdef.DIRECTORY_QUERY | gdef.READ_CONTROL , obj_attr)
         v = gdef.LSA_UNICODE_STRING.from_size(1000)
         s = gdef.ULONG()
    -    winproxy.NtQuerySymbolicLinkObject(res, v, s) # Handle Buffer-too-small ?
    +    try:
    +        winproxy.NtQuerySymbolicLinkObject(res, v, s)
    +    except WindowsError as e:
    +        if not (e.winerror & 0xffffffff) == gdef.STATUS_BUFFER_TOO_SMALL:
    +            raise
    +        # If our initial 1000 buffer is not enought (improbable) retry with correct size
    +        v = gdef.LSA_UNICODE_STRING.from_size(s.value)
    +        winproxy.NtQuerySymbolicLinkObject(res, v, s)
         return v.str
     
     
     
    [docs]class KernelObject(object): """Represent an object in the Object Manager namespace""" - def __init__(self, path, name, type=None): + def __init__(self, path, name, type=None): self.path = path self.name = name if path and not path.endswith("\\"): @@ -170,7 +180,7 @@ break yield v.Name.str, v.TypeName.str -
    [docs] def __iter__(self): +
    [docs] def __iter__(self): """Iter over the list of name in the Directory object. :yield: :class:`str` -- The names of objects in the directory. @@ -183,7 +193,7 @@ """ return (name for name, type in self._directory_query_generator())
    - def __repr__(self): + def __repr__(self): return """<{0} "{1}" (type="{2}")>""".format(type(self).__name__, self.fullname, self.type)
    [docs] def get(self, name): @@ -196,7 +206,7 @@ return KernelObject(self.fullname, name, objtype) raise KeyError("Could not find WinObject <{0}> under <{1}>".format(name, self.fullname))
    -
    [docs] def __getitem__(self, name): +
    [docs] def __getitem__(self, name): """Query object ``name`` from the directory, split and subquery on ``\\``:: >>> obj @@ -246,7 +256,7 @@ """ return KernelObject("", "\\", "Directory") -
    [docs] def __getitem__(self, name): +
    [docs] def __getitem__(self, name): """Query ``name`` from the root ``\\`` directory:: object_manager["RPC Control"]["lsasspirpc"] @@ -288,13 +298,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/process.html b/docs/build/html/_modules/windows/winobject/process.html index 892d04f..494d2a8 100644 --- a/docs/build/html/_modules/windows/winobject/process.html +++ b/docs/build/html/_modules/windows/winobject/process.html @@ -6,14 +6,17 @@ - windows.winobject.process — PythonForWindows 0.5 documentation + windows.winobject.process — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - +
    @@ -45,8 +48,8 @@ import struct import itertools -from contextlib import contextmanager -from collections import namedtuple +from contextlib import contextmanager +from collections import namedtuple import windows import windows.native_exec.simple_x86 as x86 @@ -54,21 +57,21 @@ import windows.remotectypes as rctypes import windows.generated_def as gdef -from windows import injection -from windows import native_exec -from windows import pe_parse -from windows import winproxy -from windows import utils -from windows.dbgprint import dbgprint -from windows.generated_def.winstructs import * -from windows.generated_def.ntstatus import NtStatusException +from windows import injection +from windows import native_exec +from windows import pe_parse +from windows import winproxy +from windows import utils +from windows.dbgprint import dbgprint +from windows.generated_def.winstructs import * +from windows.generated_def.ntstatus import NtStatusException -from windows.winobject import exception -from windows.winobject import apisetmap -from windows.winobject import token -from windows import security +from windows.winobject import exception +from windows.winobject import apisetmap +from windows.winobject import token +from windows import security -from windows.pycompat import raw_encode, raw_decode +from windows.pycompat import raw_encode, raw_decode, basestring TimeInfo = namedtuple("TimeInfo", ["creation", "exit", "kernel", "user"]) """Time information about a process""" @@ -76,7 +79,7 @@
    [docs]class DeadThread(utils.AutoHandle): """An already dead thread (returned only by API returning a new thread if thread die before being returned)""" - def __init__(self, handle, tid=None): + def __init__(self, handle, tid=None): if tid is None: tid = WinThread._get_thread_id(handle) self.tid = tid @@ -548,7 +551,7 @@ pid = self.pid return [h for h in windows.system.handles if h.dwProcessId == pid] - def __del__(self): + def __del__(self): super(Process, self).__del__() # Same logic that AutoHandle.__del__ for Process.limited_handle # Assert that Process inherit AutoHandle @@ -617,7 +620,7 @@ def _get_handle(self): return winproxy.GetCurrentThread() - def __del__(self): + def __del__(self): pass
    [docs] def exit(self, code=0): @@ -668,7 +671,7 @@ return winproxy.GetCurrentProcess() - def __del__(self): + def __del__(self): pass @property @@ -774,7 +777,7 @@
    [docs]class WinThread(Thread): """Represent a thread """ - def __init__(self, tid=None, handle=None, owner_pid=None, owner=None): + def __init__(self, tid=None, handle=None, owner_pid=None, owner=None): if tid is None and handle is None: raise ValueError("Need at least <pid> or <handle> to create a {0}".format(type(self).__name__)) @@ -953,7 +956,7 @@ winproxy.GetExitCodeThread(self.handle, byref(res)) return res.value - def __repr__(self): + def __repr__(self): owner = self.owner if owner is None: owner_name = "<Dead process with pid {0}>".format(hex(self.th32OwnerProcessID)) @@ -986,7 +989,7 @@
    [docs]class WinProcess(Process): """A Process on the system""" - def __init__(self, pid=None, handle=None, name=None, ppid=None): + def __init__(self, pid=None, handle=None, name=None, ppid=None): if pid is None and handle is None: raise ValueError("Need at least <pid> or <handle> to create a {0}".format(type(self).__name__)) @@ -1035,7 +1038,7 @@ def _get_handle(self): return winproxy.OpenProcess(dwProcessId=self.pid) - def __repr__(self): + def __repr__(self): try: exe_name = self.name except WindowsError as e: @@ -1260,7 +1263,7 @@ """ return self.FullDllName.str.lower() - def __repr__(self): + def __repr__(self): return '<{0} "{1}" at {2}>'.format(self.__class__.__name__, self.name, hex(id(self))) @property @@ -1588,13 +1591,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/registry.html b/docs/build/html/_modules/windows/winobject/registry.html index fd333e9..86ed2b1 100644 --- a/docs/build/html/_modules/windows/winobject/registry.html +++ b/docs/build/html/_modules/windows/winobject/registry.html @@ -6,14 +6,17 @@ - windows.winobject.registry — PythonForWindows 0.5 documentation + windows.winobject.registry — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - +
    @@ -41,13 +44,13 @@ import ctypes import itertools import struct -from collections import namedtuple, defaultdict +from collections import namedtuple, defaultdict import windows -from windows.dbgprint import dbgprint +from windows.dbgprint import dbgprint import windows.generated_def as gdef -from windows import winproxy -from windows.pycompat import basestring, int_types, is_py3 +from windows import winproxy +from windows.pycompat import basestring, int_types, is_py3 WENCODING = "utf-16-le" @@ -57,7 +60,7 @@ class WinRegistryKey(gdef.HKEY): _close_function = staticmethod(winproxy.RegCloseKey) - def __del__(self): + def __del__(self): if sys is None or sys.path is None: # Late shutdown (not sur winproxy is still up) return if self: # Not NULL handle ? @@ -68,13 +71,13 @@ class ExpectWindowsError(object): - def __init__(self, errornumber): + def __init__(self, errornumber): self.errornumber = errornumber - def __enter__(self): + def __enter__(self): pass - def __exit__(self, etype, e, tb): + def __exit__(self, etype, e, tb): return (etype in (winproxy.WinproxyError, WindowsError) and e.winerror == self.errornumber) # Translation reg-buffer <-> python methodes @@ -184,7 +187,7 @@
    [docs]class PyHKey(object): """A windows registry key""" - def __init__(self, surkey, name, sam=gdef.KEY_READ): + def __init__(self, surkey, name, sam=gdef.KEY_READ): self.surkey = surkey self.name = name self.fullname = self.surkey.fullname + "\\" + self.name if self.name else self.surkey.name @@ -192,7 +195,7 @@ self._phkey = None #self.phkey - def __repr__(self): + def __repr__(self): return '<PyHKey "{0}">'.format(self.fullname) def _open_key(self, handle, name, sam): @@ -400,7 +403,7 @@ -
    [docs] def __setitem__(self, name, value): +
    [docs] def __setitem__(self, name, value): rtype = None if not (isinstance(value, basestring) or isinstance(value, int_types)): value, rtype = value @@ -414,7 +417,7 @@ class DummyPHKEY(object): - def __init__(self, phkey, name): + def __init__(self, phkey, name): self.phkey = phkey self.name = name @@ -439,7 +442,7 @@ "HKEY_USERS" : HKEY_USERS } - def __init__(self, sam=gdef.KEY_READ): + def __init__(self, sam=gdef.KEY_READ): self.sam = sam
    [docs] @classmethod @@ -450,7 +453,7 @@ """ return cls(sam)
    -
    [docs] def __call__(self, name, sam=None): +
    [docs] def __call__(self, name, sam=None): """Get a registry key:: registry(r"HKEY_LOCAL_MACHINE\\Software") @@ -504,13 +507,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/service.html b/docs/build/html/_modules/windows/winobject/service.html index c3fa23f..c296cfb 100644 --- a/docs/build/html/_modules/windows/winobject/service.html +++ b/docs/build/html/_modules/windows/winobject/service.html @@ -6,14 +6,17 @@ - windows.winobject.service — PythonForWindows 0.5 documentation + windows.winobject.service — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - +
    @@ -40,16 +43,16 @@ import ctypes import windows -from collections import namedtuple -from contextlib import contextmanager +from collections import namedtuple +from contextlib import contextmanager -from windows import utils +from windows import utils +from windows.pycompat import int_types import windows.generated_def as gdef -from windows.generated_def import * -from windows import security +from windows.generated_def import * +from windows import security +from windows.pycompat import basestring -# TODO: RM :) -ServiceStatus = namedtuple("ServiceStatus", ["type", "state", "control_accepted", "flags"]) """ ``type`` might be one of: @@ -77,20 +80,36 @@ """ -class ServiceManager(utils.AutoHandle): - _close_function = staticmethod(windows.winproxy.CloseServiceHandle) - +
    [docs]class ServiceManager(utils.AutoHandle): + """An object to query, list and explore services""" def _get_handle(self): return windows.winproxy.OpenSCManagerA(dwDesiredAccess=gdef.MAXIMUM_ALLOWED) def open_service(self, name, access=gdef.MAXIMUM_ALLOWED): return windows.winproxy.OpenServiceA(self.handle, name, access) # Check service exists :) - def get_service(self, name, access=gdef.MAXIMUM_ALLOWED): - handle = self.open_service(name, access) - return NewService(name=name, handle=handle) +
    [docs] def get_service(self, key, access=gdef.MAXIMUM_ALLOWED): + """Get a service by its name/index or a list of services via a slice + + :return: :class:`Service` or [:class:`Service`] -- A :class:`Service` or list of :class:`Service` + """ + if isinstance(key, int_types): + return self.enumerate_services()[key] + if isinstance(key, slice): + # Get service list + servlist = self.enumerate_services() + # Extract indexes matching the slice + indexes = key.indices(len(servlist)) + return [servlist[idx] for idx in range(*indexes)] + # Retrieve service by its name + handle = self.open_service(key, access) + return Service(name=key, handle=handle)
    __getitem__ = get_service + """Get a service by its name/index or a list of services via a slice + + :return: :class:`Service` or [:class:`Service`] -- A :class:`Service` or list of :class:`Service` + """ def get_service_display_name(self, name): # This API is strange.. @@ -102,6 +121,9 @@ return result.value def _enumerate_services_generator(self): + """The generator code behind __iter__. + Allow to iter over the services on the system + """ size_needed = gdef.DWORD() nb_services = gdef.DWORD() counter = gdef.DWORD() @@ -121,20 +143,23 @@ services_array = (gdef.ENUM_SERVICE_STATUS_PROCESSA * nb_services.value).from_buffer(buffer) for service_info in services_array: shandle = self.open_service(service_info.lpServiceName) - yield NewService(handle=shandle, name=service_info.lpServiceName, description=service_info.lpDisplayName) + yield Service(handle=shandle, name=service_info.lpServiceName, description=service_info.lpDisplayName) return __iter__ = _enumerate_services_generator + """Iter over the services on the system + + :yield: :class:`Service` + """ def enumerate_services(self): - return list(self._enumerate_services_generator()) + return list(self._enumerate_services_generator())
    -class NewService(gdef.SC_HANDLE): - # close_function = windows.winproxy.CloseServiceHandle - - def __init__(self, handle, name, description=None): - super(NewService, self).__init__(handle) +
    [docs]class Service(gdef.SC_HANDLE): + """Represent a service on the system""" + def __init__(self, handle, name, description=None): + super(Service, self).__init__(handle) self.name = name """The name of the service @@ -153,12 +178,16 @@ @property def status(self): + """The status of the service + + :type: :class:`~windows.generated_def.winstructs.SERVICE_STATUS_PROCESS` + """ buffer = windows.utils.BUFFER(gdef.SERVICE_STATUS_PROCESS)() size_needed = gdef.DWORD() windows.winproxy.QueryServiceStatusEx(self, gdef.SC_STATUS_PROCESS_INFO, buffer.cast(gdef.LPBYTE), ctypes.sizeof(buffer), size_needed) return buffer[0] - @utils.fixedpropety + @property # Can change if service is started/stopped when the object exist def process(self): """The process running the service (if any) @@ -172,27 +201,36 @@ @property def security_descriptor(self): + """The security descriptor of the service + + :type: :class:`~windows.security.SecurityDescriptor` + """ return security.SecurityDescriptor.from_service(self.name) - def start(self, args=None): +
    [docs] def start(self, args=None): + """Start the service + + :param args: a list of :class:`str` + """ nbelt = 0 if args is not None: - if isinstance(args, basestring): + if isinstance(args, windows.pycompat.anybuff): args = [args] nbelt = len(args) args = (gdef.LPCSTR * (nbelt))(*args) - return windows.winproxy.StartServiceA(self, nbelt, args) + return windows.winproxy.StartServiceA(self, nbelt, args)
    - def stop(self): +
    [docs] def stop(self): + """Stop the service""" status = SERVICE_STATUS() windows.winproxy.ControlService(self, gdef.SERVICE_CONTROL_STOP, status) - return status + return status
    - def __repr__(self): - return """<{0} "{1}" {2}>""".format(type(self).__name__, self.name, self.status.state) + def __repr__(self): + return """<{0} "{1}" {2!r}>""".format(type(self).__name__, self.name, self.status.state) - def __del__(self): - return windows.winproxy.CloseServiceHandle(self) + def __del__(self): + return windows.winproxy.CloseServiceHandle(self)
    @@ -225,13 +263,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/system.html b/docs/build/html/_modules/windows/winobject/system.html index 69c90e7..eebea42 100644 --- a/docs/build/html/_modules/windows/winobject/system.html +++ b/docs/build/html/_modules/windows/winobject/system.html @@ -6,14 +6,17 @@ - windows.winobject.system — PythonForWindows 0.5 documentation + windows.winobject.system — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -43,29 +46,30 @@ import struct import windows -from windows import winproxy -from windows import utils +from windows import winproxy +from windows import utils import windows.generated_def as gdef -from windows.winobject import process -from windows.winobject import network -from windows.winobject import registry -from windows.winobject import exception -from windows.winobject import service -from windows.winobject import volume -from windows.winobject import wmi -from windows.winobject import object_manager -from windows.winobject import handle -from windows.winobject import event_log -from windows.winobject import event_trace -from windows.winobject import task_scheduler -from windows.winobject import system_module -from windows.winobject import bits +from windows.winobject import process +from windows.winobject import network +from windows.winobject import registry +from windows.winobject import exception +from windows.winobject import service +from windows.winobject import volume +from windows.winobject import wmi +from windows.winobject import object_manager +from windows.winobject import device_manager +from windows.winobject import handle +from windows.winobject import event_log +from windows.winobject import event_trace +from windows.winobject import task_scheduler +from windows.winobject import system_module +from windows.winobject import bits -from windows.dbgprint import dbgprint +from windows.dbgprint import dbgprint
    [docs]class System(object): """The state of the current ``Windows`` system ``Python`` is running on""" @@ -102,9 +106,10 @@ @utils.fixedpropety def services(self): - """The list of services + """An object to query, list and explore services - :type: [:class:`~windows.winobject.service.ServiceA`] -- A list of Service""" + :type: :class:`~windows.winobject.service.ServiceManager` + """ return service.ServiceManager() @property @@ -144,10 +149,18 @@ @utils.fixedpropety def event_log(self): + """An object to open Event channel/publisher and evtx file + + :type: :class:`~windows.winobject.event_log.EvtlogManager` + """ return event_log.EvtlogManager() @utils.fixedpropety def etw(self): + """An object to interact with ETW (Event Tracing for Windows) + + :type: :class:`~windows.winobject.event_trace.EtwManager` + """ return event_trace.EtwManager() @@ -174,6 +187,14 @@ """ return windows.winobject.object_manager.ObjectManager() + @utils.fixedpropety + def device_manager(self): + """An object to query the device&driver configured on the computer. + + :type: :class:`~windows.winobject.device_manager.DeviceManager` + """ + return windows.winobject.device_manager.DeviceManager() + @utils.fixedpropety def bits(self): return bits.create_manager() @@ -542,13 +563,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/system_module.html b/docs/build/html/_modules/windows/winobject/system_module.html index 7d84b05..33ee0ea 100644 --- a/docs/build/html/_modules/windows/winobject/system_module.html +++ b/docs/build/html/_modules/windows/winobject/system_module.html @@ -6,14 +6,17 @@ - windows.winobject.system_module — PythonForWindows 0.5 documentation + windows.winobject.system_module — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -51,7 +54,7 @@ """The name of the system module: alias for ``ImageName``""" return self.ImageName - def __repr__(self): + def __repr__(self): return """<{0} name="{1}" base={2:#x}>""".format(type(self).__name__, self.ImageName, self.Base) @@ -122,13 +125,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/task_scheduler.html b/docs/build/html/_modules/windows/winobject/task_scheduler.html index d0edf30..4fca5b9 100644 --- a/docs/build/html/_modules/windows/winobject/task_scheduler.html +++ b/docs/build/html/_modules/windows/winobject/task_scheduler.html @@ -6,14 +6,17 @@ - windows.winobject.task_scheduler — PythonForWindows 0.5 documentation + windows.winobject.task_scheduler — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -93,10 +96,10 @@ """ return list(self.items_generator()) - def __iter__(self): + def __iter__(self): return self.items_generator() - def __getitem__(self, index): # Allow subclasses to only overwrite 'get_item' to rewrite both behavior + def __getitem__(self, index): # Allow subclasses to only overwrite 'get_item' to rewrite both behavior return self.get_item(index) # Need to-do the doc=xx tricks to have the documentation in the 'AbstractAction' subclasses @@ -206,26 +209,68 @@ ITEM_TYPE = Trigger -class TaskRegistrationInfo(gdef.IRegistrationInfo): +
    [docs]class TaskRegistrationInfo(gdef.IRegistrationInfo): + """Provides the administrative information that can be used to describe the task. + + This information includes details such as a description of the task, + the author of the task, the date the task is registered, + and the security descriptor of the task. + """ author = generate_simple_getter("get_Author", gdef.BSTR) + """The author of the task""" description = generate_simple_getter("get_Description", gdef.BSTR) + """The description of the task""" date = generate_simple_getter("get_Date", gdef.BSTR) + """The registration date of the task""" source = generate_simple_getter("get_Source", gdef.BSTR) + """Where the task originated from. + + For example, a task may originate from a component, service, application, or user. + """ documentation = generate_simple_getter("get_Documentation", gdef.BSTR) + """Any additional documentation for the task""" uri = generate_simple_getter("get_URI", gdef.BSTR) + """the URI of the task.""" version = generate_simple_getter("get_Version", gdef.BSTR) + """The version number of the task.""" # Return WindowsError: [Error -2147467263] Not implemented - xml = generate_simple_getter("get_XmlText", gdef.BSTR) - # security_descriptor = generate_simple_getter("get_SecurityDescriptor", gdef.BSTR) + # xml = generate_simple_getter("get_XmlText", gdef.BSTR) + + sddl = generate_simple_getter("get_SecurityDescriptor", windows.com.Variant) + + @property + def security_descriptor(self): + sddl = self.sddl + if not sddl: + return None + return windows.security.SecurityDescriptor.from_string(sddl)
    + + + +
    [docs]class TaskPrincipal(gdef.IPrincipal): + """Provides the security credentials for a principal. + These security credentials define the security context for the tasks that are associated with the principal. + """ -class TaskPrincipal(gdef.IPrincipal): name = generate_simple_getter("get_DisplayName", gdef.BSTR) + """The name of the principal""" id = generate_simple_getter("get_Id", gdef.BSTR) + """the identifier of the principal.""" user_id = generate_simple_getter("get_UserId", gdef.BSTR) + """the user identifier that is required to run the task""" group_id = generate_simple_getter("get_GroupId", gdef.BSTR) + """the user group that is required to run the task""" run_level = generate_simple_getter("get_RunLevel", gdef.TASK_RUNLEVEL_TYPE) + """the privilege level that is required to run the tasks + + :type: :class:`~windows.generated_def.winstructs.TASK_RUNLEVEL_TYPE` + """ logon_type = generate_simple_getter("get_LogonType", gdef.TASK_LOGON_TYPE) + """ logon method that is required to run the task + + :type: :class:`~windows.generated_def.winstructs.TASK_LOGON_TYPE` + """
    [docs]class TaskDefinition(gdef.ITaskDefinition): """The definition of a task""" @@ -241,7 +286,18 @@ """ registration_info = generate_simple_getter("get_RegistrationInfo", TaskRegistrationInfo, extract_value=False) + """The registration information of the task + + :type: :class:`TaskRegistrationInfo` + """ + principal = generate_simple_getter("get_Principal", TaskPrincipal, extract_value=False) + """The principal that provides the security credentials for the task. + These security credentials define the security context for the tasks that are associated with the principal. + + :type: :class:`TaskPrincipal` + """ + xml = generate_simple_getter("get_XmlText", gdef.BSTR) """The XML representig the task definition @@ -292,7 +348,7 @@ self.GetSecurityDescriptor(secinfo, res) return res.value - def __repr__(self): + def __repr__(self): return """<{0} "{1}" at {2:#x}>""".format(type(self).__name__, self.name, id(self))
    @@ -420,7 +476,7 @@ - def __repr__(self): + def __repr__(self): return """<{0} "{1}" at {2:#x}>""".format(type(self).__name__, self.path, id(self)) @@ -497,13 +553,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/token.html b/docs/build/html/_modules/windows/winobject/token.html index 5892674..dad9abe 100644 --- a/docs/build/html/_modules/windows/winobject/token.html +++ b/docs/build/html/_modules/windows/winobject/token.html @@ -6,14 +6,17 @@ - windows.winobject.token — PythonForWindows 0.5 documentation + windows.winobject.token — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -41,9 +44,10 @@ import functools import windows -from windows import utils -from windows import winproxy +from windows import utils +from windows import winproxy import windows.generated_def as gdef +# import windows.security # at the end of this file (loop import) bltn_type = type @@ -85,7 +89,7 @@ """ return [g.Sid for g in self._groups] - def __repr__(self): + def __repr__(self): return "<{0} count={1}>".format(type(self).__name__, self.GroupCount) TokenGroupsType = TokenGroups # Prevent confusion with token.TokenGroups @@ -127,7 +131,7 @@ assert len(x) == 1 return x[0] -
    [docs] def __getitem__(self, name): +
    [docs] def __getitem__(self, name): """Retrieve the attribute value for privilege ``name`` :raises: KeyError if privilege ``name`` not in the TokenPrivileges @@ -138,7 +142,7 @@ raise KeyError(name) return priv.Attributes
    -
    [docs] def __setitem__(self, name, value): +
    [docs] def __setitem__(self, name, value): """Set the attribute value for privilege ``name`` :raises: KeyError if privilege ``name`` not in the TokenPrivileges @@ -201,7 +205,7 @@ array_name = self.VALUE_ARRAY_PTR_BY_TYPE[self.ValueType] return getattr(self.Values, array_name)[:self.ValueCount] - def __repr__(self): + def __repr__(self): return """<{0} name="{1}">""".format(type(self).__name__, self.name)
    @@ -215,7 +219,7 @@ see `[MSDN] TOKEN_INFORMATION_CLASS <https://docs.microsoft.com/en-us/windows/desktop/api/winnt/ne-winnt-_token_information_class>`_ """ - def __init__(self, handle): + def __init__(self, handle): self._handle = handle def _get_required_token_information_size(self, infos_class): @@ -347,7 +351,6 @@ :type: :class:`windows.security.Acl` """ - import window.security # Beuk move token.py & in a security/ directory ? return self.get_token_infomations(gdef.TokenDefaultDacl, windows.security.PAcl)[0] # def source(self): (tok.TokenSource) ?? @@ -650,13 +653,16 @@ raise ValueError("{0} has no privilege <{1}>".format(self, name)) return self.adjust_privileges(privs)
    - def __repr__(self): + def __repr__(self): flag_repr = gdef.Flag.__repr__ tid_int = int(self.TokenStatistics.TokenId) toktype = self.type if toktype == gdef.TokenPrimary: return "<{0} TokenId={1:#x} Type={2}>".format(type(self).__name__, tid_int, flag_repr(toktype)) return "<{0} TokenId={1:#x} Type={2} ImpersonationLevel={3}>".format(type(self).__name__, tid_int, flag_repr(toktype), flag_repr(self.impersonation_level))
    + + +import windows.security @@ -689,13 +695,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/volume.html b/docs/build/html/_modules/windows/winobject/volume.html index d04cda0..abddb63 100644 --- a/docs/build/html/_modules/windows/winobject/volume.html +++ b/docs/build/html/_modules/windows/winobject/volume.html @@ -6,14 +6,17 @@ - windows.winobject.volume — PythonForWindows 0.5 documentation + windows.winobject.volume — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -40,11 +43,11 @@ import ctypes import windows -from windows import winproxy +from windows import winproxy import windows.generated_def as gdef -from windows.generated_def.winstructs import * +from windows.generated_def.winstructs import * -from windows.utils import AutoHandle +from windows.utils import AutoHandle import sys @@ -53,7 +56,7 @@ DRIVE_TYPE = gdef.FlagMapper(DRIVE_UNKNOWN, DRIVE_NO_ROOT_DIR, DRIVE_REMOVABLE, DRIVE_FIXED, DRIVE_REMOTE, DRIVE_CDROM, DRIVE_RAMDISK) - def __init__(self, name): + def __init__(self, name): self.name = name @property @@ -100,7 +103,7 @@ gdef.FILE_SHARE_READ, None, gdef.OPEN_EXISTING, gdef.FILE_FLAG_BACKUP_SEMANTICS , None) return handle - def __repr__(self): + def __repr__(self): return """<{0} "{1}" ({2})>""".format(type(self).__name__, self.name, self.type.name) def enum_logical_drive(): @@ -157,13 +160,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winobject/wmi.html b/docs/build/html/_modules/windows/winobject/wmi.html index fb17aba..3dc1eb1 100644 --- a/docs/build/html/_modules/windows/winobject/wmi.html +++ b/docs/build/html/_modules/windows/winobject/wmi.html @@ -6,14 +6,17 @@ - windows.winobject.wmi — PythonForWindows 0.5 documentation + windows.winobject.wmi — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -41,16 +44,16 @@ import ctypes import struct import functools -from functools import partial -from collections import namedtuple +from functools import partial +from collections import namedtuple -from ctypes.wintypes import * +from ctypes.wintypes import * import windows.com import windows.generated_def as gdef -from windows.generated_def.winstructs import * +from windows.generated_def.winstructs import * -from windows.pycompat import basestring +from windows.pycompat import basestring # Common error check for all WMI COM interfaces # This 'just' add the corresponding 'WBEMSTATUS' to the hresult error code @@ -212,7 +215,7 @@ ## Make it callable like any class :D __call__ = spawn_instance - def __repr__(self): + def __repr__(self): if not self: return """<{0} (NULL)>""".format(type(self).__name__,) if self.genus == gdef.WBEM_GENUS_CLASS: @@ -247,7 +250,7 @@ else: return obj -
    [docs] def __iter__(self): +
    [docs] def __iter__(self): """Return an iterator with ``DEFAULT_TIMEOUT``""" return self.iter_timeout(self.DEFAULT_TIMEOUT)
    @@ -269,7 +272,7 @@
    [docs]class WmiCallResult(gdef.IWbemCallResult, WmiComInterface): """The result of a WMI call/query. Real result value type depends of the context""" - def __init__(self, result_type=None, namespace_name=None): + def __init__(self, result_type=None, namespace_name=None): self.result_type = result_type self.namespace_name = namespace_name @@ -319,7 +322,7 @@ DEFAULT_ENUM_FLAGS = (gdef.WBEM_FLAG_RETURN_IMMEDIATELY | WBEM_FLAG_FORWARD_ONLY) #: The defauls flags used for enumeration. ``(WBEM_FLAG_RETURN_IMMEDIATELY | WBEM_FLAG_FORWARD_ONLY)`` - def __init__(self, namespace): + def __init__(self, namespace): self.name = namespace
    [docs] @classmethod @@ -463,7 +466,7 @@ self.ExecMethod(obj, method, 0, None, inparam, outparam, result) return outparam or result
    - def __repr__(self): + def __repr__(self): null = "" if self else " (NULL)" return """<{0} "{1}"{2}>""".format(type(self).__name__, self.name, null)
    @@ -476,7 +479,7 @@ <WmiNamespace "root\SecurityCenter2"> """ DEFAULT_NAMESPACE = "root\\cimv2" #: The default namespace for :func:`select` & :func:`query` - def __init__(self): + def __init__(self): # Someone is going to use wmi: let's init com ! windows.com.init() self.wmi_requester_by_namespace = {} @@ -504,11 +507,11 @@ def _open_wmi_requester(self, namespace): return WmiNamespace.connect(namespace) - def __missing__(self, key): + def __missing__(self, key): self[key] = self._open_wmi_requester(key) return self[key] - def __repr__(self): + def __repr__(self): return object.__repr__(self)
    @@ -542,13 +545,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winproxy/apiproxy.html b/docs/build/html/_modules/windows/winproxy/apiproxy.html index 1908991..acd83e6 100644 --- a/docs/build/html/_modules/windows/winproxy/apiproxy.html +++ b/docs/build/html/_modules/windows/winproxy/apiproxy.html @@ -6,14 +6,17 @@ - windows.winproxy.apiproxy — PythonForWindows 0.5 documentation + windows.winproxy.apiproxy — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -41,8 +44,8 @@ import functools import windows.generated_def as gdef -from .error import ExportNotFound -from windows.pycompat import is_py3 +from .error import ExportNotFound +from windows.pycompat import is_py3 # Utils
    [docs]def is_implemented(apiproxy): @@ -69,12 +72,12 @@ class NeededParameterType(object): _inst = None - def __new__(cls): + def __new__(cls): if cls._inst is None: cls._inst = super(NeededParameterType, cls).__new__(cls) return cls._inst - def __repr__(self): + def __repr__(self): return "NeededParameter" NeededParameter = NeededParameterType() @@ -83,7 +86,7 @@ class ApiProxy(object): APIDLL = None """Create a python wrapper around a kernel32 function""" - def __init__(self, func_name=None, error_check=sentinel, deffunc_module=None): + def __init__(self, func_name=None, error_check=sentinel, deffunc_module=None): self.deffunc_module = deffunc_module if deffunc_module is not None else gdef.winfuncs self.func_name = func_name if error_check is sentinel: @@ -92,7 +95,7 @@ self.error_check = error_check self._cprototyped = None - def __call__(self, python_proxy): + def __call__(self, python_proxy): # Use the name of the sub-function if None was given if self.func_name is None: self.func_name = python_proxy.__name__ @@ -191,13 +194,13 @@
  • modules |
  • - +
    \ No newline at end of file diff --git a/docs/build/html/_modules/windows/winproxy/error.html b/docs/build/html/_modules/windows/winproxy/error.html index 7e19a40..3c68730 100644 --- a/docs/build/html/_modules/windows/winproxy/error.html +++ b/docs/build/html/_modules/windows/winproxy/error.html @@ -6,14 +6,17 @@ - windows.winproxy.error — PythonForWindows 0.5 documentation + windows.winproxy.error — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -40,12 +43,12 @@ import ctypes import windows.generated_def as gdef -from windows.generated_def.ntstatus import NtStatusException +from windows.generated_def.ntstatus import NtStatusException # ApiProxy stuff class ExportNotFound(RuntimeError): - def __init__(self, func_name, api_name): + def __init__(self, func_name, api_name): self.func_name = func_name self.api_name = api_name super(ExportNotFound, self).__init__("Function {0} not found into {1}".format(func_name, api_name)) @@ -53,7 +56,7 @@ # PFW Winproxy Exception type
    [docs]class WinproxyError(WindowsError): - def __new__(cls, func_name, error_code=None): + def __new__(cls, func_name, error_code=None): win_error = ctypes.WinError(error_code) #GetLastError by default api_error = super(WinproxyError, cls).__new__(cls) api_error.api_name = func_name @@ -62,13 +65,13 @@ api_error.args = (func_name, win_error.winerror, win_error.strerror) return api_error - def __init__(self, func_name, error_code=None): + def __init__(self, func_name, error_code=None): super(WinproxyError, self).__init__(func_name) - def __repr__(self): + def __repr__(self): return "{0}: {1}".format(self.api_name, super(WinproxyError, self).__repr__()) - def __str__(self): + def __str__(self): return "{0}: {1}".format(self.api_name, super(WinproxyError, self).__str__())
    @@ -148,13 +151,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_modules/windows/wintrust.html b/docs/build/html/_modules/windows/wintrust.html index 3f970f0..9301f58 100644 --- a/docs/build/html/_modules/windows/wintrust.html +++ b/docs/build/html/_modules/windows/wintrust.html @@ -6,14 +6,17 @@ - windows.wintrust — PythonForWindows 0.5 documentation + windows.wintrust — PythonForWindows 0.6 documentation - + + + + @@ -26,7 +29,7 @@
  • modules |
  • - + @@ -40,10 +43,10 @@ import ctypes import struct import windows -from collections import namedtuple -from windows import winproxy +from collections import namedtuple +from windows import winproxy import windows.generated_def as gdef -from windows.generated_def.winstructs import * +from windows.generated_def.winstructs import * @@ -105,7 +108,7 @@ win_trust_data.pPolicyCallbackData = None win_trust_data.pSIPClientData = None win_trust_data.dwUIChoice = WTD_UI_NONE - win_trust_data.fdwRevocationChecks = WTD_REVOKE_NONE + # win_trust_data.fdwRevocationChecks = WTD_REVOKE_NONE win_trust_data.fdwRevocationChecks = WTD_REVOKE_WHOLECHAIN win_trust_data.dwUnionChoice = WTD_CHOICE_FILE win_trust_data.dwStateAction = WTD_STATEACTION_VERIFY @@ -159,7 +162,7 @@ raise return buffer -def get_file_hash2(filename): +def get_file_hash2(filename): #POC: name/API will change/disapear f = open(filename, "rb") handle = windows.utils.get_handle_from_file(f) @@ -260,13 +263,13 @@
  • modules |
  • - + \ No newline at end of file diff --git a/docs/build/html/_sources/debug.rst.txt b/docs/build/html/_sources/debug.rst.txt index 642b635..2b1afd8 100644 --- a/docs/build/html/_sources/debug.rst.txt +++ b/docs/build/html/_sources/debug.rst.txt @@ -7,6 +7,12 @@ See sample :ref:`sample_debugger` +.. note:: + + If you are interrested by symbols (PDB) handling, go to subsection :ref:`debug_symbols_module`. + + You can also look at the symbols-related samples: :ref:`sample_symbols` + :class:`Debugger` """"""""""""""""" @@ -24,6 +30,18 @@ This means that those methods see the original ``current_process`` memory access .. automethod:: __init__ +:class:`SymbolDebugger` +""""""""""""""""""""""" + +.. note:: + + See sample :ref:`sample_symbol_debugger` + +.. autoclass:: SymbolDebugger + :show-inheritance: + :members: + :no-inherited-members: + :class:`LocalDebugger` """""""""""""""""""""" @@ -43,7 +61,6 @@ There is not much documentation for now as the code might change soon. :members: - :class:`Breakpoint` """"""""""""""""""" @@ -99,4 +116,114 @@ When a breakpoint is hit, its ``trigger`` function is called with the debugger a .. note:: - See sample :ref:`sample_debugger_bp_functionbp` \ No newline at end of file + See sample :ref:`sample_debugger_bp_functionbp` + + +.. _debug_symbols_module: + +:mod:`windows.debug.symbols` -- Using symbols +""""""""""""""""""""""""""""""""""""""""""""" + +.. module:: windows.debug.symbols + +The :mod:`windows.debug.symbols` module provide classes to load PDB and resolve name/address. +In its current state, this module does not handle types. + +.. note:: + + See samples :ref:`sample_symbols` + + +Configuration +''''''''''''' + +In order to be able to automatically download PDB and parse remote ``_NT_SYMBOL_PATH``, a debug version of the DLL `dbghelp.dll` must be used. +(See `MSDN: DbgHelp Versions `_) + +As it is NOT recommended to replace ``system32/dbghelp.dll``, its path must be provided to PythonForWindows. +This path must be provided before any call to the ``dbghelp.dll`` APIs. +Also, the ``symsrv.dll`` DLL should be present in the same directory as ``dbghelp.dll`` (See `SymSrv Installation `_) + +There is 2 ways to pass this information to ``PythonForWindows``: + + * Using the function :func:`set_dbghelp_path` + * Using the environment variable ``PFW_DBGHELP_PATH`` + * If this variable exists it will simply trigger a call to ``set_dbghelp_path(PFW_DBGHELP_PATH)`` + + +If the given path is a directory, the final path will be computer as ``path\\dbghelp.dll``. +This allow to use the same script (or environment variable) transparently in bot 32b & 64b python interpreters. + +.. note:: + + For example, on my computer my setup is done through the environment variable: ``PFW_DBGHELP_PATH=D:\pysym\bin`` + + This directory have the following layout: + + | $ tree /A /F %PFW_DBGHELP_PATH% + | D:\\PYSYM\\BIN + | \| symsrv.yes + | \| + | +\\-\\-\\-32 + | \| dbghelp.dll + | \| symsrv.dll + | \| + | \\\\-\\-\\-64 + | dbghelp.dll + | symsrv.dll + + +Helpers +''''''' + +.. autofunction:: set_dbghelp_path + +.. autoclass:: SymbolEngine + :members: + + +:class:`VirtualSymbolHandler` +''''''''''''''''''''''''''''' + +.. autoclass:: VirtualSymbolHandler + :show-inheritance: + :members: + :inherited-members: + :special-members: __getitem__ + + +:class:`ProcessSymbolHandler` +''''''''''''''''''''''''''''' + +.. autoclass:: ProcessSymbolHandler + :show-inheritance: + :members: + :inherited-members: + :special-members: __getitem__ + + +:class:`SymbolModule` +''''''''''''''''''''' + +.. autoclass:: SymbolModule + :show-inheritance: + :members: + :inherited-members: + + +:class:`SymbolInfo` +''''''''''''''''''' + +.. autoclass:: SymbolInfo + :show-inheritance: + :members: + +.. autoclass:: SymbolInfoA + :show-inheritance: + :members: + :inherited-members: displacement + :special-members: __str__, __int__ + + .. py:attribute:: displacement + + The displacement between the addresse and the start of the symbol (name) \ No newline at end of file diff --git a/docs/build/html/_sources/device_manager.rst.txt b/docs/build/html/_sources/device_manager.rst.txt new file mode 100644 index 0000000..5f02f6a --- /dev/null +++ b/docs/build/html/_sources/device_manager.rst.txt @@ -0,0 +1,121 @@ +Device Manager +============== + +.. module:: windows.winobject.device_manager + +The :class:`DeviceManager` instance is accessible via :py:attr:`windows.system.device_manager +` + +.. note:: + + See sample at :ref:`sample_device_manager` + + + +DeviceManager +""""""""""""" + + +.. autoclass:: DeviceManager + :members: + + +DeviceClass +""""""""""" + + +.. autoclass:: DeviceClass + :members: + :no-inherited-members: + + + +DeviceInformationSet +"""""""""""""""""""" + + +.. autoclass:: DeviceInformationSet + :members: + :special-members: __iter__ + + + +DeviceInstance +"""""""""""""" + + +.. autoclass:: DeviceInstance + :members: + + +LogicalConfiguration +"""""""""""""""""""" + +.. autoclass:: LogicalConfiguration + :members: + + +ResourceDescriptor +"""""""""""""""""" + +.. autoclass:: ResourceDescriptor + :members: + + +Concrete ResourceDescriptor +''''''''''''''''''''''''''' + +ResourceNoType +------------------ + +.. autoclass:: ResourceNoType + +MemoryResource +-------------- + +.. autoclass:: MemoryResource + +IoResource +---------- + +.. autoclass:: IoResource + +DmaResource +----------- + +.. autoclass:: DmaResource + +IrqResource +----------- + +.. autoclass:: IrqResource + +BusNumberResource +----------------- + +.. autoclass:: BusNumberResource + +MemLargeResource +---------------- + +.. autoclass:: MemLargeResource + +ClassSpecificResource +--------------------- + +.. autoclass:: ClassSpecificResource + +DevicePrivateResource +--------------------- + +.. autoclass:: DevicePrivateResource + +MfCardConfigResource +-------------------- + +.. autoclass:: MfCardConfigResource + +PcCardConfigResource +-------------------- + +.. autoclass:: PcCardConfigResource \ No newline at end of file diff --git a/docs/build/html/_sources/etw.rst.txt b/docs/build/html/_sources/etw.rst.txt new file mode 100644 index 0000000..4736720 --- /dev/null +++ b/docs/build/html/_sources/etw.rst.txt @@ -0,0 +1,48 @@ +ETW -- Event Tracing for Windows +================================ + +.. module:: windows.winobject.event_trace + +The :class:`EtwManager` instance is accessible via :py:attr:`windows.system.etw +` + +.. note:: + + This code is the result of my research on ``ETW`` that lead to this presentation `ETW for the lazy reverser (FR) `_ + + +.. note:: + + See sample :ref:`sample_etw` + + +EtwManager +"""""""""" + + +.. autoclass:: EtwManager + :members: + + +Tracing Events +"""""""""""""" + +EtwTrace +'''''''' + +.. autoclass:: EtwTrace + :members: + + +EventTraceProperties +'''''''''''''''''''' + +.. autoclass:: EventTraceProperties + :members: + +EventRecord +''''''''''' + +.. autoclass:: EventRecord + :members: + diff --git a/docs/build/html/_sources/evtlog.rst.txt b/docs/build/html/_sources/evtlog.rst.txt index 739c730..caaf31d 100644 --- a/docs/build/html/_sources/evtlog.rst.txt +++ b/docs/build/html/_sources/evtlog.rst.txt @@ -10,6 +10,9 @@ I have tried to offer some abstraction without completly hidding the some underl The current API may need some works to provide simpler/highter level API in the future. +The :class:`EvtlogManager` instance is accessible via :py:attr:`windows.system.event_log +` + For now, the best thing to do is look at the sample: .. note:: diff --git a/docs/build/html/_sources/index.rst.txt b/docs/build/html/_sources/index.rst.txt index 7a2170d..f0fc469 100644 --- a/docs/build/html/_sources/index.rst.txt +++ b/docs/build/html/_sources/index.rst.txt @@ -34,15 +34,19 @@ You can install PythonForWindows using the ``setup.py`` at the root of the proje python setup.py install -In its current state the project only support Python2 and -``setup.py`` will raise an :class:`NotImplementedError` if launched from python3. - - .. warning:: PythonForWindows is not available on Pypi for now and thus cannot be directly installed using ``pip``. +Python3 +^^^^^^^ + +python3 support is still in beta. +All the tests pass on master, but I did not test it heavily on real case. +Do not hesitate report bugs and issues. + + Documentation """"""""""""" diff --git a/docs/build/html/_sources/object_manager.rst.txt b/docs/build/html/_sources/object_manager.rst.txt index 36d7676..105b324 100644 --- a/docs/build/html/_sources/object_manager.rst.txt +++ b/docs/build/html/_sources/object_manager.rst.txt @@ -32,4 +32,4 @@ KernelObject .. autoclass:: KernelObject :members: :undoc-members: - :special-members: __getitem__, __iter__ \ No newline at end of file + :special-members: __getitem__,__iter__ \ No newline at end of file diff --git a/docs/build/html/_sources/rpc.rst.txt b/docs/build/html/_sources/rpc.rst.txt index a238a10..40f8c40 100644 --- a/docs/build/html/_sources/rpc.rst.txt +++ b/docs/build/html/_sources/rpc.rst.txt @@ -64,7 +64,7 @@ Example: >>> client = windows.rpc.find_alpc_endpoint_and_connect(UAC_UIID) >>> client - >>> client.alpc_client.portname + >>> client.alpc_client.port_name '\\RPC Control\\LRPC-c30c67fef2afa1612b' >>> iid = client.bind(UAC_UIID) >>> iid @@ -230,4 +230,4 @@ NDR STREAM >>> x.data 'CCCC' >>> hex(ndr.NdrLong.unpack(x)) - '0x43434343' \ No newline at end of file + '0x43434343' diff --git a/docs/build/html/_sources/sample.rst.txt b/docs/build/html/_sources/sample.rst.txt index dd411cc..792f3ee 100644 --- a/docs/build/html/_sources/sample.rst.txt +++ b/docs/build/html/_sources/sample.rst.txt @@ -92,6 +92,20 @@ Output .. literalinclude:: samples_output\system.txt +.. _sample_services_demo: + +Services +"""""""" + +.. literalinclude:: ..\..\samples\service\service_demo.py + +Output + +.. literalinclude:: samples_output\service_service_demo.txt + + + + .. _sample_network_exploration: :class:`Network` - socket exploration @@ -162,6 +176,27 @@ Output .. literalinclude:: samples_output\object_manager_findobj.txt +.. _sample_device_manager: + +Device manager +"""""""""""""" + +.. literalinclude:: ..\..\samples\device_manager\device_manager.py + +Output + +.. literalinclude:: samples_output\device_manager_device_manager.txt + + +Enumerate devices +''''''''''''''''' + +.. literalinclude:: ..\..\samples\device_manager\enum_devices.py + + +.. literalinclude:: samples_output\device_manager_enum_devices.txt + + .. _sample_wintrust: ``windows.wintrust`` @@ -309,6 +344,18 @@ Ouput .. literalinclude:: samples_output\test_code.txt +.. _sample_symbol_debugger: + +:class:`SymbolDebugger` +''''''''''''''''''''''' + +.. literalinclude:: ..\..\samples\debug\symbol_debugger.py + +Output + +.. literalinclude:: samples_output\debug_symbol_debugger.txt + + .. _sample_local_debugger: @@ -357,6 +404,43 @@ Ouput:: I AM LOADING +.. _sample_symbols: + +Symbols +""""""" + +VirtualSymbolHandler +'''''''''''''''''''' + +.. literalinclude:: ..\..\samples\debug\symbols\virtsymdemo.py + +Output + +.. literalinclude:: samples_output\debug_symbol_virtsymdemo.txt + + +ProcessSymbolHandler +'''''''''''''''''''' + +.. literalinclude:: ..\..\samples\debug\symbols\processsymdemo.py + +Output + +.. literalinclude:: samples_output\debug_symbol_processsymdemo.txt + + + +Symbol search +''''''''''''' + +.. literalinclude:: ..\..\samples\debug\symbols\symsearch.py + +Output + +.. literalinclude:: samples_output\debug_symbol_symsearch.txt + + + .. _wmi_samples: WMI @@ -585,3 +669,27 @@ Query SACL Output .. literalinclude:: samples_output\security_query_sacl.txt + + +.. _sample_etw: + +ETW (Event Tracing for Windows) +""""""""""""""""""""""""""""""" + +Trace processing +'''''''''''''''' + +.. literalinclude:: ..\..\samples\etw\uac_trace.py + +Output + +.. literalinclude:: samples_output\etw_uac_trace.txt + +Enumeration +''''''''''' + +.. literalinclude:: ..\..\samples\etw\etw_enumeration.py + +Output + +.. literalinclude:: samples_output\etw_etw_enumeration.txt diff --git a/docs/build/html/_sources/service.rst.txt b/docs/build/html/_sources/service.rst.txt index c103393..44a5913 100644 --- a/docs/build/html/_sources/service.rst.txt +++ b/docs/build/html/_sources/service.rst.txt @@ -1,19 +1,27 @@ Service ======= -The list of services is accessible via :py:attr:`windows.system.services +The services manager is accessible via :py:attr:`windows.system.services ` - .. note:: - See sample :ref:`sample_system` + See sample :ref:`sample_system` & :ref:`sample_services_demo` .. module:: windows.winobject.service -.. autoclass:: ServiceStatus - :exclude-members: count, index -.. autoclass:: ServiceA +ServiceManager +"""""""""""""" + +.. autoclass:: ServiceManager :show-inheritance: + :inherited-members: + :special-members: __getitem__, __iter__ + + +Service +""""""" + +.. autoclass:: Service :inherited-members: \ No newline at end of file diff --git a/docs/build/html/_sources/task_scheduler.rst.txt b/docs/build/html/_sources/task_scheduler.rst.txt index 954bfcb..ae091a1 100644 --- a/docs/build/html/_sources/task_scheduler.rst.txt +++ b/docs/build/html/_sources/task_scheduler.rst.txt @@ -44,6 +44,19 @@ TaskDefinition :show-inheritance: :special-members: __getitem__, __delitem__, __call__ + +TaskPrincipal +''''''''''''' + +.. autoclass:: TaskPrincipal + :show-inheritance: + +TaskRegistrationInfo +'''''''''''''''''''' + +.. autoclass:: TaskRegistrationInfo + :show-inheritance: + Action """""" diff --git a/docs/build/html/_sources/windef_generated.rst.txt b/docs/build/html/_sources/windef_generated.rst.txt index db1d749..580efe2 100644 --- a/docs/build/html/_sources/windef_generated.rst.txt +++ b/docs/build/html/_sources/windef_generated.rst.txt @@ -8,6 +8,831 @@ WinDef .. autodata:: BG_NOTIFY_DISABLE .. autodata:: BG_NOTIFY_JOB_MODIFICATION .. autodata:: BG_NOTIFY_FILE_TRANSFERRED +.. autodata:: HKEY_CLASSES_ROOT +.. autodata:: HKEY_CURRENT_USER +.. autodata:: HKEY_LOCAL_MACHINE +.. autodata:: HKEY_USERS +.. autodata:: HKEY_PERFORMANCE_DATA +.. autodata:: HKEY_PERFORMANCE_TEXT +.. autodata:: HKEY_PERFORMANCE_NLSTEXT +.. autodata:: HKEY_CURRENT_CONFIG +.. autodata:: HKEY_DYN_DATA +.. autodata:: HKEY_CURRENT_USER_LOCAL_SETTINGS +.. autodata:: RPC_REQUEST_TYPE_CALL +.. autodata:: RPC_REQUEST_TYPE_BIND +.. autodata:: RPC_RESPONSE_TYPE_BIND_OK +.. autodata:: RPC_RESPONSE_TYPE_FAIL +.. autodata:: RPC_RESPONSE_TYPE_SUCCESS +.. autodata:: BIND_IF_SYNTAX_NDR32 +.. autodata:: BIND_IF_SYNTAX_NDR64 +.. autodata:: BIND_IF_SYNTAX_UNKNOWN +.. autodata:: MAX_DEVICE_ID_LEN +.. autodata:: MAX_DEVNODE_ID_LEN +.. autodata:: MAX_GUID_STRING_LEN +.. autodata:: MAX_CLASS_NAME_LEN +.. autodata:: MAX_PROFILE_LEN +.. autodata:: MAX_CONFIG_VALUE +.. autodata:: MAX_INSTANCE_VALUE +.. autodata:: MAX_MEM_REGISTERS +.. autodata:: MAX_IO_PORTS +.. autodata:: MAX_IRQS +.. autodata:: MAX_DMA_CHANNELS +.. autodata:: DWORD_MAX +.. autodata:: DWORDLONG_MAX +.. autodata:: CM_DEVCAP_LOCKSUPPORTED +.. autodata:: CM_DEVCAP_EJECTSUPPORTED +.. autodata:: CM_DEVCAP_REMOVABLE +.. autodata:: CM_DEVCAP_DOCKDEVICE +.. autodata:: CM_DEVCAP_UNIQUEID +.. autodata:: CM_DEVCAP_SILENTINSTALL +.. autodata:: CM_DEVCAP_RAWDEVICEOK +.. autodata:: CM_DEVCAP_SURPRISEREMOVALOK +.. autodata:: CM_DEVCAP_HARDWAREDISABLED +.. autodata:: CM_DEVCAP_NONDYNAMIC +.. autodata:: ResType_All +.. autodata:: ResType_None +.. autodata:: ResType_Mem +.. autodata:: ResType_IO +.. autodata:: ResType_DMA +.. autodata:: ResType_IRQ +.. autodata:: ResType_DoNotUse +.. autodata:: ResType_BusNumber +.. autodata:: ResType_MemLarge +.. autodata:: ResType_MAX +.. autodata:: ResType_Ignored_Bit +.. autodata:: ResType_ClassSpecific +.. autodata:: ResType_Reserved +.. autodata:: ResType_DevicePrivate +.. autodata:: ResType_PcCardConfig +.. autodata:: ResType_MfCardConfig +.. autodata:: ResType_Connection +.. autodata:: BASIC_LOG_CONF +.. autodata:: FILTERED_LOG_CONF +.. autodata:: ALLOC_LOG_CONF +.. autodata:: BOOT_LOG_CONF +.. autodata:: FORCED_LOG_CONF +.. autodata:: OVERRIDE_LOG_CONF +.. autodata:: NUM_LOG_CONF +.. autodata:: LOG_CONF_BITS +.. autodata:: PRIORITY_EQUAL_FIRST +.. autodata:: PRIORITY_EQUAL_LAST +.. autodata:: PRIORITY_BIT +.. autodata:: CR_SUCCESS +.. autodata:: CR_DEFAULT +.. autodata:: CR_OUT_OF_MEMORY +.. autodata:: CR_INVALID_POINTER +.. autodata:: CR_INVALID_FLAG +.. autodata:: CR_INVALID_DEVNODE +.. autodata:: CR_INVALID_DEVINST +.. autodata:: CR_INVALID_RES_DES +.. autodata:: CR_INVALID_LOG_CONF +.. autodata:: CR_INVALID_ARBITRATOR +.. autodata:: CR_INVALID_NODELIST +.. autodata:: CR_DEVNODE_HAS_REQS +.. autodata:: CR_DEVINST_HAS_REQS +.. autodata:: CR_INVALID_RESOURCEID +.. autodata:: CR_DLVXD_NOT_FOUND +.. autodata:: CR_NO_SUCH_DEVNODE +.. autodata:: CR_NO_SUCH_DEVINST +.. autodata:: CR_NO_MORE_LOG_CONF +.. autodata:: CR_NO_MORE_RES_DES +.. autodata:: CR_ALREADY_SUCH_DEVNODE +.. autodata:: CR_ALREADY_SUCH_DEVINST +.. autodata:: CR_INVALID_RANGE_LIST +.. autodata:: CR_INVALID_RANGE +.. autodata:: CR_FAILURE +.. autodata:: CR_NO_SUCH_LOGICAL_DEV +.. autodata:: CR_CREATE_BLOCKED +.. autodata:: CR_NOT_SYSTEM_VM +.. autodata:: CR_REMOVE_VETOED +.. autodata:: CR_APM_VETOED +.. autodata:: CR_INVALID_LOAD_TYPE +.. autodata:: CR_BUFFER_SMALL +.. autodata:: CR_NO_ARBITRATOR +.. autodata:: CR_NO_REGISTRY_HANDLE +.. autodata:: CR_REGISTRY_ERROR +.. autodata:: CR_INVALID_DEVICE_ID +.. autodata:: CR_INVALID_DATA +.. autodata:: CR_INVALID_API +.. autodata:: CR_DEVLOADER_NOT_READY +.. autodata:: CR_NEED_RESTART +.. autodata:: CR_NO_MORE_HW_PROFILES +.. autodata:: CR_DEVICE_NOT_THERE +.. autodata:: CR_NO_SUCH_VALUE +.. autodata:: CR_WRONG_TYPE +.. autodata:: CR_INVALID_PRIORITY +.. autodata:: CR_NOT_DISABLEABLE +.. autodata:: CR_FREE_RESOURCES +.. autodata:: CR_QUERY_VETOED +.. autodata:: CR_CANT_SHARE_IRQ +.. autodata:: CR_NO_DEPENDENT +.. autodata:: CR_SAME_RESOURCES +.. autodata:: CR_NO_SUCH_REGISTRY_KEY +.. autodata:: CR_INVALID_MACHINENAME +.. autodata:: CR_REMOTE_COMM_FAILURE +.. autodata:: CR_MACHINE_UNAVAILABLE +.. autodata:: CR_NO_CM_SERVICES +.. autodata:: CR_ACCESS_DENIED +.. autodata:: CR_CALL_NOT_IMPLEMENTED +.. autodata:: CR_INVALID_PROPERTY +.. autodata:: CR_DEVICE_INTERFACE_ACTIVE +.. autodata:: CR_NO_SUCH_DEVICE_INTERFACE +.. autodata:: CR_INVALID_REFERENCE_STRING +.. autodata:: CR_INVALID_CONFLICT_LIST +.. autodata:: CR_INVALID_INDEX +.. autodata:: CR_INVALID_STRUCTURE_SIZE +.. autodata:: NUM_CR_RESULTS +.. autodata:: PCD_MAX_MEMORY +.. autodata:: PCD_MAX_IO +.. autodata:: ATM_E164 +.. autodata:: ATM_NSAP +.. autodata:: ATM_AESA +.. autodata:: ATM_ADDR_SIZE +.. autodata:: DNS_ATMA_FORMAT_E164 +.. autodata:: DNS_ATMA_FORMAT_AESA +.. autodata:: DNS_ATMA_MAX_ADDR_LENGTH +.. autodata:: DNS_TYPE_ZERO +.. autodata:: DNS_TYPE_A +.. autodata:: DNS_TYPE_NS +.. autodata:: DNS_TYPE_MD +.. autodata:: DNS_TYPE_MF +.. autodata:: DNS_TYPE_CNAME +.. autodata:: DNS_TYPE_SOA +.. autodata:: DNS_TYPE_MB +.. autodata:: DNS_TYPE_MG +.. autodata:: DNS_TYPE_MR +.. autodata:: DNS_TYPE_NULL +.. autodata:: DNS_TYPE_WKS +.. autodata:: DNS_TYPE_PTR +.. autodata:: DNS_TYPE_HINFO +.. autodata:: DNS_TYPE_MINFO +.. autodata:: DNS_TYPE_MX +.. autodata:: DNS_TYPE_TEXT +.. autodata:: DNS_TYPE_RP +.. autodata:: DNS_TYPE_AFSDB +.. autodata:: DNS_TYPE_X25 +.. autodata:: DNS_TYPE_ISDN +.. autodata:: DNS_TYPE_RT +.. autodata:: DNS_TYPE_NSAP +.. autodata:: DNS_TYPE_NSAPPTR +.. autodata:: DNS_TYPE_SIG +.. autodata:: DNS_TYPE_KEY +.. autodata:: DNS_TYPE_PX +.. autodata:: DNS_TYPE_GPOS +.. autodata:: DNS_TYPE_AAAA +.. autodata:: DNS_TYPE_LOC +.. autodata:: DNS_TYPE_NXT +.. autodata:: DNS_TYPE_EID +.. autodata:: DNS_TYPE_NIMLOC +.. autodata:: DNS_TYPE_SRV +.. autodata:: DNS_TYPE_ATMA +.. autodata:: DNS_TYPE_NAPTR +.. autodata:: DNS_TYPE_KX +.. autodata:: DNS_TYPE_CERT +.. autodata:: DNS_TYPE_A6 +.. autodata:: DNS_TYPE_DNAME +.. autodata:: DNS_TYPE_SINK +.. autodata:: DNS_TYPE_OPT +.. autodata:: DNS_TYPE_DS +.. autodata:: DNS_TYPE_RRSIG +.. autodata:: DNS_TYPE_NSEC +.. autodata:: DNS_TYPE_DNSKEY +.. autodata:: DNS_TYPE_DHCID +.. autodata:: DNS_TYPE_NSEC3 +.. autodata:: DNS_TYPE_NSEC3PARAM +.. autodata:: DNS_TYPE_UINFO +.. autodata:: DNS_TYPE_UID +.. autodata:: DNS_TYPE_GID +.. autodata:: DNS_TYPE_UNSPEC +.. autodata:: DNS_TYPE_ADDRS +.. autodata:: DNS_TYPE_TKEY +.. autodata:: DNS_TYPE_TSIG +.. autodata:: DNS_TYPE_IXFR +.. autodata:: DNS_TYPE_AXFR +.. autodata:: DNS_TYPE_MAILB +.. autodata:: DNS_TYPE_MAILA +.. autodata:: DNS_TYPE_ALL +.. autodata:: DNS_TYPE_ANY +.. autodata:: DNS_TYPE_WINS +.. autodata:: DNS_TYPE_WINSR +.. autodata:: DNS_TYPE_NBSTAT +.. autodata:: DNS_QUERY_STANDARD +.. autodata:: DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE +.. autodata:: DNS_QUERY_USE_TCP_ONLY +.. autodata:: DNS_QUERY_NO_RECURSION +.. autodata:: DNS_QUERY_BYPASS_CACHE +.. autodata:: DNS_QUERY_NO_WIRE_QUERY +.. autodata:: DNS_QUERY_NO_LOCAL_NAME +.. autodata:: DNS_QUERY_NO_HOSTS_FILE +.. autodata:: DNS_QUERY_NO_NETBT +.. autodata:: DNS_QUERY_WIRE_ONLY +.. autodata:: DNS_QUERY_RETURN_MESSAGE +.. autodata:: DNS_QUERY_MULTICAST_ONLY +.. autodata:: DNS_QUERY_NO_MULTICAST +.. autodata:: DNS_QUERY_TREAT_AS_FQDN +.. autodata:: DNS_QUERY_ADDRCONFIG +.. autodata:: DNS_QUERY_DUAL_ADDR +.. autodata:: DNS_QUERY_DONT_RESET_TTL_VALUES +.. autodata:: DNS_QUERY_DISABLE_IDN_ENCODING +.. autodata:: DNS_QUERY_APPEND_MULTILABEL +.. autodata:: DNS_QUERY_DNSSEC_OK +.. autodata:: DNS_QUERY_DNSSEC_CHECKING_DISABLED +.. autodata:: DNS_QUERY_RESERVED +.. autodata:: EVENT_TRACE_FLAG_DISPATCHER +.. autodata:: EVENT_TRACE_FLAG_VIRTUAL_ALLOC +.. autodata:: EVENT_TRACE_FLAG_VAMAP +.. autodata:: EVENT_TRACE_FLAG_NO_SYSCONFIG +.. autodata:: EVENT_TRACE_FLAG_EXTENSION +.. autodata:: EVENT_TRACE_FLAG_FORWARD_WMI +.. autodata:: EVENT_TRACE_FLAG_ENABLE_RESERVE +.. autodata:: EVENT_TRACE_FILE_MODE_NONE +.. autodata:: EVENT_TRACE_FILE_MODE_SEQUENTIAL +.. autodata:: EVENT_TRACE_FILE_MODE_CIRCULAR +.. autodata:: EVENT_TRACE_FILE_MODE_APPEND +.. autodata:: EVENT_TRACE_REAL_TIME_MODE +.. autodata:: EVENT_TRACE_DELAY_OPEN_FILE_MODE +.. autodata:: EVENT_TRACE_BUFFERING_MODE +.. autodata:: EVENT_TRACE_PRIVATE_LOGGER_MODE +.. autodata:: EVENT_TRACE_ADD_HEADER_MODE +.. autodata:: EVENT_TRACE_USE_GLOBAL_SEQUENCE +.. autodata:: EVENT_TRACE_USE_LOCAL_SEQUENCE +.. autodata:: EVENT_TRACE_RELOG_MODE +.. autodata:: EVENT_TRACE_USE_PAGED_MEMORY +.. autodata:: EVENT_TRACE_FILE_MODE_NEWFILE +.. autodata:: EVENT_TRACE_FILE_MODE_PREALLOCATE +.. autodata:: EVENT_TRACE_CONTROL_QUERY +.. autodata:: EVENT_TRACE_CONTROL_STOP +.. autodata:: EVENT_TRACE_CONTROL_UPDATE +.. autodata:: EVENT_TRACE_CONTROL_FLUSH +.. autodata:: PROCESS_TRACE_MODE_REAL_TIME +.. autodata:: PROCESS_TRACE_MODE_RAW_TIMESTAMP +.. autodata:: PROCESS_TRACE_MODE_EVENT_RECORD +.. autodata:: EVENT_HEADER_PROPERTY_XML +.. autodata:: EVENT_HEADER_PROPERTY_FORWARDED_XML +.. autodata:: EVENT_HEADER_PROPERTY_LEGACY_EVENTLOG +.. autodata:: EVENT_HEADER_FLAG_EXTENDED_INFO +.. autodata:: EVENT_HEADER_FLAG_PRIVATE_SESSION +.. autodata:: EVENT_HEADER_FLAG_STRING_ONLY +.. autodata:: EVENT_HEADER_FLAG_TRACE_MESSAGE +.. autodata:: EVENT_HEADER_FLAG_NO_CPUTIME +.. autodata:: EVENT_HEADER_FLAG_32_BIT_HEADER +.. autodata:: EVENT_HEADER_FLAG_64_BIT_HEADER +.. autodata:: EVENT_HEADER_FLAG_CLASSIC_HEADER +.. autodata:: EVENT_HEADER_FLAG_PROCESSOR_INDEX +.. autodata:: EVENT_TRACE_TYPE_CONFIG_CPU +.. autodata:: EVENT_TRACE_TYPE_CONFIG_PHYSICALDISK +.. autodata:: EVENT_TRACE_TYPE_CONFIG_LOGICALDISK +.. autodata:: EVENT_TRACE_TYPE_CONFIG_NIC +.. autodata:: EVENT_TRACE_TYPE_CONFIG_VIDEO +.. autodata:: EVENT_TRACE_TYPE_CONFIG_SERVICES +.. autodata:: EVENT_TRACE_TYPE_CONFIG_POWER +.. autodata:: EVENT_TRACE_TYPE_CONFIG_NETINFO +.. autodata:: EVENT_TRACE_FLAG_PROCESS +.. autodata:: EVENT_TRACE_FLAG_THREAD +.. autodata:: EVENT_TRACE_FLAG_IMAGE_LOAD +.. autodata:: EVENT_TRACE_FLAG_DISK_IO +.. autodata:: EVENT_TRACE_FLAG_DISK_FILE_IO +.. autodata:: EVENT_TRACE_FLAG_MEMORY_PAGE_FAULTS +.. autodata:: EVENT_TRACE_FLAG_MEMORY_HARD_FAULTS +.. autodata:: EVENT_TRACE_FLAG_NETWORK_TCPIP +.. autodata:: EVENT_TRACE_FLAG_REGISTRY +.. autodata:: EVENT_TRACE_FLAG_DBGPRINT +.. autodata:: EVENT_TRACE_FLAG_VOLMGR +.. autodata:: FC_ALLOCATE_ALL_NODES +.. autodata:: FC_DONT_FREE +.. autodata:: FC_ALLOCED_ON_STACK +.. autodata:: FC_SIMPLE_POINTER +.. autodata:: FC_POINTER_DEREF +.. autodata:: ACCESS_MIN_MS_ACE_TYPE +.. autodata:: ACCESS_ALLOWED_ACE_TYPE +.. autodata:: ACCESS_DENIED_ACE_TYPE +.. autodata:: SYSTEM_AUDIT_ACE_TYPE +.. autodata:: SYSTEM_ALARM_ACE_TYPE +.. autodata:: ACCESS_MAX_MS_V2_ACE_TYPE +.. autodata:: ACCESS_ALLOWED_COMPOUND_ACE_TYPE +.. autodata:: ACCESS_MAX_MS_V3_ACE_TYPE +.. autodata:: ACCESS_MIN_MS_OBJECT_ACE_TYPE +.. autodata:: ACCESS_ALLOWED_OBJECT_ACE_TYPE +.. autodata:: ACCESS_DENIED_OBJECT_ACE_TYPE +.. autodata:: SYSTEM_AUDIT_OBJECT_ACE_TYPE +.. autodata:: SYSTEM_ALARM_OBJECT_ACE_TYPE +.. autodata:: ACCESS_MAX_MS_OBJECT_ACE_TYPE +.. autodata:: ACCESS_MAX_MS_V4_ACE_TYPE +.. autodata:: ACCESS_MAX_MS_ACE_TYPE +.. autodata:: ACCESS_ALLOWED_CALLBACK_ACE_TYPE +.. autodata:: ACCESS_DENIED_CALLBACK_ACE_TYPE +.. autodata:: ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE +.. autodata:: ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE +.. autodata:: SYSTEM_AUDIT_CALLBACK_ACE_TYPE +.. autodata:: SYSTEM_ALARM_CALLBACK_ACE_TYPE +.. autodata:: SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE +.. autodata:: SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE +.. autodata:: SYSTEM_MANDATORY_LABEL_ACE_TYPE +.. autodata:: ACCESS_MAX_MS_V5_ACE_TYPE +.. autodata:: SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE +.. autodata:: SYSTEM_SCOPED_POLICY_ID_ACE_TYPE +.. autodata:: SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE +.. autodata:: ACCESS_MAX_MS_V5_ACE_TYPE +.. autodata:: SEC_WINNT_AUTH_IDENTITY_ANSI +.. autodata:: SEC_WINNT_AUTH_IDENTITY_UNICODE +.. autodata:: SE_OWNER_DEFAULTED +.. autodata:: SE_GROUP_DEFAULTED +.. autodata:: SE_DACL_PRESENT +.. autodata:: SE_DACL_DEFAULTED +.. autodata:: SE_SACL_PRESENT +.. autodata:: SE_SACL_DEFAULTED +.. autodata:: SE_DACL_UNTRUSTED +.. autodata:: SE_SERVER_SECURITY +.. autodata:: SE_DACL_AUTO_INHERIT_REQ +.. autodata:: SE_SACL_AUTO_INHERIT_REQ +.. autodata:: SE_DACL_AUTO_INHERITED +.. autodata:: SE_SACL_AUTO_INHERITED +.. autodata:: SE_DACL_PROTECTED +.. autodata:: SE_SACL_PROTECTED +.. autodata:: SE_RM_CONTROL_VALID +.. autodata:: SE_SELF_RELATIVE +.. autodata:: SDDL_REVISION_1 +.. autodata:: ACE_OBJECT_TYPE_PRESENT +.. autodata:: ACE_INHERITED_OBJECT_TYPE_PRESENT +.. autodata:: OBJECT_INHERIT_ACE +.. autodata:: CONTAINER_INHERIT_ACE +.. autodata:: NO_PROPAGATE_INHERIT_ACE +.. autodata:: INHERIT_ONLY_ACE +.. autodata:: INHERITED_ACE +.. autodata:: VALID_INHERIT_FLAGS +.. autodata:: SUCCESSFUL_ACCESS_ACE_FLAG +.. autodata:: FAILED_ACCESS_ACE_FLAG +.. autodata:: SYSTEM_MANDATORY_LABEL_NO_WRITE_UP +.. autodata:: SYSTEM_MANDATORY_LABEL_NO_READ_UP +.. autodata:: SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP +.. autodata:: SYSTEM_PROCESS_TRUST_LABEL_VALID_MASK +.. autodata:: SYSTEM_PROCESS_TRUST_NOCONSTRAINT_MASK +.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_INVALID +.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_INT64 +.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_UINT64 +.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_STRING +.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_FQBN +.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_SID +.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_BOOLEAN +.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING +.. autodata:: SE_GROUP_MANDATORY +.. autodata:: SE_GROUP_ENABLED_BY_DEFAULT +.. autodata:: SE_GROUP_ENABLED +.. autodata:: SE_GROUP_OWNER +.. autodata:: SE_GROUP_USE_FOR_DENY_ONLY +.. autodata:: SE_GROUP_INTEGRITY +.. autodata:: SE_GROUP_INTEGRITY_ENABLED +.. autodata:: SE_GROUP_LOGON_ID +.. autodata:: SE_GROUP_RESOURCE +.. autodata:: SE_GROUP_VALID_ATTRIBUTES +.. autodata:: OWNER_SECURITY_INFORMATION +.. autodata:: GROUP_SECURITY_INFORMATION +.. autodata:: DACL_SECURITY_INFORMATION +.. autodata:: SACL_SECURITY_INFORMATION +.. autodata:: LABEL_SECURITY_INFORMATION +.. autodata:: ATTRIBUTE_SECURITY_INFORMATION +.. autodata:: SCOPE_SECURITY_INFORMATION +.. autodata:: PROCESS_TRUST_LABEL_SECURITY_INFORMATION +.. autodata:: BACKUP_SECURITY_INFORMATION +.. autodata:: PROTECTED_DACL_SECURITY_INFORMATION +.. autodata:: PROTECTED_SACL_SECURITY_INFORMATION +.. autodata:: UNPROTECTED_DACL_SECURITY_INFORMATION +.. autodata:: UNPROTECTED_SACL_SECURITY_INFORMATION +.. 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:: EVT_VARIANT_TYPE_MASK +.. autodata:: EVT_VARIANT_TYPE_ARRAY +.. autodata:: PRODUCT_UNDEFINED +.. autodata:: PRODUCT_ULTIMATE +.. autodata:: PRODUCT_HOME_BASIC +.. autodata:: PRODUCT_HOME_PREMIUM +.. autodata:: PRODUCT_ENTERPRISE +.. autodata:: PRODUCT_HOME_BASIC_N +.. autodata:: PRODUCT_BUSINESS +.. autodata:: PRODUCT_STANDARD_SERVER +.. autodata:: PRODUCT_DATACENTER_SERVER +.. autodata:: PRODUCT_SMALLBUSINESS_SERVER +.. autodata:: PRODUCT_ENTERPRISE_SERVER +.. autodata:: PRODUCT_STARTER +.. autodata:: PRODUCT_DATACENTER_SERVER_CORE +.. autodata:: PRODUCT_STANDARD_SERVER_CORE +.. autodata:: PRODUCT_ENTERPRISE_SERVER_CORE +.. autodata:: PRODUCT_ENTERPRISE_SERVER_IA64 +.. autodata:: PRODUCT_BUSINESS_N +.. autodata:: PRODUCT_WEB_SERVER +.. autodata:: PRODUCT_CLUSTER_SERVER +.. autodata:: PRODUCT_HOME_SERVER +.. autodata:: PRODUCT_STORAGE_EXPRESS_SERVER +.. autodata:: PRODUCT_STORAGE_STANDARD_SERVER +.. autodata:: PRODUCT_STORAGE_WORKGROUP_SERVER +.. autodata:: PRODUCT_STORAGE_ENTERPRISE_SERVER +.. autodata:: PRODUCT_SERVER_FOR_SMALLBUSINESS +.. autodata:: PRODUCT_SMALLBUSINESS_SERVER_PREMIUM +.. autodata:: PRODUCT_HOME_PREMIUM_N +.. autodata:: PRODUCT_ENTERPRISE_N +.. autodata:: PRODUCT_ULTIMATE_N +.. autodata:: PRODUCT_WEB_SERVER_CORE +.. autodata:: PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT +.. autodata:: PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY +.. autodata:: PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING +.. autodata:: PRODUCT_SERVER_FOUNDATION +.. autodata:: PRODUCT_HOME_PREMIUM_SERVER +.. autodata:: PRODUCT_SERVER_FOR_SMALLBUSINESS_V +.. autodata:: PRODUCT_STANDARD_SERVER_V +.. autodata:: PRODUCT_DATACENTER_SERVER_V +.. autodata:: PRODUCT_ENTERPRISE_SERVER_V +.. autodata:: PRODUCT_DATACENTER_SERVER_CORE_V +.. autodata:: PRODUCT_STANDARD_SERVER_CORE_V +.. autodata:: PRODUCT_ENTERPRISE_SERVER_CORE_V +.. autodata:: PRODUCT_HYPERV +.. autodata:: PRODUCT_STORAGE_EXPRESS_SERVER_CORE +.. autodata:: PRODUCT_STORAGE_STANDARD_SERVER_CORE +.. autodata:: PRODUCT_STORAGE_WORKGROUP_SERVER_CORE +.. autodata:: PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE +.. autodata:: PRODUCT_STARTER_N +.. autodata:: PRODUCT_PROFESSIONAL +.. autodata:: PRODUCT_PROFESSIONAL_N +.. autodata:: PRODUCT_SB_SOLUTION_SERVER +.. autodata:: PRODUCT_SERVER_FOR_SB_SOLUTIONS +.. autodata:: PRODUCT_STANDARD_SERVER_SOLUTIONS +.. autodata:: PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE +.. autodata:: PRODUCT_SB_SOLUTION_SERVER_EM +.. autodata:: PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM +.. autodata:: PRODUCT_SOLUTION_EMBEDDEDSERVER +.. autodata:: PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE +.. autodata:: PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE +.. autodata:: PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT +.. autodata:: PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL +.. autodata:: PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC +.. autodata:: PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC +.. autodata:: PRODUCT_CLUSTER_SERVER_V +.. autodata:: PRODUCT_EMBEDDED +.. autodata:: PRODUCT_STARTER_E +.. autodata:: PRODUCT_HOME_BASIC_E +.. autodata:: PRODUCT_HOME_PREMIUM_E +.. autodata:: PRODUCT_PROFESSIONAL_E +.. autodata:: PRODUCT_ENTERPRISE_E +.. autodata:: PRODUCT_ULTIMATE_E +.. autodata:: PRODUCT_ENTERPRISE_EVALUATION +.. autodata:: PRODUCT_MULTIPOINT_STANDARD_SERVER +.. autodata:: PRODUCT_MULTIPOINT_PREMIUM_SERVER +.. autodata:: PRODUCT_STANDARD_EVALUATION_SERVER +.. autodata:: PRODUCT_DATACENTER_EVALUATION_SERVER +.. autodata:: PRODUCT_ENTERPRISE_N_EVALUATION +.. autodata:: PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER +.. autodata:: PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER +.. autodata:: PRODUCT_CORE_ARM +.. autodata:: PRODUCT_CORE_N +.. autodata:: PRODUCT_CORE_COUNTRYSPECIFIC +.. autodata:: PRODUCT_CORE_LANGUAGESPECIFIC +.. autodata:: PRODUCT_CORE +.. autodata:: PRODUCT_PROFESSIONAL_WMC +.. autodata:: PRODUCT_UNLICENSED +.. autodata:: X86_KGDT_NULL +.. autodata:: X86_KGDT_R0_CODE +.. autodata:: X86_KGDT_R0_DATA +.. autodata:: X86_KGDT_R3_CODE +.. autodata:: X86_KGDT_R3_DATA +.. autodata:: X86_KGDT_TSS +.. autodata:: X86_KGDT_R0_PCR +.. autodata:: X86_KGDT_R3_TEB +.. autodata:: X86_KGDT_VDM_TILE +.. autodata:: X86_KGDT_LDT +.. autodata:: X86_KGDT_DF_TSS +.. autodata:: X86_KGDT_NMI_TSS +.. autodata:: X86_FRAME_EDITED +.. autodata:: X86_MODE_MASK +.. autodata:: X86_EFLAGS_V86_MASK +.. autodata:: AMD64_KGDT64_NULL +.. autodata:: AMD64_KGDT64_R0_CODE +.. autodata:: AMD64_KGDT64_R0_DATA +.. autodata:: AMD64_KGDT64_R3_CMCODE +.. autodata:: AMD64_KGDT64_R3_DATA +.. autodata:: AMD64_KGDT64_R3_CODE +.. autodata:: AMD64_KGDT64_SYS_TSS +.. autodata:: AMD64_KGDT64_R3_CMTEB +.. autodata:: AMD64_KGDT64_LAST +.. autodata:: MODE_BIT +.. autodata:: MODE_MASK +.. autodata:: RPL_MASK +.. autodata:: CS_USER_32B +.. autodata:: CS_USER_64B +.. autodata:: OS_WINDOWS +.. autodata:: OS_NT +.. autodata:: OS_WIN95ORGREATER +.. autodata:: OS_NT4ORGREATER +.. autodata:: OS_WIN98ORGREATER +.. autodata:: OS_WIN98_GOLD +.. autodata:: OS_WIN2000ORGREATER +.. autodata:: OS_WIN2000PRO +.. autodata:: OS_WIN2000SERVER +.. autodata:: OS_WIN2000ADVSERVER +.. autodata:: OS_WIN2000DATACENTER +.. autodata:: OS_WIN2000TERMINAL +.. autodata:: OS_EMBEDDED +.. autodata:: OS_TERMINALCLIENT +.. autodata:: OS_TERMINALREMOTEADMIN +.. autodata:: OS_WIN95_GOLD +.. autodata:: OS_MEORGREATER +.. autodata:: OS_XPORGREATER +.. autodata:: OS_HOME +.. autodata:: OS_PROFESSIONAL +.. autodata:: OS_DATACENTER +.. autodata:: OS_ADVSERVER +.. autodata:: OS_SERVER +.. autodata:: OS_TERMINALSERVER +.. autodata:: OS_PERSONALTERMINALSERVER +.. autodata:: OS_FASTUSERSWITCHING +.. autodata:: OS_WELCOMELOGONUI +.. autodata:: OS_DOMAINMEMBER +.. autodata:: OS_ANYSERVER +.. autodata:: OS_WOW6432 +.. autodata:: OS_WEBSERVER +.. autodata:: OS_SMALLBUSINESSSERVER +.. autodata:: OS_TABLETPC +.. autodata:: OS_SERVERADMINUI +.. autodata:: OS_MEDIACENTER +.. autodata:: OS_APPLIANCE +.. autodata:: APPLICATION_ERROR_MASK +.. autodata:: ERROR_SEVERITY_SUCCESS +.. autodata:: ERROR_SEVERITY_INFORMATIONAL +.. autodata:: ERROR_SEVERITY_WARNING +.. autodata:: ERROR_SEVERITY_ERROR +.. autodata:: SPDRP_DEVICEDESC +.. autodata:: SPDRP_HARDWAREID +.. autodata:: SPDRP_COMPATIBLEIDS +.. autodata:: SPDRP_UNUSED0 +.. autodata:: SPDRP_SERVICE +.. autodata:: SPDRP_UNUSED1 +.. autodata:: SPDRP_UNUSED2 +.. autodata:: SPDRP_CLASS +.. autodata:: SPDRP_CLASSGUID +.. autodata:: SPDRP_DRIVER +.. autodata:: SPDRP_CONFIGFLAGS +.. autodata:: SPDRP_MFG +.. autodata:: SPDRP_FRIENDLYNAME +.. autodata:: SPDRP_LOCATION_INFORMATION +.. autodata:: SPDRP_PHYSICAL_DEVICE_OBJECT_NAME +.. autodata:: SPDRP_CAPABILITIES +.. autodata:: SPDRP_UI_NUMBER +.. autodata:: SPDRP_UPPERFILTERS +.. autodata:: SPDRP_LOWERFILTERS +.. autodata:: SPDRP_BUSTYPEGUID +.. autodata:: SPDRP_LEGACYBUSTYPE +.. autodata:: SPDRP_BUSNUMBER +.. autodata:: SPDRP_ENUMERATOR_NAME +.. autodata:: SPDRP_SECURITY +.. autodata:: SPDRP_SECURITY_SDS +.. autodata:: SPDRP_DEVTYPE +.. autodata:: SPDRP_EXCLUSIVE +.. autodata:: SPDRP_CHARACTERISTICS +.. autodata:: SPDRP_ADDRESS +.. autodata:: SPDRP_UI_NUMBER_DESC_FORMAT +.. autodata:: SPDRP_DEVICE_POWER_DATA +.. autodata:: SPDRP_REMOVAL_POLICY +.. autodata:: SPDRP_REMOVAL_POLICY_HW_DEFAULT +.. autodata:: SPDRP_REMOVAL_POLICY_OVERRIDE +.. autodata:: SPDRP_INSTALL_STATE +.. autodata:: SPDRP_LOCATION_PATHS +.. autodata:: SPDRP_BASE_CONTAINERID +.. autodata:: SPDRP_MAXIMUM_PROPERTY +.. autodata:: ERROR_EXPECTED_SECTION_NAME +.. autodata:: ERROR_BAD_SECTION_NAME_LINE +.. autodata:: ERROR_SECTION_NAME_TOO_LONG +.. autodata:: ERROR_GENERAL_SYNTAX +.. autodata:: ERROR_WRONG_INF_STYLE +.. autodata:: ERROR_SECTION_NOT_FOUND +.. autodata:: ERROR_LINE_NOT_FOUND +.. autodata:: ERROR_NO_BACKUP +.. autodata:: ERROR_NO_ASSOCIATED_CLASS +.. autodata:: ERROR_CLASS_MISMATCH +.. autodata:: ERROR_DUPLICATE_FOUND +.. autodata:: ERROR_NO_DRIVER_SELECTED +.. autodata:: ERROR_KEY_DOES_NOT_EXIST +.. autodata:: ERROR_INVALID_DEVINST_NAME +.. autodata:: ERROR_INVALID_CLASS +.. autodata:: ERROR_DEVINST_ALREADY_EXISTS +.. autodata:: ERROR_DEVINFO_NOT_REGISTERED +.. autodata:: ERROR_INVALID_REG_PROPERTY +.. autodata:: ERROR_NO_INF +.. autodata:: ERROR_NO_SUCH_DEVINST +.. autodata:: ERROR_CANT_LOAD_CLASS_ICON +.. autodata:: ERROR_INVALID_CLASS_INSTALLER +.. autodata:: ERROR_DI_DO_DEFAULT +.. autodata:: ERROR_DI_NOFILECOPY +.. autodata:: ERROR_INVALID_HWPROFILE +.. autodata:: ERROR_NO_DEVICE_SELECTED +.. autodata:: ERROR_DEVINFO_LIST_LOCKED +.. autodata:: ERROR_DEVINFO_DATA_LOCKED +.. autodata:: ERROR_DI_BAD_PATH +.. autodata:: ERROR_NO_CLASSINSTALL_PARAMS +.. autodata:: ERROR_FILEQUEUE_LOCKED +.. autodata:: ERROR_BAD_SERVICE_INSTALLSECT +.. autodata:: ERROR_NO_CLASS_DRIVER_LIST +.. autodata:: ERROR_NO_ASSOCIATED_SERVICE +.. autodata:: ERROR_NO_DEFAULT_DEVICE_INTERFACE +.. autodata:: ERROR_DEVICE_INTERFACE_ACTIVE +.. autodata:: ERROR_DEVICE_INTERFACE_REMOVED +.. autodata:: ERROR_BAD_INTERFACE_INSTALLSECT +.. autodata:: ERROR_NO_SUCH_INTERFACE_CLASS +.. autodata:: ERROR_INVALID_REFERENCE_STRING +.. autodata:: ERROR_INVALID_MACHINENAME +.. autodata:: ERROR_REMOTE_COMM_FAILURE +.. autodata:: ERROR_MACHINE_UNAVAILABLE +.. autodata:: ERROR_NO_CONFIGMGR_SERVICES +.. autodata:: ERROR_INVALID_PROPPAGE_PROVIDER +.. autodata:: ERROR_NO_SUCH_DEVICE_INTERFACE +.. autodata:: ERROR_DI_POSTPROCESSING_REQUIRED +.. autodata:: ERROR_INVALID_COINSTALLER +.. autodata:: ERROR_NO_COMPAT_DRIVERS +.. autodata:: ERROR_NO_DEVICE_ICON +.. autodata:: ERROR_INVALID_INF_LOGCONFIG +.. autodata:: ERROR_DI_DONT_INSTALL +.. autodata:: ERROR_INVALID_FILTER_DRIVER +.. autodata:: ERROR_NON_WINDOWS_NT_DRIVER +.. autodata:: ERROR_NON_WINDOWS_DRIVER +.. autodata:: ERROR_NO_CATALOG_FOR_OEM_INF +.. autodata:: ERROR_DEVINSTALL_QUEUE_NONNATIVE +.. autodata:: ERROR_NOT_DISABLEABLE +.. autodata:: ERROR_CANT_REMOVE_DEVINST +.. autodata:: ERROR_INVALID_TARGET +.. autodata:: ERROR_DRIVER_NONNATIVE +.. autodata:: ERROR_IN_WOW64 +.. autodata:: ERROR_SET_SYSTEM_RESTORE_POINT +.. autodata:: ERROR_SCE_DISABLED +.. autodata:: ERROR_UNKNOWN_EXCEPTION +.. autodata:: ERROR_PNP_REGISTRY_ERROR +.. autodata:: ERROR_REMOTE_REQUEST_UNSUPPORTED +.. autodata:: ERROR_NOT_AN_INSTALLED_OEM_INF +.. autodata:: ERROR_INF_IN_USE_BY_DEVICES +.. autodata:: ERROR_DI_FUNCTION_OBSOLETE +.. autodata:: ERROR_NO_AUTHENTICODE_CATALOG +.. autodata:: ERROR_AUTHENTICODE_DISALLOWED +.. autodata:: ERROR_AUTHENTICODE_TRUSTED_PUBLISHER +.. autodata:: ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED +.. autodata:: ERROR_AUTHENTICODE_PUBLISHER_NOT_TRUSTED +.. autodata:: ERROR_SIGNATURE_OSATTRIBUTE_MISMATCH +.. autodata:: ERROR_ONLY_VALIDATE_VIA_AUTHENTICODE +.. autodata:: ERROR_DEVICE_INSTALLER_NOT_READY +.. autodata:: ERROR_DRIVER_STORE_ADD_FAILED +.. autodata:: ERROR_DEVICE_INSTALL_BLOCKED +.. autodata:: ERROR_DRIVER_INSTALL_BLOCKED +.. autodata:: ERROR_WRONG_INF_TYPE +.. autodata:: ERROR_FILE_HASH_NOT_IN_CATALOG +.. autodata:: ERROR_DRIVER_STORE_DELETE_FAILED +.. autodata:: ERROR_UNRECOVERABLE_STACK_OVERFLOW +.. autodata:: EXCEPTION_SPAPI_UNRECOVERABLE_STACK_OVERFLOW +.. autodata:: ERROR_NO_DEFAULT_INTERFACE_DEVICE +.. autodata:: ERROR_INTERFACE_DEVICE_ACTIVE +.. autodata:: ERROR_INTERFACE_DEVICE_REMOVED +.. autodata:: ERROR_NO_SUCH_INTERFACE_DEVICE +.. autodata:: ERROR_NOT_INSTALLED +.. autodata:: PIPE_ACCESS_INBOUND +.. autodata:: PIPE_ACCESS_OUTBOUND +.. autodata:: PIPE_ACCESS_DUPLEX +.. autodata:: PIPE_CLIENT_END +.. autodata:: PIPE_SERVER_END +.. autodata:: PIPE_WAIT +.. autodata:: PIPE_NOWAIT +.. autodata:: PIPE_READMODE_BYTE +.. autodata:: PIPE_READMODE_MESSAGE +.. autodata:: PIPE_TYPE_BYTE +.. autodata:: PIPE_TYPE_MESSAGE +.. autodata:: PIPE_ACCEPT_REMOTE_CLIENTS +.. autodata:: PIPE_REJECT_REMOTE_CLIENTS +.. autodata:: PIPE_UNLIMITED_INSTANCES +.. autodata:: NMPWAIT_WAIT_FOREVER +.. autodata:: NMPWAIT_NOWAIT +.. autodata:: NMPWAIT_USE_DEFAULT_WAIT +.. autodata:: SYMSEARCH_MASKOBJS +.. autodata:: SYMSEARCH_RECURSE +.. autodata:: SYMSEARCH_GLOBALSONLY +.. autodata:: SYMSEARCH_ALLITEMS +.. autodata:: CBA_DEFERRED_SYMBOL_LOAD_START +.. autodata:: CBA_DEFERRED_SYMBOL_LOAD_COMPLETE +.. autodata:: CBA_DEFERRED_SYMBOL_LOAD_FAILURE +.. autodata:: CBA_SYMBOLS_UNLOADED +.. autodata:: CBA_DUPLICATE_SYMBOL +.. autodata:: CBA_READ_MEMORY +.. autodata:: CBA_DEFERRED_SYMBOL_LOAD_CANCEL +.. autodata:: CBA_SET_OPTIONS +.. autodata:: CBA_EVENT +.. autodata:: CBA_DEFERRED_SYMBOL_LOAD_PARTIAL +.. autodata:: CBA_DEBUG_INFO +.. autodata:: CBA_SRCSRV_INFO +.. autodata:: CBA_SRCSRV_EVENT +.. autodata:: CBA_UPDATE_STATUS_BAR +.. autodata:: CBA_ENGINE_PRESENT +.. autodata:: CBA_CHECK_ENGOPT_DISALLOW_NETWORK_PATHS +.. autodata:: EVENT_SRCSPEW_START +.. autodata:: EVENT_SRCSPEW +.. autodata:: EVENT_SRCSPEW_END +.. autodata:: DSLFLAG_MISMATCHED_PDB +.. autodata:: DSLFLAG_MISMATCHED_DBG +.. autodata:: FLAG_ENGINE_PRESENT +.. autodata:: FLAG_ENGOPT_DISALLOW_NETWORK_PATHS +.. autodata:: SYMOPT_CASE_INSENSITIVE +.. autodata:: SYMOPT_UNDNAME +.. autodata:: SYMOPT_DEFERRED_LOADS +.. autodata:: SYMOPT_NO_CPP +.. autodata:: SYMOPT_LOAD_LINES +.. autodata:: SYMOPT_OMAP_FIND_NEAREST +.. autodata:: SYMOPT_LOAD_ANYTHING +.. autodata:: SYMOPT_IGNORE_CVREC +.. autodata:: SYMOPT_NO_UNQUALIFIED_LOADS +.. autodata:: SYMOPT_FAIL_CRITICAL_ERRORS +.. autodata:: SYMOPT_EXACT_SYMBOLS +.. autodata:: SYMOPT_ALLOW_ABSOLUTE_SYMBOLS +.. autodata:: SYMOPT_IGNORE_NT_SYMPATH +.. autodata:: SYMOPT_INCLUDE_32BIT_MODULES +.. autodata:: SYMOPT_PUBLICS_ONLY +.. autodata:: SYMOPT_NO_PUBLICS +.. autodata:: SYMOPT_AUTO_PUBLICS +.. autodata:: SYMOPT_NO_IMAGE_SEARCH +.. autodata:: SYMOPT_SECURE +.. autodata:: SYMOPT_NO_PROMPTS +.. autodata:: SYMOPT_OVERWRITE +.. autodata:: SYMOPT_IGNORE_IMAGEDIR +.. autodata:: SYMOPT_FLAT_DIRECTORY +.. autodata:: SYMOPT_FAVOR_COMPRESSED +.. autodata:: SYMOPT_ALLOW_ZERO_ADDRESS +.. autodata:: SYMOPT_DISABLE_SYMSRV_AUTODETECT +.. autodata:: SYMOPT_READONLY_CACHE +.. autodata:: SYMOPT_SYMPATH_LAST +.. autodata:: SYMOPT_DISABLE_FAST_SYMBOLS +.. autodata:: SYMOPT_DISABLE_SYMSRV_TIMEOUT +.. autodata:: SYMOPT_DISABLE_SRVSTAR_ON_STARTUP +.. autodata:: SYMOPT_DEBUG +.. autodata:: VIRTUAL_STORAGE_TYPE_DEVICE_UNKNOWN +.. autodata:: VIRTUAL_STORAGE_TYPE_DEVICE_ISO +.. autodata:: VIRTUAL_STORAGE_TYPE_DEVICE_VHD +.. autodata:: VIRTUAL_STORAGE_TYPE_DEVICE_VHDX +.. autodata:: FILE_DEVICE_8042_PORT +.. autodata:: FILE_DEVICE_ACPI +.. autodata:: FILE_DEVICE_BATTERY +.. autodata:: FILE_DEVICE_BEEP +.. autodata:: FILE_DEVICE_BUS_EXTENDER +.. autodata:: FILE_DEVICE_CD_ROM +.. autodata:: FILE_DEVICE_CD_ROM_FILE_SYSTEM +.. autodata:: FILE_DEVICE_CHANGER +.. autodata:: FILE_DEVICE_CONTROLLER +.. autodata:: FILE_DEVICE_DATALINK +.. autodata:: FILE_DEVICE_DFS +.. autodata:: FILE_DEVICE_DFS_FILE_SYSTEM +.. autodata:: FILE_DEVICE_DFS_VOLUME +.. autodata:: FILE_DEVICE_DISK +.. autodata:: FILE_DEVICE_DISK_FILE_SYSTEM +.. autodata:: FILE_DEVICE_DVD +.. autodata:: FILE_DEVICE_FILE_SYSTEM +.. autodata:: FILE_DEVICE_FIPS +.. autodata:: FILE_DEVICE_FULLSCREEN_VIDEO +.. autodata:: FILE_DEVICE_INPORT_PORT +.. autodata:: FILE_DEVICE_KEYBOARD +.. autodata:: FILE_DEVICE_KS +.. autodata:: FILE_DEVICE_KSEC +.. autodata:: FILE_DEVICE_MAILSLOT +.. autodata:: FILE_DEVICE_MASS_STORAGE +.. autodata:: FILE_DEVICE_MIDI_IN +.. autodata:: FILE_DEVICE_MIDI_OUT +.. autodata:: FILE_DEVICE_MODEM +.. autodata:: FILE_DEVICE_MOUSE +.. autodata:: FILE_DEVICE_MULTI_UNC_PROVIDER +.. autodata:: FILE_DEVICE_NAMED_PIPE +.. autodata:: FILE_DEVICE_NETWORK +.. autodata:: FILE_DEVICE_NETWORK_BROWSER +.. autodata:: FILE_DEVICE_NETWORK_FILE_SYSTEM +.. autodata:: FILE_DEVICE_NETWORK_REDIRECTOR +.. autodata:: FILE_DEVICE_NULL +.. autodata:: FILE_DEVICE_PARALLEL_PORT +.. autodata:: FILE_DEVICE_PHYSICAL_NETCARD +.. autodata:: FILE_DEVICE_PRINTER +.. autodata:: FILE_DEVICE_SCANNER +.. autodata:: FILE_DEVICE_SCREEN +.. autodata:: FILE_DEVICE_SERENUM +.. autodata:: FILE_DEVICE_SERIAL_MOUSE_PORT +.. autodata:: FILE_DEVICE_SERIAL_PORT +.. autodata:: FILE_DEVICE_SMARTCARD +.. autodata:: FILE_DEVICE_SMB +.. autodata:: FILE_DEVICE_SOUND +.. autodata:: FILE_DEVICE_STREAMS +.. autodata:: FILE_DEVICE_TAPE +.. autodata:: FILE_DEVICE_TAPE_FILE_SYSTEM +.. autodata:: FILE_DEVICE_TERMSRV +.. autodata:: FILE_DEVICE_TRANSPORT +.. autodata:: FILE_DEVICE_UNKNOWN +.. autodata:: FILE_DEVICE_VDM +.. autodata:: FILE_DEVICE_VIDEO +.. autodata:: FILE_DEVICE_VIRTUAL_DISK +.. autodata:: FILE_DEVICE_WAVE_IN +.. autodata:: FILE_DEVICE_WAVE_OUT .. autodata:: CERT_QUERY_OBJECT_FILE .. autodata:: CERT_QUERY_OBJECT_BLOB .. autodata:: CERT_QUERY_CONTENT_CERT @@ -458,181 +1283,6 @@ WinDef .. autodata:: CMSG_CTRL_VERIFY_SIGNATURE_EX .. autodata:: CMSG_CTRL_ADD_CMS_SIGNER_INFO .. autodata:: CMSG_CTRL_ENABLE_STRONG_SIGNATURE -.. autodata:: HKEY_CLASSES_ROOT -.. autodata:: HKEY_CURRENT_USER -.. autodata:: HKEY_LOCAL_MACHINE -.. autodata:: HKEY_USERS -.. autodata:: HKEY_PERFORMANCE_DATA -.. autodata:: HKEY_PERFORMANCE_TEXT -.. autodata:: HKEY_PERFORMANCE_NLSTEXT -.. autodata:: HKEY_CURRENT_CONFIG -.. autodata:: HKEY_DYN_DATA -.. autodata:: HKEY_CURRENT_USER_LOCAL_SETTINGS -.. autodata:: SYMSEARCH_MASKOBJS -.. autodata:: SYMSEARCH_RECURSE -.. autodata:: SYMSEARCH_GLOBALSONLY -.. autodata:: SYMSEARCH_ALLITEMS -.. autodata:: CBA_DEFERRED_SYMBOL_LOAD_START -.. autodata:: CBA_DEFERRED_SYMBOL_LOAD_COMPLETE -.. autodata:: CBA_DEFERRED_SYMBOL_LOAD_FAILURE -.. autodata:: CBA_SYMBOLS_UNLOADED -.. autodata:: CBA_DUPLICATE_SYMBOL -.. autodata:: CBA_READ_MEMORY -.. autodata:: CBA_DEFERRED_SYMBOL_LOAD_CANCEL -.. autodata:: CBA_SET_OPTIONS -.. autodata:: CBA_EVENT -.. autodata:: CBA_DEFERRED_SYMBOL_LOAD_PARTIAL -.. autodata:: CBA_DEBUG_INFO -.. autodata:: CBA_SRCSRV_INFO -.. autodata:: CBA_SRCSRV_EVENT -.. autodata:: CBA_UPDATE_STATUS_BAR -.. autodata:: CBA_ENGINE_PRESENT -.. autodata:: CBA_CHECK_ENGOPT_DISALLOW_NETWORK_PATHS -.. autodata:: EVENT_SRCSPEW_START -.. autodata:: EVENT_SRCSPEW -.. autodata:: EVENT_SRCSPEW_END -.. autodata:: DSLFLAG_MISMATCHED_PDB -.. autodata:: DSLFLAG_MISMATCHED_DBG -.. autodata:: FLAG_ENGINE_PRESENT -.. autodata:: FLAG_ENGOPT_DISALLOW_NETWORK_PATHS -.. autodata:: SYMOPT_CASE_INSENSITIVE -.. autodata:: SYMOPT_UNDNAME -.. autodata:: SYMOPT_DEFERRED_LOADS -.. autodata:: SYMOPT_NO_CPP -.. autodata:: SYMOPT_LOAD_LINES -.. autodata:: SYMOPT_OMAP_FIND_NEAREST -.. autodata:: SYMOPT_LOAD_ANYTHING -.. autodata:: SYMOPT_IGNORE_CVREC -.. autodata:: SYMOPT_NO_UNQUALIFIED_LOADS -.. autodata:: SYMOPT_FAIL_CRITICAL_ERRORS -.. autodata:: SYMOPT_EXACT_SYMBOLS -.. autodata:: SYMOPT_ALLOW_ABSOLUTE_SYMBOLS -.. autodata:: SYMOPT_IGNORE_NT_SYMPATH -.. autodata:: SYMOPT_INCLUDE_32BIT_MODULES -.. autodata:: SYMOPT_PUBLICS_ONLY -.. autodata:: SYMOPT_NO_PUBLICS -.. autodata:: SYMOPT_AUTO_PUBLICS -.. autodata:: SYMOPT_NO_IMAGE_SEARCH -.. autodata:: SYMOPT_SECURE -.. autodata:: SYMOPT_NO_PROMPTS -.. autodata:: SYMOPT_OVERWRITE -.. autodata:: SYMOPT_IGNORE_IMAGEDIR -.. autodata:: SYMOPT_FLAT_DIRECTORY -.. autodata:: SYMOPT_FAVOR_COMPRESSED -.. autodata:: SYMOPT_ALLOW_ZERO_ADDRESS -.. autodata:: SYMOPT_DISABLE_SYMSRV_AUTODETECT -.. autodata:: SYMOPT_READONLY_CACHE -.. autodata:: SYMOPT_SYMPATH_LAST -.. autodata:: SYMOPT_DISABLE_FAST_SYMBOLS -.. autodata:: SYMOPT_DISABLE_SYMSRV_TIMEOUT -.. autodata:: SYMOPT_DISABLE_SRVSTAR_ON_STARTUP -.. autodata:: SYMOPT_DEBUG -.. 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:: EVT_VARIANT_TYPE_MASK -.. autodata:: EVT_VARIANT_TYPE_ARRAY -.. autodata:: PIPE_ACCESS_INBOUND -.. autodata:: PIPE_ACCESS_OUTBOUND -.. autodata:: PIPE_ACCESS_DUPLEX -.. autodata:: PIPE_CLIENT_END -.. autodata:: PIPE_SERVER_END -.. autodata:: PIPE_WAIT -.. autodata:: PIPE_NOWAIT -.. autodata:: PIPE_READMODE_BYTE -.. autodata:: PIPE_READMODE_MESSAGE -.. autodata:: PIPE_TYPE_BYTE -.. autodata:: PIPE_TYPE_MESSAGE -.. autodata:: PIPE_ACCEPT_REMOTE_CLIENTS -.. autodata:: PIPE_REJECT_REMOTE_CLIENTS -.. autodata:: PIPE_UNLIMITED_INSTANCES -.. autodata:: NMPWAIT_WAIT_FOREVER -.. autodata:: NMPWAIT_NOWAIT -.. autodata:: NMPWAIT_USE_DEFAULT_WAIT -.. autodata:: VIRTUAL_STORAGE_TYPE_DEVICE_UNKNOWN -.. autodata:: VIRTUAL_STORAGE_TYPE_DEVICE_ISO -.. autodata:: VIRTUAL_STORAGE_TYPE_DEVICE_VHD -.. autodata:: VIRTUAL_STORAGE_TYPE_DEVICE_VHDX -.. autodata:: CWCSTORAGENAME -.. autodata:: STGM_DIRECT -.. autodata:: STGM_TRANSACTED -.. autodata:: STGM_SIMPLE -.. autodata:: STGM_READ -.. autodata:: STGM_WRITE -.. autodata:: STGM_READWRITE -.. autodata:: STGM_SHARE_DENY_NONE -.. autodata:: STGM_SHARE_DENY_READ -.. autodata:: STGM_SHARE_DENY_WRITE -.. autodata:: STGM_SHARE_EXCLUSIVE -.. autodata:: STGM_PRIORITY -.. autodata:: STGM_DELETEONRELEASE -.. autodata:: STGM_NOSCRATCH -.. autodata:: STGM_CREATE -.. autodata:: STGM_CONVERT -.. autodata:: STGM_FAILIFTHERE -.. autodata:: STGM_NOSNAPSHOT -.. autodata:: STGM_DIRECT_SWMR -.. autodata:: ASYNC_MODE_COMPATIBILITY -.. autodata:: ASYNC_MODE_DEFAULT -.. autodata:: STGTY_REPEAT -.. autodata:: STG_TOEND -.. autodata:: STG_LAYOUT_SEQUENTIAL -.. autodata:: STG_LAYOUT_INTERLEAVED -.. autodata:: STGFMT_STORAGE -.. autodata:: STGFMT_NATIVE -.. autodata:: STGFMT_FILE -.. autodata:: STGFMT_ANY -.. autodata:: STGFMT_DOCFILE -.. autodata:: STGFMT_DOCUMENT -.. autodata:: X86_KGDT_NULL -.. autodata:: X86_KGDT_R0_CODE -.. autodata:: X86_KGDT_R0_DATA -.. autodata:: X86_KGDT_R3_CODE -.. autodata:: X86_KGDT_R3_DATA -.. autodata:: X86_KGDT_TSS -.. autodata:: X86_KGDT_R0_PCR -.. autodata:: X86_KGDT_R3_TEB -.. autodata:: X86_KGDT_VDM_TILE -.. autodata:: X86_KGDT_LDT -.. autodata:: X86_KGDT_DF_TSS -.. autodata:: X86_KGDT_NMI_TSS -.. autodata:: X86_FRAME_EDITED -.. autodata:: X86_MODE_MASK -.. autodata:: X86_EFLAGS_V86_MASK -.. autodata:: AMD64_KGDT64_NULL -.. autodata:: AMD64_KGDT64_R0_CODE -.. autodata:: AMD64_KGDT64_R0_DATA -.. autodata:: AMD64_KGDT64_R3_CMCODE -.. autodata:: AMD64_KGDT64_R3_DATA -.. autodata:: AMD64_KGDT64_R3_CODE -.. autodata:: AMD64_KGDT64_SYS_TSS -.. autodata:: AMD64_KGDT64_R3_CMTEB -.. autodata:: AMD64_KGDT64_LAST -.. autodata:: MODE_BIT -.. autodata:: MODE_MASK -.. autodata:: RPL_MASK -.. autodata:: CS_USER_32B -.. autodata:: CS_USER_64B -.. autodata:: FC_ALLOCATE_ALL_NODES -.. autodata:: FC_DONT_FREE -.. autodata:: FC_ALLOCED_ON_STACK -.. autodata:: FC_SIMPLE_POINTER -.. autodata:: FC_POINTER_DEREF -.. autodata:: RPC_REQUEST_TYPE_CALL -.. autodata:: RPC_REQUEST_TYPE_BIND -.. autodata:: RPC_RESPONSE_TYPE_BIND_OK -.. autodata:: RPC_RESPONSE_TYPE_FAIL -.. autodata:: RPC_RESPONSE_TYPE_SUCCESS -.. autodata:: BIND_IF_SYNTAX_NDR32 -.. autodata:: BIND_IF_SYNTAX_NDR64 -.. autodata:: BIND_IF_SYNTAX_UNKNOWN .. autodata:: INVALID_HANDLE_VALUE .. autodata:: NULL .. autodata:: MAX_PATH @@ -1302,6 +1952,78 @@ WinDef .. autodata:: TXFS_MINIVERSION_COMMITTED_VIEW .. autodata:: TXFS_MINIVERSION_DIRTY_VIEW .. autodata:: TXFS_MINIVERSION_DEFAULT_VIEW +.. autodata:: TOKEN_SOURCE_LENGTH +.. autodata:: SID_HASH_SIZE +.. autodata:: TOKEN_MANDATORY_POLICY_OFF +.. autodata:: TOKEN_MANDATORY_POLICY_NO_WRITE_UP +.. autodata:: TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN +.. autodata:: TOKEN_MANDATORY_POLICY_VALID_MASK +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_INVALID +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_INT64 +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_UINT64 +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_STRING +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_FQBN +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_SID +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_BOOLEAN +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_NON_INHERITABLE +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_DISABLED +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_MANDATORY +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_VALID_FLAGS +.. autodata:: TOKEN_SECURITY_ATTRIBUTE_CUSTOM_FLAGS +.. autodata:: TOKEN_ASSIGN_PRIMARY +.. autodata:: TOKEN_DUPLICATE +.. autodata:: TOKEN_IMPERSONATE +.. autodata:: TOKEN_QUERY +.. autodata:: TOKEN_QUERY_SOURCE +.. autodata:: TOKEN_ADJUST_PRIVILEGES +.. autodata:: TOKEN_ADJUST_GROUPS +.. autodata:: TOKEN_ADJUST_DEFAULT +.. autodata:: TOKEN_ADJUST_SESSIONID +.. autodata:: TOKEN_ALL_ACCESS_P +.. autodata:: TOKEN_ALL_ACCESS +.. autodata:: SE_PRIVILEGE_ENABLED_BY_DEFAULT +.. autodata:: SE_PRIVILEGE_ENABLED +.. autodata:: SE_PRIVILEGE_REMOVED +.. autodata:: SE_PRIVILEGE_USED_FOR_ACCESS +.. autodata:: SE_CREATE_TOKEN_NAME +.. autodata:: SE_ASSIGNPRIMARYTOKEN_NAME +.. autodata:: SE_LOCK_MEMORY_NAME +.. autodata:: SE_INCREASE_QUOTA_NAME +.. autodata:: SE_UNSOLICITED_INPUT_NAME +.. autodata:: SE_MACHINE_ACCOUNT_NAME +.. autodata:: SE_TCB_NAME +.. autodata:: SE_SECURITY_NAME +.. autodata:: SE_TAKE_OWNERSHIP_NAME +.. autodata:: SE_LOAD_DRIVER_NAME +.. autodata:: SE_SYSTEM_PROFILE_NAME +.. autodata:: SE_SYSTEMTIME_NAME +.. autodata:: SE_PROF_SINGLE_PROCESS_NAME +.. autodata:: SE_INC_BASE_PRIORITY_NAME +.. autodata:: SE_CREATE_PAGEFILE_NAME +.. autodata:: SE_CREATE_PERMANENT_NAME +.. autodata:: SE_BACKUP_NAME +.. autodata:: SE_RESTORE_NAME +.. autodata:: SE_SHUTDOWN_NAME +.. autodata:: SE_DEBUG_NAME +.. autodata:: SE_AUDIT_NAME +.. autodata:: SE_SYSTEM_ENVIRONMENT_NAME +.. autodata:: SE_CHANGE_NOTIFY_NAME +.. autodata:: SE_REMOTE_SHUTDOWN_NAME +.. autodata:: SE_UNDOCK_NAME +.. autodata:: SE_SYNC_AGENT_NAME +.. autodata:: SE_ENABLE_DELEGATION_NAME +.. autodata:: SE_MANAGE_VOLUME_NAME +.. autodata:: SE_IMPERSONATE_NAME +.. autodata:: SE_CREATE_GLOBAL_NAME +.. autodata:: SE_TRUSTED_CREDMAN_ACCESS_NAME +.. autodata:: SE_RELABEL_NAME +.. autodata:: SE_INC_WORKING_SET_NAME +.. autodata:: SE_TIME_ZONE_NAME +.. autodata:: SE_CREATE_SYMBOLIC_LINK_NAME .. autodata:: ACCESS_SYSTEM_SECURITY .. autodata:: MAXIMUM_ALLOWED .. autodata:: FILE_READ_DATA @@ -1457,260 +2179,57 @@ WinDef .. autodata:: ADS_RIGHT_DS_DELETE_TREE .. autodata:: ADS_RIGHT_DS_LIST_OBJECT .. autodata:: ADS_RIGHT_DS_CONTROL_ACCESS -.. autodata:: PRODUCT_UNDEFINED -.. autodata:: PRODUCT_ULTIMATE -.. autodata:: PRODUCT_HOME_BASIC -.. autodata:: PRODUCT_HOME_PREMIUM -.. autodata:: PRODUCT_ENTERPRISE -.. autodata:: PRODUCT_HOME_BASIC_N -.. autodata:: PRODUCT_BUSINESS -.. autodata:: PRODUCT_STANDARD_SERVER -.. autodata:: PRODUCT_DATACENTER_SERVER -.. autodata:: PRODUCT_SMALLBUSINESS_SERVER -.. autodata:: PRODUCT_ENTERPRISE_SERVER -.. autodata:: PRODUCT_STARTER -.. autodata:: PRODUCT_DATACENTER_SERVER_CORE -.. autodata:: PRODUCT_STANDARD_SERVER_CORE -.. autodata:: PRODUCT_ENTERPRISE_SERVER_CORE -.. autodata:: PRODUCT_ENTERPRISE_SERVER_IA64 -.. autodata:: PRODUCT_BUSINESS_N -.. autodata:: PRODUCT_WEB_SERVER -.. autodata:: PRODUCT_CLUSTER_SERVER -.. autodata:: PRODUCT_HOME_SERVER -.. autodata:: PRODUCT_STORAGE_EXPRESS_SERVER -.. autodata:: PRODUCT_STORAGE_STANDARD_SERVER -.. autodata:: PRODUCT_STORAGE_WORKGROUP_SERVER -.. autodata:: PRODUCT_STORAGE_ENTERPRISE_SERVER -.. autodata:: PRODUCT_SERVER_FOR_SMALLBUSINESS -.. autodata:: PRODUCT_SMALLBUSINESS_SERVER_PREMIUM -.. autodata:: PRODUCT_HOME_PREMIUM_N -.. autodata:: PRODUCT_ENTERPRISE_N -.. autodata:: PRODUCT_ULTIMATE_N -.. autodata:: PRODUCT_WEB_SERVER_CORE -.. autodata:: PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT -.. autodata:: PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY -.. autodata:: PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING -.. autodata:: PRODUCT_SERVER_FOUNDATION -.. autodata:: PRODUCT_HOME_PREMIUM_SERVER -.. autodata:: PRODUCT_SERVER_FOR_SMALLBUSINESS_V -.. autodata:: PRODUCT_STANDARD_SERVER_V -.. autodata:: PRODUCT_DATACENTER_SERVER_V -.. autodata:: PRODUCT_ENTERPRISE_SERVER_V -.. autodata:: PRODUCT_DATACENTER_SERVER_CORE_V -.. autodata:: PRODUCT_STANDARD_SERVER_CORE_V -.. autodata:: PRODUCT_ENTERPRISE_SERVER_CORE_V -.. autodata:: PRODUCT_HYPERV -.. autodata:: PRODUCT_STORAGE_EXPRESS_SERVER_CORE -.. autodata:: PRODUCT_STORAGE_STANDARD_SERVER_CORE -.. autodata:: PRODUCT_STORAGE_WORKGROUP_SERVER_CORE -.. autodata:: PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE -.. autodata:: PRODUCT_STARTER_N -.. autodata:: PRODUCT_PROFESSIONAL -.. autodata:: PRODUCT_PROFESSIONAL_N -.. autodata:: PRODUCT_SB_SOLUTION_SERVER -.. autodata:: PRODUCT_SERVER_FOR_SB_SOLUTIONS -.. autodata:: PRODUCT_STANDARD_SERVER_SOLUTIONS -.. autodata:: PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE -.. autodata:: PRODUCT_SB_SOLUTION_SERVER_EM -.. autodata:: PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM -.. autodata:: PRODUCT_SOLUTION_EMBEDDEDSERVER -.. autodata:: PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE -.. autodata:: PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE -.. autodata:: PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT -.. autodata:: PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL -.. autodata:: PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC -.. autodata:: PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC -.. autodata:: PRODUCT_CLUSTER_SERVER_V -.. autodata:: PRODUCT_EMBEDDED -.. autodata:: PRODUCT_STARTER_E -.. autodata:: PRODUCT_HOME_BASIC_E -.. autodata:: PRODUCT_HOME_PREMIUM_E -.. autodata:: PRODUCT_PROFESSIONAL_E -.. autodata:: PRODUCT_ENTERPRISE_E -.. autodata:: PRODUCT_ULTIMATE_E -.. autodata:: PRODUCT_ENTERPRISE_EVALUATION -.. autodata:: PRODUCT_MULTIPOINT_STANDARD_SERVER -.. autodata:: PRODUCT_MULTIPOINT_PREMIUM_SERVER -.. autodata:: PRODUCT_STANDARD_EVALUATION_SERVER -.. autodata:: PRODUCT_DATACENTER_EVALUATION_SERVER -.. autodata:: PRODUCT_ENTERPRISE_N_EVALUATION -.. autodata:: PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER -.. autodata:: PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER -.. autodata:: PRODUCT_CORE_ARM -.. autodata:: PRODUCT_CORE_N -.. autodata:: PRODUCT_CORE_COUNTRYSPECIFIC -.. autodata:: PRODUCT_CORE_LANGUAGESPECIFIC -.. autodata:: PRODUCT_CORE -.. autodata:: PRODUCT_PROFESSIONAL_WMC -.. autodata:: PRODUCT_UNLICENSED -.. autodata:: EVENT_TRACE_FLAG_DISPATCHER -.. autodata:: EVENT_TRACE_FLAG_VIRTUAL_ALLOC -.. autodata:: EVENT_TRACE_FLAG_VAMAP -.. autodata:: EVENT_TRACE_FLAG_NO_SYSCONFIG -.. autodata:: EVENT_TRACE_FLAG_EXTENSION -.. autodata:: EVENT_TRACE_FLAG_FORWARD_WMI -.. autodata:: EVENT_TRACE_FLAG_ENABLE_RESERVE -.. autodata:: EVENT_TRACE_FILE_MODE_NONE -.. autodata:: EVENT_TRACE_FILE_MODE_SEQUENTIAL -.. autodata:: EVENT_TRACE_FILE_MODE_CIRCULAR -.. autodata:: EVENT_TRACE_FILE_MODE_APPEND -.. autodata:: EVENT_TRACE_REAL_TIME_MODE -.. autodata:: EVENT_TRACE_DELAY_OPEN_FILE_MODE -.. autodata:: EVENT_TRACE_BUFFERING_MODE -.. autodata:: EVENT_TRACE_PRIVATE_LOGGER_MODE -.. autodata:: EVENT_TRACE_ADD_HEADER_MODE -.. autodata:: EVENT_TRACE_USE_GLOBAL_SEQUENCE -.. autodata:: EVENT_TRACE_USE_LOCAL_SEQUENCE -.. autodata:: EVENT_TRACE_RELOG_MODE -.. autodata:: EVENT_TRACE_USE_PAGED_MEMORY -.. autodata:: EVENT_TRACE_FILE_MODE_NEWFILE -.. autodata:: EVENT_TRACE_FILE_MODE_PREALLOCATE -.. autodata:: EVENT_TRACE_CONTROL_QUERY -.. autodata:: EVENT_TRACE_CONTROL_STOP -.. autodata:: EVENT_TRACE_CONTROL_UPDATE -.. autodata:: EVENT_TRACE_CONTROL_FLUSH -.. autodata:: PROCESS_TRACE_MODE_REAL_TIME -.. autodata:: PROCESS_TRACE_MODE_RAW_TIMESTAMP -.. autodata:: PROCESS_TRACE_MODE_EVENT_RECORD -.. autodata:: EVENT_HEADER_PROPERTY_XML -.. autodata:: EVENT_HEADER_PROPERTY_FORWARDED_XML -.. autodata:: EVENT_HEADER_PROPERTY_LEGACY_EVENTLOG -.. autodata:: EVENT_HEADER_FLAG_EXTENDED_INFO -.. autodata:: EVENT_HEADER_FLAG_PRIVATE_SESSION -.. autodata:: EVENT_HEADER_FLAG_STRING_ONLY -.. autodata:: EVENT_HEADER_FLAG_TRACE_MESSAGE -.. autodata:: EVENT_HEADER_FLAG_NO_CPUTIME -.. autodata:: EVENT_HEADER_FLAG_32_BIT_HEADER -.. autodata:: EVENT_HEADER_FLAG_64_BIT_HEADER -.. autodata:: EVENT_HEADER_FLAG_CLASSIC_HEADER -.. autodata:: EVENT_HEADER_FLAG_PROCESSOR_INDEX -.. autodata:: EVENT_TRACE_TYPE_CONFIG_CPU -.. autodata:: EVENT_TRACE_TYPE_CONFIG_PHYSICALDISK -.. autodata:: EVENT_TRACE_TYPE_CONFIG_LOGICALDISK -.. autodata:: EVENT_TRACE_TYPE_CONFIG_NIC -.. autodata:: EVENT_TRACE_TYPE_CONFIG_VIDEO -.. autodata:: EVENT_TRACE_TYPE_CONFIG_SERVICES -.. autodata:: EVENT_TRACE_TYPE_CONFIG_POWER -.. autodata:: EVENT_TRACE_TYPE_CONFIG_NETINFO -.. autodata:: EVENT_TRACE_FLAG_PROCESS -.. autodata:: EVENT_TRACE_FLAG_THREAD -.. autodata:: EVENT_TRACE_FLAG_IMAGE_LOAD -.. autodata:: EVENT_TRACE_FLAG_DISK_IO -.. autodata:: EVENT_TRACE_FLAG_DISK_FILE_IO -.. autodata:: EVENT_TRACE_FLAG_MEMORY_PAGE_FAULTS -.. autodata:: EVENT_TRACE_FLAG_MEMORY_HARD_FAULTS -.. autodata:: EVENT_TRACE_FLAG_NETWORK_TCPIP -.. autodata:: EVENT_TRACE_FLAG_REGISTRY -.. autodata:: EVENT_TRACE_FLAG_DBGPRINT -.. autodata:: EVENT_TRACE_FLAG_VOLMGR -.. autodata:: OS_WINDOWS -.. autodata:: OS_NT -.. autodata:: OS_WIN95ORGREATER -.. autodata:: OS_NT4ORGREATER -.. autodata:: OS_WIN98ORGREATER -.. autodata:: OS_WIN98_GOLD -.. autodata:: OS_WIN2000ORGREATER -.. autodata:: OS_WIN2000PRO -.. autodata:: OS_WIN2000SERVER -.. autodata:: OS_WIN2000ADVSERVER -.. autodata:: OS_WIN2000DATACENTER -.. autodata:: OS_WIN2000TERMINAL -.. autodata:: OS_EMBEDDED -.. autodata:: OS_TERMINALCLIENT -.. autodata:: OS_TERMINALREMOTEADMIN -.. autodata:: OS_WIN95_GOLD -.. autodata:: OS_MEORGREATER -.. autodata:: OS_XPORGREATER -.. autodata:: OS_HOME -.. autodata:: OS_PROFESSIONAL -.. autodata:: OS_DATACENTER -.. autodata:: OS_ADVSERVER -.. autodata:: OS_SERVER -.. autodata:: OS_TERMINALSERVER -.. autodata:: OS_PERSONALTERMINALSERVER -.. autodata:: OS_FASTUSERSWITCHING -.. autodata:: OS_WELCOMELOGONUI -.. autodata:: OS_DOMAINMEMBER -.. autodata:: OS_ANYSERVER -.. autodata:: OS_WOW6432 -.. autodata:: OS_WEBSERVER -.. autodata:: OS_SMALLBUSINESSSERVER -.. autodata:: OS_TABLETPC -.. autodata:: OS_SERVERADMINUI -.. autodata:: OS_MEDIACENTER -.. autodata:: OS_APPLIANCE -.. autodata:: TOKEN_SOURCE_LENGTH -.. autodata:: SID_HASH_SIZE -.. autodata:: TOKEN_MANDATORY_POLICY_OFF -.. autodata:: TOKEN_MANDATORY_POLICY_NO_WRITE_UP -.. autodata:: TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN -.. autodata:: TOKEN_MANDATORY_POLICY_VALID_MASK -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_INVALID -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_INT64 -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_UINT64 -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_STRING -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_FQBN -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_SID -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_BOOLEAN -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_NON_INHERITABLE -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_DISABLED -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_MANDATORY -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_VALID_FLAGS -.. autodata:: TOKEN_SECURITY_ATTRIBUTE_CUSTOM_FLAGS -.. autodata:: TOKEN_ASSIGN_PRIMARY -.. autodata:: TOKEN_DUPLICATE -.. autodata:: TOKEN_IMPERSONATE -.. autodata:: TOKEN_QUERY -.. autodata:: TOKEN_QUERY_SOURCE -.. autodata:: TOKEN_ADJUST_PRIVILEGES -.. autodata:: TOKEN_ADJUST_GROUPS -.. autodata:: TOKEN_ADJUST_DEFAULT -.. autodata:: TOKEN_ADJUST_SESSIONID -.. autodata:: TOKEN_ALL_ACCESS_P -.. autodata:: TOKEN_ALL_ACCESS -.. autodata:: SE_PRIVILEGE_ENABLED_BY_DEFAULT -.. autodata:: SE_PRIVILEGE_ENABLED -.. autodata:: SE_PRIVILEGE_REMOVED -.. autodata:: SE_PRIVILEGE_USED_FOR_ACCESS -.. autodata:: SE_CREATE_TOKEN_NAME -.. autodata:: SE_ASSIGNPRIMARYTOKEN_NAME -.. autodata:: SE_LOCK_MEMORY_NAME -.. autodata:: SE_INCREASE_QUOTA_NAME -.. autodata:: SE_UNSOLICITED_INPUT_NAME -.. autodata:: SE_MACHINE_ACCOUNT_NAME -.. autodata:: SE_TCB_NAME -.. autodata:: SE_SECURITY_NAME -.. autodata:: SE_TAKE_OWNERSHIP_NAME -.. autodata:: SE_LOAD_DRIVER_NAME -.. autodata:: SE_SYSTEM_PROFILE_NAME -.. autodata:: SE_SYSTEMTIME_NAME -.. autodata:: SE_PROF_SINGLE_PROCESS_NAME -.. autodata:: SE_INC_BASE_PRIORITY_NAME -.. autodata:: SE_CREATE_PAGEFILE_NAME -.. autodata:: SE_CREATE_PERMANENT_NAME -.. autodata:: SE_BACKUP_NAME -.. autodata:: SE_RESTORE_NAME -.. autodata:: SE_SHUTDOWN_NAME -.. autodata:: SE_DEBUG_NAME -.. autodata:: SE_AUDIT_NAME -.. autodata:: SE_SYSTEM_ENVIRONMENT_NAME -.. autodata:: SE_CHANGE_NOTIFY_NAME -.. autodata:: SE_REMOTE_SHUTDOWN_NAME -.. autodata:: SE_UNDOCK_NAME -.. autodata:: SE_SYNC_AGENT_NAME -.. autodata:: SE_ENABLE_DELEGATION_NAME -.. autodata:: SE_MANAGE_VOLUME_NAME -.. autodata:: SE_IMPERSONATE_NAME -.. autodata:: SE_CREATE_GLOBAL_NAME -.. autodata:: SE_TRUSTED_CREDMAN_ACCESS_NAME -.. autodata:: SE_RELABEL_NAME -.. autodata:: SE_INC_WORKING_SET_NAME -.. autodata:: SE_TIME_ZONE_NAME -.. autodata:: SE_CREATE_SYMBOLIC_LINK_NAME +.. autodata:: POLICY_VIEW_LOCAL_INFORMATION +.. autodata:: POLICY_VIEW_AUDIT_INFORMATION +.. autodata:: POLICY_GET_PRIVATE_INFORMATION +.. autodata:: POLICY_TRUST_ADMIN +.. autodata:: POLICY_CREATE_ACCOUNT +.. autodata:: POLICY_CREATE_SECRET +.. autodata:: POLICY_CREATE_PRIVILEGE +.. autodata:: POLICY_SET_DEFAULT_QUOTA_LIMITS +.. autodata:: POLICY_SET_AUDIT_REQUIREMENTS +.. autodata:: POLICY_AUDIT_LOG_ADMIN +.. autodata:: POLICY_SERVER_ADMIN +.. autodata:: POLICY_LOOKUP_NAMES +.. autodata:: POLICY_NOTIFICATION +.. autodata:: POLICY_ALL_ACCESS +.. autodata:: IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA +.. autodata:: IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE +.. autodata:: IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY +.. autodata:: IMAGE_DLLCHARACTERISTICS_NX_COMPAT +.. autodata:: IMAGE_DLLCHARACTERISTICS_NO_ISOLATION +.. autodata:: IMAGE_DLLCHARACTERISTICS_NO_SEH +.. autodata:: IMAGE_DLLCHARACTERISTICS_NO_BIND +.. autodata:: IMAGE_DLLCHARACTERISTICS_APPCONTAINER +.. autodata:: IMAGE_DLLCHARACTERISTICS_WDM_DRIVER +.. autodata:: IMAGE_DLLCHARACTERISTICS_GUARD_CF +.. autodata:: IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE +.. autodata:: IMAGE_DIRECTORY_ENTRY_EXPORT +.. autodata:: IMAGE_DIRECTORY_ENTRY_IMPORT +.. autodata:: IMAGE_DIRECTORY_ENTRY_RESOURCE +.. autodata:: IMAGE_DIRECTORY_ENTRY_EXCEPTION +.. autodata:: IMAGE_DIRECTORY_ENTRY_SECURITY +.. autodata:: IMAGE_DIRECTORY_ENTRY_BASERELOC +.. autodata:: IMAGE_DIRECTORY_ENTRY_DEBUG +.. autodata:: IMAGE_DIRECTORY_ENTRY_ARCHITECTURE +.. autodata:: IMAGE_DIRECTORY_ENTRY_GLOBALPTR +.. autodata:: IMAGE_DIRECTORY_ENTRY_TLS +.. autodata:: IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG +.. autodata:: IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT +.. autodata:: IMAGE_DIRECTORY_ENTRY_IAT +.. autodata:: IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT +.. autodata:: IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR +.. autodata:: IMAGE_REL_BASED_ABSOLUTE +.. autodata:: IMAGE_REL_BASED_HIGH +.. autodata:: IMAGE_REL_BASED_LOW +.. autodata:: IMAGE_REL_BASED_HIGHLOW +.. autodata:: IMAGE_REL_BASED_HIGHADJ +.. autodata:: IMAGE_REL_BASED_MACHINE_SPECIFIC_5 +.. autodata:: IMAGE_REL_BASED_RESERVED +.. autodata:: IMAGE_REL_BASED_MACHINE_SPECIFIC_7 +.. autodata:: IMAGE_REL_BASED_MACHINE_SPECIFIC_8 +.. autodata:: IMAGE_REL_BASED_MACHINE_SPECIFIC_9 +.. autodata:: IMAGE_REL_BASED_DIR64 .. autodata:: SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL .. autodata:: SERVICE_TRIGGER_TYPE_IP_ADDRESS_AVAILABILITY .. autodata:: SERVICE_TRIGGER_TYPE_DOMAIN_JOIN @@ -1784,232 +2303,40 @@ WinDef .. autodata:: SERVICE_ACCEPT_PRESHUTDOWN .. autodata:: SERVICE_ACCEPT_TIMECHANGE .. autodata:: SERVICE_ACCEPT_TRIGGEREVENT -.. autodata:: ATM_E164 -.. autodata:: ATM_NSAP -.. autodata:: ATM_AESA -.. autodata:: ATM_ADDR_SIZE -.. autodata:: DNS_ATMA_FORMAT_E164 -.. autodata:: DNS_ATMA_FORMAT_AESA -.. autodata:: DNS_ATMA_MAX_ADDR_LENGTH -.. autodata:: DNS_TYPE_ZERO -.. autodata:: DNS_TYPE_A -.. autodata:: DNS_TYPE_NS -.. autodata:: DNS_TYPE_MD -.. autodata:: DNS_TYPE_MF -.. autodata:: DNS_TYPE_CNAME -.. autodata:: DNS_TYPE_SOA -.. autodata:: DNS_TYPE_MB -.. autodata:: DNS_TYPE_MG -.. autodata:: DNS_TYPE_MR -.. autodata:: DNS_TYPE_NULL -.. autodata:: DNS_TYPE_WKS -.. autodata:: DNS_TYPE_PTR -.. autodata:: DNS_TYPE_HINFO -.. autodata:: DNS_TYPE_MINFO -.. autodata:: DNS_TYPE_MX -.. autodata:: DNS_TYPE_TEXT -.. autodata:: DNS_TYPE_RP -.. autodata:: DNS_TYPE_AFSDB -.. autodata:: DNS_TYPE_X25 -.. autodata:: DNS_TYPE_ISDN -.. autodata:: DNS_TYPE_RT -.. autodata:: DNS_TYPE_NSAP -.. autodata:: DNS_TYPE_NSAPPTR -.. autodata:: DNS_TYPE_SIG -.. autodata:: DNS_TYPE_KEY -.. autodata:: DNS_TYPE_PX -.. autodata:: DNS_TYPE_GPOS -.. autodata:: DNS_TYPE_AAAA -.. autodata:: DNS_TYPE_LOC -.. autodata:: DNS_TYPE_NXT -.. autodata:: DNS_TYPE_EID -.. autodata:: DNS_TYPE_NIMLOC -.. autodata:: DNS_TYPE_SRV -.. autodata:: DNS_TYPE_ATMA -.. autodata:: DNS_TYPE_NAPTR -.. autodata:: DNS_TYPE_KX -.. autodata:: DNS_TYPE_CERT -.. autodata:: DNS_TYPE_A6 -.. autodata:: DNS_TYPE_DNAME -.. autodata:: DNS_TYPE_SINK -.. autodata:: DNS_TYPE_OPT -.. autodata:: DNS_TYPE_DS -.. autodata:: DNS_TYPE_RRSIG -.. autodata:: DNS_TYPE_NSEC -.. autodata:: DNS_TYPE_DNSKEY -.. autodata:: DNS_TYPE_DHCID -.. autodata:: DNS_TYPE_NSEC3 -.. autodata:: DNS_TYPE_NSEC3PARAM -.. autodata:: DNS_TYPE_UINFO -.. autodata:: DNS_TYPE_UID -.. autodata:: DNS_TYPE_GID -.. autodata:: DNS_TYPE_UNSPEC -.. autodata:: DNS_TYPE_ADDRS -.. autodata:: DNS_TYPE_TKEY -.. autodata:: DNS_TYPE_TSIG -.. autodata:: DNS_TYPE_IXFR -.. autodata:: DNS_TYPE_AXFR -.. autodata:: DNS_TYPE_MAILB -.. autodata:: DNS_TYPE_MAILA -.. autodata:: DNS_TYPE_ALL -.. autodata:: DNS_TYPE_ANY -.. autodata:: DNS_TYPE_WINS -.. autodata:: DNS_TYPE_WINSR -.. autodata:: DNS_TYPE_NBSTAT -.. autodata:: DNS_QUERY_STANDARD -.. autodata:: DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE -.. autodata:: DNS_QUERY_USE_TCP_ONLY -.. autodata:: DNS_QUERY_NO_RECURSION -.. autodata:: DNS_QUERY_BYPASS_CACHE -.. autodata:: DNS_QUERY_NO_WIRE_QUERY -.. autodata:: DNS_QUERY_NO_LOCAL_NAME -.. autodata:: DNS_QUERY_NO_HOSTS_FILE -.. autodata:: DNS_QUERY_NO_NETBT -.. autodata:: DNS_QUERY_WIRE_ONLY -.. autodata:: DNS_QUERY_RETURN_MESSAGE -.. autodata:: DNS_QUERY_MULTICAST_ONLY -.. autodata:: DNS_QUERY_NO_MULTICAST -.. autodata:: DNS_QUERY_TREAT_AS_FQDN -.. autodata:: DNS_QUERY_ADDRCONFIG -.. autodata:: DNS_QUERY_DUAL_ADDR -.. autodata:: DNS_QUERY_DONT_RESET_TTL_VALUES -.. autodata:: DNS_QUERY_DISABLE_IDN_ENCODING -.. autodata:: DNS_QUERY_APPEND_MULTILABEL -.. autodata:: DNS_QUERY_DNSSEC_OK -.. autodata:: DNS_QUERY_DNSSEC_CHECKING_DISABLED -.. autodata:: DNS_QUERY_RESERVED -.. autodata:: ACCESS_MIN_MS_ACE_TYPE -.. autodata:: ACCESS_ALLOWED_ACE_TYPE -.. autodata:: ACCESS_DENIED_ACE_TYPE -.. autodata:: SYSTEM_AUDIT_ACE_TYPE -.. autodata:: SYSTEM_ALARM_ACE_TYPE -.. autodata:: ACCESS_MAX_MS_V2_ACE_TYPE -.. autodata:: ACCESS_ALLOWED_COMPOUND_ACE_TYPE -.. autodata:: ACCESS_MAX_MS_V3_ACE_TYPE -.. autodata:: ACCESS_MIN_MS_OBJECT_ACE_TYPE -.. autodata:: ACCESS_ALLOWED_OBJECT_ACE_TYPE -.. autodata:: ACCESS_DENIED_OBJECT_ACE_TYPE -.. autodata:: SYSTEM_AUDIT_OBJECT_ACE_TYPE -.. autodata:: SYSTEM_ALARM_OBJECT_ACE_TYPE -.. autodata:: ACCESS_MAX_MS_OBJECT_ACE_TYPE -.. autodata:: ACCESS_MAX_MS_V4_ACE_TYPE -.. autodata:: ACCESS_MAX_MS_ACE_TYPE -.. autodata:: ACCESS_ALLOWED_CALLBACK_ACE_TYPE -.. autodata:: ACCESS_DENIED_CALLBACK_ACE_TYPE -.. autodata:: ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE -.. autodata:: ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE -.. autodata:: SYSTEM_AUDIT_CALLBACK_ACE_TYPE -.. autodata:: SYSTEM_ALARM_CALLBACK_ACE_TYPE -.. autodata:: SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE -.. autodata:: SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE -.. autodata:: SYSTEM_MANDATORY_LABEL_ACE_TYPE -.. autodata:: ACCESS_MAX_MS_V5_ACE_TYPE -.. autodata:: SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE -.. autodata:: SYSTEM_SCOPED_POLICY_ID_ACE_TYPE -.. autodata:: SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE -.. autodata:: ACCESS_MAX_MS_V5_ACE_TYPE -.. autodata:: SEC_WINNT_AUTH_IDENTITY_ANSI -.. autodata:: SEC_WINNT_AUTH_IDENTITY_UNICODE -.. autodata:: SE_OWNER_DEFAULTED -.. autodata:: SE_GROUP_DEFAULTED -.. autodata:: SE_DACL_PRESENT -.. autodata:: SE_DACL_DEFAULTED -.. autodata:: SE_SACL_PRESENT -.. autodata:: SE_SACL_DEFAULTED -.. autodata:: SE_DACL_UNTRUSTED -.. autodata:: SE_SERVER_SECURITY -.. autodata:: SE_DACL_AUTO_INHERIT_REQ -.. autodata:: SE_SACL_AUTO_INHERIT_REQ -.. autodata:: SE_DACL_AUTO_INHERITED -.. autodata:: SE_SACL_AUTO_INHERITED -.. autodata:: SE_DACL_PROTECTED -.. autodata:: SE_SACL_PROTECTED -.. autodata:: SE_RM_CONTROL_VALID -.. autodata:: SE_SELF_RELATIVE -.. autodata:: SDDL_REVISION_1 -.. autodata:: ACE_OBJECT_TYPE_PRESENT -.. autodata:: ACE_INHERITED_OBJECT_TYPE_PRESENT -.. autodata:: OBJECT_INHERIT_ACE -.. autodata:: CONTAINER_INHERIT_ACE -.. autodata:: NO_PROPAGATE_INHERIT_ACE -.. autodata:: INHERIT_ONLY_ACE -.. autodata:: INHERITED_ACE -.. autodata:: VALID_INHERIT_FLAGS -.. autodata:: SUCCESSFUL_ACCESS_ACE_FLAG -.. autodata:: FAILED_ACCESS_ACE_FLAG -.. autodata:: SYSTEM_MANDATORY_LABEL_NO_WRITE_UP -.. autodata:: SYSTEM_MANDATORY_LABEL_NO_READ_UP -.. autodata:: SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP -.. autodata:: SYSTEM_PROCESS_TRUST_LABEL_VALID_MASK -.. autodata:: SYSTEM_PROCESS_TRUST_NOCONSTRAINT_MASK -.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_INVALID -.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_INT64 -.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_UINT64 -.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_STRING -.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_FQBN -.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_SID -.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_BOOLEAN -.. autodata:: CLAIM_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING -.. autodata:: SE_GROUP_MANDATORY -.. autodata:: SE_GROUP_ENABLED_BY_DEFAULT -.. autodata:: SE_GROUP_ENABLED -.. autodata:: SE_GROUP_OWNER -.. autodata:: SE_GROUP_USE_FOR_DENY_ONLY -.. autodata:: SE_GROUP_INTEGRITY -.. autodata:: SE_GROUP_INTEGRITY_ENABLED -.. autodata:: SE_GROUP_LOGON_ID -.. autodata:: SE_GROUP_RESOURCE -.. autodata:: SE_GROUP_VALID_ATTRIBUTES -.. autodata:: OWNER_SECURITY_INFORMATION -.. autodata:: GROUP_SECURITY_INFORMATION -.. autodata:: DACL_SECURITY_INFORMATION -.. autodata:: SACL_SECURITY_INFORMATION -.. autodata:: LABEL_SECURITY_INFORMATION -.. autodata:: ATTRIBUTE_SECURITY_INFORMATION -.. autodata:: SCOPE_SECURITY_INFORMATION -.. autodata:: PROCESS_TRUST_LABEL_SECURITY_INFORMATION -.. autodata:: BACKUP_SECURITY_INFORMATION -.. autodata:: PROTECTED_DACL_SECURITY_INFORMATION -.. autodata:: PROTECTED_SACL_SECURITY_INFORMATION -.. autodata:: UNPROTECTED_DACL_SECURITY_INFORMATION -.. autodata:: UNPROTECTED_SACL_SECURITY_INFORMATION -.. autodata:: IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA -.. autodata:: IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE -.. autodata:: IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY -.. autodata:: IMAGE_DLLCHARACTERISTICS_NX_COMPAT -.. autodata:: IMAGE_DLLCHARACTERISTICS_NO_ISOLATION -.. autodata:: IMAGE_DLLCHARACTERISTICS_NO_SEH -.. autodata:: IMAGE_DLLCHARACTERISTICS_NO_BIND -.. autodata:: IMAGE_DLLCHARACTERISTICS_APPCONTAINER -.. autodata:: IMAGE_DLLCHARACTERISTICS_WDM_DRIVER -.. autodata:: IMAGE_DLLCHARACTERISTICS_GUARD_CF -.. autodata:: IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE -.. autodata:: IMAGE_DIRECTORY_ENTRY_EXPORT -.. autodata:: IMAGE_DIRECTORY_ENTRY_IMPORT -.. autodata:: IMAGE_DIRECTORY_ENTRY_RESOURCE -.. autodata:: IMAGE_DIRECTORY_ENTRY_EXCEPTION -.. autodata:: IMAGE_DIRECTORY_ENTRY_SECURITY -.. autodata:: IMAGE_DIRECTORY_ENTRY_BASERELOC -.. autodata:: IMAGE_DIRECTORY_ENTRY_DEBUG -.. autodata:: IMAGE_DIRECTORY_ENTRY_ARCHITECTURE -.. autodata:: IMAGE_DIRECTORY_ENTRY_GLOBALPTR -.. autodata:: IMAGE_DIRECTORY_ENTRY_TLS -.. autodata:: IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG -.. autodata:: IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT -.. autodata:: IMAGE_DIRECTORY_ENTRY_IAT -.. autodata:: IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT -.. autodata:: IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR -.. autodata:: IMAGE_REL_BASED_ABSOLUTE -.. autodata:: IMAGE_REL_BASED_HIGH -.. autodata:: IMAGE_REL_BASED_LOW -.. autodata:: IMAGE_REL_BASED_HIGHLOW -.. autodata:: IMAGE_REL_BASED_HIGHADJ -.. autodata:: IMAGE_REL_BASED_MACHINE_SPECIFIC_5 -.. autodata:: IMAGE_REL_BASED_RESERVED -.. autodata:: IMAGE_REL_BASED_MACHINE_SPECIFIC_7 -.. autodata:: IMAGE_REL_BASED_MACHINE_SPECIFIC_8 -.. autodata:: IMAGE_REL_BASED_MACHINE_SPECIFIC_9 -.. autodata:: IMAGE_REL_BASED_DIR64 +.. autodata:: CWCSTORAGENAME +.. autodata:: STGM_DIRECT +.. autodata:: STGM_TRANSACTED +.. autodata:: STGM_SIMPLE +.. autodata:: STGM_READ +.. autodata:: STGM_WRITE +.. autodata:: STGM_READWRITE +.. autodata:: STGM_SHARE_DENY_NONE +.. autodata:: STGM_SHARE_DENY_READ +.. autodata:: STGM_SHARE_DENY_WRITE +.. autodata:: STGM_SHARE_EXCLUSIVE +.. autodata:: STGM_PRIORITY +.. autodata:: STGM_DELETEONRELEASE +.. autodata:: STGM_NOSCRATCH +.. autodata:: STGM_CREATE +.. autodata:: STGM_CONVERT +.. autodata:: STGM_FAILIFTHERE +.. autodata:: STGM_NOSNAPSHOT +.. autodata:: STGM_DIRECT_SWMR +.. autodata:: ASYNC_MODE_COMPATIBILITY +.. autodata:: ASYNC_MODE_DEFAULT +.. autodata:: STGTY_REPEAT +.. autodata:: STG_TOEND +.. autodata:: STG_LAYOUT_SEQUENTIAL +.. autodata:: STG_LAYOUT_INTERLEAVED +.. autodata:: STGFMT_STORAGE +.. autodata:: STGFMT_NATIVE +.. autodata:: STGFMT_FILE +.. autodata:: STGFMT_ANY +.. autodata:: STGFMT_DOCFILE +.. autodata:: STGFMT_DOCUMENT +.. autodata:: FILE_VER_GET_LOCALISED +.. autodata:: FILE_VER_GET_NEUTRAL +.. autodata:: FILE_VER_GET_PREFETCHED .. autodata:: szOID_TRUSTED_CODESIGNING_CA_LIST .. autodata:: szOID_TRUSTED_CLIENT_AUTH_CA_LIST .. autodata:: szOID_TRUSTED_SERVER_AUTH_CA_LIST diff --git a/docs/build/html/_sources/winerror_generated.rst.txt b/docs/build/html/_sources/winerror_generated.rst.txt index a647954..76115af 100644 --- a/docs/build/html/_sources/winerror_generated.rst.txt +++ b/docs/build/html/_sources/winerror_generated.rst.txt @@ -1,7 +1,7 @@ .. currentmodule:: windows.generated_def WinError ------- +-------- .. autodata:: FACILITY_NULL .. autodata:: FACILITY_RPC .. autodata:: FACILITY_DISPATCH diff --git a/docs/build/html/_sources/winobject.rst.txt b/docs/build/html/_sources/winobject.rst.txt index e0737b5..7ba437e 100644 --- a/docs/build/html/_sources/winobject.rst.txt +++ b/docs/build/html/_sources/winobject.rst.txt @@ -20,5 +20,7 @@ This sections describes them by group of relation. handle.rst system_module.rst object_manager.rst + device_manager.rst task_scheduler.rst - evtlog.rst \ No newline at end of file + evtlog.rst + etw.rst \ No newline at end of file diff --git a/docs/build/html/_sources/winstructs_generated.rst.txt b/docs/build/html/_sources/winstructs_generated.rst.txt index 8b2f53d..d68f98e 100644 --- a/docs/build/html/_sources/winstructs_generated.rst.txt +++ b/docs/build/html/_sources/winstructs_generated.rst.txt @@ -1119,6 +1119,879 @@ _BG_FILE_RANGE :class:`UINT64` +IO_Des_s +'''''''' +.. class:: PIO_DES + + Pointer to :class:`IO_Des_s` + +.. class:: IO_DES + + Alias for :class:`IO_Des_s` + +.. class:: IO_Des_s + + .. attribute:: IOD_Count + + :class:`DWORD` + + + .. attribute:: IOD_Type + + :class:`DWORD` + + + .. attribute:: IOD_Alloc_Base + + :class:`DWORDLONG` + + + .. attribute:: IOD_Alloc_End + + :class:`DWORDLONG` + + + .. attribute:: IOD_DesFlags + + :class:`DWORD` + +IO_Range_s +'''''''''' +.. class:: IO_RANGE + + Alias for :class:`IO_Range_s` + +.. class:: PIO_RANGE + + Pointer to :class:`IO_Range_s` + +.. class:: IO_Range_s + + .. attribute:: IOR_Align + + :class:`DWORDLONG` + + + .. attribute:: IOR_nPorts + + :class:`DWORD` + + + .. attribute:: IOR_Min + + :class:`DWORDLONG` + + + .. attribute:: IOR_Max + + :class:`DWORDLONG` + + + .. attribute:: IOR_RangeFlags + + :class:`DWORD` + + + .. attribute:: IOR_Alias + + :class:`DWORDLONG` + +Mem_Des_s +''''''''' +.. class:: MEM_DES + + Alias for :class:`Mem_Des_s` + +.. class:: PMEM_DES + + Pointer to :class:`Mem_Des_s` + +.. class:: Mem_Des_s + + .. attribute:: MD_Count + + :class:`DWORD` + + + .. attribute:: MD_Type + + :class:`DWORD` + + + .. attribute:: MD_Alloc_Base + + :class:`DWORDLONG` + + + .. attribute:: MD_Alloc_End + + :class:`DWORDLONG` + + + .. attribute:: MD_Flags + + :class:`DWORD` + + + .. attribute:: MD_Reserved + + :class:`DWORD` + +Mem_Range_s +''''''''''' +.. class:: MEM_RANGE + + Alias for :class:`Mem_Range_s` + +.. class:: PMEM_RANGE + + Pointer to :class:`Mem_Range_s` + +.. class:: Mem_Range_s + + .. attribute:: MR_Align + + :class:`DWORDLONG` + + + .. attribute:: MR_nBytes + + :class:`ULONG` + + + .. attribute:: MR_Min + + :class:`DWORDLONG` + + + .. attribute:: MR_Max + + :class:`DWORDLONG` + + + .. attribute:: MR_Flags + + :class:`DWORD` + + + .. attribute:: MR_Reserved + + :class:`DWORD` + +DMA_Des_s +''''''''' +.. class:: PDMA_DES + + Pointer to :class:`DMA_Des_s` + +.. class:: DMA_DES + + Alias for :class:`DMA_Des_s` + +.. class:: DMA_Des_s + + .. attribute:: DD_Count + + :class:`DWORD` + + + .. attribute:: DD_Type + + :class:`DWORD` + + + .. attribute:: DD_Flags + + :class:`DWORD` + + + .. attribute:: DD_Alloc_Chan + + :class:`ULONG` + +DMA_Range_s +''''''''''' +.. class:: DMA_RANGE + + Alias for :class:`DMA_Range_s` + +.. class:: PDMA_RANGE + + Pointer to :class:`DMA_Range_s` + +.. class:: DMA_Range_s + + .. attribute:: DR_Min + + :class:`ULONG` + + + .. attribute:: DR_Max + + :class:`ULONG` + + + .. attribute:: DR_Flags + + :class:`ULONG` + +IRQ_Des_64_s +'''''''''''' +.. class:: IRQ_DES_64 + + Alias for :class:`IRQ_Des_64_s` + +.. class:: PIRQ_DES_64 + + Pointer to :class:`IRQ_Des_64_s` + +.. class:: IRQ_Des_64_s + + .. attribute:: IRQD_Count + + :class:`DWORD` + + + .. attribute:: IRQD_Type + + :class:`DWORD` + + + .. attribute:: IRQD_Flags + + :class:`DWORD` + + + .. attribute:: IRQD_Alloc_Num + + :class:`ULONG` + + + .. attribute:: IRQD_Affinity + + :class:`ULONG64` + +IRQ_Des_32_s +'''''''''''' +.. class:: PIRQ_DES_32 + + Pointer to :class:`IRQ_Des_32_s` + +.. class:: IRQ_DES_32 + + Alias for :class:`IRQ_Des_32_s` + +.. class:: IRQ_Des_32_s + + .. attribute:: IRQD_Count + + :class:`DWORD` + + + .. attribute:: IRQD_Type + + :class:`DWORD` + + + .. attribute:: IRQD_Flags + + :class:`DWORD` + + + .. attribute:: IRQD_Alloc_Num + + :class:`ULONG` + + + .. attribute:: IRQD_Affinity + + :class:`ULONG32` + +IRQ_Range_s +''''''''''' +.. class:: IRQ_RANGE + + Alias for :class:`IRQ_Range_s` + +.. class:: PIRQ_RANGE + + Pointer to :class:`IRQ_Range_s` + +.. class:: IRQ_Range_s + + .. attribute:: IRQR_Min + + :class:`ULONG` + + + .. attribute:: IRQR_Max + + :class:`ULONG` + + + .. attribute:: IRQR_Flags + + :class:`ULONG` + +BusNumber_Des_s +''''''''''''''' +.. class:: BUSNUMBER_DES + + Alias for :class:`BusNumber_Des_s` + +.. class:: PBUSNUMBER_DES + + Pointer to :class:`BusNumber_Des_s` + +.. class:: BusNumber_Des_s + + .. attribute:: BUSD_Count + + :class:`DWORD` + + + .. attribute:: BUSD_Type + + :class:`DWORD` + + + .. attribute:: BUSD_Flags + + :class:`DWORD` + + + .. attribute:: BUSD_Alloc_Base + + :class:`ULONG` + + + .. attribute:: BUSD_Alloc_End + + :class:`ULONG` + +BusNumber_Range_s +''''''''''''''''' +.. class:: PBUSNUMBER_RANGE + + Pointer to :class:`BusNumber_Range_s` + +.. class:: BUSNUMBER_RANGE + + Alias for :class:`BusNumber_Range_s` + +.. class:: BusNumber_Range_s + + .. attribute:: BUSR_Min + + :class:`ULONG` + + + .. attribute:: BUSR_Max + + :class:`ULONG` + + + .. attribute:: BUSR_nBusNumbers + + :class:`ULONG` + + + .. attribute:: BUSR_Flags + + :class:`ULONG` + +BusNumber_Resource_s +'''''''''''''''''''' +.. class:: BUSNUMBER_RESOURCE + + Alias for :class:`BusNumber_Resource_s` + +.. class:: PBUSNUMBER_RESOURCE + + Pointer to :class:`BusNumber_Resource_s` + +.. class:: BusNumber_Resource_s + + .. attribute:: BusNumber_Header + + :class:`BUSNUMBER_DES` + + + .. attribute:: BusNumber_Data + + :class:`BUSNUMBER_RANGE` ``[]`` + +CS_Des_s +'''''''' +.. class:: PCS_DES + + Pointer to :class:`CS_Des_s` + +.. class:: CS_DES + + Alias for :class:`CS_Des_s` + +.. class:: CS_Des_s + + .. attribute:: CSD_SignatureLength + + :class:`DWORD` + + + .. attribute:: CSD_LegacyDataOffset + + :class:`DWORD` + + + .. attribute:: CSD_LegacyDataSize + + :class:`DWORD` + + + .. attribute:: CSD_Flags + + :class:`DWORD` + + + .. attribute:: CSD_ClassGuid + + :class:`GUID` + + + .. attribute:: CSD_Signature + + :class:`BYTE` ``[]`` + +CS_Resource_s +''''''''''''' +.. class:: PCS_RESOURCE + + Pointer to :class:`CS_Resource_s` + +.. class:: CS_RESOURCE + + Alias for :class:`CS_Resource_s` + +.. class:: CS_Resource_s + + .. attribute:: CS_Header + + :class:`CS_DES` + +DMA_Des_s +''''''''' +.. class:: PDMA_DES + + Pointer to :class:`DMA_Des_s` + +.. class:: DMA_DES + + Alias for :class:`DMA_Des_s` + +.. class:: DMA_Des_s + + .. attribute:: DD_Count + + :class:`DWORD` + + + .. attribute:: DD_Type + + :class:`DWORD` + + + .. attribute:: DD_Flags + + :class:`DWORD` + + + .. attribute:: DD_Alloc_Chan + + :class:`ULONG` + +DMA_Resource_s +'''''''''''''' +.. class:: PDMA_RESOURCE + + Pointer to :class:`DMA_Resource_s` + +.. class:: DMA_RESOURCE + + Alias for :class:`DMA_Resource_s` + +.. class:: DMA_Resource_s + + .. attribute:: DMA_Header + + :class:`DMA_DES` + + + .. attribute:: DMA_Data + + :class:`DMA_RANGE` ``[]`` + +IO_Des_s +'''''''' +.. class:: PIO_DES + + Pointer to :class:`IO_Des_s` + +.. class:: IO_DES + + Alias for :class:`IO_Des_s` + +.. class:: IO_Des_s + + .. attribute:: IOD_Count + + :class:`DWORD` + + + .. attribute:: IOD_Type + + :class:`DWORD` + + + .. attribute:: IOD_Alloc_Base + + :class:`DWORDLONG` + + + .. attribute:: IOD_Alloc_End + + :class:`DWORDLONG` + + + .. attribute:: IOD_DesFlags + + :class:`DWORD` + +IO_Resource_s +''''''''''''' +.. class:: IO_RESOURCE + + Alias for :class:`IO_Resource_s` + +.. class:: PIO_RESOURCE + + Pointer to :class:`IO_Resource_s` + +.. class:: IO_Resource_s + + .. attribute:: IO_Header + + :class:`IO_DES` + + + .. attribute:: IO_Data + + :class:`IO_RANGE` ``[]`` + +IRQ_Resource_32_s +''''''''''''''''' +.. class:: PIRQ_RESOURCE_32 + + Pointer to :class:`IRQ_Resource_32_s` + +.. class:: IRQ_RESOURCE_32 + + Alias for :class:`IRQ_Resource_32_s` + +.. class:: IRQ_Resource_32_s + + .. attribute:: IRQ_Header + + :class:`IRQ_DES_32` + + + .. attribute:: IRQ_Data + + :class:`IRQ_RANGE` ``[]`` + +IRQ_Resource_64_s +''''''''''''''''' +.. class:: IRQ_RESOURCE_64 + + Alias for :class:`IRQ_Resource_64_s` + +.. class:: PIRQ_RESOURCE_64 + + Pointer to :class:`IRQ_Resource_64_s` + +.. class:: IRQ_Resource_64_s + + .. attribute:: IRQ_Header + + :class:`IRQ_DES_64` + + + .. attribute:: IRQ_Data + + :class:`IRQ_RANGE` ``[]`` + +Mem_Resource_s +'''''''''''''' +.. class:: MEM_RESOURCE + + Alias for :class:`Mem_Resource_s` + +.. class:: PMEM_RESOURCE + + Pointer to :class:`Mem_Resource_s` + +.. class:: Mem_Resource_s + + .. attribute:: MEM_Header + + :class:`MEM_DES` + + + .. attribute:: MEM_Data + + :class:`MEM_RANGE` ``[]`` + +MfCard_Des_s +'''''''''''' +.. class:: MFCARD_DES + + Alias for :class:`MfCard_Des_s` + +.. class:: PMFCARD_DES + + Pointer to :class:`MfCard_Des_s` + +.. class:: MfCard_Des_s + + .. attribute:: PMF_Count + + :class:`DWORD` + + + .. attribute:: PMF_Type + + :class:`DWORD` + + + .. attribute:: PMF_Flags + + :class:`DWORD` + + + .. attribute:: PMF_ConfigOptions + + :class:`BYTE` + + + .. attribute:: PMF_IoResourceIndex + + :class:`BYTE` + + + .. attribute:: PMF_Reserved + + :class:`BYTE` ``[]`` + + + .. attribute:: PMF_ConfigRegisterBase + + :class:`DWORD` + +MfCard_Resource_s +''''''''''''''''' +.. class:: PMFCARD_RESOURCE + + Pointer to :class:`MfCard_Resource_s` + +.. class:: MFCARD_RESOURCE + + Alias for :class:`MfCard_Resource_s` + +.. class:: MfCard_Resource_s + + .. attribute:: MfCard_Header + + :class:`MFCARD_DES` + +PcCard_Des_s +'''''''''''' +.. class:: PCCARD_DES + + Alias for :class:`PcCard_Des_s` + +.. class:: PPCCARD_DES + + Pointer to :class:`PcCard_Des_s` + +.. class:: PcCard_Des_s + + .. attribute:: PCD_Count + + :class:`DWORD` + + + .. attribute:: PCD_Type + + :class:`DWORD` + + + .. attribute:: PCD_Flags + + :class:`DWORD` + + + .. attribute:: PCD_ConfigIndex + + :class:`BYTE` + + + .. attribute:: PCD_Reserved + + :class:`BYTE` ``[]`` + + + .. attribute:: PCD_MemoryCardBase1 + + :class:`DWORD` + + + .. attribute:: PCD_MemoryCardBase2 + + :class:`DWORD` + + + .. attribute:: PCD_MemoryCardBase + + :class:`DWORD` ``[]`` + + + .. attribute:: PCD_MemoryFlags + + :class:`WORD` ``[]`` + + + .. attribute:: PCD_IoFlags + + :class:`BYTE` ``[]`` + +PcCard_Resource_s +''''''''''''''''' +.. class:: PPCCARD_RESOURCE + + Pointer to :class:`PcCard_Resource_s` + +.. class:: PCCARD_RESOURCE + + Alias for :class:`PcCard_Resource_s` + +.. class:: PcCard_Resource_s + + .. attribute:: PcCard_Header + + :class:`PCCARD_DES` + +Mem_Large_Range_s +''''''''''''''''' +.. class:: PMEM_LARGE_RANGE + + Pointer to :class:`Mem_Large_Range_s` + +.. class:: MEM_LARGE_RANGE + + Alias for :class:`Mem_Large_Range_s` + +.. class:: Mem_Large_Range_s + + .. attribute:: MLR_Align + + :class:`DWORDLONG` + + + .. attribute:: MLR_nBytes + + :class:`ULONGLONG` + + + .. attribute:: MLR_Min + + :class:`DWORDLONG` + + + .. attribute:: MLR_Max + + :class:`DWORDLONG` + + + .. attribute:: MLR_Flags + + :class:`DWORD` + + + .. attribute:: MLR_Reserved + + :class:`DWORD` + +Mem_Large_Des_s +''''''''''''''' +.. class:: PMEM_LARGE_DES + + Pointer to :class:`Mem_Large_Des_s` + +.. class:: MEM_LARGE_DES + + Alias for :class:`Mem_Large_Des_s` + +.. class:: Mem_Large_Des_s + + .. attribute:: MLD_Count + + :class:`DWORD` + + + .. attribute:: MLD_Type + + :class:`DWORD` + + + .. attribute:: MLD_Alloc_Base + + :class:`DWORDLONG` + + + .. attribute:: MLD_Alloc_End + + :class:`DWORDLONG` + + + .. attribute:: MLD_Flags + + :class:`DWORD` + + + .. attribute:: MLD_Reserved + + :class:`DWORD` + +Mem_Large_Resource_s +'''''''''''''''''''' +.. class:: MEM_LARGE_RESOURCE + + Alias for :class:`Mem_Large_Resource_s` + +.. class:: PMEM_LARGE_RESOURCE + + Pointer to :class:`Mem_Large_Resource_s` + +.. class:: Mem_Large_Resource_s + + .. attribute:: MEM_LARGE_Header + + :class:`MEM_LARGE_DES` + + + .. attribute:: MEM_LARGE_Data + + :class:`MEM_LARGE_RANGE` ``[]`` + tagMULTI_QI ''''''''''' .. class:: MULTI_QI @@ -1434,7 +2307,7 @@ tagSAFEARRAY .. attribute:: rgsabound - :class:`SAFEARRAYBOUND` ``[]`` + :class:`SAFEARRAYBOUND` ``[]`` __tagBRECORD '''''''''''' @@ -1894,7 +2767,7 @@ tagARRAYDESC .. attribute:: rgbounds - :class:`SAFEARRAYBOUND` ``[]`` + :class:`SAFEARRAYBOUND` ``[]`` tagELEMDESC ''''''''''' @@ -6775,7 +7648,7 @@ _FILE_NAME_INFORMATION .. attribute:: FileName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _FILE_NETWORK_OPEN_INFORMATION '''''''''''''''''''''''''''''' @@ -6997,7 +7870,7 @@ _FILE_STREAM_INFORMATION .. attribute:: StreamName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _FILE_DISPOSITION_INFORMATION ''''''''''''''''''''''''''''' @@ -7049,7 +7922,7 @@ _FILE_FULL_EA_INFORMATION .. attribute:: EaName - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` _FILE_GET_EA_INFORMATION '''''''''''''''''''''''' @@ -7075,7 +7948,7 @@ _FILE_GET_EA_INFORMATION .. attribute:: EaName - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` tagVS_FIXEDFILEINFO ''''''''''''''''''' @@ -7178,7 +8051,7 @@ _FILE_LINK_INFORMATION .. attribute:: FileName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _WIN32_FIND_DATAA ''''''''''''''''' @@ -7238,12 +8111,12 @@ _WIN32_FIND_DATAA .. attribute:: cFileName - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: cAlternateFileName - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: dwFileType @@ -7318,12 +8191,12 @@ _WIN32_FIND_DATAW .. attribute:: cFileName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: cAlternateFileName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: dwFileType @@ -7397,7 +8270,252 @@ _GUID .. attribute:: Data4 - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` + +_LSA_OBJECT_ATTRIBUTES +'''''''''''''''''''''' +.. class:: PLSA_OBJECT_ATTRIBUTES + + Pointer to :class:`_LSA_OBJECT_ATTRIBUTES` + +.. class:: LSA_OBJECT_ATTRIBUTES + + Alias for :class:`_LSA_OBJECT_ATTRIBUTES` + +.. class:: _LSA_OBJECT_ATTRIBUTES + + .. attribute:: Length + + :class:`ULONG` + + + .. attribute:: RootDirectory + + :class:`HANDLE` + + + .. attribute:: ObjectName + + :class:`PLSA_UNICODE_STRING` + + + .. attribute:: Attributes + + :class:`ULONG` + + + .. attribute:: SecurityDescriptor + + :class:`PVOID` + + + .. attribute:: SecurityQualityOfService + + :class:`PVOID` + +_POLICY_PRIMARY_DOMAIN_INFO +''''''''''''''''''''''''''' +.. class:: PPOLICY_PRIMARY_DOMAIN_INFO + + Pointer to :class:`_POLICY_PRIMARY_DOMAIN_INFO` + +.. class:: POLICY_PRIMARY_DOMAIN_INFO + + Alias for :class:`_POLICY_PRIMARY_DOMAIN_INFO` + +.. class:: _POLICY_PRIMARY_DOMAIN_INFO + + .. attribute:: Name + + :class:`LSA_UNICODE_STRING` + + + .. attribute:: Sid + + :class:`PSID` + +_POLICY_LSA_SERVER_ROLE_INFO +'''''''''''''''''''''''''''' +.. class:: POLICY_LSA_SERVER_ROLE_INFO + + Alias for :class:`_POLICY_LSA_SERVER_ROLE_INFO` + +.. class:: PPOLICY_LSA_SERVER_ROLE_INFO + + Pointer to :class:`_POLICY_LSA_SERVER_ROLE_INFO` + +.. class:: _POLICY_LSA_SERVER_ROLE_INFO + + .. attribute:: LsaServerRole + + :class:`POLICY_LSA_SERVER_ROLE` + +_POLICY_ACCOUNT_DOMAIN_INFO +''''''''''''''''''''''''''' +.. class:: POLICY_ACCOUNT_DOMAIN_INFO + + Alias for :class:`_POLICY_ACCOUNT_DOMAIN_INFO` + +.. class:: PPOLICY_ACCOUNT_DOMAIN_INFO + + Pointer to :class:`_POLICY_ACCOUNT_DOMAIN_INFO` + +.. class:: _POLICY_ACCOUNT_DOMAIN_INFO + + .. attribute:: DomainName + + :class:`LSA_UNICODE_STRING` + + + .. attribute:: DomainSid + + :class:`PSID` + +_POLICY_PRIMARY_DOMAIN_INFO +''''''''''''''''''''''''''' +.. class:: PPOLICY_PRIMARY_DOMAIN_INFO + + Pointer to :class:`_POLICY_PRIMARY_DOMAIN_INFO` + +.. class:: POLICY_PRIMARY_DOMAIN_INFO + + Alias for :class:`_POLICY_PRIMARY_DOMAIN_INFO` + +.. class:: _POLICY_PRIMARY_DOMAIN_INFO + + .. attribute:: Name + + :class:`LSA_UNICODE_STRING` + + + .. attribute:: Sid + + :class:`PSID` + +_LSA_TRANSLATED_SID +''''''''''''''''''' +.. class:: LSA_TRANSLATED_SID + + Alias for :class:`_LSA_TRANSLATED_SID` + +.. class:: PLSA_TRANSLATED_SID + + Pointer to :class:`_LSA_TRANSLATED_SID` + +.. class:: _LSA_TRANSLATED_SID + + .. attribute:: Use + + :class:`SID_NAME_USE` + + + .. attribute:: RelativeId + + :class:`ULONG` + + + .. attribute:: DomainIndex + + :class:`LONG` + +_LSA_TRANSLATED_SID2 +'''''''''''''''''''' +.. class:: PLSA_TRANSLATED_SID2 + + Pointer to :class:`_LSA_TRANSLATED_SID2` + +.. class:: LSA_TRANSLATED_SID2 + + Alias for :class:`_LSA_TRANSLATED_SID2` + +.. class:: _LSA_TRANSLATED_SID2 + + .. attribute:: Use + + :class:`SID_NAME_USE` + + + .. attribute:: Sid + + :class:`PSID` + + + .. attribute:: DomainIndex + + :class:`LONG` + + + .. attribute:: Flags + + :class:`ULONG` + +_LSA_TRANSLATED_NAME +'''''''''''''''''''' +.. class:: LSA_TRANSLATED_NAME + + Alias for :class:`_LSA_TRANSLATED_NAME` + +.. class:: PLSA_TRANSLATED_NAME + + Pointer to :class:`_LSA_TRANSLATED_NAME` + +.. class:: _LSA_TRANSLATED_NAME + + .. attribute:: Use + + :class:`SID_NAME_USE` + + + .. attribute:: Name + + :class:`LSA_UNICODE_STRING` + + + .. attribute:: DomainIndex + + :class:`LONG` + +_LSA_TRUST_INFORMATION +'''''''''''''''''''''' +.. class:: LSA_TRUST_INFORMATION + + Alias for :class:`_LSA_TRUST_INFORMATION` + +.. class:: PLSA_TRUST_INFORMATION + + Pointer to :class:`_LSA_TRUST_INFORMATION` + +.. class:: _LSA_TRUST_INFORMATION + + .. attribute:: Name + + :class:`LSA_UNICODE_STRING` + + + .. attribute:: Sid + + :class:`PSID` + +_LSA_REFERENCED_DOMAIN_LIST +''''''''''''''''''''''''''' +.. class:: LSA_REFERENCED_DOMAIN_LIST + + Alias for :class:`_LSA_REFERENCED_DOMAIN_LIST` + +.. class:: PLSA_REFERENCED_DOMAIN_LIST + + Pointer to :class:`_LSA_REFERENCED_DOMAIN_LIST` + +.. class:: _LSA_REFERENCED_DOMAIN_LIST + + .. attribute:: Entries + + :class:`ULONG` + + + .. attribute:: Domains + + :class:`PLSA_TRUST_INFORMATION` _PROCESS_MITIGATION_DEP_POLICY '''''''''''''''''''''''''''''' @@ -7562,7 +8680,7 @@ IP6_ADDRESS .. attribute:: IP6Qword - :class:`ULONGLONG` ``[]`` + :class:`ULONGLONG` ``[]`` _MIB_IPADDRROW_XP ''''''''''''''''' @@ -7633,7 +8751,7 @@ _MIB_IPADDRTABLE .. attribute:: table - :class:`MIB_IPADDRROW` ``[]`` + :class:`MIB_IPADDRROW` ``[]`` _MIB_IFROW '''''''''' @@ -7649,7 +8767,7 @@ _MIB_IFROW .. attribute:: wszName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: dwIndex @@ -7679,7 +8797,7 @@ _MIB_IFROW .. attribute:: bPhysAddr - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` .. attribute:: dwAdminStatus @@ -7764,7 +8882,7 @@ _MIB_IFROW .. attribute:: bDescr - :class:`UCHAR` ``[]`` + :class:`UCHAR` ``[]`` _MIB_IFTABLE '''''''''''' @@ -7785,7 +8903,7 @@ _MIB_IFTABLE .. attribute:: table - :class:`MIB_IFROW` ``[]`` + :class:`MIB_IFROW` ``[]`` _MIB_TCPROW_OWNER_PID ''''''''''''''''''''' @@ -7847,7 +8965,7 @@ _MIB_TCPTABLE_OWNER_PID .. attribute:: table - :class:`MIB_TCPROW_OWNER_PID` ``[]`` + :class:`MIB_TCPROW_OWNER_PID` ``[]`` _MIB_UDPROW_OWNER_PID ''''''''''''''''''''' @@ -7894,7 +9012,7 @@ _MIB_UDPTABLE_OWNER_PID .. attribute:: table - :class:`MIB_UDPROW_OWNER_PID` ``[]`` + :class:`MIB_UDPROW_OWNER_PID` ``[]`` _MIB_UDP6ROW_OWNER_PID '''''''''''''''''''''' @@ -7910,7 +9028,7 @@ _MIB_UDP6ROW_OWNER_PID .. attribute:: ucLocalAddr - :class:`UCHAR` ``[]`` + :class:`UCHAR` ``[]`` .. attribute:: dwLocalScopeId @@ -7946,7 +9064,7 @@ _MIB_UDP6TABLE_OWNER_PID .. attribute:: table - :class:`MIB_UDP6ROW_OWNER_PID` ``[]`` + :class:`MIB_UDP6ROW_OWNER_PID` ``[]`` _MIB_TCP6ROW_OWNER_PID '''''''''''''''''''''' @@ -7962,7 +9080,7 @@ _MIB_TCP6ROW_OWNER_PID .. attribute:: ucLocalAddr - :class:`UCHAR` ``[]`` + :class:`UCHAR` ``[]`` .. attribute:: dwLocalScopeId @@ -7977,7 +9095,7 @@ _MIB_TCP6ROW_OWNER_PID .. attribute:: ucRemoteAddr - :class:`UCHAR` ``[]`` + :class:`UCHAR` ``[]`` .. attribute:: dwRemoteScopeId @@ -8018,7 +9136,7 @@ _MIB_TCP6TABLE_OWNER_PID .. attribute:: table - :class:`MIB_TCP6ROW_OWNER_PID` ``[]`` + :class:`MIB_TCP6ROW_OWNER_PID` ``[]`` _MIB_TCPROW ''''''''''' @@ -8075,7 +9193,7 @@ _IP_ADAPTER_INDEX_MAP .. attribute:: Name - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _IP_INTERFACE_INFO '''''''''''''''''' @@ -8096,7 +9214,7 @@ _IP_INTERFACE_INFO .. attribute:: Adapter - :class:`IP_ADAPTER_INDEX_MAP` ``[]`` + :class:`IP_ADAPTER_INDEX_MAP` ``[]`` _DNS_CACHE_ENTRY '''''''''''''''' @@ -8387,7 +9505,7 @@ DNS_TXT_DATAW .. attribute:: pStringArray - :class:`PWSTR` ``[]`` + :class:`PWSTR` ``[]`` DNS_TXT_DATAA ''''''''''''' @@ -8408,7 +9526,7 @@ DNS_TXT_DATAA .. attribute:: pStringArray - :class:`PSTR` ``[]`` + :class:`PSTR` ``[]`` DNS_NULL_DATA ''''''''''''' @@ -8429,7 +9547,7 @@ DNS_NULL_DATA .. attribute:: Data - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_WKS_DATA '''''''''''' @@ -8455,7 +9573,7 @@ DNS_WKS_DATA .. attribute:: BitMask - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_AAAA_DATA ''''''''''''' @@ -8540,7 +9658,7 @@ DNS_SIG_DATAW .. attribute:: Signature - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_SIG_DATAA ''''''''''''' @@ -8609,7 +9727,7 @@ DNS_SIG_DATAA .. attribute:: Signature - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_KEY_DATA '''''''''''' @@ -8658,7 +9776,7 @@ DNS_KEY_DATA .. attribute:: Key - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_DHCID_DATA '''''''''''''' @@ -8679,7 +9797,7 @@ DNS_DHCID_DATA .. attribute:: DHCID - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_NSEC_DATAW '''''''''''''' @@ -8710,7 +9828,7 @@ DNS_NSEC_DATAW .. attribute:: TypeBitMaps - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_NSEC_DATAA '''''''''''''' @@ -8741,7 +9859,7 @@ DNS_NSEC_DATAA .. attribute:: TypeBitMaps - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_NSEC3_DATA '''''''''''''' @@ -8787,7 +9905,7 @@ DNS_NSEC3_DATA .. attribute:: chData - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_NSEC3PARAM_DATA ''''''''''''''''''' @@ -8823,12 +9941,12 @@ DNS_NSEC3PARAM_DATA .. attribute:: bPad - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` .. attribute:: pbSalt - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_DS_DATA ''''''''''' @@ -8869,7 +9987,7 @@ DNS_DS_DATA .. attribute:: Digest - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_OPT_DATA '''''''''''' @@ -8895,7 +10013,7 @@ DNS_OPT_DATA .. attribute:: Data - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_LOC_DATA '''''''''''' @@ -8967,7 +10085,7 @@ DNS_NXT_DATAW .. attribute:: wTypes - :class:`WORD` ``[]`` + :class:`WORD` ``[]`` DNS_NXT_DATAA ''''''''''''' @@ -8993,7 +10111,7 @@ DNS_NXT_DATAA .. attribute:: wTypes - :class:`WORD` ``[]`` + :class:`WORD` ``[]`` DNS_SRV_DATAW ''''''''''''' @@ -9168,7 +10286,7 @@ DNS_ATMA_DATA .. attribute:: Address - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_TKEY_DATAW '''''''''''''' @@ -9488,7 +10606,7 @@ DNS_WINS_DATA .. attribute:: WinsServers - :class:`IP4_ADDRESS` ``[]`` + :class:`IP4_ADDRESS` ``[]`` DNS_WINSR_DATAW ''''''''''''''' @@ -9586,12 +10704,12 @@ DNS_TLSA_DATA .. attribute:: bPad - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` .. attribute:: bCertificateAssociationData - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` DNS_UNKNOWN_DATA '''''''''''''''' @@ -9612,7 +10730,7 @@ DNS_UNKNOWN_DATA .. attribute:: bData - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` _DnsRecordFlags ''''''''''''''' @@ -9777,7 +10895,7 @@ _KEY_VALUE_BASIC_INFORMATION .. attribute:: Name - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _KEY_VALUE_FULL_INFORMATION ''''''''''''''''''''''''''' @@ -9818,7 +10936,7 @@ _KEY_VALUE_FULL_INFORMATION .. attribute:: Name - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _KEY_VALUE_PARTIAL_INFORMATION '''''''''''''''''''''''''''''' @@ -9849,7 +10967,7 @@ _KEY_VALUE_PARTIAL_INFORMATION .. attribute:: Data - :class:`UCHAR` ``[]`` + :class:`UCHAR` ``[]`` _ACL '''' @@ -10597,27 +11715,27 @@ _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_UNION .. attribute:: pInt64 - :class:`DWORD` ``[]`` + :class:`DWORD` ``[]`` .. attribute:: pUint64 - :class:`DWORD` ``[]`` + :class:`DWORD` ``[]`` .. attribute:: ppString - :class:`DWORD` ``[]`` + :class:`DWORD` ``[]`` .. attribute:: pFqbn - :class:`DWORD` ``[]`` + :class:`DWORD` ``[]`` .. attribute:: pOctetString - :class:`DWORD` ``[]`` + :class:`DWORD` ``[]`` _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 ''''''''''''''''''''''''''''''''''''' @@ -10721,7 +11839,7 @@ _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE .. attribute:: OctetString - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` _CLAIM_SECURITY_ATTRIBUTE_V1_UNION '''''''''''''''''''''''''''''''''' @@ -10940,7 +12058,247 @@ _PRIVILEGE_SET .. attribute:: Privilege - :class:`LUID_AND_ATTRIBUTES` ``[]`` + :class:`LUID_AND_ATTRIBUTES` ``[]`` + +_OBJECTS_AND_NAME_A +''''''''''''''''''' +.. class:: OBJECTS_AND_NAME_A + + Alias for :class:`_OBJECTS_AND_NAME_A` + +.. class:: POBJECTS_AND_NAME_A + + Pointer to :class:`_OBJECTS_AND_NAME_A` + +.. class:: _OBJECTS_AND_NAME_A + + .. attribute:: ObjectsPresent + + :class:`DWORD` + + + .. attribute:: ObjectType + + :class:`SE_OBJECT_TYPE` + + + .. attribute:: ObjectTypeName + + :class:`LPSTR` + + + .. attribute:: InheritedObjectTypeName + + :class:`LPSTR` + + + .. attribute:: ptstrName + + :class:`LPSTR` + +_OBJECTS_AND_SID +'''''''''''''''' +.. class:: POBJECTS_AND_SID + + Pointer to :class:`_OBJECTS_AND_SID` + +.. class:: OBJECTS_AND_SID + + Alias for :class:`_OBJECTS_AND_SID` + +.. class:: _OBJECTS_AND_SID + + .. attribute:: ObjectsPresent + + :class:`DWORD` + + + .. attribute:: ObjectTypeGuid + + :class:`GUID` + + + .. attribute:: InheritedObjectTypeGuid + + :class:`GUID` + + + .. attribute:: pSid + + :class:`PSID` + +_TRUSTEE_A +'''''''''' +.. class:: PTRUSTEEA + + Pointer to :class:`_TRUSTEE_A` + +.. class:: TRUSTEEA + + Alias for :class:`_TRUSTEE_A` + +.. class:: TRUSTEE_A + + Alias for :class:`_TRUSTEE_A` + +.. class:: PTRUSTEE_A + + Pointer to :class:`_TRUSTEE_A` + +.. class:: _TRUSTEE_A + + .. attribute:: pMultipleTrustee + + :class:`_TRUSTEE_A` + + + .. attribute:: MultipleTrusteeOperation + + :class:`MULTIPLE_TRUSTEE_OPERATION` + + + .. attribute:: TrusteeForm + + :class:`TRUSTEE_FORM` + + + .. attribute:: TrusteeType + + :class:`TRUSTEE_TYPE` + + + .. attribute:: anon_01 + + :class:`_ANON__TRUSTEE_A_SUB_UNION_1` + + + .. attribute:: ptstrName + + :class:`LPCH` + +_OBJECTS_AND_NAME_W +''''''''''''''''''' +.. class:: OBJECTS_AND_NAME_W + + Alias for :class:`_OBJECTS_AND_NAME_W` + +.. class:: POBJECTS_AND_NAME_W + + Pointer to :class:`_OBJECTS_AND_NAME_W` + +.. class:: _OBJECTS_AND_NAME_W + + .. attribute:: ObjectsPresent + + :class:`DWORD` + + + .. attribute:: ObjectType + + :class:`SE_OBJECT_TYPE` + + + .. attribute:: ObjectTypeName + + :class:`LPWSTR` + + + .. attribute:: InheritedObjectTypeName + + :class:`LPWSTR` + + + .. attribute:: ptstrName + + :class:`LPWSTR` + +_TRUSTEE_W +'''''''''' +.. class:: PTRUSTEE_W + + Pointer to :class:`_TRUSTEE_W` + +.. class:: TRUSTEE_W + + Alias for :class:`_TRUSTEE_W` + +.. class:: PTRUSTEEW + + Pointer to :class:`_TRUSTEE_W` + +.. class:: TRUSTEEW + + Alias for :class:`_TRUSTEE_W` + +.. class:: _TRUSTEE_W + + .. attribute:: pMultipleTrustee + + :class:`_TRUSTEE_W` + + + .. attribute:: MultipleTrusteeOperation + + :class:`MULTIPLE_TRUSTEE_OPERATION` + + + .. attribute:: TrusteeForm + + :class:`TRUSTEE_FORM` + + + .. attribute:: TrusteeType + + :class:`TRUSTEE_TYPE` + + + .. attribute:: anon_01 + + :class:`_ANON__TRUSTEE_W_SUB_UNION_1` + + + .. attribute:: ptstrName + + :class:`LPWCH` + +_EXPLICIT_ACCESS_W +'''''''''''''''''' +.. class:: EXPLICIT_ACCESSW + + Alias for :class:`_EXPLICIT_ACCESS_W` + +.. class:: PEXPLICIT_ACCESSW + + Pointer to :class:`_EXPLICIT_ACCESS_W` + +.. class:: PEXPLICIT_ACCESS_W + + Pointer to :class:`_EXPLICIT_ACCESS_W` + +.. class:: EXPLICIT_ACCESS_W + + Alias for :class:`_EXPLICIT_ACCESS_W` + +.. class:: _EXPLICIT_ACCESS_W + + .. attribute:: grfAccessPermissions + + :class:`DWORD` + + + .. attribute:: grfAccessMode + + :class:`ACCESS_MODE` + + + .. attribute:: grfInheritance + + :class:`DWORD` + + + .. attribute:: Trustee + + :class:`TRUSTEE_W` _SERVICE_STATUS ''''''''''''''' @@ -11260,6 +12618,68 @@ _QUERY_SERVICE_CONFIGW :class:`LPWSTR` +_SP_DEVICE_INTERFACE_DATA +''''''''''''''''''''''''' +.. class:: PSP_DEVICE_INTERFACE_DATA + + Pointer to :class:`_SP_DEVICE_INTERFACE_DATA` + +.. class:: SP_DEVICE_INTERFACE_DATA + + Alias for :class:`_SP_DEVICE_INTERFACE_DATA` + +.. class:: _SP_DEVICE_INTERFACE_DATA + + .. attribute:: cbSize + + :class:`DWORD` + + + .. attribute:: InterfaceClassGuid + + :class:`GUID` + + + .. attribute:: Flags + + :class:`DWORD` + + + .. attribute:: Reserved + + :class:`ULONG_PTR` + +_SP_DEVINFO_DATA +'''''''''''''''' +.. class:: PSP_DEVINFO_DATA + + Pointer to :class:`_SP_DEVINFO_DATA` + +.. class:: SP_DEVINFO_DATA + + Alias for :class:`_SP_DEVINFO_DATA` + +.. class:: _SP_DEVINFO_DATA + + .. attribute:: cbSize + + :class:`DWORD` + + + .. attribute:: ClassGuid + + :class:`GUID` + + + .. attribute:: DevInst + + :class:`DWORD` + + + .. attribute:: Reserved + + :class:`ULONG_PTR` + _SHITEMID ''''''''' .. class:: SHITEMID @@ -11275,7 +12695,7 @@ _SHITEMID .. attribute:: abID - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` _ITEMIDLIST ''''''''''' @@ -11346,22 +12766,22 @@ _IMAGEHLP_MODULE64 .. attribute:: ModuleName - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: ImageName - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: LoadedImageName - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: LoadedPdbName - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: CVSig @@ -11371,7 +12791,7 @@ _IMAGEHLP_MODULE64 .. attribute:: CVData - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: PdbSig @@ -11472,22 +12892,22 @@ _IMAGEHLP_MODULEW64 .. attribute:: ModuleName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: ImageName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: LoadedImageName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: LoadedPdbName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: CVSig @@ -11497,7 +12917,7 @@ _IMAGEHLP_MODULEW64 .. attribute:: CVData - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: PdbSig @@ -11583,7 +13003,7 @@ _SYMBOL_INFO .. attribute:: Reserved - :class:`ULONG64` ``[]`` + :class:`ULONG64` ``[]`` .. attribute:: Index @@ -11643,7 +13063,7 @@ _SYMBOL_INFO .. attribute:: Name - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` _SYMBOL_INFOW ''''''''''''' @@ -11669,7 +13089,7 @@ _SYMBOL_INFOW .. attribute:: Reserved - :class:`ULONG64` ``[]`` + :class:`ULONG64` ``[]`` .. attribute:: Index @@ -11729,7 +13149,7 @@ _SYMBOL_INFOW .. attribute:: Name - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` SYMSRV_INDEX_INFOW '''''''''''''''''' @@ -11750,7 +13170,7 @@ SYMSRV_INDEX_INFOW .. attribute:: file - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: stripped @@ -11770,12 +13190,12 @@ SYMSRV_INDEX_INFOW .. attribute:: dbgfile - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: pdbfile - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: guid @@ -11811,7 +13231,7 @@ SYMSRV_INDEX_INFO .. attribute:: file - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: stripped @@ -11831,12 +13251,12 @@ SYMSRV_INDEX_INFO .. attribute:: dbgfile - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: pdbfile - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: guid @@ -11892,7 +13312,7 @@ _IMAGEHLP_SYMBOL .. attribute:: Name - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` _IMAGEHLP_SYMBOL64 '''''''''''''''''' @@ -11933,7 +13353,7 @@ _IMAGEHLP_SYMBOL64 .. attribute:: Name - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` _IMAGEHLP_SYMBOLW64 ''''''''''''''''''' @@ -11974,7 +13394,7 @@ _IMAGEHLP_SYMBOLW64 .. attribute:: Name - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _IMAGEHLP_STACK_FRAME ''''''''''''''''''''' @@ -12020,12 +13440,12 @@ _IMAGEHLP_STACK_FRAME .. attribute:: Params - :class:`ULONG64` ``[]`` + :class:`ULONG64` ``[]`` .. attribute:: Reserved - :class:`ULONG64` ``[]`` + :class:`ULONG64` ``[]`` .. attribute:: Virtual @@ -12164,7 +13584,7 @@ _IMAGEHLP_DEFERRED_SYMBOL_LOAD .. attribute:: FileName - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: Reparse @@ -12210,7 +13630,7 @@ _IMAGEHLP_DEFERRED_SYMBOL_LOAD64 .. attribute:: FileName - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: Reparse @@ -12261,7 +13681,7 @@ _IMAGEHLP_DEFERRED_SYMBOL_LOADW64 .. attribute:: FileName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: Reparse @@ -12461,7 +13881,7 @@ _KDHELP .. attribute:: Reserved - :class:`DWORD` ``[]`` + :class:`DWORD` ``[]`` _KDHELP64 ''''''''' @@ -12557,7 +13977,7 @@ _KDHELP64 .. attribute:: Reserved0 - :class:`DWORD64` ``[]`` + :class:`DWORD64` ``[]`` _tagSTACKFRAME '''''''''''''' @@ -12598,7 +14018,7 @@ _tagSTACKFRAME .. attribute:: Params - :class:`DWORD` ``[]`` + :class:`DWORD` ``[]`` .. attribute:: Far @@ -12613,7 +14033,7 @@ _tagSTACKFRAME .. attribute:: Reserved - :class:`DWORD` ``[]`` + :class:`DWORD` ``[]`` .. attribute:: KdHelp @@ -12669,7 +14089,7 @@ _tagSTACKFRAME64 .. attribute:: Params - :class:`DWORD64` ``[]`` + :class:`DWORD64` ``[]`` .. attribute:: Far @@ -12684,7 +14104,7 @@ _tagSTACKFRAME64 .. attribute:: Reserved - :class:`DWORD64` ``[]`` + :class:`DWORD64` ``[]`` .. attribute:: KdHelp @@ -12735,7 +14155,7 @@ _tagSTACKFRAME_EX .. attribute:: Params - :class:`DWORD64` ``[]`` + :class:`DWORD64` ``[]`` .. attribute:: Far @@ -12750,7 +14170,7 @@ _tagSTACKFRAME_EX .. attribute:: Reserved - :class:`DWORD64` ``[]`` + :class:`DWORD64` ``[]`` .. attribute:: KdHelp @@ -12790,7 +14210,7 @@ _TIME_ZONE_INFORMATION .. attribute:: StandardName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: StandardDate @@ -12805,7 +14225,7 @@ _TIME_ZONE_INFORMATION .. attribute:: DaylightName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: DaylightDate @@ -12836,7 +14256,7 @@ _TOKEN_PRIVILEGES .. attribute:: Privileges - :class:`LUID_AND_ATTRIBUTES` ``[]`` + :class:`LUID_AND_ATTRIBUTES` ``[]`` _TOKEN_ELEVATION '''''''''''''''' @@ -12942,7 +14362,7 @@ _TOKEN_GROUPS .. attribute:: Groups - :class:`SID_AND_ATTRIBUTES` ``[]`` + :class:`SID_AND_ATTRIBUTES` ``[]`` _TOKEN_OWNER '''''''''''' @@ -12990,7 +14410,7 @@ _TOKEN_SOURCE .. attribute:: SourceName - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: SourceIdentifier @@ -13130,7 +14550,7 @@ _SID_AND_ATTRIBUTES_HASH .. attribute:: Hash - :class:`SID_HASH_ENTRY` ``[]`` + :class:`SID_HASH_ENTRY` ``[]`` _TOKEN_APPCONTAINER_INFORMATION ''''''''''''''''''''''''''''''' @@ -13489,7 +14909,7 @@ _PROVIDER_ENUMERATION_INFO .. attribute:: TraceProviderInfoArray - :class:`TRACE_PROVIDER_INFO` ``[]`` + :class:`TRACE_PROVIDER_INFO` ``[]`` tagRGBTRIPLE '''''''''''' @@ -13779,7 +15199,7 @@ tagBITMAPINFO .. attribute:: bmiColors - :class:`RGBQUAD` ``[]`` + :class:`RGBQUAD` ``[]`` tagBITMAPCOREINFO ''''''''''''''''' @@ -13804,7 +15224,7 @@ tagBITMAPCOREINFO .. attribute:: bmciColors - :class:`RGBTRIPLE` ``[]`` + :class:`RGBTRIPLE` ``[]`` tagWNDCLASSEXA '''''''''''''' @@ -13995,12 +15415,12 @@ _PEB_LDR_DATA .. attribute:: Reserved1 - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` .. attribute:: Reserved2 - :class:`PVOID` ``[]`` + :class:`PVOID` ``[]`` .. attribute:: InMemoryOrderModuleList @@ -14242,7 +15662,7 @@ _RTL_USER_PROCESS_PARAMETERS .. attribute:: CurrentDirectores - :class:`RTL_DRIVE_LETTER_CURDIR` ``[]`` + :class:`RTL_DRIVE_LETTER_CURDIR` ``[]`` _ANON_PEB_SYSTEM_DEPENDENT_02 ''''''''''''''''''''''''''''' @@ -14356,7 +15776,7 @@ _PEB .. attribute:: Reserved1 - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` .. attribute:: BeingDebugged @@ -14366,7 +15786,7 @@ _PEB .. attribute:: Reserved2 - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` .. attribute:: Mutant @@ -14451,7 +15871,7 @@ _PEB .. attribute:: TlsBitmapBits - :class:`DWORD` ``[]`` + :class:`DWORD` ``[]`` .. attribute:: ReadOnlySharedMemoryBase @@ -14601,12 +16021,12 @@ _PEB .. attribute:: GdiHandleBuffer - :class:`PVOID` ``[]`` + :class:`PVOID` ``[]`` .. attribute:: GdiHandleBuffer2 - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` .. attribute:: PostProcessInitRoutine @@ -14621,7 +16041,7 @@ _PEB .. attribute:: TlsExpansionBitmapBits - :class:`DWORD` ``[]`` + :class:`DWORD` ``[]`` .. attribute:: SessionId @@ -14909,7 +16329,7 @@ _LDR_DATA_TABLE_ENTRY .. attribute:: Reserved1 - :class:`PVOID` ``[]`` + :class:`PVOID` ``[]`` .. attribute:: InMemoryOrderLinks @@ -14919,7 +16339,7 @@ _LDR_DATA_TABLE_ENTRY .. attribute:: Reserved2 - :class:`PVOID` ``[]`` + :class:`PVOID` ``[]`` .. attribute:: DllBase @@ -14949,7 +16369,7 @@ _LDR_DATA_TABLE_ENTRY .. attribute:: Reserved5 - :class:`PVOID` ``[]`` + :class:`PVOID` ``[]`` .. attribute:: CheckSum @@ -15042,7 +16462,7 @@ _IMAGE_SECTION_HEADER .. attribute:: Name - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` .. attribute:: VirtualSize @@ -15248,7 +16668,7 @@ _IMAGE_OPTIONAL_HEADER64 .. attribute:: DataDirectory - :class:`IMAGE_DATA_DIRECTORY` ``[]`` + :class:`IMAGE_DATA_DIRECTORY` ``[]`` _IMAGE_OPTIONAL_HEADER '''''''''''''''''''''' @@ -15414,7 +16834,7 @@ _IMAGE_OPTIONAL_HEADER .. attribute:: DataDirectory - :class:`IMAGE_DATA_DIRECTORY` ``[]`` + :class:`IMAGE_DATA_DIRECTORY` ``[]`` _IMAGE_NT_HEADERS64 ''''''''''''''''''' @@ -15523,7 +16943,7 @@ _IMAGE_IMPORT_BY_NAME .. attribute:: Name - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` _IMAGE_EXPORT_DIRECTORY ''''''''''''''''''''''' @@ -15868,7 +17288,7 @@ _PSAPI_WORKING_SET_INFORMATION .. attribute:: WorkingSetInfo - :class:`PSAPI_WORKING_SET_BLOCK` ``[]`` + :class:`PSAPI_WORKING_SET_BLOCK` ``[]`` _PSAPI_WORKING_SET_INFORMATION32 '''''''''''''''''''''''''''''''' @@ -15889,7 +17309,7 @@ _PSAPI_WORKING_SET_INFORMATION32 .. attribute:: WorkingSetInfo - :class:`PSAPI_WORKING_SET_BLOCK32` ``[]`` + :class:`PSAPI_WORKING_SET_BLOCK32` ``[]`` _PSAPI_WORKING_SET_INFORMATION64 '''''''''''''''''''''''''''''''' @@ -15910,7 +17330,7 @@ _PSAPI_WORKING_SET_INFORMATION64 .. attribute:: WorkingSetInfo - :class:`PSAPI_WORKING_SET_BLOCK64` ``[]`` + :class:`PSAPI_WORKING_SET_BLOCK64` ``[]`` _PSAPI_WORKING_SET_EX_BLOCK ''''''''''''''''''''''''''' @@ -16347,7 +17767,7 @@ _FLOATING_SAVE_AREA .. attribute:: RegisterArea - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` .. attribute:: Cr0NpxState @@ -16492,7 +17912,7 @@ _CONTEXT32 .. attribute:: ExtendedRegisters - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` _WOW64_FLOATING_SAVE_AREA ''''''''''''''''''''''''' @@ -16539,7 +17959,7 @@ _WOW64_FLOATING_SAVE_AREA .. attribute:: RegisterArea - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` .. attribute:: Cr0NpxState @@ -16680,7 +18100,7 @@ _WOW64_CONTEXT .. attribute:: ExtendedRegisters - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` _M128A '''''' @@ -16782,17 +18202,17 @@ _XSAVE_FORMAT_64 .. attribute:: FloatRegisters - :class:`M128A` ``[]`` + :class:`M128A` ``[]`` .. attribute:: XmmRegisters - :class:`M128A` ``[]`` + :class:`M128A` ``[]`` .. attribute:: Reserved4 - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` _XSAVE_FORMAT_32 '''''''''''''''' @@ -16873,22 +18293,22 @@ _XSAVE_FORMAT_32 .. attribute:: FloatRegisters - :class:`M128A` ``[]`` + :class:`M128A` ``[]`` .. attribute:: XmmRegisters - :class:`M128A` ``[]`` + :class:`M128A` ``[]`` .. attribute:: Reserved4 - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` .. attribute:: StackControl - :class:`DWORD` ``[]`` + :class:`DWORD` ``[]`` .. attribute:: Cr0NpxState @@ -16905,12 +18325,12 @@ _TMP_DUMMYSTRUCTNAME .. attribute:: Header - :class:`M128A` ``[]`` + :class:`M128A` ``[]`` .. attribute:: Legacy - :class:`M128A` ``[]`` + :class:`M128A` ``[]`` .. attribute:: Xmm0 @@ -17222,7 +18642,7 @@ _CONTEXT64 .. attribute:: VectorRegister - :class:`M128A` ``[]`` + :class:`M128A` ``[]`` .. attribute:: VectorControl @@ -17317,7 +18737,7 @@ tagPROCESSENTRY32W .. attribute:: szExeFile - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` tagPROCESSENTRY32 ''''''''''''''''' @@ -17382,7 +18802,7 @@ tagPROCESSENTRY32 .. attribute:: szExeFile - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` tagTHREADENTRY32 '''''''''''''''' @@ -17519,7 +18939,7 @@ _OSVERSIONINFOA .. attribute:: szCSDVersion - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` _OSVERSIONINFOW ''''''''''''''' @@ -17572,7 +18992,7 @@ _OSVERSIONINFOW .. attribute:: szCSDVersion - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _OSVERSIONINFOEXA ''''''''''''''''' @@ -17617,7 +19037,7 @@ _OSVERSIONINFOEXA .. attribute:: szCSDVersion - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` .. attribute:: wServicePackMajor @@ -17695,7 +19115,7 @@ _OSVERSIONINFOEXW .. attribute:: szCSDVersion - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: wServicePackMajor @@ -17792,7 +19212,7 @@ _EXCEPTION_RECORD .. attribute:: ExceptionInformation - :class:`ULONG_PTR` ``[]`` + :class:`ULONG_PTR` ``[]`` _EXCEPTION_RECORD32 ''''''''''''''''''' @@ -17833,7 +19253,7 @@ _EXCEPTION_RECORD32 .. attribute:: ExceptionInformation - :class:`DWORD` ``[]`` + :class:`DWORD` ``[]`` _EXCEPTION_RECORD64 ''''''''''''''''''' @@ -17879,7 +19299,7 @@ _EXCEPTION_RECORD64 .. attribute:: ExceptionInformation - :class:`DWORD64` ``[]`` + :class:`DWORD64` ``[]`` _EXCEPTION_POINTERS64 ''''''''''''''''''''' @@ -17973,7 +19393,7 @@ _DEBUG_PROCESSOR_IDENTIFICATION_AMD64 .. attribute:: VendorString - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` _DEBUG_PROCESSOR_IDENTIFICATION_IA64 '''''''''''''''''''''''''''''''''''' @@ -18009,7 +19429,7 @@ _DEBUG_PROCESSOR_IDENTIFICATION_IA64 .. attribute:: VendorString - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` _DEBUG_PROCESSOR_IDENTIFICATION_X86 ''''''''''''''''''''''''''''''''''' @@ -18040,7 +19460,7 @@ _DEBUG_PROCESSOR_IDENTIFICATION_X86 .. attribute:: VendorString - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` _DEBUG_PROCESSOR_IDENTIFICATION_ARM ''''''''''''''''''''''''''''''''''' @@ -18149,7 +19569,7 @@ _SYSTEM_MODULE32 .. attribute:: Reserved - :class:`ULONG` ``[]`` + :class:`ULONG` ``[]`` .. attribute:: Base @@ -18189,7 +19609,7 @@ _SYSTEM_MODULE32 .. attribute:: ImageName - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` _SYSTEM_MODULE64 '''''''''''''''' @@ -18205,7 +19625,7 @@ _SYSTEM_MODULE64 .. attribute:: Reserved - :class:`ULONG` ``[]`` + :class:`ULONG` ``[]`` .. attribute:: Base @@ -18245,7 +19665,7 @@ _SYSTEM_MODULE64 .. attribute:: ImageName - :class:`CHAR` ``[]`` + :class:`CHAR` ``[]`` _SYSTEM_MODULE_INFORMATION32 '''''''''''''''''''''''''''' @@ -18266,7 +19686,7 @@ _SYSTEM_MODULE_INFORMATION32 .. attribute:: Modules - :class:`SYSTEM_MODULE32` ``[]`` + :class:`SYSTEM_MODULE32` ``[]`` _SYSTEM_MODULE_INFORMATION64 '''''''''''''''''''''''''''' @@ -18287,7 +19707,7 @@ _SYSTEM_MODULE_INFORMATION64 .. attribute:: Modules - :class:`SYSTEM_MODULE64` ``[]`` + :class:`SYSTEM_MODULE64` ``[]`` _DEBUG_BREAKPOINT_PARAMETERS '''''''''''''''''''''''''''' @@ -18445,12 +19865,12 @@ _DEBUG_STACK_FRAME .. attribute:: Params - :class:`ULONG64` ``[]`` + :class:`ULONG64` ``[]`` .. attribute:: Reserved - :class:`ULONG64` ``[]`` + :class:`ULONG64` ``[]`` .. attribute:: Virtual @@ -18920,7 +20340,7 @@ _SID_IDENTIFIER_AUTHORITY .. attribute:: Value - :class:`BYTE` ``[]`` + :class:`BYTE` ``[]`` _STRING ''''''' @@ -19081,7 +20501,7 @@ CATALOG_INFO_ .. attribute:: wszCatalogFile - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _SYSTEM_HANDLE '''''''''''''' @@ -19176,7 +20596,7 @@ _SYSTEM_HANDLE_INFORMATION .. attribute:: Handles - :class:`SYSTEM_HANDLE` ``[]`` + :class:`SYSTEM_HANDLE` ``[]`` _SYSTEM_HANDLE_INFORMATION64 '''''''''''''''''''''''''''' @@ -19197,7 +20617,7 @@ _SYSTEM_HANDLE_INFORMATION64 .. attribute:: Handles - :class:`SYSTEM_HANDLE64` ``[]`` + :class:`SYSTEM_HANDLE64` ``[]`` __PUBLIC_OBJECT_TYPE_INFORMATION '''''''''''''''''''''''''''''''' @@ -19218,7 +20638,7 @@ __PUBLIC_OBJECT_TYPE_INFORMATION .. attribute:: Reserved - :class:`ULONG` ``[]`` + :class:`ULONG` ``[]`` _PUBLIC_OBJECT_BASIC_INFORMATION '''''''''''''''''''''''''''''''' @@ -19254,7 +20674,7 @@ _PUBLIC_OBJECT_BASIC_INFORMATION .. attribute:: Reserved - :class:`ULONG` ``[]`` + :class:`ULONG` ``[]`` _OBJECT_TYPES_INFORMATION ''''''''''''''''''''''''' @@ -19415,47 +20835,47 @@ _DEBUG_VALUE_TMP_UNION .. attribute:: F80Bytes - :class:`UCHAR` ``[]`` + :class:`UCHAR` ``[]`` .. attribute:: F82Bytes - :class:`UCHAR` ``[]`` + :class:`UCHAR` ``[]`` .. attribute:: F128Bytes - :class:`UCHAR` ``[]`` + :class:`UCHAR` ``[]`` .. attribute:: VI8 - :class:`UCHAR` ``[]`` + :class:`UCHAR` ``[]`` .. attribute:: VI16 - :class:`USHORT` ``[]`` + :class:`USHORT` ``[]`` .. attribute:: VI32 - :class:`ULONG` ``[]`` + :class:`ULONG` ``[]`` .. attribute:: VI64 - :class:`ULONG64` ``[]`` + :class:`ULONG64` ``[]`` .. attribute:: VF32 - :class:`FLOAT` ``[]`` + :class:`FLOAT` ``[]`` .. attribute:: VF64 - :class:`DOUBLE` ``[]`` + :class:`DOUBLE` ``[]`` .. attribute:: I64Parts32 @@ -19470,7 +20890,7 @@ _DEBUG_VALUE_TMP_UNION .. attribute:: RawBytes - :class:`UCHAR` ``[]`` + :class:`UCHAR` ``[]`` _DEBUG_VALUE '''''''''''' @@ -19679,7 +21099,7 @@ _DEBUG_MODULE_PARAMETERS .. attribute:: Reserved - :class:`ULONG64` ``[]`` + :class:`ULONG64` ``[]`` _DEBUG_MODULE_AND_ID '''''''''''''''''''' @@ -19833,12 +21253,12 @@ _RTL_UNLOAD_EVENT_TRACE .. attribute:: ImageName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: Version - :class:`ULONG` ``[]`` + :class:`ULONG` ``[]`` _RTL_UNLOAD_EVENT_TRACE32 ''''''''''''''''''''''''' @@ -19879,12 +21299,12 @@ _RTL_UNLOAD_EVENT_TRACE32 .. attribute:: ImageName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: Version - :class:`ULONG` ``[]`` + :class:`ULONG` ``[]`` _RTL_UNLOAD_EVENT_TRACE64 ''''''''''''''''''''''''' @@ -19925,12 +21345,12 @@ _RTL_UNLOAD_EVENT_TRACE64 .. attribute:: ImageName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` .. attribute:: Version - :class:`ULONG` ``[]`` + :class:`ULONG` ``[]`` _FILE_FS_ATTRIBUTE_INFORMATION '''''''''''''''''''''''''''''' @@ -19961,7 +21381,7 @@ _FILE_FS_ATTRIBUTE_INFORMATION .. attribute:: FileSystemName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _FILE_FS_LABEL_INFORMATION '''''''''''''''''''''''''' @@ -19982,7 +21402,7 @@ _FILE_FS_LABEL_INFORMATION .. attribute:: VolumeLabel - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _FILE_FS_SIZE_INFORMATION ''''''''''''''''''''''''' @@ -20127,12 +21547,12 @@ _FILE_FS_OBJECTID_INFORMATION .. attribute:: ObjectId - :class:`UCHAR` ``[]`` + :class:`UCHAR` ``[]`` .. attribute:: ExtendedInfo - :class:`UCHAR` ``[]`` + :class:`UCHAR` ``[]`` _FILE_FS_DRIVER_PATH_INFORMATION '''''''''''''''''''''''''''''''' @@ -20158,7 +21578,7 @@ _FILE_FS_DRIVER_PATH_INFORMATION .. attribute:: DriverName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _FILE_FS_DRIVER_PATH_INFORMATION '''''''''''''''''''''''''''''''' @@ -20184,7 +21604,7 @@ _FILE_FS_DRIVER_PATH_INFORMATION .. attribute:: DriverName - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _FILE_FS_VOLUME_INFORMATION ''''''''''''''''''''''''''' @@ -20220,7 +21640,7 @@ _FILE_FS_VOLUME_INFORMATION .. attribute:: VolumeLabel - :class:`WCHAR` ``[]`` + :class:`WCHAR` ``[]`` _FILE_FS_SECTOR_SIZE_INFORMATION '''''''''''''''''''''''''''''''' @@ -20600,7 +22020,7 @@ _API_SET_NAMESPACE_ARRAY .. attribute:: Array - :class:`API_SET_NAMESPACE_ENTRY` ``[]`` + :class:`API_SET_NAMESPACE_ENTRY` ``[]`` _API_SET_VALUE_ENTRY_V2 ''''''''''''''''''''''' @@ -20652,7 +22072,7 @@ _API_SET_VALUE_ARRAY_V2 .. attribute:: Array - :class:`API_SET_VALUE_ENTRY_V2` ``[]`` + :class:`API_SET_VALUE_ENTRY_V2` ``[]`` _API_SET_NAMESPACE_ENTRY_V2 ''''''''''''''''''''''''''' @@ -20704,7 +22124,7 @@ _API_SET_NAMESPACE_ARRAY_V2 .. attribute:: Array - :class:`API_SET_NAMESPACE_ENTRY_V2` ``[]`` + :class:`API_SET_NAMESPACE_ENTRY_V2` ``[]`` _API_SET_VALUE_ARRAY_V4 ''''''''''''''''''''''' @@ -20730,7 +22150,7 @@ _API_SET_VALUE_ARRAY_V4 .. attribute:: Array - :class:`API_SET_VALUE_ENTRY_V2` ``[]`` + :class:`API_SET_VALUE_ENTRY_V2` ``[]`` _API_SET_NAMESPACE_ARRAY_V4 ''''''''''''''''''''''''''' @@ -20766,7 +22186,7 @@ _API_SET_NAMESPACE_ARRAY_V4 .. attribute:: Array - :class:`API_SET_NAMESPACE_ENTRY` ``[]`` + :class:`API_SET_NAMESPACE_ENTRY` ``[]`` _API_SET_NAMESPACE_ENTRY_V4 ''''''''''''''''''''''''''' @@ -21062,6 +22482,10 @@ Simple types .. autoclass:: va_list +.. autoclass:: LPCH + +.. autoclass:: LPWCH + .. autoclass:: BSTR .. autoclass:: OLECHAR @@ -21102,6 +22526,8 @@ Simple types Pointer to :class:`DWORD64` +.. autoclass:: DWORDLONG + .. autoclass:: SCODE .. autoclass:: CIMTYPE @@ -21212,6 +22638,10 @@ Simple types .. autoclass:: UINT64 +.. autoclass:: ULONG32 + +.. autoclass:: LONG32 + .. class:: PHANDLE Pointer to :class:`HANDLE` @@ -21242,6 +22672,16 @@ Simple types .. autoclass:: EVT_OBJECT_ARRAY_PROPERTY_HANDLE +.. autoclass:: LSA_HANDLE + +.. class:: PLSA_HANDLE + + Pointer to :class:`LSA_HANDLE` + +.. autoclass:: HDSKSPC + +.. autoclass:: HDEVINFO + .. autoclass:: IP4_ADDRESS .. autoclass:: PSECURITY_DESCRIPTOR @@ -21274,6 +22714,58 @@ Simple types .. autoclass:: PSID +.. autoclass:: CONFIGRET + +.. autoclass:: DEVNODE + +.. autoclass:: DEVINST + +.. class:: PDEVNODE + + Pointer to :class:`DEVNODE` + +.. class:: PDEVINST + + Pointer to :class:`DEVINST` + +.. autoclass:: PRIORITY + +.. class:: PPRIORITY + + Pointer to :class:`PRIORITY` + +.. autoclass:: RES_DES + +.. class:: PRES_DES + + Pointer to :class:`RES_DES` + +.. autoclass:: HMACHINE + +.. class:: PHMACHINE + + Pointer to :class:`HMACHINE` + +.. autoclass:: LOG_CONF + +.. class:: PLOG_CONF + + Pointer to :class:`LOG_CONF` + +.. autoclass:: RESOURCEID + +.. class:: PRESOURCEID + + Pointer to :class:`RESOURCEID` + +.. autoclass:: DEVNODEID_A + +.. autoclass:: DEVINSTID_A + +.. autoclass:: DEVNODEID_W + +.. autoclass:: DEVINSTID_W + .. autoclass:: RPCOLEDATAREP .. autoclass:: HREFTYPE @@ -22946,6 +24438,88 @@ _IO_PRIORITY_HINT .. attribute:: MaxIoPriorityTypes(5) +_POLICY_INFORMATION_CLASS +''''''''''''''''''''''''' +.. class:: POLICY_INFORMATION_CLASS + + Alias for :class:`_POLICY_INFORMATION_CLASS` + + +.. class:: PPOLICY_INFORMATION_CLASS + + Pointer to :class:`_POLICY_INFORMATION_CLASS` + + +.. class:: _POLICY_INFORMATION_CLASS + + + .. attribute:: PolicyAuditLogInformation(1) + + + .. attribute:: PolicyAuditEventsInformation(2) + + + .. attribute:: PolicyPrimaryDomainInformation(3) + + + .. attribute:: PolicyPdAccountInformation(4) + + + .. attribute:: PolicyAccountDomainInformation(5) + + + .. attribute:: PolicyLsaServerRoleInformation(6) + + + .. attribute:: PolicyReplicaSourceInformation(7) + + + .. attribute:: PolicyDefaultQuotaInformation(8) + + + .. attribute:: PolicyModificationInformation(9) + + + .. attribute:: PolicyAuditFullSetInformation(10) + + + .. attribute:: PolicyAuditFullQueryInformation(11) + + + .. attribute:: PolicyDnsDomainInformation(12) + + + .. attribute:: PolicyDnsDomainInformationInt(13) + + + .. attribute:: PolicyLocalAccountDomainInformation(14) + + + .. attribute:: PolicyMachineAccountInformation(15) + + + .. attribute:: PolicyLastEntry(16) + +_POLICY_LSA_SERVER_ROLE +''''''''''''''''''''''' +.. class:: POLICY_LSA_SERVER_ROLE + + Alias for :class:`_POLICY_LSA_SERVER_ROLE` + + +.. class:: PPOLICY_LSA_SERVER_ROLE + + Pointer to :class:`_POLICY_LSA_SERVER_ROLE` + + +.. class:: _POLICY_LSA_SERVER_ROLE + + + .. attribute:: PolicyServerRoleBackup(0) + + + .. attribute:: PolicyServerRolePrimary(1) + NDR_FORMAT_CHARACTER '''''''''''''''''''' .. class:: NDR_FORMAT_CHARACTER @@ -23557,6 +25131,111 @@ _ACL_INFORMATION_CLASS .. attribute:: AclSizeInformation(2) +_MULTIPLE_TRUSTEE_OPERATION +''''''''''''''''''''''''''' +.. class:: MULTIPLE_TRUSTEE_OPERATION + + Alias for :class:`_MULTIPLE_TRUSTEE_OPERATION` + + +.. class:: _MULTIPLE_TRUSTEE_OPERATION + + + .. attribute:: NO_MULTIPLE_TRUSTEE(0) + + + .. attribute:: TRUSTEE_IS_IMPERSONATE(1) + +_TRUSTEE_FORM +''''''''''''' +.. class:: TRUSTEE_FORM + + Alias for :class:`_TRUSTEE_FORM` + + +.. class:: _TRUSTEE_FORM + + + .. attribute:: TRUSTEE_IS_SID(0) + + + .. attribute:: TRUSTEE_IS_NAME(1) + + + .. attribute:: TRUSTEE_BAD_FORM(2) + + + .. attribute:: TRUSTEE_IS_OBJECTS_AND_SID(3) + + + .. attribute:: TRUSTEE_IS_OBJECTS_AND_NAME(4) + +_TRUSTEE_TYPE +''''''''''''' +.. class:: TRUSTEE_TYPE + + Alias for :class:`_TRUSTEE_TYPE` + + +.. class:: _TRUSTEE_TYPE + + + .. attribute:: TRUSTEE_IS_UNKNOWN(0) + + + .. attribute:: TRUSTEE_IS_USER(1) + + + .. attribute:: TRUSTEE_IS_GROUP(2) + + + .. attribute:: TRUSTEE_IS_DOMAIN(3) + + + .. attribute:: TRUSTEE_IS_ALIAS(4) + + + .. attribute:: TRUSTEE_IS_WELL_KNOWN_GROUP(5) + + + .. attribute:: TRUSTEE_IS_DELETED(6) + + + .. attribute:: TRUSTEE_IS_INVALID(7) + + + .. attribute:: TRUSTEE_IS_COMPUTER(8) + +_ACCESS_MODE +'''''''''''' +.. class:: ACCESS_MODE + + Alias for :class:`_ACCESS_MODE` + + +.. class:: _ACCESS_MODE + + + .. attribute:: NOT_USED_ACCESS(0) + + + .. attribute:: GRANT_ACCESS(1) + + + .. attribute:: SET_ACCESS(2) + + + .. attribute:: DENY_ACCESS(3) + + + .. attribute:: REVOKE_ACCESS(4) + + + .. attribute:: SET_AUDIT_SUCCESS(5) + + + .. attribute:: SET_AUDIT_FAILURE(6) + _SC_STATUS_TYPE ''''''''''''''' .. class:: SC_STATUS_TYPE diff --git a/docs/build/html/_static/basic.css b/docs/build/html/_static/basic.css index 19ced10..0807176 100644 --- a/docs/build/html/_static/basic.css +++ b/docs/build/html/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -81,6 +81,10 @@ div.sphinxsidebar input { font-size: 1em; } +div.sphinxsidebar #searchbox form.search { + overflow: hidden; +} + div.sphinxsidebar #searchbox input[type="text"] { float: left; width: 80%; @@ -427,6 +431,13 @@ table.field-list td, table.field-list th { hyphens: manual; } +/* -- hlist styles ---------------------------------------------------------- */ + +table.hlist td { + vertical-align: top; +} + + /* -- other body styles ----------------------------------------------------- */ ol.arabic { diff --git a/docs/build/html/_static/classic.css b/docs/build/html/_static/classic.css index 6cfbfb9..8c6dae4 100644 --- a/docs/build/html/_static/classic.css +++ b/docs/build/html/_static/classic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- classic theme. * - * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/docs/build/html/_static/doctools.js b/docs/build/html/_static/doctools.js index d892892..344db17 100644 --- a/docs/build/html/_static/doctools.js +++ b/docs/build/html/_static/doctools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for all documentation. * - * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -150,7 +150,9 @@ var Documentation = { this.fixFirefoxAnchorBug(); this.highlightSearchWords(); this.initIndexTable(); - + if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) { + this.initOnKeyListeners(); + } }, /** @@ -310,4 +312,4 @@ _ = Documentation.gettext; $(document).ready(function() { Documentation.init(); -}); \ No newline at end of file +}); diff --git a/docs/build/html/_static/documentation_options.js b/docs/build/html/_static/documentation_options.js index 2ef6b3c..f28147c 100644 --- a/docs/build/html/_static/documentation_options.js +++ b/docs/build/html/_static/documentation_options.js @@ -1,9 +1,10 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '0.5', + VERSION: '0.6', LANGUAGE: 'None', COLLAPSE_INDEX: false, FILE_SUFFIX: '.html', HAS_SOURCE: true, - SOURCELINK_SUFFIX: '.txt' + SOURCELINK_SUFFIX: '.txt', + NAVIGATION_WITH_KEYS: false, }; \ No newline at end of file diff --git a/docs/build/html/_static/language_data.js b/docs/build/html/_static/language_data.js new file mode 100644 index 0000000..5266fb1 --- /dev/null +++ b/docs/build/html/_static/language_data.js @@ -0,0 +1,297 @@ +/* + * language_data.js + * ~~~~~~~~~~~~~~~~ + * + * This script contains the language-specific data used by searchtools.js, + * namely the list of stopwords, stemmer, scorer and splitter. + * + * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS. + * :license: BSD, see LICENSE for details. + * + */ + +var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"]; + + +/* Non-minified version JS is _stemmer.js if file is provided */ +/** + * Porter Stemmer + */ +var Stemmer = function() { + + var step2list = { + ational: 'ate', + tional: 'tion', + enci: 'ence', + anci: 'ance', + izer: 'ize', + bli: 'ble', + alli: 'al', + entli: 'ent', + eli: 'e', + ousli: 'ous', + ization: 'ize', + ation: 'ate', + ator: 'ate', + alism: 'al', + iveness: 'ive', + fulness: 'ful', + ousness: 'ous', + aliti: 'al', + iviti: 'ive', + biliti: 'ble', + logi: 'log' + }; + + var step3list = { + icate: 'ic', + ative: '', + alize: 'al', + iciti: 'ic', + ical: 'ic', + ful: '', + ness: '' + }; + + var c = "[^aeiou]"; // consonant + var v = "[aeiouy]"; // vowel + var C = c + "[^aeiouy]*"; // consonant sequence + var V = v + "[aeiou]*"; // vowel sequence + + var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 + var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 + var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 + var s_v = "^(" + C + ")?" + v; // vowel in stem + + this.stemWord = function (w) { + var stem; + var suffix; + var firstch; + var origword = w; + + if (w.length < 3) + return w; + + var re; + var re2; + var re3; + var re4; + + firstch = w.substr(0,1); + if (firstch == "y") + w = firstch.toUpperCase() + w.substr(1); + + // Step 1a + re = /^(.+?)(ss|i)es$/; + re2 = /^(.+?)([^s])s$/; + + if (re.test(w)) + w = w.replace(re,"$1$2"); + else if (re2.test(w)) + w = w.replace(re2,"$1$2"); + + // Step 1b + re = /^(.+?)eed$/; + re2 = /^(.+?)(ed|ing)$/; + if (re.test(w)) { + var fp = re.exec(w); + re = new RegExp(mgr0); + if (re.test(fp[1])) { + re = /.$/; + w = w.replace(re,""); + } + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1]; + re2 = new RegExp(s_v); + if (re2.test(stem)) { + w = stem; + re2 = /(at|bl|iz)$/; + re3 = new RegExp("([^aeiouylsz])\\1$"); + re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re2.test(w)) + w = w + "e"; + else if (re3.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + else if (re4.test(w)) + w = w + "e"; + } + } + + // Step 1c + re = /^(.+?)y$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(s_v); + if (re.test(stem)) + w = stem + "i"; + } + + // Step 2 + re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step2list[suffix]; + } + + // Step 3 + re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + suffix = fp[2]; + re = new RegExp(mgr0); + if (re.test(stem)) + w = stem + step3list[suffix]; + } + + // Step 4 + re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; + re2 = /^(.+?)(s|t)(ion)$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + if (re.test(stem)) + w = stem; + } + else if (re2.test(w)) { + var fp = re2.exec(w); + stem = fp[1] + fp[2]; + re2 = new RegExp(mgr1); + if (re2.test(stem)) + w = stem; + } + + // Step 5 + re = /^(.+?)e$/; + if (re.test(w)) { + var fp = re.exec(w); + stem = fp[1]; + re = new RegExp(mgr1); + re2 = new RegExp(meq1); + re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); + if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) + w = stem; + } + re = /ll$/; + re2 = new RegExp(mgr1); + if (re.test(w) && re2.test(w)) { + re = /.$/; + w = w.replace(re,""); + } + + // and turn initial Y back to y + if (firstch == "y") + w = firstch.toLowerCase() + w.substr(1); + return w; + } +} + + + + + +var splitChars = (function() { + var result = {}; + var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648, + 1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702, + 2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971, + 2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345, + 3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761, + 3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823, + 4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125, + 8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695, + 11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587, + 43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141]; + var i, j, start, end; + for (i = 0; i < singles.length; i++) { + result[singles[i]] = true; + } + var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709], + [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161], + [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568], + [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807], + [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047], + [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383], + [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450], + [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547], + [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673], + [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820], + [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946], + [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023], + [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173], + [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332], + [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481], + [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718], + [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791], + [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095], + [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205], + [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687], + [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968], + [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869], + [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102], + [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271], + [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592], + [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822], + [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167], + [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959], + [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143], + [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318], + [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483], + [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101], + [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567], + [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292], + [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444], + [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783], + [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311], + [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511], + [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774], + [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071], + [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263], + [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519], + [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647], + [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967], + [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295], + [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274], + [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007], + [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381], + [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]]; + for (i = 0; i < ranges.length; i++) { + start = ranges[i][0]; + end = ranges[i][1]; + for (j = start; j <= end; j++) { + result[j] = true; + } + } + return result; +})(); + +function splitQuery(query) { + var result = []; + var start = -1; + for (var i = 0; i < query.length; i++) { + if (splitChars[query.charCodeAt(i)]) { + if (start !== -1) { + result.push(query.slice(start, i)); + start = -1; + } + } else if (start === -1) { + start = i; + } + } + if (start !== -1) { + result.push(query.slice(start)); + } + return result; +} + + diff --git a/docs/build/html/_static/searchtools.js b/docs/build/html/_static/searchtools.js index 41b8336..5ff3180 100644 --- a/docs/build/html/_static/searchtools.js +++ b/docs/build/html/_static/searchtools.js @@ -1,331 +1,52 @@ /* - * searchtools.js_t + * searchtools.js * ~~~~~~~~~~~~~~~~ * * Sphinx JavaScript utilities for the full-text search. * - * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ +if (!Scorer) { + /** + * Simple result scoring code. + */ + var Scorer = { + // Implement the following function to further tweak the score for each result + // The function takes a result array [filename, title, anchor, descr, score] + // and returns the new score. + /* + score: function(result) { + return result[4]; + }, + */ -/* Non-minified version JS is _stemmer.js if file is provided */ -/** - * Porter Stemmer - */ -var Stemmer = function() { + // query matches the full name of an object + objNameMatch: 11, + // or matches in the last dotted part of the object name + objPartialMatch: 6, + // Additive scores depending on the priority of the object + objPrio: {0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5}, // used to be unimportantResults + // Used when the priority is not in the mapping. + objPrioDefault: 0, - var step2list = { - ational: 'ate', - tional: 'tion', - enci: 'ence', - anci: 'ance', - izer: 'ize', - bli: 'ble', - alli: 'al', - entli: 'ent', - eli: 'e', - ousli: 'ous', - ization: 'ize', - ation: 'ate', - ator: 'ate', - alism: 'al', - iveness: 'ive', - fulness: 'ful', - ousness: 'ous', - aliti: 'al', - iviti: 'ive', - biliti: 'ble', - logi: 'log' + // query found in title + title: 15, + // query found in terms + term: 5 }; +} - var step3list = { - icate: 'ic', - ative: '', - alize: 'al', - iciti: 'ic', - ical: 'ic', - ful: '', - ness: '' - }; - - var c = "[^aeiou]"; // consonant - var v = "[aeiouy]"; // vowel - var C = c + "[^aeiouy]*"; // consonant sequence - var V = v + "[aeiou]*"; // vowel sequence - - var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0 - var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 - var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 - var s_v = "^(" + C + ")?" + v; // vowel in stem - - this.stemWord = function (w) { - var stem; - var suffix; - var firstch; - var origword = w; - - if (w.length < 3) - return w; - - var re; - var re2; - var re3; - var re4; - - firstch = w.substr(0,1); - if (firstch == "y") - w = firstch.toUpperCase() + w.substr(1); - - // Step 1a - re = /^(.+?)(ss|i)es$/; - re2 = /^(.+?)([^s])s$/; - - if (re.test(w)) - w = w.replace(re,"$1$2"); - else if (re2.test(w)) - w = w.replace(re2,"$1$2"); - - // Step 1b - re = /^(.+?)eed$/; - re2 = /^(.+?)(ed|ing)$/; - if (re.test(w)) { - var fp = re.exec(w); - re = new RegExp(mgr0); - if (re.test(fp[1])) { - re = /.$/; - w = w.replace(re,""); - } - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = new RegExp(s_v); - if (re2.test(stem)) { - w = stem; - re2 = /(at|bl|iz)$/; - re3 = new RegExp("([^aeiouylsz])\\1$"); - re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re2.test(w)) - w = w + "e"; - else if (re3.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - else if (re4.test(w)) - w = w + "e"; - } - } - - // Step 1c - re = /^(.+?)y$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(s_v); - if (re.test(stem)) - w = stem + "i"; - } - - // Step 2 - re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step2list[suffix]; - } - - // Step 3 - re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step3list[suffix]; - } - - // Step 4 - re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - re2 = /^(.+?)(s|t)(ion)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - if (re.test(stem)) - w = stem; - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = new RegExp(mgr1); - if (re2.test(stem)) - w = stem; - } - - // Step 5 - re = /^(.+?)e$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - re2 = new RegExp(meq1); - re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) - w = stem; - } - re = /ll$/; - re2 = new RegExp(mgr1); - if (re.test(w) && re2.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - - // and turn initial Y back to y - if (firstch == "y") - w = firstch.toLowerCase() + w.substr(1); - return w; +if (!splitQuery) { + function splitQuery(query) { + return query.split(/\s+/); } } - - -/** - * Simple result scoring code. - */ -var Scorer = { - // Implement the following function to further tweak the score for each result - // The function takes a result array [filename, title, anchor, descr, score] - // and returns the new score. - /* - score: function(result) { - return result[4]; - }, - */ - - // query matches the full name of an object - objNameMatch: 11, - // or matches in the last dotted part of the object name - objPartialMatch: 6, - // Additive scores depending on the priority of the object - objPrio: {0: 15, // used to be importantResults - 1: 5, // used to be objectResults - 2: -5}, // used to be unimportantResults - // Used when the priority is not in the mapping. - objPrioDefault: 0, - - // query found in title - title: 15, - // query found in terms - term: 5 -}; - - - - - -var splitChars = (function() { - var result = {}; - var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648, - 1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702, - 2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971, - 2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345, - 3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761, - 3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823, - 4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125, - 8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695, - 11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587, - 43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141]; - var i, j, start, end; - for (i = 0; i < singles.length; i++) { - result[singles[i]] = true; - } - var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709], - [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161], - [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568], - [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807], - [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047], - [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383], - [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450], - [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547], - [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673], - [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820], - [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946], - [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023], - [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173], - [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332], - [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481], - [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718], - [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791], - [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095], - [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205], - [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687], - [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968], - [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869], - [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102], - [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271], - [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592], - [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822], - [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167], - [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959], - [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143], - [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318], - [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483], - [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101], - [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567], - [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292], - [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444], - [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783], - [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311], - [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511], - [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774], - [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071], - [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263], - [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519], - [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647], - [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967], - [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295], - [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274], - [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007], - [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381], - [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]]; - for (i = 0; i < ranges.length; i++) { - start = ranges[i][0]; - end = ranges[i][1]; - for (j = start; j <= end; j++) { - result[j] = true; - } - } - return result; -})(); - -function splitQuery(query) { - var result = []; - var start = -1; - for (var i = 0; i < query.length; i++) { - if (splitChars[query.charCodeAt(i)]) { - if (start !== -1) { - result.push(query.slice(start, i)); - start = -1; - } - } else if (start === -1) { - start = i; - } - } - if (start !== -1) { - result.push(query.slice(start)); - } - return result; -} - - - - /** * Search Module */ @@ -417,7 +138,6 @@ var Search = { */ query : function(query) { var i; - var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"]; // stem the searchterms and add them to the correct list var stemmer = new Stemmer(); @@ -758,4 +478,4 @@ var Search = { $(document).ready(function() { Search.init(); -}); \ No newline at end of file +}); diff --git a/docs/build/html/_static/sidebar.js b/docs/build/html/_static/sidebar.js index dfbfb05..686ca39 100644 --- a/docs/build/html/_static/sidebar.js +++ b/docs/build/html/_static/sidebar.js @@ -16,7 +16,7 @@ * Once the browser is closed the cookie is deleted and the position * reset to the default (expanded). * - * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/docs/build/html/_static/websupport.js b/docs/build/html/_static/websupport.js index 78e14bb..3b4999e 100644 --- a/docs/build/html/_static/websupport.js +++ b/docs/build/html/_static/websupport.js @@ -4,7 +4,7 @@ * * sphinx.websupport utilities for all documentation. * - * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/docs/build/html/alpc.html b/docs/build/html/alpc.html index db59fbf..75a8167 100644 --- a/docs/build/html/alpc.html +++ b/docs/build/html/alpc.html @@ -6,14 +6,17 @@ - 12. windows.alpc – Advanced Local Procedure Call — PythonForWindows 0.5 documentation + 12. windows.alpc – Advanced Local Procedure Call — PythonForWindows 0.6 documentation - + + + + @@ -34,7 +37,7 @@
  • previous |
  • - + @@ -321,6 +324,12 @@ ALPC messages over an ALPC port and the classes representing these messages.

    +
    +
    +port_name = None
    +

    The name of the ALPC port the client is connect to.

    +
    +
    recv(receive_msg=None, flags=0)
    @@ -492,7 +501,7 @@ ALPC messages over an ALPC port and the classes representing these messages.

    @@ -134,7 +137,7 @@ You can then use the instance to call whatever method you need.

    @@ -507,6 +510,12 @@ See Certificate embded in the message

    +
    +
    +classmethod from_buffer(object, offset=0) → C instance[source]
    +

    create a C instance from a writeable buffer

    +
    +
    get_cert(index=0)[source]
    @@ -680,7 +689,7 @@ See \ No newline at end of file diff --git a/docs/build/html/debug.html b/docs/build/html/debug.html index 2f4b163..4b73f22 100644 --- a/docs/build/html/debug.html +++ b/docs/build/html/debug.html @@ -6,14 +6,17 @@ - 9. windows.debug – Debugging — PythonForWindows 0.5 documentation + 9. windows.debug – Debugging — PythonForWindows 0.6 documentation - + + + + @@ -34,7 +37,7 @@
  • previous |
  • - + @@ -49,6 +52,11 @@

    Note

    See sample Debugging

    +
    +

    Note

    +

    If you are interrested by symbols (PDB) handling, go to subsection windows.debug.symbols – Using symbols.

    +

    You can also look at the symbols-related samples: Symbols

    +

    9.1. Debugger

    The Debugger is the base class to perform the debugging of a remote process. @@ -360,9 +368,26 @@ and DBG_EXCEPTION_N

    + +
    +

    9.2. SymbolDebugger

    +
    +

    Note

    +

    See sample SymbolDebugger

    +
    +
    +
    +class windows.debug.SymbolDebugger(*args, **kwargs)[source]
    +

    Bases: windows.debug.debugger.Debugger

    +

    A debugger using the symbol API (hence PDB) for name resolution. +To use PDB, a correct version of dbghelp should be configured as well as _NT_SYMBOL_PATH. +(See windows.debug.symbols – Using symbols)

    +

    This debugger add a current_resolver variable (A ProcessSymbolHandler) for the current_process.

    +
    +
    -

    9.2. LocalDebugger

    +

    9.3. LocalDebugger

    Note

    See sample LocalDebugger

    @@ -423,7 +448,7 @@ It is based on
    -

    9.3. Breakpoint

    +

    9.4. Breakpoint

    Standard breakpoints types expect an address as argument.

    An address can be:

    @@ -506,6 +531,12 @@ It is based on

    Setup a breakpoint at the return address of the function, this breakpoint will call ret_trigger()

    +
    +
    +get_ret_addr(dbg, exception)[source]
    +

    Get the return address of the current target, only valid in the trigger() function.

    +
    +
    ret_trigger(dbg, exception)[source]
    @@ -556,6 +587,12 @@ It is based on

    Extracts the functions parameters in an OrderedDict

    +
    +
    +get_ret_addr(dbg, exception)
    +

    Get the return address of the current target, only valid in the trigger() function.

    +
    +
    ret_trigger(dbg, exception)
    @@ -573,6 +610,681 @@ It is based on

    Note

    See sample windows.debug.FunctionBP

    +
    +
    +
    +

    9.5. windows.debug.symbols – Using symbols

    +

    The windows.debug.symbols module provide classes to load PDB and resolve name/address. +In its current state, this module does not handle types.

    +
    +

    Note

    +

    See samples Symbols

    +
    +
    +

    9.5.1. Configuration

    +

    In order to be able to automatically download PDB and parse remote _NT_SYMBOL_PATH, a debug version of the DLL dbghelp.dll must be used. +(See MSDN: DbgHelp Versions)

    +

    As it is NOT recommended to replace system32/dbghelp.dll, its path must be provided to PythonForWindows. +This path must be provided before any call to the dbghelp.dll APIs. +Also, the symsrv.dll DLL should be present in the same directory as dbghelp.dll (See SymSrv Installation)

    +

    There is 2 ways to pass this information to PythonForWindows:

    +
    +
      +
    • Using the function set_dbghelp_path()
    • +
    • +
      Using the environment variable PFW_DBGHELP_PATH
      +
        +
      • If this variable exists it will simply trigger a call to set_dbghelp_path(PFW_DBGHELP_PATH)
      • +
      +
      +
      +
    • +
    +
    +

    If the given path is a directory, the final path will be computer as path\<current_process_bitness>\dbghelp.dll. +This allow to use the same script (or environment variable) transparently in bot 32b & 64b python interpreters.

    +
    +

    Note

    +

    For example, on my computer my setup is done through the environment variable: PFW_DBGHELP_PATH=D:\pysym\bin

    +

    This directory have the following layout:

    +
    +
    +
    $ tree /A /F %PFW_DBGHELP_PATH%
    +
    +
    D:\PYSYM\BIN
    +
    | symsrv.yes
    +
    |
    +
    +---32
    +
    | dbghelp.dll
    +
    | symsrv.dll
    +
    |
    +
    \---64
    +
    +
    dbghelp.dll
    +
    symsrv.dll
    +
    +
    +
    +
    +
    +
    +
    +

    9.5.2. Helpers

    +
    +
    +windows.debug.symbols.set_dbghelp_path(path)[source]
    +

    Set the path of the dbghelp.dll file to use. It allow to configure a different version of the DLL handling PDB downloading.

    +

    If path is a directory, the final dbghelp.dll will be computed as +path\<current_process_bitness>\dbghelp.dll.

    +

    This allow to use the same script transparently in both 32b & 64b python interpreters.

    +
    + +
    +
    +class windows.debug.symbols.SymbolEngine[source]
    +

    Represent the global symbol engine. Just a proxy to get/set global engine options

    +

    Its instance can be accessed using windows.debug.symbols.engine

    +

    Exemple:

    +
    >>> windows.debug.symbols.engine.options
    +6L
    +>>> windows.debug.symbols.engine.options = gdef.SYMOPT_UNDNAME
    +>>> windows.debug.symbols.engine.options
    +2L
    +
    +
    +
    +
    +options
    +

    The options of the Symbol engine +(see options)

    +
    +

    Note

    +

    Default options are: gdef.SYMOPT_DEFERRED_LOADS + gdef.SYMOPT_UNDNAME

    +
    +
    + +
    + +
    +
    +

    9.5.3. VirtualSymbolHandler

    +
    +
    +class windows.debug.symbols.VirtualSymbolHandler(search_path=None)[source]
    +

    Bases: windows.debug.symbols.SymbolHandler

    +

    A SymbolHandler where its handle is not a valid process handle +Allow to create/resolve symbol in a ‘virtual’ process +But all API needing a real process handle will fail

    +
    +
    +__getitem__(name_or_addr)
    +

    Resolve name_or_addr.

    +

    If its an int -> Return the SymbolInfo at the address. +If its a string -> Return the SymbolInfo corresponding to the symbol name

    + +++ + + + +
    Returns:SymbolInfo
    +
    +

    Note

    +

    __getitem__ is an alias for resolve()

    +
    +

    Exemple:

    +
    >>> sh = windows.debug.symbols.VirtualSymbolHandler()
    +>>> mod = sh.load_file(r"c:\windows\system32\kernelbase.dll")
    +>>> mod
    +<SymbolModule name="kernelbase" type=SymPdb pdb="wkernelbase.pdb" addr=0x10000000>
    +>>> sh.resolve("kernelbase!CreateFileInternal")
    +<SymbolInfoA name="CreateFileInternal" addr=0x100f2120 tag=SymTagFunction>
    +>>> sh[0x100f2042]
    +<SymbolInfoA name="ReadFile" addr=0x100f1ee0 displacement=0x162 tag=SymTagFunction>
    +>>> str(sh[0x100f2042])
    +'kernelbase!ReadFile+0x162'
    +
    +
    +
    + +
    +
    +load(path, name=None, addr=0, size=0, data=None, flags=0)
    +

    An alias for VirtualSymbolHandler.load_file()

    +
    + +
    +
    +load_file(path, name=None, addr=0, size=0, data=None, flags=0)
    +

    Load the module path at addr

    + +++ + + + +
    Returns:SymbolModule – The loaded module
    +
    + +
    +
    +load_module(file_handle=None, path=None, name=None, addr=0, size=0, data=None, flags=0)
    +

    Load a module at a given addr. The module to load can be pass via a file_handle +or the direct path of the file to load.

    + +++ + + + +
    Returns:SymbolModule – The loaded module
    +
    +

    Note

    +

    The logic of SymLoadModuleEx seems somewhat strange about the naming of the loaded module. +A custom module name is only taken into account if the file is passed via a File handle. +To make it more intuitive, if this function is call with a path and name and no file_handle, +it will open the path and directly call SymLoadModuleEx with a file handle and a name.

    +
    +
    + +
    +
    +modules
    +

    The list of loaded modules

    + +++ + + + +
    Returns:[SymbolModule] – A list of modules
    +
    + +
    +
    +refresh()[source]
    +

    Do nothing for a VirtualSymbolHandler

    +
    + +
    +
    +resolve(name_or_addr)
    +

    Resolve name_or_addr.

    +

    If its an int -> Return the SymbolInfo at the address. +If its a string -> Return the SymbolInfo corresponding to the symbol name

    + +++ + + + +
    Returns:SymbolInfo
    +
    +

    Note

    +

    __getitem__ is an alias for resolve()

    +
    +

    Exemple:

    +
    >>> sh = windows.debug.symbols.VirtualSymbolHandler()
    +>>> mod = sh.load_file(r"c:\windows\system32\kernelbase.dll")
    +>>> mod
    +<SymbolModule name="kernelbase" type=SymPdb pdb="wkernelbase.pdb" addr=0x10000000>
    +>>> sh.resolve("kernelbase!CreateFileInternal")
    +<SymbolInfoA name="CreateFileInternal" addr=0x100f2120 tag=SymTagFunction>
    +>>> sh[0x100f2042]
    +<SymbolInfoA name="ReadFile" addr=0x100f1ee0 displacement=0x162 tag=SymTagFunction>
    +>>> str(sh[0x100f2042])
    +'kernelbase!ReadFile+0x162'
    +
    +
    +
    + +
    +
    +search(mask, mod=0, tag=0, options=SYMSEARCH_ALLITEMS(0x8), callback=None)
    +

    Search the symbols matching mask (Windbg like).

    + +++ + + + +
    Returns:[SymbolInfo] – A list of SymbolInfo
    +
    >>> sh = windows.debug.symbols.VirtualSymbolHandler()
    +>>> mod = sh.load_file(r"c:\windows\system32\kernelbase.dll")
    +>>> sh.search("kernelbase!CreateFile*")
    +[<SymbolInfoA name="CreateFileInternal" addr=0x100f2120 tag=SymTagFunction>,
    +    <SymbolInfoA name="CreateFileMoniker" addr=0x10117d80 tag=SymTagFunction>,
    +    <SymbolInfoA name="CreateFile2" addr=0x1011e690 tag=SymTagFunction>,
    +    ...]
    +
    +
    +
    + +
    +
    +unload(addr)
    +

    Unload the module at addr

    +
    + +
    + +
    +
    +

    9.5.4. ProcessSymbolHandler

    +
    +
    +class windows.debug.symbols.ProcessSymbolHandler(process, search_path=None, invade_process=False)[source]
    +

    Bases: windows.debug.symbols.SymbolHandler

    +
    +
    +__getitem__(name_or_addr)
    +

    Resolve name_or_addr.

    +

    If its an int -> Return the SymbolInfo at the address. +If its a string -> Return the SymbolInfo corresponding to the symbol name

    + +++ + + + +
    Returns:SymbolInfo
    +
    +

    Note

    +

    __getitem__ is an alias for resolve()

    +
    +

    Exemple:

    +
    >>> sh = windows.debug.symbols.VirtualSymbolHandler()
    +>>> mod = sh.load_file(r"c:\windows\system32\kernelbase.dll")
    +>>> mod
    +<SymbolModule name="kernelbase" type=SymPdb pdb="wkernelbase.pdb" addr=0x10000000>
    +>>> sh.resolve("kernelbase!CreateFileInternal")
    +<SymbolInfoA name="CreateFileInternal" addr=0x100f2120 tag=SymTagFunction>
    +>>> sh[0x100f2042]
    +<SymbolInfoA name="ReadFile" addr=0x100f1ee0 displacement=0x162 tag=SymTagFunction>
    +>>> str(sh[0x100f2042])
    +'kernelbase!ReadFile+0x162'
    +
    +
    +
    + +
    +
    +load(name)[source]
    +

    Load the SymbolModule associated with the loaded module name (as found in the PEB)

    + +++ + + + +
    Returns:SymbolModule
    +

    Exemple:

    +
    >>> sh = windows.debug.symbols.ProcessSymbolHandler(windows.test.pop_proc_64())
    +<windows.debug.symbols.ProcessSymbolHandler object at 0x033A2C30>
    +>>> sh
    +<windows.debug.symbols.ProcessSymbolHandler object at 0x033A2C30>
    +>>> sh.load("kernelbase.dll")
    +<SymbolModule name="kernelbase" type=SymDeferred pdb="" addr=0x7ffb5b090000>
    +>>> sh["kernelbase!CreateProcessA"]
    +<SymbolInfoA name="CreateProcessA" start=0x7ffb5b2371f0 tag=SymTagPublicSymbol>
    +
    +
    +
    + +
    +
    +load_file(path, name=None, addr=0, size=0, data=None, flags=0)
    +

    Load the module path at addr

    + +++ + + + +
    Returns:SymbolModule – The loaded module
    +
    + +
    +
    +load_module(file_handle=None, path=None, name=None, addr=0, size=0, data=None, flags=0)
    +

    Load a module at a given addr. The module to load can be pass via a file_handle +or the direct path of the file to load.

    + +++ + + + +
    Returns:SymbolModule – The loaded module
    +
    +

    Note

    +

    The logic of SymLoadModuleEx seems somewhat strange about the naming of the loaded module. +A custom module name is only taken into account if the file is passed via a File handle. +To make it more intuitive, if this function is call with a path and name and no file_handle, +it will open the path and directly call SymLoadModuleEx with a file handle and a name.

    +
    +
    + +
    +
    +modules
    +

    The list of loaded modules

    + +++ + + + +
    Returns:[SymbolModule] – A list of modules
    +
    + +
    +
    +refresh()[source]
    +

    Update the list of loaded modules to match the modules present in the target process

    +
    +

    Note

    +

    This function only call SymRefreshModuleList for now. +It seems that this function do not handle refreshing a 64b target from a 32b python

    +

    Also, on a 32b target from a 64b python it seems to only load symbols for the 64b modules (ntdll + syswow dll)

    +
    +

    Exemple:

    +
    >>> sh = windows.debug.symbols.ProcessSymbolHandler(windows.test.pop_proc_64())
    +>>> sh.modules
    +[]
    +>>> sh.refresh()
    +44
    +>>> sh.modules
    +[<SymbolModule name="notepad" type=SymDeferred pdb="" addr=0x7ff772b80000>,
    +    <SymbolModule name="ntdll" type=SymDeferred pdb="" addr=0x7ffb5d860000>,
    +    <SymbolModule name="KERNEL32" type=SymDeferred pdb="" addr=0x7ffb5bb90000>,
    +    <SymbolModule name="KERNELBASE" type=SymDeferred pdb="" addr=0x7ffb5b090000>,
    +    ...]
    +
    +
    +
    + +
    +
    +resolve(name_or_addr)
    +

    Resolve name_or_addr.

    +

    If its an int -> Return the SymbolInfo at the address. +If its a string -> Return the SymbolInfo corresponding to the symbol name

    + +++ + + + +
    Returns:SymbolInfo
    +
    +

    Note

    +

    __getitem__ is an alias for resolve()

    +
    +

    Exemple:

    +
    >>> sh = windows.debug.symbols.VirtualSymbolHandler()
    +>>> mod = sh.load_file(r"c:\windows\system32\kernelbase.dll")
    +>>> mod
    +<SymbolModule name="kernelbase" type=SymPdb pdb="wkernelbase.pdb" addr=0x10000000>
    +>>> sh.resolve("kernelbase!CreateFileInternal")
    +<SymbolInfoA name="CreateFileInternal" addr=0x100f2120 tag=SymTagFunction>
    +>>> sh[0x100f2042]
    +<SymbolInfoA name="ReadFile" addr=0x100f1ee0 displacement=0x162 tag=SymTagFunction>
    +>>> str(sh[0x100f2042])
    +'kernelbase!ReadFile+0x162'
    +
    +
    +
    + +
    +
    +search(mask, mod=0, tag=0, options=SYMSEARCH_ALLITEMS(0x8), callback=None)
    +

    Search the symbols matching mask (Windbg like).

    + +++ + + + +
    Returns:[SymbolInfo] – A list of SymbolInfo
    +
    >>> sh = windows.debug.symbols.VirtualSymbolHandler()
    +>>> mod = sh.load_file(r"c:\windows\system32\kernelbase.dll")
    +>>> sh.search("kernelbase!CreateFile*")
    +[<SymbolInfoA name="CreateFileInternal" addr=0x100f2120 tag=SymTagFunction>,
    +    <SymbolInfoA name="CreateFileMoniker" addr=0x10117d80 tag=SymTagFunction>,
    +    <SymbolInfoA name="CreateFile2" addr=0x1011e690 tag=SymTagFunction>,
    +    ...]
    +
    +
    +
    + +
    +
    +unload(addr)
    +

    Unload the module at addr

    +
    + +
    + +
    +
    +

    9.5.5. SymbolModule

    +
    +
    +class windows.debug.symbols.SymbolModule(resolver)[source]
    +

    Bases: windows.generated_def.winstructs._IMAGEHLP_MODULE64

    +

    Represent a loaded symbol module +(see MSDN IMAGEHLP_MODULE64)

    +
    +

    Note

    +

    This represent a module in the symbol space for symbol resolution. +This can be completly virtual (particularly in the case of VirtualSymbolHandler

    +
    +
    +
    +addr
    +

    The load address of the module

    +
    + +
    +
    +name
    +

    The name of the module

    +
    + +
    +
    +path
    +

    The full path and file name of the file from which symbols were loaded.

    +
    + +
    +
    +pdb
    +

    The local path of the loaded PDB if present

    +
    +
    Exemple:
    +
    >>> sh = windows.debug.symbols.VirtualSymbolHandler()
    +>>> mod = sh.load_file(r"c:\windows\system32\kernelbase.dll")
    +>>> mod.pdb
    +'d:\symbols\wkernelbase.pdb\017FA9C5278235B7E6BFBA74A9A5AAD91\wkernelbase.pdb'
    +
    +
    +
    +
    +
    + +
    +
    +type
    +

    The type of module (SYM_TYPE), +which can be one of:

    +
    +
    ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    SymCoffCOFF symbols.
    SymCvCodeView symbols.
    SymDeferredSymbol loading deferred.
    SymDiaDIA symbols.
    SymExportSymbols generated from a DLL export table.
    SymNoneNo symbols are loaded.
    SymPdbPDB symbols.
    SymSym.sym file.
    SymVirtualThe virtual module created by SymLoadModuleEx with SLMFLAG_VIRTUAL.
    +
    +
    + +
    + +
    +
    +

    9.5.6. SymbolInfo

    +
    +
    +windows.debug.symbols.SymbolInfo
    +

    alias of windows.debug.symbols.SymbolInfoA

    +
    + +
    +
    +class windows.debug.symbols.SymbolInfoA[source]
    +

    Bases: windows.generated_def.winstructs._SYMBOL_INFO, windows.debug.symbols.SymbolInfoBase

    +

    Represent a Symbol. +This class in based on the class SYMBOL_INFO +with the handling on displacement embeded into it.s

    +

    Exemple:

    +
    >>> sh = windows.debug.symbols.VirtualSymbolHandler()
    +>>> mod = sh.load_file(r"c:\windows\system32\kernelbase.dll")
    +>>> sym1 = sh["kernelbase!CreateFileW"]
    +>>> sym2 = sh[int(sym1) + 3]
    +>>> sym2
    +<SymbolInfoA name="CreateFileW" start=0x100f20b0 displacement=0x3 tag=SymTagPublicSymbol>
    +>>> hex(sym2.start)
    +'0x100f20b0L'
    +>>> hex(sym2.addr)
    +'0x100f20b3L'
    +>>> hex(sym2.displacement)
    +'0x3L'
    +>>> str(sym2)
    +'kernelbase!CreateFileW+0x3'
    +
    +
    +
    +
    +displacement
    +

    The displacement between the addresse and the start of the symbol (name)

    +
    + +
    +
    +CHAR_TYPE
    +

    alias of ctypes.c_char

    +
    + +
    +
    +__int__()
    +

    An alias for addr

    +
    + +
    +
    +__str__()
    +

    The fullname of the symbol in the windbg format mod!sym+displacement

    +
    + +
    +
    +addr
    +

    The address of the symbol

    +
    + +
    +
    +fullname
    +

    The fullname of the symbol in the windbg format mod!sym+displacement

    +
    + +
    +
    +module
    +

    The module containing the symbol

    + +++ + + + +
    Type:SymbolModule
    +
    + +
    +
    +name
    +

    The name of the symbol

    +
    + +
    +
    +start
    +

    The address of the start of the symbol +If the symbol include a displacement, it is not taken into account

    +
    + +
    +
    +tag
    +

    The Tag of the module

    + +++ + + + +
    Type:SymTagEnum
    +
    + +
    +
    @@ -583,12 +1295,22 @@ It is based on @@ -34548,13 +34551,13 @@
  • previous |
  • - + \ No newline at end of file diff --git a/docs/build/html/winobject.html b/docs/build/html/winobject.html index dd02927..9450af9 100644 --- a/docs/build/html/winobject.html +++ b/docs/build/html/winobject.html @@ -6,14 +6,17 @@ - 2. The windows objects — PythonForWindows 0.5 documentation + 2. The windows objects — PythonForWindows 0.6 documentation - + + + + @@ -34,7 +37,7 @@
  • previous |
  • - + @@ -98,7 +101,11 @@ parts are accessible.

  • 2.7.2. Firewall
  • -
  • 2.8. Service
  • +
  • 2.8. Service +
  • 2.9. Volume – The logical drives
  • 2.10. WMI – Make request to WMI
  • -
  • 2.14. Task scheduler @@ -1655,9 +1658,1247 @@ + +
    +

    14.3.44. IO_Des_s

    +
    +
    +class windows.generated_def.winstructs.PIO_DES
    +

    Pointer to IO_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.IO_DES
    +

    Alias for IO_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.IO_Des_s[source]
    +
    +
    +IOD_Count
    +

    DWORD

    +
    + +
    +
    +IOD_Type
    +

    DWORD

    +
    + +
    +
    +IOD_Alloc_Base
    +

    DWORDLONG

    +
    + +
    +
    +IOD_Alloc_End
    +

    DWORDLONG

    +
    + +
    +
    +IOD_DesFlags
    +

    DWORD

    +
    + +
    + +
    +
    +

    14.3.45. IO_Range_s

    +
    +
    +class windows.generated_def.winstructs.IO_RANGE
    +

    Alias for IO_Range_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PIO_RANGE
    +

    Pointer to IO_Range_s

    +
    + +
    +
    +class windows.generated_def.winstructs.IO_Range_s[source]
    +
    +
    +IOR_Align
    +

    DWORDLONG

    +
    + +
    +
    +IOR_nPorts
    +

    DWORD

    +
    + +
    +
    +IOR_Min
    +

    DWORDLONG

    +
    + +
    +
    +IOR_Max
    +

    DWORDLONG

    +
    + +
    +
    +IOR_RangeFlags
    +

    DWORD

    +
    + +
    +
    +IOR_Alias
    +

    DWORDLONG

    +
    + +
    + +
    +
    +

    14.3.46. Mem_Des_s

    +
    +
    +class windows.generated_def.winstructs.MEM_DES
    +

    Alias for Mem_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PMEM_DES
    +

    Pointer to Mem_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.Mem_Des_s[source]
    +
    +
    +MD_Count
    +

    DWORD

    +
    + +
    +
    +MD_Type
    +

    DWORD

    +
    + +
    +
    +MD_Alloc_Base
    +

    DWORDLONG

    +
    + +
    +
    +MD_Alloc_End
    +

    DWORDLONG

    +
    + +
    +
    +MD_Flags
    +

    DWORD

    +
    + +
    +
    +MD_Reserved
    +

    DWORD

    +
    + +
    + +
    +
    +

    14.3.47. Mem_Range_s

    +
    +
    +class windows.generated_def.winstructs.MEM_RANGE
    +

    Alias for Mem_Range_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PMEM_RANGE
    +

    Pointer to Mem_Range_s

    +
    + +
    +
    +class windows.generated_def.winstructs.Mem_Range_s[source]
    +
    +
    +MR_Align
    +

    DWORDLONG

    +
    + +
    +
    +MR_nBytes
    +

    ULONG

    +
    + +
    +
    +MR_Min
    +

    DWORDLONG

    +
    + +
    +
    +MR_Max
    +

    DWORDLONG

    +
    + +
    +
    +MR_Flags
    +

    DWORD

    +
    + +
    +
    +MR_Reserved
    +

    DWORD

    +
    + +
    + +
    +
    +

    14.3.48. DMA_Des_s

    +
    +
    +class windows.generated_def.winstructs.PDMA_DES
    +

    Pointer to DMA_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.DMA_DES
    +

    Alias for DMA_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.DMA_Des_s[source]
    +
    +
    +DD_Count
    +

    DWORD

    +
    + +
    +
    +DD_Type
    +

    DWORD

    +
    + +
    +
    +DD_Flags
    +

    DWORD

    +
    + +
    +
    +DD_Alloc_Chan
    +

    ULONG

    +
    + +
    + +
    +
    +

    14.3.49. DMA_Range_s

    +
    +
    +class windows.generated_def.winstructs.DMA_RANGE
    +

    Alias for DMA_Range_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PDMA_RANGE
    +

    Pointer to DMA_Range_s

    +
    + +
    +
    +class windows.generated_def.winstructs.DMA_Range_s[source]
    +
    +
    +DR_Min
    +

    ULONG

    +
    + +
    +
    +DR_Max
    +

    ULONG

    +
    + +
    +
    +DR_Flags
    +

    ULONG

    +
    + +
    + +
    +
    +

    14.3.50. IRQ_Des_64_s

    +
    +
    +class windows.generated_def.winstructs.IRQ_DES_64
    +

    Alias for IRQ_Des_64_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PIRQ_DES_64
    +

    Pointer to IRQ_Des_64_s

    +
    + +
    +
    +class windows.generated_def.winstructs.IRQ_Des_64_s[source]
    +
    +
    +IRQD_Count
    +

    DWORD

    +
    + +
    +
    +IRQD_Type
    +

    DWORD

    +
    + +
    +
    +IRQD_Flags
    +

    DWORD

    +
    + +
    +
    +IRQD_Alloc_Num
    +

    ULONG

    +
    + +
    +
    +IRQD_Affinity
    +

    ULONG64

    +
    + +
    + +
    +
    +

    14.3.51. IRQ_Des_32_s

    +
    +
    +class windows.generated_def.winstructs.PIRQ_DES_32
    +

    Pointer to IRQ_Des_32_s

    +
    + +
    +
    +class windows.generated_def.winstructs.IRQ_DES_32
    +

    Alias for IRQ_Des_32_s

    +
    + +
    +
    +class windows.generated_def.winstructs.IRQ_Des_32_s[source]
    +
    +
    +IRQD_Count
    +

    DWORD

    +
    + +
    +
    +IRQD_Type
    +

    DWORD

    +
    + +
    +
    +IRQD_Flags
    +

    DWORD

    +
    + +
    +
    +IRQD_Alloc_Num
    +

    ULONG

    +
    + +
    +
    +IRQD_Affinity
    +

    ULONG32

    +
    + +
    + +
    +
    +

    14.3.52. IRQ_Range_s

    +
    +
    +class windows.generated_def.winstructs.IRQ_RANGE
    +

    Alias for IRQ_Range_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PIRQ_RANGE
    +

    Pointer to IRQ_Range_s

    +
    + +
    +
    +class windows.generated_def.winstructs.IRQ_Range_s[source]
    +
    +
    +IRQR_Min
    +

    ULONG

    +
    + +
    +
    +IRQR_Max
    +

    ULONG

    +
    + +
    +
    +IRQR_Flags
    +

    ULONG

    +
    + +
    + +
    +
    +

    14.3.53. BusNumber_Des_s

    +
    +
    +class windows.generated_def.winstructs.BUSNUMBER_DES
    +

    Alias for BusNumber_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PBUSNUMBER_DES
    +

    Pointer to BusNumber_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.BusNumber_Des_s[source]
    +
    +
    +BUSD_Count
    +

    DWORD

    +
    + +
    +
    +BUSD_Type
    +

    DWORD

    +
    + +
    +
    +BUSD_Flags
    +

    DWORD

    +
    + +
    +
    +BUSD_Alloc_Base
    +

    ULONG

    +
    + +
    +
    +BUSD_Alloc_End
    +

    ULONG

    +
    + +
    + +
    +
    +

    14.3.54. BusNumber_Range_s

    +
    +
    +class windows.generated_def.winstructs.PBUSNUMBER_RANGE
    +

    Pointer to BusNumber_Range_s

    +
    + +
    +
    +class windows.generated_def.winstructs.BUSNUMBER_RANGE
    +

    Alias for BusNumber_Range_s

    +
    + +
    +
    +class windows.generated_def.winstructs.BusNumber_Range_s[source]
    +
    +
    +BUSR_Min
    +

    ULONG

    +
    + +
    +
    +BUSR_Max
    +

    ULONG

    +
    + +
    +
    +BUSR_nBusNumbers
    +

    ULONG

    +
    + +
    +
    +BUSR_Flags
    +

    ULONG

    +
    + +
    + +
    +
    +

    14.3.55. BusNumber_Resource_s

    +
    +
    +class windows.generated_def.winstructs.BUSNUMBER_RESOURCE
    +

    Alias for BusNumber_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PBUSNUMBER_RESOURCE
    +

    Pointer to BusNumber_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.BusNumber_Resource_s[source]
    +
    +
    +BusNumber_Header
    +

    BUSNUMBER_DES

    +
    + +
    +
    +BusNumber_Data
    +

    BUSNUMBER_RANGE [<winstruct.ComplexArrayExpression object at 0x03B7EF50>]

    +
    + +
    + +
    +
    +

    14.3.56. CS_Des_s

    +
    +
    +class windows.generated_def.winstructs.PCS_DES
    +

    Pointer to CS_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.CS_DES
    +

    Alias for CS_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.CS_Des_s[source]
    +
    +
    +CSD_SignatureLength
    +

    DWORD

    +
    + +
    +
    +CSD_LegacyDataOffset
    +

    DWORD

    +
    + +
    +
    +CSD_LegacyDataSize
    +

    DWORD

    +
    + +
    +
    +CSD_Flags
    +

    DWORD

    +
    + +
    +
    +CSD_ClassGuid
    +

    GUID

    +
    + +
    +
    +CSD_Signature
    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x037C0190>]

    +
    + +
    + +
    +
    +

    14.3.57. CS_Resource_s

    +
    +
    +class windows.generated_def.winstructs.PCS_RESOURCE
    +

    Pointer to CS_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.CS_RESOURCE
    +

    Alias for CS_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.CS_Resource_s[source]
    +
    +
    +CS_Header
    +

    CS_DES

    +
    + +
    + +
    +
    +

    14.3.58. DMA_Des_s

    +
    +
    +class windows.generated_def.winstructs.PDMA_DES
    +

    Pointer to DMA_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.DMA_DES
    +

    Alias for DMA_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.DMA_Des_s[source]
    +
    +
    +DD_Count
    +

    DWORD

    +
    + +
    +
    +DD_Type
    +

    DWORD

    +
    + +
    +
    +DD_Flags
    +

    DWORD

    +
    + +
    +
    +DD_Alloc_Chan
    +

    ULONG

    +
    + +
    + +
    +
    +

    14.3.59. DMA_Resource_s

    +
    +
    +class windows.generated_def.winstructs.PDMA_RESOURCE
    +

    Pointer to DMA_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.DMA_RESOURCE
    +

    Alias for DMA_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.DMA_Resource_s[source]
    +
    +
    +DMA_Header
    +

    DMA_DES

    +
    + +
    +
    +DMA_Data
    +

    DMA_RANGE [<winstruct.ComplexArrayExpression object at 0x037C05B0>]

    +
    + +
    + +
    +
    +

    14.3.60. IO_Des_s

    +
    +
    +class windows.generated_def.winstructs.PIO_DES
    +

    Pointer to IO_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.IO_DES
    +

    Alias for IO_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.IO_Des_s[source]
    +
    +
    +IOD_Count
    +

    DWORD

    +
    + +
    +
    +IOD_Type
    +

    DWORD

    +
    + +
    +
    +IOD_Alloc_Base
    +

    DWORDLONG

    +
    + +
    +
    +IOD_Alloc_End
    +

    DWORDLONG

    +
    + +
    +
    +IOD_DesFlags
    +

    DWORD

    +
    + +
    + +
    +
    +

    14.3.61. IO_Resource_s

    +
    +
    +class windows.generated_def.winstructs.IO_RESOURCE
    +

    Alias for IO_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PIO_RESOURCE
    +

    Pointer to IO_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.IO_Resource_s[source]
    +
    +
    +IO_Header
    +

    IO_DES

    +
    + +
    +
    +IO_Data
    +

    IO_RANGE [<winstruct.ComplexArrayExpression object at 0x037C08F0>]

    +
    + +
    + +
    +
    +

    14.3.62. IRQ_Resource_32_s

    +
    +
    +class windows.generated_def.winstructs.PIRQ_RESOURCE_32
    +

    Pointer to IRQ_Resource_32_s

    +
    + +
    +
    +class windows.generated_def.winstructs.IRQ_RESOURCE_32
    +

    Alias for IRQ_Resource_32_s

    +
    + +
    +
    +class windows.generated_def.winstructs.IRQ_Resource_32_s[source]
    +
    +
    +IRQ_Header
    +

    IRQ_DES_32

    +
    + +
    +
    +IRQ_Data
    +

    IRQ_RANGE [<winstruct.ComplexArrayExpression object at 0x037C0A30>]

    +
    + +
    + +
    +
    +

    14.3.63. IRQ_Resource_64_s

    +
    +
    +class windows.generated_def.winstructs.IRQ_RESOURCE_64
    +

    Alias for IRQ_Resource_64_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PIRQ_RESOURCE_64
    +

    Pointer to IRQ_Resource_64_s

    +
    + +
    +
    +class windows.generated_def.winstructs.IRQ_Resource_64_s[source]
    +
    +
    +IRQ_Header
    +

    IRQ_DES_64

    +
    + +
    +
    +IRQ_Data
    +

    IRQ_RANGE [<winstruct.ComplexArrayExpression object at 0x037C0B50>]

    +
    + +
    + +
    +
    +

    14.3.64. Mem_Resource_s

    +
    +
    +class windows.generated_def.winstructs.MEM_RESOURCE
    +

    Alias for Mem_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PMEM_RESOURCE
    +

    Pointer to Mem_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.Mem_Resource_s[source]
    +
    +
    +MEM_Header
    +

    MEM_DES

    +
    + +
    +
    +MEM_Data
    +

    MEM_RANGE [<winstruct.ComplexArrayExpression object at 0x037C0C70>]

    +
    + +
    + +
    +
    +

    14.3.65. MfCard_Des_s

    +
    +
    +class windows.generated_def.winstructs.MFCARD_DES
    +

    Alias for MfCard_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PMFCARD_DES
    +

    Pointer to MfCard_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.MfCard_Des_s[source]
    +
    +
    +PMF_Count
    +

    DWORD

    +
    + +
    +
    +PMF_Type
    +

    DWORD

    +
    + +
    +
    +PMF_Flags
    +

    DWORD

    +
    + +
    +
    +PMF_ConfigOptions
    +

    BYTE

    +
    + +
    +
    +PMF_IoResourceIndex
    +

    BYTE

    +
    + +
    +
    +PMF_Reserved
    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x037C0EB0>]

    +
    + +
    +
    +PMF_ConfigRegisterBase
    +

    DWORD

    +
    + +
    + +
    +
    +

    14.3.66. MfCard_Resource_s

    +
    +
    +class windows.generated_def.winstructs.PMFCARD_RESOURCE
    +

    Pointer to MfCard_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.MFCARD_RESOURCE
    +

    Alias for MfCard_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.MfCard_Resource_s[source]
    +
    +
    +MfCard_Header
    +

    MFCARD_DES

    +
    + +
    + +
    +
    +

    14.3.67. PcCard_Des_s

    +
    +
    +class windows.generated_def.winstructs.PCCARD_DES
    +

    Alias for PcCard_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PPCCARD_DES
    +

    Pointer to PcCard_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PcCard_Des_s[source]
    +
    +
    +PCD_Count
    +

    DWORD

    +
    + +
    +
    +PCD_Type
    +

    DWORD

    +
    + +
    +
    +PCD_Flags
    +

    DWORD

    +
    + +
    +
    +PCD_ConfigIndex
    +

    BYTE

    +
    + +
    +
    +PCD_Reserved
    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x037C41D0>]

    +
    + +
    +
    +PCD_MemoryCardBase1
    +

    DWORD

    +
    + +
    +
    +PCD_MemoryCardBase2
    +

    DWORD

    +
    + +
    +
    +PCD_MemoryCardBase
    +

    DWORD [<winstruct.ComplexArrayExpression object at 0x037C42B0>]

    +
    + +
    +
    +PCD_MemoryFlags
    +

    WORD [<winstruct.ComplexArrayExpression object at 0x037C4310>]

    +
    + +
    +
    +PCD_IoFlags
    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x037C4390>]

    +
    + +
    + +
    +
    +

    14.3.68. PcCard_Resource_s

    +
    +
    +class windows.generated_def.winstructs.PPCCARD_RESOURCE
    +

    Pointer to PcCard_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PCCARD_RESOURCE
    +

    Alias for PcCard_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PcCard_Resource_s[source]
    +
    +
    +PcCard_Header
    +

    PCCARD_DES

    +
    + +
    + +
    +
    +

    14.3.69. Mem_Large_Range_s

    +
    +
    +class windows.generated_def.winstructs.PMEM_LARGE_RANGE
    +

    Pointer to Mem_Large_Range_s

    +
    + +
    +
    +class windows.generated_def.winstructs.MEM_LARGE_RANGE
    +

    Alias for Mem_Large_Range_s

    +
    + +
    +
    +class windows.generated_def.winstructs.Mem_Large_Range_s[source]
    +
    +
    +MLR_Align
    +

    DWORDLONG

    +
    + +
    +
    +MLR_nBytes
    +

    ULONGLONG

    +
    + +
    +
    +MLR_Min
    +

    DWORDLONG

    +
    + +
    +
    +MLR_Max
    +

    DWORDLONG

    +
    + +
    +
    +MLR_Flags
    +

    DWORD

    +
    + +
    +
    +MLR_Reserved
    +

    DWORD

    +
    + +
    + +
    +
    +

    14.3.70. Mem_Large_Des_s

    +
    +
    +class windows.generated_def.winstructs.PMEM_LARGE_DES
    +

    Pointer to Mem_Large_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.MEM_LARGE_DES
    +

    Alias for Mem_Large_Des_s

    +
    + +
    +
    +class windows.generated_def.winstructs.Mem_Large_Des_s[source]
    +
    +
    +MLD_Count
    +

    DWORD

    +
    + +
    +
    +MLD_Type
    +

    DWORD

    +
    + +
    +
    +MLD_Alloc_Base
    +

    DWORDLONG

    +
    + +
    +
    +MLD_Alloc_End
    +

    DWORDLONG

    +
    + +
    +
    +MLD_Flags
    +

    DWORD

    +
    + +
    +
    +MLD_Reserved
    +

    DWORD

    +
    + +
    + +
    +
    +

    14.3.71. Mem_Large_Resource_s

    +
    +
    +class windows.generated_def.winstructs.MEM_LARGE_RESOURCE
    +

    Alias for Mem_Large_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.PMEM_LARGE_RESOURCE
    +

    Pointer to Mem_Large_Resource_s

    +
    + +
    +
    +class windows.generated_def.winstructs.Mem_Large_Resource_s[source]
    +
    +
    +MEM_LARGE_Header
    +

    MEM_LARGE_DES

    +
    + +
    +
    +MEM_LARGE_Data
    +

    MEM_LARGE_RANGE [<winstruct.ComplexArrayExpression object at 0x037C4990>]

    +
    + +
    +
    -

    14.3.44. tagMULTI_QI

    +

    14.3.72. tagMULTI_QI

    class windows.generated_def.winstructs.MULTI_QI
    @@ -1689,7 +2930,7 @@
    -

    14.3.45. _COAUTHIDENTITY

    +

    14.3.73. _COAUTHIDENTITY

    class windows.generated_def.winstructs.COAUTHIDENTITY
    @@ -1745,7 +2986,7 @@
    -

    14.3.46. _COAUTHINFO

    +

    14.3.74. _COAUTHINFO

    class windows.generated_def.winstructs.COAUTHINFO
    @@ -1801,7 +3042,7 @@
    -

    14.3.47. _COSERVERINFO

    +

    14.3.75. _COSERVERINFO

    class windows.generated_def.winstructs.COSERVERINFO
    @@ -1839,7 +3080,7 @@
    -

    14.3.48. _CALLFRAMEPARAMINFO

    +

    14.3.76. _CALLFRAMEPARAMINFO

    class windows.generated_def.winstructs.CALLFRAMEPARAMINFO
    @@ -1877,7 +3118,7 @@
    -

    14.3.49. _CALLFRAMEINFO

    +

    14.3.77. _CALLFRAMEINFO

    class windows.generated_def.winstructs.CALLFRAMEINFO
    @@ -1963,7 +3204,7 @@
    -

    14.3.50. _CALLFRAME_MARSHALCONTEXT

    +

    14.3.78. _CALLFRAME_MARSHALCONTEXT

    class windows.generated_def.winstructs.CALLFRAME_MARSHALCONTEXT
    @@ -2007,7 +3248,7 @@
    -

    14.3.51. tagSAFEARRAYBOUND

    +

    14.3.79. tagSAFEARRAYBOUND

    class windows.generated_def.winstructs.SAFEARRAYBOUND
    @@ -2039,7 +3280,7 @@
    -

    14.3.52. tagSAFEARRAY

    +

    14.3.80. tagSAFEARRAY

    class windows.generated_def.winstructs.SAFEARRAY
    @@ -2082,14 +3323,14 @@
    rgsabound
    -

    SAFEARRAYBOUND [<winstruct.ComplexArrayExpression object at 0x03C19AD0>]

    +

    SAFEARRAYBOUND [<winstruct.ComplexArrayExpression object at 0x037CCD30>]

    -

    14.3.53. __tagBRECORD

    +

    14.3.81. __tagBRECORD

    class windows.generated_def.winstructs._tagBRECORD
    @@ -2115,7 +3356,7 @@
    -

    14.3.54. _ANON_TMP_variant_sub_union

    +

    14.3.82. _ANON_TMP_variant_sub_union

    class windows.generated_def.winstructs._ANON_TMP_variant_sub_union[source]
    @@ -2333,7 +3574,7 @@
    -

    14.3.55. __tagVARIANT

    +

    14.3.83. __tagVARIANT

    class windows.generated_def.winstructs.LPVARIANTARG
    @@ -2401,7 +3642,7 @@
    -

    14.3.56. tagBIND_OPTS

    +

    14.3.84. tagBIND_OPTS

    class windows.generated_def.winstructs.BIND_OPTS
    @@ -2445,7 +3686,7 @@
    -

    14.3.57. _tagpropertykey

    +

    14.3.85. _tagpropertykey

    class windows.generated_def.winstructs.PROPERTYKEY
    @@ -2477,7 +3718,7 @@
    -

    14.3.58. tagSTATSTG

    +

    14.3.86. tagSTATSTG

    class windows.generated_def.winstructs.STATSTG
    @@ -2557,7 +3798,7 @@
    -

    14.3.59. tagPARAMDESCEX

    +

    14.3.87. tagPARAMDESCEX

    class windows.generated_def.winstructs.PARAMDESCEX
    @@ -2589,7 +3830,7 @@
    -

    14.3.60. tagPARAMDESC

    +

    14.3.88. tagPARAMDESC

    class windows.generated_def.winstructs.LPPARAMDESC
    @@ -2621,7 +3862,7 @@
    -

    14.3.61. _TMP_TYPEDESC_UNION

    +

    14.3.89. _TMP_TYPEDESC_UNION

    class windows.generated_def.winstructs.TMP_TYPEDESC_UNION
    @@ -2653,7 +3894,7 @@
    -

    14.3.62. tagTYPEDESC

    +

    14.3.90. tagTYPEDESC

    class windows.generated_def.winstructs.TYPEDESC
    @@ -2679,7 +3920,7 @@
    -

    14.3.63. tagARRAYDESC

    +

    14.3.91. tagARRAYDESC

    class windows.generated_def.winstructs.ARRAYDESC
    @@ -2704,14 +3945,14 @@
    rgbounds
    -

    SAFEARRAYBOUND [<winstruct.ComplexArrayExpression object at 0x03C2B130>]

    +

    SAFEARRAYBOUND [<winstruct.ComplexArrayExpression object at 0x038F5390>]

    -

    14.3.64. tagELEMDESC

    +

    14.3.92. tagELEMDESC

    class windows.generated_def.winstructs.ELEMDESC
    @@ -2743,7 +3984,7 @@
    -

    14.3.65. tagFUNCDESC

    +

    14.3.93. tagFUNCDESC

    class windows.generated_def.winstructs.LPFUNCDESC
    @@ -2835,7 +4076,7 @@
    -

    14.3.66. _TMP_VARDESC_UNION

    +

    14.3.94. _TMP_VARDESC_UNION

    class windows.generated_def.winstructs.TMP_VARDESC_UNION
    @@ -2861,7 +4102,7 @@
    -

    14.3.67. tagVARDESC

    +

    14.3.95. tagVARDESC

    class windows.generated_def.winstructs.LPVARDESC
    @@ -2917,7 +4158,7 @@
    -

    14.3.68. tagBINDPTR

    +

    14.3.96. tagBINDPTR

    class windows.generated_def.winstructs.LPBINDPTR
    @@ -2955,7 +4196,7 @@
    -

    14.3.69. tagIDLDESC

    +

    14.3.97. tagIDLDESC

    class windows.generated_def.winstructs.IDLDESC
    @@ -2987,7 +4228,7 @@
    -

    14.3.70. tagTLIBATTR

    +

    14.3.98. tagTLIBATTR

    class windows.generated_def.winstructs.LPTLIBATTR
    @@ -3043,7 +4284,7 @@
    -

    14.3.71. tagTYPEATTR

    +

    14.3.99. tagTYPEATTR

    class windows.generated_def.winstructs.TYPEATTR
    @@ -3171,7 +4412,7 @@
    -

    14.3.72. _CERT_STRONG_SIGN_SERIALIZED_INFO

    +

    14.3.100. _CERT_STRONG_SIGN_SERIALIZED_INFO

    class windows.generated_def.winstructs.CERT_STRONG_SIGN_SERIALIZED_INFO
    @@ -3209,7 +4450,7 @@
    -

    14.3.73. TMP_CERT_STRONG_SIGN_PARA_UNION_TYPE

    +

    14.3.101. TMP_CERT_STRONG_SIGN_PARA_UNION_TYPE

    class windows.generated_def.winstructs.TMP_CERT_STRONG_SIGN_PARA_UNION_TYPE[source]
    @@ -3235,7 +4476,7 @@
    -

    14.3.74. _CERT_STRONG_SIGN_PARA

    +

    14.3.102. _CERT_STRONG_SIGN_PARA

    class windows.generated_def.winstructs.CERT_STRONG_SIGN_PARA
    @@ -3279,7 +4520,7 @@
    -

    14.3.75. _CRYPTOAPI_BLOB

    +

    14.3.103. _CRYPTOAPI_BLOB

    class windows.generated_def.winstructs.CRYPT_INTEGER_BLOB
    @@ -3455,7 +4696,7 @@
    -

    14.3.76. CRYPTCATATTRIBUTE

    +

    14.3.104. CRYPTCATATTRIBUTE

    class windows.generated_def.winstructs.CRYPTCATATTRIBUTE
    @@ -3511,7 +4752,7 @@
    -

    14.3.77. _CRYPT_ATTRIBUTE_TYPE_VALUE

    +

    14.3.105. _CRYPT_ATTRIBUTE_TYPE_VALUE

    class windows.generated_def.winstructs.CRYPT_ATTRIBUTE_TYPE_VALUE
    @@ -3543,7 +4784,7 @@
    -

    14.3.78. _CRYPT_ALGORITHM_IDENTIFIER

    +

    14.3.106. _CRYPT_ALGORITHM_IDENTIFIER

    class windows.generated_def.winstructs.CRYPT_ALGORITHM_IDENTIFIER
    @@ -3575,7 +4816,7 @@
    -

    14.3.79. SIP_INDIRECT_DATA

    +

    14.3.107. SIP_INDIRECT_DATA

    class windows.generated_def.winstructs.SIP_INDIRECT_DATA
    @@ -3613,7 +4854,7 @@
    -

    14.3.80. CRYPTCATMEMBER

    +

    14.3.108. CRYPTCATMEMBER

    class windows.generated_def.winstructs.CRYPTCATMEMBER
    @@ -3699,7 +4940,7 @@
    -

    14.3.81. WINTRUST_FILE_INFO

    +

    14.3.109. WINTRUST_FILE_INFO

    class windows.generated_def.winstructs.WINTRUST_FILE_INFO
    @@ -3743,7 +4984,7 @@
    -

    14.3.82. _CRYPT_ATTRIBUTE

    +

    14.3.110. _CRYPT_ATTRIBUTE

    class windows.generated_def.winstructs.PCRYPT_ATTRIBUTE
    @@ -3781,7 +5022,7 @@
    -

    14.3.83. _CTL_ENTRY

    +

    14.3.111. _CTL_ENTRY

    class windows.generated_def.winstructs.PCTL_ENTRY
    @@ -3818,8 +5059,8 @@
    -
    -

    14.3.84. _CRYPT_ATTRIBUTE

    +
    +

    14.3.112. _CRYPT_ATTRIBUTE

    class windows.generated_def.winstructs.PCRYPT_ATTRIBUTE
    @@ -3857,7 +5098,7 @@
    -

    14.3.85. _CRYPT_ATTRIBUTES

    +

    14.3.113. _CRYPT_ATTRIBUTES

    class windows.generated_def.winstructs.CRYPT_ATTRIBUTES
    @@ -3889,7 +5130,7 @@
    -

    14.3.86. _CERT_EXTENSION

    +

    14.3.114. _CERT_EXTENSION

    class windows.generated_def.winstructs.CERT_EXTENSION
    @@ -3927,7 +5168,7 @@
    -

    14.3.87. _CRL_ENTRY

    +

    14.3.115. _CRL_ENTRY

    class windows.generated_def.winstructs.CRL_ENTRY
    @@ -3971,7 +5212,7 @@
    -

    14.3.88. _CRL_INFO

    +

    14.3.116. _CRL_INFO

    class windows.generated_def.winstructs.CRL_INFO
    @@ -4045,7 +5286,7 @@
    -

    14.3.89. _CRL_CONTEXT

    +

    14.3.117. _CRL_CONTEXT

    class windows.generated_def.winstructs.PCCRL_CONTEXT
    @@ -4101,7 +5342,7 @@
    -

    14.3.90. _CMSG_SIGNER_INFO

    +

    14.3.118. _CMSG_SIGNER_INFO

    class windows.generated_def.winstructs.CMSG_SIGNER_INFO
    @@ -4169,7 +5410,7 @@
    -

    14.3.91. _CTL_USAGE

    +

    14.3.119. _CTL_USAGE

    class windows.generated_def.winstructs.CERT_ENHKEY_USAGE
    @@ -4213,7 +5454,7 @@
    -

    14.3.92. _CTL_INFO

    +

    14.3.120. _CTL_INFO

    class windows.generated_def.winstructs.CTL_INFO
    @@ -4299,7 +5540,7 @@
    -

    14.3.93. _CTL_CONTEXT

    +

    14.3.121. _CTL_CONTEXT

    class windows.generated_def.winstructs.PCTL_CONTEXT
    @@ -4373,7 +5614,7 @@
    -

    14.3.94. WINTRUST_CATALOG_INFO

    +

    14.3.122. WINTRUST_CATALOG_INFO

    class windows.generated_def.winstructs.PWINTRUST_CATALOG_INFO
    @@ -4447,7 +5688,7 @@
    -

    14.3.95. WINTRUST_BLOB_INFO

    +

    14.3.123. WINTRUST_BLOB_INFO

    class windows.generated_def.winstructs.PWINTRUST_BLOB_INFO
    @@ -4509,7 +5750,7 @@
    -

    14.3.96. _CRYPT_BIT_BLOB

    +

    14.3.124. _CRYPT_BIT_BLOB

    class windows.generated_def.winstructs.CRYPT_BIT_BLOB
    @@ -4547,7 +5788,7 @@
    -

    14.3.97. _CERT_PUBLIC_KEY_INFO

    +

    14.3.125. _CERT_PUBLIC_KEY_INFO

    class windows.generated_def.winstructs.PCERT_PUBLIC_KEY_INFO
    @@ -4579,7 +5820,7 @@
    -

    14.3.98. _CERT_INFO

    +

    14.3.126. _CERT_INFO

    class windows.generated_def.winstructs.CERT_INFO
    @@ -4671,7 +5912,7 @@
    -

    14.3.99. _CERT_ISSUER_SERIAL_NUMBER

    +

    14.3.127. _CERT_ISSUER_SERIAL_NUMBER

    class windows.generated_def.winstructs.CERT_ISSUER_SERIAL_NUMBER
    @@ -4703,7 +5944,7 @@
    -

    14.3.100. _TMPUNION_CERT_ID

    +

    14.3.128. _TMPUNION_CERT_ID

    class windows.generated_def.winstructs.TMPUNION_CERT_ID
    @@ -4735,7 +5976,7 @@
    -

    14.3.101. _CERT_ID

    +

    14.3.129. _CERT_ID

    class windows.generated_def.winstructs.CERT_ID
    @@ -4767,7 +6008,7 @@
    -

    14.3.102. _CERT_CONTEXT

    +

    14.3.130. _CERT_CONTEXT

    class windows.generated_def.winstructs.PCCERT_CONTEXT
    @@ -4823,7 +6064,7 @@
    -

    14.3.103. WINTRUST_SGNR_INFO

    +

    14.3.131. WINTRUST_SGNR_INFO

    class windows.generated_def.winstructs.WINTRUST_SGNR_INFO
    @@ -4873,7 +6114,7 @@
    -

    14.3.104. WINTRUST_CERT_INFO

    +

    14.3.132. WINTRUST_CERT_INFO

    class windows.generated_def.winstructs.WINTRUST_CERT_INFO
    @@ -4935,7 +6176,7 @@
    -

    14.3.105. _TMP_WINTRUST_UNION_TYPE

    +

    14.3.133. _TMP_WINTRUST_UNION_TYPE

    class windows.generated_def.winstructs.TMP_WINTRUST_UNION_TYPE
    @@ -4979,7 +6220,7 @@
    -

    14.3.106. _WINTRUST_DATA

    +

    14.3.134. _WINTRUST_DATA

    class windows.generated_def.winstructs.PWINTRUST_DATA
    @@ -5071,7 +6312,7 @@
    -

    14.3.107. _CRYPT_SIGN_MESSAGE_PARA

    +

    14.3.135. _CRYPT_SIGN_MESSAGE_PARA

    class windows.generated_def.winstructs.CRYPT_SIGN_MESSAGE_PARA
    @@ -5193,7 +6434,7 @@
    -

    14.3.108. _CRYPT_HASH_MESSAGE_PARA

    +

    14.3.136. _CRYPT_HASH_MESSAGE_PARA

    class windows.generated_def.winstructs.PCRYPT_HASH_MESSAGE_PARA
    @@ -5243,7 +6484,7 @@
    -

    14.3.109. _CRYPT_KEY_VERIFY_MESSAGE_PARA

    +

    14.3.137. _CRYPT_KEY_VERIFY_MESSAGE_PARA

    class windows.generated_def.winstructs.CRYPT_KEY_VERIFY_MESSAGE_PARA
    @@ -5281,7 +6522,7 @@
    -

    14.3.110. _CRYPT_VERIFY_MESSAGE_PARA

    +

    14.3.138. _CRYPT_VERIFY_MESSAGE_PARA

    class windows.generated_def.winstructs.CRYPT_VERIFY_MESSAGE_PARA
    @@ -5337,7 +6578,7 @@
    -

    14.3.111. _SPC_SERIALIZED_OBJECT

    +

    14.3.139. _SPC_SERIALIZED_OBJECT

    class windows.generated_def.winstructs.SPC_SERIALIZED_OBJECT
    @@ -5369,7 +6610,7 @@
    -

    14.3.114. _SPC_SP_OPUS_INFO

    +

    14.3.142. _SPC_SP_OPUS_INFO

    class windows.generated_def.winstructs.PSPC_SP_OPUS_INFO
    @@ -5471,7 +6712,7 @@
    -

    14.3.115. _CERT_TRUST_STATUS

    +

    14.3.143. _CERT_TRUST_STATUS

    class windows.generated_def.winstructs.PCERT_TRUST_STATUS
    @@ -5503,7 +6744,7 @@
    -

    14.3.116. _CERT_TRUST_LIST_INFO

    +

    14.3.144. _CERT_TRUST_LIST_INFO

    class windows.generated_def.winstructs.PCERT_TRUST_LIST_INFO
    @@ -5541,7 +6782,7 @@
    -

    14.3.117. _CERT_REVOCATION_CRL_INFO

    +

    14.3.145. _CERT_REVOCATION_CRL_INFO

    class windows.generated_def.winstructs.CERT_REVOCATION_CRL_INFO
    @@ -5591,7 +6832,7 @@
    -

    14.3.118. _CERT_REVOCATION_INFO

    +

    14.3.146. _CERT_REVOCATION_INFO

    class windows.generated_def.winstructs.CERT_REVOCATION_INFO
    @@ -5653,7 +6894,7 @@
    -

    14.3.119. _CERT_CHAIN_ELEMENT

    +

    14.3.147. _CERT_CHAIN_ELEMENT

    class windows.generated_def.winstructs.PCERT_CHAIN_ELEMENT
    @@ -5721,7 +6962,7 @@
    -

    14.3.120. _CERT_SIMPLE_CHAIN

    +

    14.3.148. _CERT_SIMPLE_CHAIN

    class windows.generated_def.winstructs.CERT_SIMPLE_CHAIN
    @@ -5789,7 +7030,7 @@
    -

    14.3.121. _CERT_CHAIN_CONTEXT

    +

    14.3.149. _CERT_CHAIN_CONTEXT

    class windows.generated_def.winstructs.CERT_CHAIN_CONTEXT
    @@ -5875,7 +7116,7 @@
    -

    14.3.122. _CERT_USAGE_MATCH

    +

    14.3.150. _CERT_USAGE_MATCH

    class windows.generated_def.winstructs.CERT_USAGE_MATCH
    @@ -5907,7 +7148,7 @@
    -

    14.3.123. _CERT_CHAIN_PARA

    +

    14.3.151. _CERT_CHAIN_PARA

    class windows.generated_def.winstructs.CERT_CHAIN_PARA
    @@ -5969,7 +7210,7 @@
    -

    14.3.124. _CERT_CHAIN_ENGINE_CONFIG

    +

    14.3.152. _CERT_CHAIN_ENGINE_CONFIG

    class windows.generated_def.winstructs.CERT_CHAIN_ENGINE_CONFIG
    @@ -6049,7 +7290,7 @@
    -

    14.3.125. _SYSTEMTIME

    +

    14.3.153. _SYSTEMTIME

    class windows.generated_def.winstructs.LPSYSTEMTIME
    @@ -6123,7 +7364,7 @@
    -

    14.3.126. _CERT_EXTENSIONS

    +

    14.3.154. _CERT_EXTENSIONS

    class windows.generated_def.winstructs.PCERT_EXTENSIONS
    @@ -6155,7 +7396,7 @@
    -

    14.3.127. _CRYPT_KEY_PROV_PARAM

    +

    14.3.155. _CRYPT_KEY_PROV_PARAM

    class windows.generated_def.winstructs.CRYPT_KEY_PROV_PARAM
    @@ -6199,7 +7440,7 @@
    -

    14.3.128. _CRYPT_KEY_PROV_INFO

    +

    14.3.156. _CRYPT_KEY_PROV_INFO

    class windows.generated_def.winstructs.CRYPT_KEY_PROV_INFO
    @@ -6261,7 +7502,7 @@
    -

    14.3.129. _CRYPT_ENCRYPT_MESSAGE_PARA

    +

    14.3.157. _CRYPT_ENCRYPT_MESSAGE_PARA

    class windows.generated_def.winstructs.PCRYPT_ENCRYPT_MESSAGE_PARA
    @@ -6323,7 +7564,7 @@
    -

    14.3.130. _CRYPT_DECRYPT_MESSAGE_PARA

    +

    14.3.158. _CRYPT_DECRYPT_MESSAGE_PARA

    class windows.generated_def.winstructs.PCRYPT_DECRYPT_MESSAGE_PARA
    @@ -6373,7 +7614,7 @@
    -

    14.3.131. _CERT_KEY_CONTEXT

    +

    14.3.159. _CERT_KEY_CONTEXT

    class windows.generated_def.winstructs.CERT_KEY_CONTEXT
    @@ -6411,7 +7652,7 @@
    -

    14.3.132. _CRYPT_ENCODE_PARA

    +

    14.3.160. _CRYPT_ENCODE_PARA

    class windows.generated_def.winstructs.PCRYPT_ENCODE_PARA
    @@ -6449,7 +7690,7 @@
    -

    14.3.133. _TMPUNION_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO

    +

    14.3.161. _TMPUNION_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO

    class windows.generated_def.winstructs.TMPUNION_CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO
    @@ -6475,7 +7716,7 @@
    -

    14.3.134. _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO

    +

    14.3.162. _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO

    class windows.generated_def.winstructs.PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO
    @@ -6549,7 +7790,7 @@
    -

    14.3.135. _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO

    +

    14.3.163. _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO

    class windows.generated_def.winstructs.PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO
    @@ -6604,8 +7845,8 @@
    -
    -

    14.3.136. _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO

    +
    +

    14.3.164. _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO

    class windows.generated_def.winstructs.PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO
    @@ -6661,7 +7902,7 @@
    -

    14.3.137. _TMPUNION_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO

    +

    14.3.165. _TMPUNION_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO

    class windows.generated_def.winstructs.TMPUNION_CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO
    @@ -6687,7 +7928,7 @@
    -

    14.3.138. _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO

    +

    14.3.166. _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO

    class windows.generated_def.winstructs.PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO
    @@ -6737,7 +7978,7 @@
    -

    14.3.139. _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO

    +

    14.3.167. _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO

    class windows.generated_def.winstructs.PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO
    @@ -6829,7 +8070,7 @@
    -

    14.3.140. _TMP_CMSG_RECIPIENT_ENCODE_INFO_UNION

    +

    14.3.168. _TMP_CMSG_RECIPIENT_ENCODE_INFO_UNION

    class windows.generated_def.winstructs.TMP_CMSG_RECIPIENT_ENCODE_INFO_UNION
    @@ -6861,7 +8102,7 @@
    -

    14.3.141. _CMSG_RECIPIENT_ENCODE_INFO

    +

    14.3.169. _CMSG_RECIPIENT_ENCODE_INFO

    class windows.generated_def.winstructs.CMSG_RECIPIENT_ENCODE_INFO
    @@ -6893,7 +8134,7 @@
    -

    14.3.142. _CMSG_ENVELOPED_ENCODE_INFO

    +

    14.3.170. _CMSG_ENVELOPED_ENCODE_INFO

    class windows.generated_def.winstructs.PCMSG_ENVELOPED_ENCODE_INFO
    @@ -7003,7 +8244,7 @@
    -

    14.3.143. _CMSG_STREAM_INFO

    +

    14.3.171. _CMSG_STREAM_INFO

    class windows.generated_def.winstructs.CMSG_STREAM_INFO
    @@ -7041,7 +8282,7 @@
    -

    14.3.144. _TMPUNION_CMSG_CTRL_DECRYPT_PARA

    +

    14.3.172. _TMPUNION_CMSG_CTRL_DECRYPT_PARA

    class windows.generated_def.winstructs.TMPUNION_CMSG_CTRL_DECRYPT_PARA
    @@ -7067,7 +8308,7 @@
    -

    14.3.145. _CMSG_CTRL_DECRYPT_PARA

    +

    14.3.173. _CMSG_CTRL_DECRYPT_PARA

    class windows.generated_def.winstructs.PCMSG_CTRL_DECRYPT_PARA
    @@ -7111,7 +8352,7 @@
    -

    14.3.146. _SPC_PE_IMAGE_DATA

    +

    14.3.174. _SPC_PE_IMAGE_DATA

    class windows.generated_def.winstructs.PSPC_PE_IMAGE_DATA
    @@ -7143,7 +8384,7 @@
    -

    14.3.147. _SPC_INDIRECT_DATA_CONTENT

    +

    14.3.175. _SPC_INDIRECT_DATA_CONTENT

    class windows.generated_def.winstructs.PSPC_INDIRECT_DATA_CONTENT
    @@ -7181,7 +8422,7 @@
    -

    14.3.148. _EXCEPTION_DEBUG_INFO

    +

    14.3.176. _EXCEPTION_DEBUG_INFO

    class windows.generated_def.winstructs.LPEXCEPTION_DEBUG_INFO
    @@ -7213,7 +8454,7 @@
    -

    14.3.149. _CREATE_THREAD_DEBUG_INFO

    +

    14.3.177. _CREATE_THREAD_DEBUG_INFO

    class windows.generated_def.winstructs.LPCREATE_THREAD_DEBUG_INFO
    @@ -7251,7 +8492,7 @@
    -

    14.3.150. _CREATE_PROCESS_DEBUG_INFO

    +

    14.3.178. _CREATE_PROCESS_DEBUG_INFO

    class windows.generated_def.winstructs.CREATE_PROCESS_DEBUG_INFO
    @@ -7331,7 +8572,7 @@
    -

    14.3.151. _EXIT_THREAD_DEBUG_INFO

    +

    14.3.179. _EXIT_THREAD_DEBUG_INFO

    class windows.generated_def.winstructs.EXIT_THREAD_DEBUG_INFO
    @@ -7357,7 +8598,7 @@
    -

    14.3.152. _EXIT_PROCESS_DEBUG_INFO

    +

    14.3.180. _EXIT_PROCESS_DEBUG_INFO

    class windows.generated_def.winstructs.LPEXIT_PROCESS_DEBUG_INFO
    @@ -7383,7 +8624,7 @@
    -

    14.3.153. _LOAD_DLL_DEBUG_INFO

    +

    14.3.181. _LOAD_DLL_DEBUG_INFO

    class windows.generated_def.winstructs.LPLOAD_DLL_DEBUG_INFO
    @@ -7439,7 +8680,7 @@
    -

    14.3.154. _UNLOAD_DLL_DEBUG_INFO

    +

    14.3.182. _UNLOAD_DLL_DEBUG_INFO

    class windows.generated_def.winstructs.UNLOAD_DLL_DEBUG_INFO
    @@ -7465,7 +8706,7 @@
    -

    14.3.155. _OUTPUT_DEBUG_STRING_INFO

    +

    14.3.183. _OUTPUT_DEBUG_STRING_INFO

    class windows.generated_def.winstructs.OUTPUT_DEBUG_STRING_INFO
    @@ -7503,7 +8744,7 @@
    -

    14.3.156. _RIP_INFO

    +

    14.3.184. _RIP_INFO

    class windows.generated_def.winstructs.LPRIP_INFO
    @@ -7535,7 +8776,7 @@
    -

    14.3.157. _TMP_UNION_DEBUG_INFO

    +

    14.3.185. _TMP_UNION_DEBUG_INFO

    class windows.generated_def.winstructs.TMP_UNION_DEBUG_INFO
    @@ -7603,7 +8844,7 @@
    -

    14.3.158. _DEBUG_EVENT

    +

    14.3.186. _DEBUG_EVENT

    class windows.generated_def.winstructs.LPDEBUG_EVENT
    @@ -7647,7 +8888,7 @@
    -

    14.3.159. _VIRTUAL_STORAGE_TYPE

    +

    14.3.187. _VIRTUAL_STORAGE_TYPE

    class windows.generated_def.winstructs.VIRTUAL_STORAGE_TYPE
    @@ -7679,7 +8920,7 @@
    -

    14.3.160. _OPEN_VIRTUAL_DISK_PARAMETERS

    +

    14.3.188. _OPEN_VIRTUAL_DISK_PARAMETERS

    class windows.generated_def.winstructs.POPEN_VIRTUAL_DISK_PARAMETERS
    @@ -7711,7 +8952,7 @@
    -

    14.3.161. _ATTACH_VIRTUAL_DISK_PARAMETERS

    +

    14.3.189. _ATTACH_VIRTUAL_DISK_PARAMETERS

    class windows.generated_def.winstructs.ATTACH_VIRTUAL_DISK_PARAMETERS
    @@ -7743,7 +8984,7 @@
    -

    14.3.162. _TRACE_GUID_INFO

    +

    14.3.190. _TRACE_GUID_INFO

    class windows.generated_def.winstructs.PTRACE_GUID_INFO
    @@ -7775,7 +9016,7 @@
    -

    14.3.163. _TRACE_PROVIDER_INSTANCE_INFO

    +

    14.3.191. _TRACE_PROVIDER_INSTANCE_INFO

    class windows.generated_def.winstructs.TRACE_PROVIDER_INSTANCE_INFO
    @@ -7819,7 +9060,7 @@
    -

    14.3.164. _TRACE_ENABLE_INFO

    +

    14.3.192. _TRACE_ENABLE_INFO

    class windows.generated_def.winstructs.PTRACE_ENABLE_INFO
    @@ -7887,7 +9128,7 @@
    -

    14.3.165. _WNODE_HEADER

    +

    14.3.193. _WNODE_HEADER

    class windows.generated_def.winstructs.PWNODE_HEADER
    @@ -7949,7 +9190,7 @@
    -

    14.3.166. _EVENT_TRACE_PROPERTIES

    +

    14.3.194. _EVENT_TRACE_PROPERTIES

    class windows.generated_def.winstructs.EVENT_TRACE_PROPERTIES
    @@ -8077,7 +9318,7 @@
    -

    14.3.167. _EVENT_TRACE_HEADER

    +

    14.3.195. _EVENT_TRACE_HEADER

    class windows.generated_def.winstructs.EVENT_TRACE_HEADER
    @@ -8145,7 +9386,7 @@
    -

    14.3.168. _ETW_BUFFER_CONTEXT

    +

    14.3.196. _ETW_BUFFER_CONTEXT

    class windows.generated_def.winstructs.PETW_BUFFER_CONTEXT
    @@ -8177,7 +9418,7 @@
    -

    14.3.169. _EVENT_TRACE

    +

    14.3.197. _EVENT_TRACE

    class windows.generated_def.winstructs.EVENT_TRACE
    @@ -8239,7 +9480,7 @@
    -

    14.3.170. _TRACE_LOGFILE_HEADER

    +

    14.3.198. _TRACE_LOGFILE_HEADER

    class windows.generated_def.winstructs.TRACE_LOGFILE_HEADER
    @@ -8367,7 +9608,7 @@
    -

    14.3.171. _EVENT_TRACE_LOGFILEA

    +

    14.3.199. _EVENT_TRACE_LOGFILEA

    class windows.generated_def.winstructs.EVENT_TRACE_LOGFILEA
    @@ -8471,7 +9712,7 @@
    -

    14.3.172. _EVENT_TRACE_LOGFILEW

    +

    14.3.200. _EVENT_TRACE_LOGFILEW

    class windows.generated_def.winstructs.EVENT_TRACE_LOGFILEW
    @@ -8575,7 +9816,7 @@
    -

    14.3.173. _EVENT_FILTER_DESCRIPTOR

    +

    14.3.201. _EVENT_FILTER_DESCRIPTOR

    class windows.generated_def.winstructs.PEVENT_FILTER_DESCRIPTOR
    @@ -8613,7 +9854,7 @@
    -

    14.3.174. _ENABLE_TRACE_PARAMETERS

    +

    14.3.202. _ENABLE_TRACE_PARAMETERS

    class windows.generated_def.winstructs.ENABLE_TRACE_PARAMETERS
    @@ -8669,7 +9910,7 @@
    -

    14.3.175. _EVENT_DESCRIPTOR

    +

    14.3.203. _EVENT_DESCRIPTOR

    class windows.generated_def.winstructs.EVENT_DESCRIPTOR
    @@ -8737,7 +9978,7 @@
    -

    14.3.176. _EVENT_HEADER

    +

    14.3.204. _EVENT_HEADER

    class windows.generated_def.winstructs.EVENT_HEADER
    @@ -8823,7 +10064,7 @@
    -

    14.3.177. _EVENT_HEADER_EXTENDED_DATA_ITEM

    +

    14.3.205. _EVENT_HEADER_EXTENDED_DATA_ITEM

    class windows.generated_def.winstructs.EVENT_HEADER_EXTENDED_DATA_ITEM
    @@ -8873,7 +10114,7 @@
    -

    14.3.178. _EVENT_RECORD

    +

    14.3.206. _EVENT_RECORD

    class windows.generated_def.winstructs.EVENT_RECORD
    @@ -8935,7 +10176,7 @@
    -

    14.3.179. _TRACE_GUID_REGISTRATION

    +

    14.3.207. _TRACE_GUID_REGISTRATION

    class windows.generated_def.winstructs.TRACE_GUID_REGISTRATION
    @@ -8967,7 +10208,7 @@
    -

    14.3.180. _EVENT_DATA_DESCRIPTOR

    +

    14.3.208. _EVENT_DATA_DESCRIPTOR

    class windows.generated_def.winstructs.EVENT_DATA_DESCRIPTOR
    @@ -9005,7 +10246,7 @@
    -

    14.3.181. _EVENTLOGRECORD

    +

    14.3.209. _EVENTLOGRECORD

    class windows.generated_def.winstructs.PEVENTLOGRECORD
    @@ -9121,7 +10362,7 @@
    -

    14.3.182. _EVENTLOG_FULL_INFORMATION

    +

    14.3.210. _EVENTLOG_FULL_INFORMATION

    class windows.generated_def.winstructs.EVENTLOG_FULL_INFORMATION
    @@ -9147,7 +10388,7 @@
    -

    14.3.183. _EVT_VARIANT

    +

    14.3.211. _EVT_VARIANT

    class windows.generated_def.winstructs.PEVT_VARIANT
    @@ -9185,7 +10426,7 @@
    -

    14.3.184. _EVT_RPC_LOGIN

    +

    14.3.212. _EVT_RPC_LOGIN

    class windows.generated_def.winstructs.EVT_RPC_LOGIN
    @@ -9229,7 +10470,7 @@
    -

    14.3.185. _FILE_INTERNAL_INFORMATION

    +

    14.3.213. _FILE_INTERNAL_INFORMATION

    class windows.generated_def.winstructs.FILE_INTERNAL_INFORMATION
    @@ -9255,7 +10496,7 @@
    -

    14.3.186. _FILE_ALIGNMENT_INFORMATION

    +

    14.3.214. _FILE_ALIGNMENT_INFORMATION

    class windows.generated_def.winstructs.PFILE_ALIGNMENT_INFORMATION
    @@ -9281,7 +10522,7 @@
    -

    14.3.187. _FILE_ATTRIBUTE_TAG_INFORMATION

    +

    14.3.215. _FILE_ATTRIBUTE_TAG_INFORMATION

    class windows.generated_def.winstructs.PFILE_ATTRIBUTE_TAG_INFORMATION
    @@ -9313,7 +10554,7 @@
    -

    14.3.188. _FILE_BASIC_INFORMATION

    +

    14.3.216. _FILE_BASIC_INFORMATION

    class windows.generated_def.winstructs.FILE_BASIC_INFORMATION
    @@ -9363,7 +10604,7 @@
    -

    14.3.189. _FILE_EA_INFORMATION

    +

    14.3.217. _FILE_EA_INFORMATION

    class windows.generated_def.winstructs.PFILE_EA_INFORMATION
    @@ -9389,7 +10630,7 @@
    -

    14.3.190. _FILE_IO_PRIORITY_HINT_INFORMATION

    +

    14.3.218. _FILE_IO_PRIORITY_HINT_INFORMATION

    class windows.generated_def.winstructs.PFILE_IO_PRIORITY_HINT_INFORMATION
    @@ -9415,7 +10656,7 @@
    -

    14.3.191. _FILE_MODE_INFORMATION

    +

    14.3.219. _FILE_MODE_INFORMATION

    class windows.generated_def.winstructs.PFILE_MODE_INFORMATION
    @@ -9441,7 +10682,7 @@
    -

    14.3.192. _FILE_NAME_INFORMATION

    +

    14.3.220. _FILE_NAME_INFORMATION

    class windows.generated_def.winstructs.PFILE_NAME_INFORMATION
    @@ -9466,14 +10707,14 @@
    FileName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03D47E70>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x0393A0F0>]

    -

    14.3.193. _FILE_NETWORK_OPEN_INFORMATION

    +

    14.3.221. _FILE_NETWORK_OPEN_INFORMATION

    class windows.generated_def.winstructs.PFILE_NETWORK_OPEN_INFORMATION
    @@ -9535,7 +10776,7 @@
    -

    14.3.194. _FILE_STANDARD_INFORMATION

    +

    14.3.222. _FILE_STANDARD_INFORMATION

    class windows.generated_def.winstructs.FILE_STANDARD_INFORMATION
    @@ -9585,7 +10826,7 @@
    -

    14.3.195. _FILE_ACCESS_INFORMATION

    +

    14.3.223. _FILE_ACCESS_INFORMATION

    class windows.generated_def.winstructs.FILE_ACCESS_INFORMATION
    @@ -9611,7 +10852,7 @@
    -

    14.3.196. _FILE_POSITION_INFORMATION

    +

    14.3.224. _FILE_POSITION_INFORMATION

    class windows.generated_def.winstructs.PFILE_POSITION_INFORMATION
    @@ -9637,7 +10878,7 @@
    -

    14.3.197. _FILE_IS_REMOTE_DEVICE_INFORMATION

    +

    14.3.225. _FILE_IS_REMOTE_DEVICE_INFORMATION

    class windows.generated_def.winstructs.FILE_IS_REMOTE_DEVICE_INFORMATION
    @@ -9663,7 +10904,7 @@
    -

    14.3.198. _FILE_ALL_INFORMATION

    +

    14.3.226. _FILE_ALL_INFORMATION

    class windows.generated_def.winstructs.PFILE_ALL_INFORMATION
    @@ -9737,7 +10978,7 @@
    -

    14.3.199. _FILE_STREAM_INFORMATION

    +

    14.3.227. _FILE_STREAM_INFORMATION

    class windows.generated_def.winstructs.FILE_STREAM_INFORMATION
    @@ -9780,14 +11021,14 @@
    StreamName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03D51630>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x0393A890>]

    -

    14.3.200. _FILE_DISPOSITION_INFORMATION

    +

    14.3.228. _FILE_DISPOSITION_INFORMATION

    class windows.generated_def.winstructs.PFILE_DISPOSITION_INFORMATION
    @@ -9813,7 +11054,7 @@
    -

    14.3.201. _FILE_FULL_EA_INFORMATION

    +

    14.3.229. _FILE_FULL_EA_INFORMATION

    class windows.generated_def.winstructs.FILE_FULL_EA_INFORMATION
    @@ -9856,14 +11097,14 @@
    EaName
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x03D518D0>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x0393AB30>]

    -

    14.3.202. _FILE_GET_EA_INFORMATION

    +

    14.3.230. _FILE_GET_EA_INFORMATION

    class windows.generated_def.winstructs.FILE_GET_EA_INFORMATION
    @@ -9894,14 +11135,14 @@
    EaName
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x03D51A10>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x0393AC70>]

    -

    14.3.203. tagVS_FIXEDFILEINFO

    +

    14.3.231. tagVS_FIXEDFILEINFO

    class windows.generated_def.winstructs.VS_FIXEDFILEINFO
    @@ -9993,7 +11234,7 @@
    -

    14.3.205. _WIN32_FIND_DATAA

    +

    14.3.233. _WIN32_FIND_DATAA

    class windows.generated_def.winstructs.LPWIN32_FIND_DATAA
    @@ -10110,13 +11351,13 @@
    cFileName
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x03D57310>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03940570>]

    cAlternateFileName
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x03D57390>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x039405F0>]

    @@ -10141,7 +11382,7 @@
    -

    14.3.206. _WIN32_FIND_DATAW

    +

    14.3.234. _WIN32_FIND_DATAW

    class windows.generated_def.winstructs.PWIN32_FIND_DATAW
    @@ -10214,13 +11455,13 @@
    cFileName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03D57790>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x039409F0>]

    cAlternateFileName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03D57810>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03940A70>]

    @@ -10245,7 +11486,7 @@
    -

    14.3.207. _GUID

    +

    14.3.235. _GUID

    class windows.generated_def.winstructs.REFCLSID
    @@ -10324,14 +11565,376 @@
    Data4
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03D57AF0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03940D50>]

    +
    + +
    + +
    +
    +

    14.3.236. _LSA_OBJECT_ATTRIBUTES

    +
    +
    +class windows.generated_def.winstructs.PLSA_OBJECT_ATTRIBUTES
    +

    Pointer to _LSA_OBJECT_ATTRIBUTES

    +
    + +
    +
    +class windows.generated_def.winstructs.LSA_OBJECT_ATTRIBUTES
    +

    Alias for _LSA_OBJECT_ATTRIBUTES

    +
    + +
    +
    +class windows.generated_def.winstructs._LSA_OBJECT_ATTRIBUTES[source]
    +
    +
    +Length
    +

    ULONG

    +
    + +
    +
    +RootDirectory
    +

    HANDLE

    +
    + +
    +
    +ObjectName
    +

    PLSA_UNICODE_STRING

    +
    + +
    +
    +Attributes
    +

    ULONG

    +
    + +
    +
    +SecurityDescriptor
    +

    PVOID

    +
    + +
    +
    +SecurityQualityOfService
    +

    PVOID

    +
    + +
    + +
    +
    +

    14.3.237. _POLICY_PRIMARY_DOMAIN_INFO

    +
    +
    +class windows.generated_def.winstructs.PPOLICY_PRIMARY_DOMAIN_INFO
    +

    Pointer to _POLICY_PRIMARY_DOMAIN_INFO

    +
    + +
    +
    +class windows.generated_def.winstructs.POLICY_PRIMARY_DOMAIN_INFO
    +

    Alias for _POLICY_PRIMARY_DOMAIN_INFO

    +
    + +
    +
    +class windows.generated_def.winstructs._POLICY_PRIMARY_DOMAIN_INFO[source]
    +
    +
    +Name
    +

    LSA_UNICODE_STRING

    +
    + +
    +
    +Sid
    +

    PSID

    +
    + +
    + +
    +
    +

    14.3.238. _POLICY_LSA_SERVER_ROLE_INFO

    +
    +
    +class windows.generated_def.winstructs.POLICY_LSA_SERVER_ROLE_INFO
    +

    Alias for _POLICY_LSA_SERVER_ROLE_INFO

    +
    + +
    +
    +class windows.generated_def.winstructs.PPOLICY_LSA_SERVER_ROLE_INFO
    +

    Pointer to _POLICY_LSA_SERVER_ROLE_INFO

    +
    + +
    +
    +class windows.generated_def.winstructs._POLICY_LSA_SERVER_ROLE_INFO[source]
    +
    +
    +LsaServerRole
    +

    POLICY_LSA_SERVER_ROLE

    +
    + +
    + +
    +
    +

    14.3.239. _POLICY_ACCOUNT_DOMAIN_INFO

    +
    +
    +class windows.generated_def.winstructs.POLICY_ACCOUNT_DOMAIN_INFO
    +

    Alias for _POLICY_ACCOUNT_DOMAIN_INFO

    +
    + +
    +
    +class windows.generated_def.winstructs.PPOLICY_ACCOUNT_DOMAIN_INFO
    +

    Pointer to _POLICY_ACCOUNT_DOMAIN_INFO

    +
    + +
    +
    +class windows.generated_def.winstructs._POLICY_ACCOUNT_DOMAIN_INFO[source]
    +
    +
    +DomainName
    +

    LSA_UNICODE_STRING

    +
    + +
    +
    +DomainSid
    +

    PSID

    +
    + +
    + +
    +
    +

    14.3.240. _POLICY_PRIMARY_DOMAIN_INFO

    +
    +
    +class windows.generated_def.winstructs.PPOLICY_PRIMARY_DOMAIN_INFO
    +

    Pointer to _POLICY_PRIMARY_DOMAIN_INFO

    +
    + +
    +
    +class windows.generated_def.winstructs.POLICY_PRIMARY_DOMAIN_INFO
    +

    Alias for _POLICY_PRIMARY_DOMAIN_INFO

    +
    + +
    +
    +class windows.generated_def.winstructs._POLICY_PRIMARY_DOMAIN_INFO[source]
    +
    +
    +Name
    +

    LSA_UNICODE_STRING

    +
    + +
    +
    +Sid
    +

    PSID

    +
    + +
    + +
    +
    +

    14.3.241. _LSA_TRANSLATED_SID

    +
    +
    +class windows.generated_def.winstructs.LSA_TRANSLATED_SID
    +

    Alias for _LSA_TRANSLATED_SID

    +
    + +
    +
    +class windows.generated_def.winstructs.PLSA_TRANSLATED_SID
    +

    Pointer to _LSA_TRANSLATED_SID

    +
    + +
    +
    +class windows.generated_def.winstructs._LSA_TRANSLATED_SID[source]
    +
    +
    +Use
    +

    SID_NAME_USE

    +
    + +
    +
    +RelativeId
    +

    ULONG

    +
    + +
    +
    +DomainIndex
    +

    LONG

    +
    + +
    + +
    +
    +

    14.3.242. _LSA_TRANSLATED_SID2

    +
    +
    +class windows.generated_def.winstructs.PLSA_TRANSLATED_SID2
    +

    Pointer to _LSA_TRANSLATED_SID2

    +
    + +
    +
    +class windows.generated_def.winstructs.LSA_TRANSLATED_SID2
    +

    Alias for _LSA_TRANSLATED_SID2

    +
    + +
    +
    +class windows.generated_def.winstructs._LSA_TRANSLATED_SID2[source]
    +
    +
    +Use
    +

    SID_NAME_USE

    +
    + +
    +
    +Sid
    +

    PSID

    +
    + +
    +
    +DomainIndex
    +

    LONG

    +
    + +
    +
    +Flags
    +

    ULONG

    +
    + +
    + +
    +
    +

    14.3.243. _LSA_TRANSLATED_NAME

    +
    +
    +class windows.generated_def.winstructs.LSA_TRANSLATED_NAME
    +

    Alias for _LSA_TRANSLATED_NAME

    +
    + +
    +
    +class windows.generated_def.winstructs.PLSA_TRANSLATED_NAME
    +

    Pointer to _LSA_TRANSLATED_NAME

    +
    + +
    +
    +class windows.generated_def.winstructs._LSA_TRANSLATED_NAME[source]
    +
    +
    +Use
    +

    SID_NAME_USE

    +
    + +
    +
    +Name
    +

    LSA_UNICODE_STRING

    +
    + +
    +
    +DomainIndex
    +

    LONG

    +
    + +
    + +
    +
    +

    14.3.244. _LSA_TRUST_INFORMATION

    +
    +
    +class windows.generated_def.winstructs.LSA_TRUST_INFORMATION
    +

    Alias for _LSA_TRUST_INFORMATION

    +
    + +
    +
    +class windows.generated_def.winstructs.PLSA_TRUST_INFORMATION
    +

    Pointer to _LSA_TRUST_INFORMATION

    +
    + +
    +
    +class windows.generated_def.winstructs._LSA_TRUST_INFORMATION[source]
    +
    +
    +Name
    +

    LSA_UNICODE_STRING

    +
    + +
    +
    +Sid
    +

    PSID

    +
    + +
    + +
    +
    +

    14.3.245. _LSA_REFERENCED_DOMAIN_LIST

    +
    +
    +class windows.generated_def.winstructs.LSA_REFERENCED_DOMAIN_LIST
    +

    Alias for _LSA_REFERENCED_DOMAIN_LIST

    +
    + +
    +
    +class windows.generated_def.winstructs.PLSA_REFERENCED_DOMAIN_LIST
    +

    Pointer to _LSA_REFERENCED_DOMAIN_LIST

    +
    + +
    +
    +class windows.generated_def.winstructs._LSA_REFERENCED_DOMAIN_LIST[source]
    +
    +
    +Entries
    +

    ULONG

    +
    + +
    +
    +Domains
    +

    PLSA_TRUST_INFORMATION

    -

    14.3.208. _PROCESS_MITIGATION_DEP_POLICY

    +

    14.3.246. _PROCESS_MITIGATION_DEP_POLICY

    class windows.generated_def.winstructs.PPROCESS_MITIGATION_DEP_POLICY
    @@ -10363,7 +11966,7 @@
    -

    14.3.209. _PROCESS_MITIGATION_ASLR_POLICY

    +

    14.3.247. _PROCESS_MITIGATION_ASLR_POLICY

    class windows.generated_def.winstructs.PPROCESS_MITIGATION_ASLR_POLICY
    @@ -10389,7 +11992,7 @@
    -

    14.3.210. _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY

    +

    14.3.248. _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY

    class windows.generated_def.winstructs.PROCESS_MITIGATION_DYNAMIC_CODE_POLICY
    @@ -10415,7 +12018,7 @@
    -

    14.3.211. _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY

    +

    14.3.249. _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY

    class windows.generated_def.winstructs.PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY
    @@ -10441,7 +12044,7 @@
    -

    14.3.212. _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY

    +

    14.3.250. _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY

    class windows.generated_def.winstructs.PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY
    @@ -10467,7 +12070,7 @@
    -

    14.3.213. _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY

    +

    14.3.251. _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY

    class windows.generated_def.winstructs.PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY
    @@ -10493,7 +12096,7 @@
    -

    14.3.214. _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY

    +

    14.3.252. _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY

    class windows.generated_def.winstructs.PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY
    @@ -10519,7 +12122,7 @@
    -

    14.3.215. _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY

    +

    14.3.253. _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY

    class windows.generated_def.winstructs.PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY
    @@ -10545,7 +12148,7 @@
    -

    14.3.216. _PROCESS_MITIGATION_IMAGE_LOAD_POLICY

    +

    14.3.254. _PROCESS_MITIGATION_IMAGE_LOAD_POLICY

    class windows.generated_def.winstructs.PPROCESS_MITIGATION_IMAGE_LOAD_POLICY
    @@ -10571,7 +12174,7 @@
    -

    14.3.217. IP6_ADDRESS

    +

    14.3.255. IP6_ADDRESS

    class windows.generated_def.winstructs.IP6_ADDRESS[source]
    @@ -10590,14 +12193,14 @@
    IP6Qword
    -

    ULONGLONG [<winstruct.ComplexArrayExpression object at 0x03D5A710>]

    +

    ULONGLONG [<winstruct.ComplexArrayExpression object at 0x0394A410>]

    -

    14.3.218. _MIB_IPADDRROW_XP

    +

    14.3.256. _MIB_IPADDRROW_XP

    class windows.generated_def.winstructs.MIB_IPADDRROW
    @@ -10665,7 +12268,7 @@
    -

    14.3.219. _MIB_IPADDRTABLE

    +

    14.3.257. _MIB_IPADDRTABLE

    class windows.generated_def.winstructs.PMIB_IPADDRTABLE
    @@ -10690,14 +12293,14 @@
    table
    -

    MIB_IPADDRROW [<winstruct.ComplexArrayExpression object at 0x03CC6210>]

    +

    MIB_IPADDRROW [<winstruct.ComplexArrayExpression object at 0x0394FEF0>]

    -

    14.3.220. _MIB_IFROW

    +

    14.3.258. _MIB_IFROW

    class windows.generated_def.winstructs.PMIB_IFROW
    @@ -10716,7 +12319,7 @@
    wszName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03CC6310>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x0394FFF0>]

    @@ -10752,7 +12355,7 @@
    bPhysAddr
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CC6550>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x0395B250>]

    @@ -10854,14 +12457,14 @@
    bDescr
    -

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03CC6A70>]

    +

    UCHAR [<winstruct.ComplexArrayExpression object at 0x0395B770>]

    -

    14.3.221. _MIB_IFTABLE

    +

    14.3.259. _MIB_IFTABLE

    class windows.generated_def.winstructs.PMIB_IFTABLE
    @@ -10886,14 +12489,14 @@
    table
    -

    MIB_IFROW [<winstruct.ComplexArrayExpression object at 0x03CC6BD0>]

    +

    MIB_IFROW [<winstruct.ComplexArrayExpression object at 0x0395B8D0>]

    -

    14.3.222. _MIB_TCPROW_OWNER_PID

    +

    14.3.260. _MIB_TCPROW_OWNER_PID

    class windows.generated_def.winstructs.MIB_TCPROW_OWNER_PID
    @@ -10949,7 +12552,7 @@
    -

    14.3.223. _MIB_TCPTABLE_OWNER_PID

    +

    14.3.261. _MIB_TCPTABLE_OWNER_PID

    class windows.generated_def.winstructs.MIB_TCPTABLE_OWNER_PID
    @@ -10974,14 +12577,14 @@
    table
    -

    MIB_TCPROW_OWNER_PID [<winstruct.ComplexArrayExpression object at 0x03CC6F30>]

    +

    MIB_TCPROW_OWNER_PID [<winstruct.ComplexArrayExpression object at 0x0395BC30>]

    -

    14.3.224. _MIB_UDPROW_OWNER_PID

    +

    14.3.262. _MIB_UDPROW_OWNER_PID

    class windows.generated_def.winstructs.MIB_UDPROW_OWNER_PID
    @@ -11019,7 +12622,7 @@
    -

    14.3.225. _MIB_UDPTABLE_OWNER_PID

    +

    14.3.263. _MIB_UDPTABLE_OWNER_PID

    class windows.generated_def.winstructs.MIB_UDPTABLE_OWNER_PID
    @@ -11044,14 +12647,14 @@
    table
    -

    MIB_UDPROW_OWNER_PID [<winstruct.ComplexArrayExpression object at 0x03CCB1B0>]

    +

    MIB_UDPROW_OWNER_PID [<winstruct.ComplexArrayExpression object at 0x0395BE90>]

    -

    14.3.226. _MIB_UDP6ROW_OWNER_PID

    +

    14.3.264. _MIB_UDP6ROW_OWNER_PID

    class windows.generated_def.winstructs.MIB_UDP6ROW_OWNER_PID
    @@ -11070,7 +12673,7 @@
    ucLocalAddr
    -

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03CCB290>]

    +

    UCHAR [<winstruct.ComplexArrayExpression object at 0x0395BF70>]

    @@ -11095,7 +12698,7 @@
    -

    14.3.227. _MIB_UDP6TABLE_OWNER_PID

    +

    14.3.265. _MIB_UDP6TABLE_OWNER_PID

    class windows.generated_def.winstructs.PMIB_UDP6TABLE_OWNER_PID
    @@ -11120,14 +12723,14 @@
    table
    -

    MIB_UDP6ROW_OWNER_PID [<winstruct.ComplexArrayExpression object at 0x03CCB470>]

    +

    MIB_UDP6ROW_OWNER_PID [<winstruct.ComplexArrayExpression object at 0x03960170>]

    -

    14.3.228. _MIB_TCP6ROW_OWNER_PID

    +

    14.3.266. _MIB_TCP6ROW_OWNER_PID

    class windows.generated_def.winstructs.MIB_TCP6ROW_OWNER_PID
    @@ -11146,7 +12749,7 @@
    ucLocalAddr
    -

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03CCB550>]

    +

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03960250>]

    @@ -11164,7 +12767,7 @@
    ucRemoteAddr
    -

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03CCB650>]

    +

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03960350>]

    @@ -11195,7 +12798,7 @@
    -

    14.3.229. _MIB_TCP6TABLE_OWNER_PID

    +

    14.3.267. _MIB_TCP6TABLE_OWNER_PID

    class windows.generated_def.winstructs.MIB_TCP6TABLE_OWNER_PID
    @@ -11220,14 +12823,14 @@
    table
    -

    MIB_TCP6ROW_OWNER_PID [<winstruct.ComplexArrayExpression object at 0x03CCB870>]

    +

    MIB_TCP6ROW_OWNER_PID [<winstruct.ComplexArrayExpression object at 0x03960570>]

    -

    14.3.230. _MIB_TCPROW

    +

    14.3.268. _MIB_TCPROW

    class windows.generated_def.winstructs.MIB_TCPROW
    @@ -11277,7 +12880,7 @@
    -

    14.3.231. _IP_ADAPTER_INDEX_MAP

    +

    14.3.269. _IP_ADAPTER_INDEX_MAP

    class windows.generated_def.winstructs.PIP_ADAPTER_INDEX_MAP
    @@ -11302,14 +12905,14 @@
    Name
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03CCBBD0>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x039608D0>]

    -

    14.3.232. _IP_INTERFACE_INFO

    +

    14.3.270. _IP_INTERFACE_INFO

    class windows.generated_def.winstructs.PIP_INTERFACE_INFO
    @@ -11334,14 +12937,14 @@
    Adapter
    -

    IP_ADAPTER_INDEX_MAP [<winstruct.ComplexArrayExpression object at 0x03CCBCF0>]

    +

    IP_ADAPTER_INDEX_MAP [<winstruct.ComplexArrayExpression object at 0x039609F0>]

    -

    14.3.233. _DNS_CACHE_ENTRY

    +

    14.3.271. _DNS_CACHE_ENTRY

    class windows.generated_def.winstructs.PDNS_CACHE_ENTRY
    @@ -11391,7 +12994,7 @@
    -

    14.3.234. DNS_A_DATA

    +

    14.3.272. DNS_A_DATA

    class windows.generated_def.winstructs.DNS_A_DATA[source]
    @@ -11417,7 +13020,7 @@
    -

    14.3.235. DNS_PTR_DATAW

    +

    14.3.273. DNS_PTR_DATAW

    class windows.generated_def.winstructs.DNS_PTR_DATAW[source]
    @@ -11443,7 +13046,7 @@
    -

    14.3.236. DNS_PTR_DATAA

    +

    14.3.274. DNS_PTR_DATAA

    class windows.generated_def.winstructs.PDNS_PTR_DATAA
    @@ -11469,7 +13072,7 @@
    -

    14.3.237. DNS_SOA_DATAW

    +

    14.3.275. DNS_SOA_DATAW

    class windows.generated_def.winstructs.DNS_SOA_DATAW[source]
    @@ -11531,7 +13134,7 @@
    -

    14.3.238. DNS_SOA_DATAA

    +

    14.3.276. DNS_SOA_DATAA

    class windows.generated_def.winstructs.PDNS_SOA_DATAA
    @@ -11593,7 +13196,7 @@
    -

    14.3.239. DNS_MINFO_DATAW

    +

    14.3.277. DNS_MINFO_DATAW

    class windows.generated_def.winstructs.PDNS_MINFO_DATAW
    @@ -11625,7 +13228,7 @@
    -

    14.3.240. DNS_MINFO_DATAA

    +

    14.3.278. DNS_MINFO_DATAA

    class windows.generated_def.winstructs.DNS_MINFO_DATAA[source]
    @@ -11657,7 +13260,7 @@
    -

    14.3.241. DNS_MX_DATAW

    +

    14.3.279. DNS_MX_DATAW

    class windows.generated_def.winstructs.PDNS_MX_DATAW
    @@ -11695,7 +13298,7 @@
    -

    14.3.242. DNS_MX_DATAA

    +

    14.3.280. DNS_MX_DATAA

    class windows.generated_def.winstructs.PDNS_MX_DATAA
    @@ -11733,7 +13336,7 @@
    -

    14.3.243. DNS_TXT_DATAW

    +

    14.3.281. DNS_TXT_DATAW

    class windows.generated_def.winstructs.PDNS_TXT_DATAW
    @@ -11758,14 +13361,14 @@
    pStringArray
    -

    PWSTR [<winstruct.ComplexArrayExpression object at 0x03CD0B10>]

    +

    PWSTR [<winstruct.ComplexArrayExpression object at 0x03964810>]

    -

    14.3.244. DNS_TXT_DATAA

    +

    14.3.282. DNS_TXT_DATAA

    class windows.generated_def.winstructs.DNS_TXT_DATAA[source]
    @@ -11790,14 +13393,14 @@
    pStringArray
    -

    PSTR [<winstruct.ComplexArrayExpression object at 0x03CD0BF0>]

    +

    PSTR [<winstruct.ComplexArrayExpression object at 0x039648F0>]

    -

    14.3.245. DNS_NULL_DATA

    +

    14.3.283. DNS_NULL_DATA

    class windows.generated_def.winstructs.PDNS_NULL_DATA
    @@ -11822,14 +13425,14 @@
    Data
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CD0D30>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03964A30>]

    -

    14.3.246. DNS_WKS_DATA

    +

    14.3.284. DNS_WKS_DATA

    class windows.generated_def.winstructs.DNS_WKS_DATA[source]
    @@ -11860,14 +13463,14 @@
    BitMask
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CD0EB0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03964BB0>]

    -

    14.3.247. DNS_AAAA_DATA

    +

    14.3.285. DNS_AAAA_DATA

    class windows.generated_def.winstructs.PDNS_AAAA_DATA
    @@ -11893,7 +13496,7 @@
    -

    14.3.248. DNS_SIG_DATAW

    +

    14.3.286. DNS_SIG_DATAW

    class windows.generated_def.winstructs.DNS_RRSIG_DATAW
    @@ -11978,14 +13581,14 @@
    Signature
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CD52B0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03964F90>]

    -

    14.3.249. DNS_SIG_DATAA

    +

    14.3.287. DNS_SIG_DATAA

    class windows.generated_def.winstructs.PDNS_SIG_DATAA
    @@ -12070,14 +13673,14 @@
    Signature
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CD5630>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x0396A330>]

    -

    14.3.250. DNS_KEY_DATA

    +

    14.3.288. DNS_KEY_DATA

    class windows.generated_def.winstructs.PDNS_DNSKEY_DATA
    @@ -12138,14 +13741,14 @@
    Key
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CD58F0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x0396A5F0>]

    -

    14.3.251. DNS_DHCID_DATA

    +

    14.3.289. DNS_DHCID_DATA

    class windows.generated_def.winstructs.PDNS_DHCID_DATA
    @@ -12170,14 +13773,14 @@
    DHCID
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CD5A30>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x0396A730>]

    -

    14.3.252. DNS_NSEC_DATAW

    +

    14.3.290. DNS_NSEC_DATAW

    class windows.generated_def.winstructs.PDNS_NSEC_DATAW
    @@ -12214,14 +13817,14 @@
    TypeBitMaps
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CD5BB0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x0396A8B0>]

    -

    14.3.253. DNS_NSEC_DATAA

    +

    14.3.291. DNS_NSEC_DATAA

    class windows.generated_def.winstructs.PDNS_NSEC_DATAA
    @@ -12258,14 +13861,14 @@
    TypeBitMaps
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CD5D50>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x0396AA50>]

    -

    14.3.254. DNS_NSEC3_DATA

    +

    14.3.292. DNS_NSEC3_DATA

    class windows.generated_def.winstructs.PDNS_NSEC3_DATA
    @@ -12320,14 +13923,14 @@
    chData
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CD9070>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x0396AD50>]

    -

    14.3.255. DNS_NSEC3PARAM_DATA

    +

    14.3.293. DNS_NSEC3PARAM_DATA

    class windows.generated_def.winstructs.PDNS_NSEC3PARAM_DATA
    @@ -12370,20 +13973,20 @@
    bPad
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CD92B0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x0396AF90>]

    pbSalt
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CD9330>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x0396D030>]

    -

    14.3.256. DNS_DS_DATA

    +

    14.3.294. DNS_DS_DATA

    class windows.generated_def.winstructs.DNS_DS_DATA[source]
    @@ -12432,14 +14035,14 @@
    Digest
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CD9590>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x0396D290>]

    -

    14.3.257. DNS_OPT_DATA

    +

    14.3.295. DNS_OPT_DATA

    class windows.generated_def.winstructs.DNS_OPT_DATA[source]
    @@ -12470,14 +14073,14 @@
    Data
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CD9730>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x0396D430>]

    -

    14.3.258. DNS_LOC_DATA

    +

    14.3.296. DNS_LOC_DATA

    class windows.generated_def.winstructs.PDNS_LOC_DATA
    @@ -12539,7 +14142,7 @@
    -

    14.3.259. DNS_NXT_DATAW

    +

    14.3.297. DNS_NXT_DATAW

    class windows.generated_def.winstructs.DNS_NXT_DATAW[source]
    @@ -12570,14 +14173,14 @@
    wTypes
    -

    WORD [<winstruct.ComplexArrayExpression object at 0x03CD9B90>]

    +

    WORD [<winstruct.ComplexArrayExpression object at 0x0396D890>]

    -

    14.3.260. DNS_NXT_DATAA

    +

    14.3.298. DNS_NXT_DATAA

    class windows.generated_def.winstructs.PDNS_NXT_DATAA
    @@ -12608,14 +14211,14 @@
    wTypes
    -

    WORD [<winstruct.ComplexArrayExpression object at 0x03CD9D10>]

    +

    WORD [<winstruct.ComplexArrayExpression object at 0x0396DA10>]

    -

    14.3.261. DNS_SRV_DATAW

    +

    14.3.299. DNS_SRV_DATAW

    class windows.generated_def.winstructs.DNS_SRV_DATAW[source]
    @@ -12665,7 +14268,7 @@
    -

    14.3.262. DNS_SRV_DATAA

    +

    14.3.300. DNS_SRV_DATAA

    class windows.generated_def.winstructs.PDNS_SRV_DATAA
    @@ -12715,7 +14318,7 @@
    -

    14.3.263. DNS_NAPTR_DATAW

    +

    14.3.301. DNS_NAPTR_DATAW

    class windows.generated_def.winstructs.PDNS_NAPTR_DATAW
    @@ -12771,7 +14374,7 @@
    -

    14.3.264. DNS_NAPTR_DATAA

    +

    14.3.302. DNS_NAPTR_DATAA

    class windows.generated_def.winstructs.DNS_NAPTR_DATAA[source]
    @@ -12827,7 +14430,7 @@
    -

    14.3.265. DNS_ATMA_DATA

    +

    14.3.303. DNS_ATMA_DATA

    class windows.generated_def.winstructs.DNS_ATMA_DATA[source]
    @@ -12852,14 +14455,14 @@
    Address
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CDD6D0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03B873D0>]

    -

    14.3.266. DNS_TKEY_DATAW

    +

    14.3.304. DNS_TKEY_DATAW

    class windows.generated_def.winstructs.PDNS_TKEY_DATAW
    @@ -12951,7 +14554,7 @@
    -

    14.3.267. DNS_TKEY_DATAA

    +

    14.3.305. DNS_TKEY_DATAA

    class windows.generated_def.winstructs.PDNS_TKEY_DATAA
    @@ -13043,7 +14646,7 @@
    -

    14.3.268. DNS_TSIG_DATAW

    +

    14.3.306. DNS_TSIG_DATAW

    class windows.generated_def.winstructs.PDNS_TSIG_DATAW
    @@ -13135,7 +14738,7 @@
    -

    14.3.269. DNS_TSIG_DATAA

    +

    14.3.307. DNS_TSIG_DATAA

    class windows.generated_def.winstructs.PDNS_TSIG_DATAA
    @@ -13227,7 +14830,7 @@
    -

    14.3.270. DNS_WINS_DATA

    +

    14.3.308. DNS_WINS_DATA

    class windows.generated_def.winstructs.DNS_WINS_DATA[source]
    @@ -13270,14 +14873,14 @@
    WinsServers
    -

    IP4_ADDRESS [<winstruct.ComplexArrayExpression object at 0x03CE2810>]

    +

    IP4_ADDRESS [<winstruct.ComplexArrayExpression object at 0x03B8B510>]

    -

    14.3.271. DNS_WINSR_DATAW

    +

    14.3.309. DNS_WINSR_DATAW

    class windows.generated_def.winstructs.DNS_WINSR_DATAW[source]
    @@ -13321,7 +14924,7 @@
    -

    14.3.272. DNS_WINSR_DATAA

    +

    14.3.310. DNS_WINSR_DATAA

    class windows.generated_def.winstructs.PDNS_WINSR_DATAA
    @@ -13365,7 +14968,7 @@
    -

    14.3.273. DNS_TLSA_DATA

    +

    14.3.311. DNS_TLSA_DATA

    class windows.generated_def.winstructs.PDNS_TLSA_DATA
    @@ -13408,20 +15011,20 @@
    bPad
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CE2CB0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03B8B9B0>]

    bCertificateAssociationData
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CE2CF0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03B8B9F0>]

    -

    14.3.274. DNS_UNKNOWN_DATA

    +

    14.3.312. DNS_UNKNOWN_DATA

    class windows.generated_def.winstructs.PDNS_UNKNOWN_DATA
    @@ -13446,14 +15049,14 @@
    bData
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CE2E30>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03B8BB30>]

    -

    14.3.275. _DnsRecordFlags

    +

    14.3.313. _DnsRecordFlags

    class windows.generated_def.winstructs.DNS_RECORD_FLAGS
    @@ -13497,7 +15100,7 @@
    -

    14.3.276. _DnsRecordA

    +

    14.3.314. _DnsRecordA

    class windows.generated_def.winstructs.PDNS_RECORDA
    @@ -13565,7 +15168,7 @@
    -

    14.3.277. _DnsRecordW

    +

    14.3.315. _DnsRecordW

    class windows.generated_def.winstructs.DNS_RECORDW
    @@ -13633,7 +15236,7 @@
    -

    14.3.278. _KEY_VALUE_BASIC_INFORMATION

    +

    14.3.316. _KEY_VALUE_BASIC_INFORMATION

    class windows.generated_def.winstructs.PKEY_VALUE_BASIC_INFORMATION
    @@ -13670,14 +15273,14 @@
    Name
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03CF0A30>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03B9A730>]

    -

    14.3.279. _KEY_VALUE_FULL_INFORMATION

    +

    14.3.317. _KEY_VALUE_FULL_INFORMATION

    class windows.generated_def.winstructs.KEY_VALUE_FULL_INFORMATION
    @@ -13726,14 +15329,14 @@
    Name
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03CF0CD0>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03B9A9D0>]

    -

    14.3.280. _KEY_VALUE_PARTIAL_INFORMATION

    +

    14.3.318. _KEY_VALUE_PARTIAL_INFORMATION

    class windows.generated_def.winstructs.PKEY_VALUE_PARTIAL_INFORMATION
    @@ -13770,14 +15373,14 @@
    Data
    -

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03CF0EB0>]

    +

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03B9ABB0>]

    -

    14.3.281. _ACL

    +

    14.3.319. _ACL

    class windows.generated_def.winstructs.PACL
    @@ -13827,7 +15430,7 @@
    -

    14.3.282. _ACL_REVISION_INFORMATION

    +

    14.3.320. _ACL_REVISION_INFORMATION

    class windows.generated_def.winstructs.PACL_REVISION_INFORMATION
    @@ -13853,7 +15456,7 @@
    -

    14.3.283. _ACL_SIZE_INFORMATION

    +

    14.3.321. _ACL_SIZE_INFORMATION

    class windows.generated_def.winstructs.PACL_SIZE_INFORMATION
    @@ -13891,7 +15494,7 @@
    -

    14.3.284. _ACE_HEADER

    +

    14.3.322. _ACE_HEADER

    class windows.generated_def.winstructs.PACE_HEADER
    @@ -13929,7 +15532,7 @@
    -

    14.3.285. _ACCESS_ALLOWED_ACE

    +

    14.3.323. _ACCESS_ALLOWED_ACE

    class windows.generated_def.winstructs.PACCESS_ALLOWED_ACE
    @@ -13967,7 +15570,7 @@
    -

    14.3.286. _ACCESS_ALLOWED_CALLBACK_ACE

    +

    14.3.324. _ACCESS_ALLOWED_CALLBACK_ACE

    class windows.generated_def.winstructs.PACCESS_ALLOWED_CALLBACK_ACE
    @@ -14005,7 +15608,7 @@
    -

    14.3.287. _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE

    +

    14.3.325. _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE

    class windows.generated_def.winstructs.PACCESS_ALLOWED_CALLBACK_OBJECT_ACE
    @@ -14061,7 +15664,7 @@
    -

    14.3.288. _ACCESS_DENIED_CALLBACK_OBJECT_ACE

    +

    14.3.326. _ACCESS_DENIED_CALLBACK_OBJECT_ACE

    class windows.generated_def.winstructs.ACCESS_DENIED_CALLBACK_OBJECT_ACE
    @@ -14117,7 +15720,7 @@
    -

    14.3.289. _ACCESS_ALLOWED_OBJECT_ACE

    +

    14.3.327. _ACCESS_ALLOWED_OBJECT_ACE

    class windows.generated_def.winstructs.PACCESS_ALLOWED_OBJECT_ACE
    @@ -14173,7 +15776,7 @@
    -

    14.3.290. _ACCESS_DENIED_ACE

    +

    14.3.328. _ACCESS_DENIED_ACE

    class windows.generated_def.winstructs.ACCESS_DENIED_ACE
    @@ -14211,7 +15814,7 @@
    -

    14.3.291. _ACCESS_DENIED_CALLBACK_ACE

    +

    14.3.329. _ACCESS_DENIED_CALLBACK_ACE

    class windows.generated_def.winstructs.ACCESS_DENIED_CALLBACK_ACE
    @@ -14249,7 +15852,7 @@
    -

    14.3.292. _ACCESS_DENIED_OBJECT_ACE

    +

    14.3.330. _ACCESS_DENIED_OBJECT_ACE

    class windows.generated_def.winstructs.ACCESS_DENIED_OBJECT_ACE
    @@ -14305,7 +15908,7 @@
    -

    14.3.293. _SYSTEM_MANDATORY_LABEL_ACE

    +

    14.3.331. _SYSTEM_MANDATORY_LABEL_ACE

    class windows.generated_def.winstructs.SYSTEM_MANDATORY_LABEL_ACE
    @@ -14343,7 +15946,7 @@
    -

    14.3.294. _SYSTEM_AUDIT_ACE

    +

    14.3.332. _SYSTEM_AUDIT_ACE

    class windows.generated_def.winstructs.SYSTEM_AUDIT_ACE
    @@ -14375,7 +15978,7 @@
    -

    14.3.295. _SYSTEM_ALARM_ACE

    +

    14.3.333. _SYSTEM_ALARM_ACE

    class windows.generated_def.winstructs.SYSTEM_ALARM_ACE
    @@ -14407,7 +16010,7 @@
    -

    14.3.296. _SYSTEM_RESOURCE_ATTRIBUTE_ACE

    +

    14.3.334. _SYSTEM_RESOURCE_ATTRIBUTE_ACE

    class windows.generated_def.winstructs.PSYSTEM_RESOURCE_ATTRIBUTE_ACE
    @@ -14445,7 +16048,7 @@
    -

    14.3.297. _SYSTEM_SCOPED_POLICY_ID_ACE

    +

    14.3.335. _SYSTEM_SCOPED_POLICY_ID_ACE

    class windows.generated_def.winstructs.SYSTEM_SCOPED_POLICY_ID_ACE
    @@ -14483,7 +16086,7 @@
    -

    14.3.298. _SYSTEM_PROCESS_TRUST_LABEL_ACE

    +

    14.3.336. _SYSTEM_PROCESS_TRUST_LABEL_ACE

    class windows.generated_def.winstructs.PSYSTEM_PROCESS_TRUST_LABEL_ACE
    @@ -14521,7 +16124,7 @@
    -

    14.3.299. _SYSTEM_AUDIT_OBJECT_ACE

    +

    14.3.337. _SYSTEM_AUDIT_OBJECT_ACE

    class windows.generated_def.winstructs.SYSTEM_AUDIT_OBJECT_ACE
    @@ -14577,7 +16180,7 @@
    -

    14.3.300. _SYSTEM_ALARM_OBJECT_ACE

    +

    14.3.338. _SYSTEM_ALARM_OBJECT_ACE

    class windows.generated_def.winstructs.SYSTEM_ALARM_OBJECT_ACE
    @@ -14633,7 +16236,7 @@
    -

    14.3.301. _SYSTEM_AUDIT_CALLBACK_ACE

    +

    14.3.339. _SYSTEM_AUDIT_CALLBACK_ACE

    class windows.generated_def.winstructs.PSYSTEM_AUDIT_CALLBACK_ACE
    @@ -14671,7 +16274,7 @@
    -

    14.3.302. _SYSTEM_ALARM_CALLBACK_ACE

    +

    14.3.340. _SYSTEM_ALARM_CALLBACK_ACE

    class windows.generated_def.winstructs.SYSTEM_ALARM_CALLBACK_ACE
    @@ -14709,7 +16312,7 @@
    -

    14.3.303. _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE

    +

    14.3.341. _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE

    class windows.generated_def.winstructs.PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE
    @@ -14765,7 +16368,7 @@
    -

    14.3.304. _SYSTEM_ALARM_CALLBACK_OBJECT_ACE

    +

    14.3.342. _SYSTEM_ALARM_CALLBACK_OBJECT_ACE

    class windows.generated_def.winstructs.PSYSTEM_ALARM_CALLBACK_OBJECT_ACE
    @@ -14821,7 +16424,7 @@
    -

    14.3.305. _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_UNION

    +

    14.3.343. _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_UNION

    class windows.generated_def.winstructs.CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1_UNION
    @@ -14834,38 +16437,38 @@
    pInt64
    -

    DWORD [<winstruct.ComplexArrayExpression object at 0x03CFB950>]

    +

    DWORD [<winstruct.ComplexArrayExpression object at 0x03BA46D0>]

    pUint64
    -

    DWORD [<winstruct.ComplexArrayExpression object at 0x03CFB9D0>]

    +

    DWORD [<winstruct.ComplexArrayExpression object at 0x03BA4750>]

    ppString
    -

    DWORD [<winstruct.ComplexArrayExpression object at 0x03CFBA50>]

    +

    DWORD [<winstruct.ComplexArrayExpression object at 0x03BA47D0>]

    pFqbn
    -

    DWORD [<winstruct.ComplexArrayExpression object at 0x03CFBAD0>]

    +

    DWORD [<winstruct.ComplexArrayExpression object at 0x03BA4850>]

    pOctetString
    -

    DWORD [<winstruct.ComplexArrayExpression object at 0x03CFBB30>]

    +

    DWORD [<winstruct.ComplexArrayExpression object at 0x03BA48B0>]

    -

    14.3.306. _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1

    +

    14.3.344. _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1

    class windows.generated_def.winstructs.PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1
    @@ -14921,7 +16524,7 @@
    -

    14.3.307. _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE

    +

    14.3.345. _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE

    class windows.generated_def.winstructs.PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE
    @@ -14953,7 +16556,7 @@
    -

    14.3.308. _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE

    +

    14.3.346. _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE

    class windows.generated_def.winstructs.PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE
    @@ -14985,7 +16588,7 @@
    -

    14.3.309. _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE

    +

    14.3.347. _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE

    class windows.generated_def.winstructs.PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_RELATIVE
    @@ -15010,14 +16613,14 @@
    OctetString
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x03CFE0B0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03BA4E10>]

    -

    14.3.310. _CLAIM_SECURITY_ATTRIBUTE_V1_UNION

    +

    14.3.348. _CLAIM_SECURITY_ATTRIBUTE_V1_UNION

    class windows.generated_def.winstructs.CLAIM_SECURITY_ATTRIBUTE_V1_UNION
    @@ -15061,7 +16664,7 @@
    -

    14.3.311. _CLAIM_SECURITY_ATTRIBUTE_V1

    +

    14.3.349. _CLAIM_SECURITY_ATTRIBUTE_V1

    class windows.generated_def.winstructs.CLAIM_SECURITY_ATTRIBUTE_V1
    @@ -15117,7 +16720,7 @@
    -

    14.3.312. _CLAIM_SECURITY_ATTRIBUTES_INFORMATION_UNION

    +

    14.3.350. _CLAIM_SECURITY_ATTRIBUTES_INFORMATION_UNION

    class windows.generated_def.winstructs.CLAIM_SECURITY_ATTRIBUTES_INFORMATION_UNION
    @@ -15137,7 +16740,7 @@
    -

    14.3.313. _CLAIM_SECURITY_ATTRIBUTES_INFORMATION

    +

    14.3.351. _CLAIM_SECURITY_ATTRIBUTES_INFORMATION

    class windows.generated_def.winstructs.CLAIM_SECURITY_ATTRIBUTES_INFORMATION
    @@ -15181,7 +16784,7 @@
    -

    14.3.314. _SECURITY_DESCRIPTOR

    +

    14.3.352. _SECURITY_DESCRIPTOR

    class windows.generated_def.winstructs.PISECURITY_DESCRIPTOR
    @@ -15243,7 +16846,7 @@
    -

    14.3.315. _GENERIC_MAPPING

    +

    14.3.353. _GENERIC_MAPPING

    class windows.generated_def.winstructs.PGENERIC_MAPPING
    @@ -15287,7 +16890,7 @@
    -

    14.3.316. _PRIVILEGE_SET

    +

    14.3.354. _PRIVILEGE_SET

    class windows.generated_def.winstructs.PRIVILEGE_SET
    @@ -15318,14 +16921,350 @@
    Privilege
    -

    LUID_AND_ATTRIBUTES [<winstruct.ComplexArrayExpression object at 0x03CFEC10>]

    +

    LUID_AND_ATTRIBUTES [<winstruct.ComplexArrayExpression object at 0x03BA8990>]

    +
    + +
    + +
    +
    +

    14.3.355. _OBJECTS_AND_NAME_A

    +
    +
    +class windows.generated_def.winstructs.OBJECTS_AND_NAME_A
    +

    Alias for _OBJECTS_AND_NAME_A

    +
    + +
    +
    +class windows.generated_def.winstructs.POBJECTS_AND_NAME_A
    +

    Pointer to _OBJECTS_AND_NAME_A

    +
    + +
    +
    +class windows.generated_def.winstructs._OBJECTS_AND_NAME_A[source]
    +
    +
    +ObjectsPresent
    +

    DWORD

    +
    + +
    +
    +ObjectType
    +

    SE_OBJECT_TYPE

    +
    + +
    +
    +ObjectTypeName
    +

    LPSTR

    +
    + +
    +
    +InheritedObjectTypeName
    +

    LPSTR

    +
    + +
    +
    +ptstrName
    +

    LPSTR

    +
    + +
    + +
    +
    +

    14.3.356. _OBJECTS_AND_SID

    +
    +
    +class windows.generated_def.winstructs.POBJECTS_AND_SID
    +

    Pointer to _OBJECTS_AND_SID

    +
    + +
    +
    +class windows.generated_def.winstructs.OBJECTS_AND_SID
    +

    Alias for _OBJECTS_AND_SID

    +
    + +
    +
    +class windows.generated_def.winstructs._OBJECTS_AND_SID[source]
    +
    +
    +ObjectsPresent
    +

    DWORD

    +
    + +
    +
    +ObjectTypeGuid
    +

    GUID

    +
    + +
    +
    +InheritedObjectTypeGuid
    +

    GUID

    +
    + +
    +
    +pSid
    +

    PSID

    +
    + +
    + +
    +
    +

    14.3.357. _TRUSTEE_A

    +
    +
    +class windows.generated_def.winstructs.PTRUSTEEA
    +

    Pointer to _TRUSTEE_A

    +
    + +
    +
    +class windows.generated_def.winstructs.TRUSTEEA
    +

    Alias for _TRUSTEE_A

    +
    + +
    +
    +class windows.generated_def.winstructs.TRUSTEE_A
    +

    Alias for _TRUSTEE_A

    +
    + +
    +
    +class windows.generated_def.winstructs.PTRUSTEE_A
    +

    Pointer to _TRUSTEE_A

    +
    + +
    +
    +class windows.generated_def.winstructs._TRUSTEE_A[source]
    +
    +
    +pMultipleTrustee
    +

    _TRUSTEE_A

    +
    + +
    +
    +MultipleTrusteeOperation
    +

    MULTIPLE_TRUSTEE_OPERATION

    +
    + +
    +
    +TrusteeForm
    +

    TRUSTEE_FORM

    +
    + +
    +
    +TrusteeType
    +

    TRUSTEE_TYPE

    +
    + +
    +
    +anon_01
    +

    _ANON__TRUSTEE_A_SUB_UNION_1

    +
    + +
    +
    +ptstrName
    +

    LPCH

    +
    + +
    + +
    +
    +

    14.3.358. _OBJECTS_AND_NAME_W

    +
    +
    +class windows.generated_def.winstructs.OBJECTS_AND_NAME_W
    +

    Alias for _OBJECTS_AND_NAME_W

    +
    + +
    +
    +class windows.generated_def.winstructs.POBJECTS_AND_NAME_W
    +

    Pointer to _OBJECTS_AND_NAME_W

    +
    + +
    +
    +class windows.generated_def.winstructs._OBJECTS_AND_NAME_W[source]
    +
    +
    +ObjectsPresent
    +

    DWORD

    +
    + +
    +
    +ObjectType
    +

    SE_OBJECT_TYPE

    +
    + +
    +
    +ObjectTypeName
    +

    LPWSTR

    +
    + +
    +
    +InheritedObjectTypeName
    +

    LPWSTR

    +
    + +
    +
    +ptstrName
    +

    LPWSTR

    +
    + +
    + +
    +
    +

    14.3.359. _TRUSTEE_W

    +
    +
    +class windows.generated_def.winstructs.PTRUSTEE_W
    +

    Pointer to _TRUSTEE_W

    +
    + +
    +
    +class windows.generated_def.winstructs.TRUSTEE_W
    +

    Alias for _TRUSTEE_W

    +
    + +
    +
    +class windows.generated_def.winstructs.PTRUSTEEW
    +

    Pointer to _TRUSTEE_W

    +
    + +
    +
    +class windows.generated_def.winstructs.TRUSTEEW
    +

    Alias for _TRUSTEE_W

    +
    + +
    +
    +class windows.generated_def.winstructs._TRUSTEE_W[source]
    +
    +
    +pMultipleTrustee
    +

    _TRUSTEE_W

    +
    + +
    +
    +MultipleTrusteeOperation
    +

    MULTIPLE_TRUSTEE_OPERATION

    +
    + +
    +
    +TrusteeForm
    +

    TRUSTEE_FORM

    +
    + +
    +
    +TrusteeType
    +

    TRUSTEE_TYPE

    +
    + +
    +
    +anon_01
    +

    _ANON__TRUSTEE_W_SUB_UNION_1

    +
    + +
    +
    +ptstrName
    +

    LPWCH

    +
    + +
    + +
    +
    +

    14.3.360. _EXPLICIT_ACCESS_W

    +
    +
    +class windows.generated_def.winstructs.EXPLICIT_ACCESSW
    +

    Alias for _EXPLICIT_ACCESS_W

    +
    + +
    +
    +class windows.generated_def.winstructs.PEXPLICIT_ACCESSW
    +

    Pointer to _EXPLICIT_ACCESS_W

    +
    + +
    +
    +class windows.generated_def.winstructs.PEXPLICIT_ACCESS_W
    +

    Pointer to _EXPLICIT_ACCESS_W

    +
    + +
    +
    +class windows.generated_def.winstructs.EXPLICIT_ACCESS_W
    +

    Alias for _EXPLICIT_ACCESS_W

    +
    + +
    +
    +class windows.generated_def.winstructs._EXPLICIT_ACCESS_W[source]
    +
    +
    +grfAccessPermissions
    +

    DWORD

    +
    + +
    +
    +grfAccessMode
    +

    ACCESS_MODE

    +
    + +
    +
    +grfInheritance
    +

    DWORD

    +
    + +
    +
    +Trustee
    +

    TRUSTEE_W

    -

    14.3.317. _SERVICE_STATUS

    +

    14.3.361. _SERVICE_STATUS

    class windows.generated_def.winstructs.SERVICE_STATUS
    @@ -15387,7 +17326,7 @@
    -

    14.3.318. _SERVICE_STATUS_PROCESS

    +

    14.3.362. _SERVICE_STATUS_PROCESS

    class windows.generated_def.winstructs.LPSERVICE_STATUS_PROCESS
    @@ -15461,7 +17400,7 @@
    -

    14.3.319. _ENUM_SERVICE_STATUS_PROCESSA

    +

    14.3.363. _ENUM_SERVICE_STATUS_PROCESSA

    class windows.generated_def.winstructs.LPENUM_SERVICE_STATUS_PROCESSA
    @@ -15499,7 +17438,7 @@
    -

    14.3.320. _ENUM_SERVICE_STATUS_PROCESSW

    +

    14.3.364. _ENUM_SERVICE_STATUS_PROCESSW

    class windows.generated_def.winstructs.ENUM_SERVICE_STATUS_PROCESSW
    @@ -15537,7 +17476,7 @@
    -

    14.3.321. _ENUM_SERVICE_STATUSA

    +

    14.3.365. _ENUM_SERVICE_STATUSA

    class windows.generated_def.winstructs.LPENUM_SERVICE_STATUSA
    @@ -15575,7 +17514,7 @@
    -

    14.3.322. _ENUM_SERVICE_STATUSW

    +

    14.3.366. _ENUM_SERVICE_STATUSW

    class windows.generated_def.winstructs.ENUM_SERVICE_STATUSW
    @@ -15613,7 +17552,7 @@
    -

    14.3.323. _QUERY_SERVICE_CONFIGA

    +

    14.3.367. _QUERY_SERVICE_CONFIGA

    class windows.generated_def.winstructs.QUERY_SERVICE_CONFIGA
    @@ -15687,7 +17626,7 @@
    -

    14.3.324. _QUERY_SERVICE_CONFIGW

    +

    14.3.368. _QUERY_SERVICE_CONFIGW

    class windows.generated_def.winstructs.LPQUERY_SERVICE_CONFIGW
    @@ -15759,9 +17698,97 @@
    +
    +
    +

    14.3.369. _SP_DEVICE_INTERFACE_DATA

    +
    +
    +class windows.generated_def.winstructs.PSP_DEVICE_INTERFACE_DATA
    +

    Pointer to _SP_DEVICE_INTERFACE_DATA

    +
    + +
    +
    +class windows.generated_def.winstructs.SP_DEVICE_INTERFACE_DATA
    +

    Alias for _SP_DEVICE_INTERFACE_DATA

    +
    + +
    +
    +class windows.generated_def.winstructs._SP_DEVICE_INTERFACE_DATA[source]
    +
    +
    +cbSize
    +

    DWORD

    +
    + +
    +
    +InterfaceClassGuid
    +

    GUID

    +
    + +
    +
    +Flags
    +

    DWORD

    +
    + +
    +
    +Reserved
    +

    ULONG_PTR

    +
    + +
    + +
    +
    +

    14.3.370. _SP_DEVINFO_DATA

    +
    +
    +class windows.generated_def.winstructs.PSP_DEVINFO_DATA
    +

    Pointer to _SP_DEVINFO_DATA

    +
    + +
    +
    +class windows.generated_def.winstructs.SP_DEVINFO_DATA
    +

    Alias for _SP_DEVINFO_DATA

    +
    + +
    +
    +class windows.generated_def.winstructs._SP_DEVINFO_DATA[source]
    +
    +
    +cbSize
    +

    DWORD

    +
    + +
    +
    +ClassGuid
    +

    GUID

    +
    + +
    +
    +DevInst
    +

    DWORD

    +
    + +
    +
    +Reserved
    +

    ULONG_PTR

    +
    + +
    +
    -

    14.3.325. _SHITEMID

    +

    14.3.371. _SHITEMID

    class windows.generated_def.winstructs.SHITEMID
    @@ -15780,14 +17807,14 @@
    abID
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x04002BF0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03BB2B10>]

    -

    14.3.326. _ITEMIDLIST

    +

    14.3.372. _ITEMIDLIST

    class windows.generated_def.winstructs.ITEMIDLIST
    @@ -15819,7 +17846,7 @@
    -

    14.3.327. _IMAGEHLP_MODULE64

    +

    14.3.373. _IMAGEHLP_MODULE64

    class windows.generated_def.winstructs.PIMAGEHLP_MODULE64
    @@ -15880,25 +17907,25 @@
    ModuleName
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x040097F0>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BB8710>]

    ImageName
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x04009870>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BB8790>]

    LoadedImageName
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x040098D0>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BB87F0>]

    LoadedPdbName
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x04009930>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BB8850>]

    @@ -15910,7 +17937,7 @@
    CVData
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x04009A10>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BB8930>]

    @@ -15977,7 +18004,7 @@
    -

    14.3.328. _IMAGEHLP_MODULEW64

    +

    14.3.374. _IMAGEHLP_MODULEW64

    class windows.generated_def.winstructs.PIMAGEHLP_MODULEW64
    @@ -16038,25 +18065,25 @@
    ModuleName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x0400D0B0>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03BB8FB0>]

    ImageName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x0400D130>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03BBD050>]

    LoadedImageName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x0400D190>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03BBD0B0>]

    LoadedPdbName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x0400D1F0>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03BBD110>]

    @@ -16068,7 +18095,7 @@
    CVData
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x0400D2F0>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03BBD210>]

    @@ -16147,7 +18174,7 @@
    -

    14.3.329. _SYMBOL_INFO

    +

    14.3.375. _SYMBOL_INFO

    class windows.generated_def.winstructs.SYMBOL_INFO
    @@ -16178,7 +18205,7 @@
    Reserved
    -

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x0400D890>]

    +

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x03BBD7B0>]

    @@ -16250,14 +18277,14 @@
    Name
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x0400DD30>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BBDC50>]

    -

    14.3.330. _SYMBOL_INFOW

    +

    14.3.376. _SYMBOL_INFOW

    class windows.generated_def.winstructs.SYMBOL_INFOW
    @@ -16288,7 +18315,7 @@
    Reserved
    -

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x0400DE90>]

    +

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x03BBDDB0>]

    @@ -16360,14 +18387,14 @@
    Name
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x04011350>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03BC1270>]

    -

    14.3.331. SYMSRV_INDEX_INFOW

    +

    14.3.377. SYMSRV_INDEX_INFOW

    class windows.generated_def.winstructs.PSYMSRV_INDEX_INFOW
    @@ -16392,7 +18419,7 @@
    file
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x04011450>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03BC1370>]

    @@ -16416,13 +18443,13 @@
    dbgfile
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x04011610>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03BC1530>]

    pdbfile
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x040116B0>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03BC15D0>]

    @@ -16447,7 +18474,7 @@
    -

    14.3.332. SYMSRV_INDEX_INFO

    +

    14.3.378. SYMSRV_INDEX_INFO

    class windows.generated_def.winstructs.SYMSRV_INDEX_INFO[source]
    @@ -16472,7 +18499,7 @@
    file
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x040118B0>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BC17D0>]

    @@ -16496,13 +18523,13 @@
    dbgfile
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x04011A70>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BC1990>]

    pdbfile
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x04011B10>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BC1A30>]

    @@ -16527,7 +18554,7 @@
    -

    14.3.333. _IMAGEHLP_SYMBOL

    +

    14.3.379. _IMAGEHLP_SYMBOL

    class windows.generated_def.winstructs.PIMAGEHLP_SYMBOL
    @@ -16576,14 +18603,14 @@
    Name
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x04011E70>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BC1D90>]

    -

    14.3.334. _IMAGEHLP_SYMBOL64

    +

    14.3.380. _IMAGEHLP_SYMBOL64

    class windows.generated_def.winstructs.PIMAGEHLP_SYMBOL64
    @@ -16632,14 +18659,14 @@
    Name
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x040150F0>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BC1FF0>]

    -

    14.3.335. _IMAGEHLP_SYMBOLW64

    +

    14.3.381. _IMAGEHLP_SYMBOLW64

    class windows.generated_def.winstructs.PIMAGEHLP_SYMBOLW64
    @@ -16688,14 +18715,14 @@
    Name
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x04015350>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03BC7270>]

    -

    14.3.336. _IMAGEHLP_STACK_FRAME

    +

    14.3.382. _IMAGEHLP_STACK_FRAME

    class windows.generated_def.winstructs.IMAGEHLP_STACK_FRAME
    @@ -16750,13 +18777,13 @@
    Params
    -

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x040155D0>]

    +

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x03BC74F0>]

    Reserved
    -

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x04015630>]

    +

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x03BC7550>]

    @@ -16775,7 +18802,7 @@
    -

    14.3.337. _IMAGEHLP_CBA_EVENT

    +

    14.3.383. _IMAGEHLP_CBA_EVENT

    class windows.generated_def.winstructs.PIMAGEHLP_CBA_EVENT
    @@ -16819,7 +18846,7 @@
    -

    14.3.338. _IMAGEHLP_CBA_EVENTW

    +

    14.3.384. _IMAGEHLP_CBA_EVENTW

    class windows.generated_def.winstructs.PIMAGEHLP_CBA_EVENTW
    @@ -16863,7 +18890,7 @@
    -

    14.3.339. _IMAGEHLP_CBA_READ_MEMORY

    +

    14.3.385. _IMAGEHLP_CBA_READ_MEMORY

    class windows.generated_def.winstructs.PIMAGEHLP_CBA_READ_MEMORY
    @@ -16907,7 +18934,7 @@
    -

    14.3.340. _IMAGEHLP_DEFERRED_SYMBOL_LOAD

    +

    14.3.386. _IMAGEHLP_DEFERRED_SYMBOL_LOAD

    class windows.generated_def.winstructs.PIMAGEHLP_DEFERRED_SYMBOL_LOAD
    @@ -16950,7 +18977,7 @@
    FileName
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x04015ED0>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BC7DF0>]

    @@ -16969,7 +18996,7 @@
    -

    14.3.341. _IMAGEHLP_DEFERRED_SYMBOL_LOAD64

    +

    14.3.387. _IMAGEHLP_DEFERRED_SYMBOL_LOAD64

    class windows.generated_def.winstructs.IMAGEHLP_DEFERRED_SYMBOL_LOAD64
    @@ -17012,7 +19039,7 @@
    FileName
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x0401A1D0>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BCD0F0>]

    @@ -17037,7 +19064,7 @@
    -

    14.3.342. _IMAGEHLP_DEFERRED_SYMBOL_LOADW64

    +

    14.3.388. _IMAGEHLP_DEFERRED_SYMBOL_LOADW64

    class windows.generated_def.winstructs.IMAGEHLP_DEFERRED_SYMBOL_LOADW64
    @@ -17080,7 +19107,7 @@
    FileName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x0401A510>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03BCD430>]

    @@ -17105,7 +19132,7 @@
    -

    14.3.343. _IMAGEHLP_DUPLICATE_SYMBOL64

    +

    14.3.389. _IMAGEHLP_DUPLICATE_SYMBOL64

    class windows.generated_def.winstructs.PIMAGEHLP_DUPLICATE_SYMBOL64
    @@ -17149,7 +19176,7 @@
    -

    14.3.344. _IMAGEHLP_DUPLICATE_SYMBOL

    +

    14.3.390. _IMAGEHLP_DUPLICATE_SYMBOL

    class windows.generated_def.winstructs.PIMAGEHLP_DUPLICATE_SYMBOL
    @@ -17193,7 +19220,7 @@
    -

    14.3.345. _tagADDRESS

    +

    14.3.391. _tagADDRESS

    class windows.generated_def.winstructs.LPADDRESS
    @@ -17231,7 +19258,7 @@
    -

    14.3.346. _tagADDRESS64

    +

    14.3.392. _tagADDRESS64

    class windows.generated_def.winstructs.LPADDRESS64
    @@ -17269,7 +19296,7 @@
    -

    14.3.347. _KDHELP

    +

    14.3.393. _KDHELP

    class windows.generated_def.winstructs.KDHELP
    @@ -17354,14 +19381,14 @@
    Reserved
    -

    DWORD [<winstruct.ComplexArrayExpression object at 0x0401AFF0>]

    +

    DWORD [<winstruct.ComplexArrayExpression object at 0x03BCDF10>]

    -

    14.3.348. _KDHELP64

    +

    14.3.394. _KDHELP64

    class windows.generated_def.winstructs.KDHELP64
    @@ -17476,14 +19503,14 @@
    Reserved0
    -

    DWORD64 [<winstruct.ComplexArrayExpression object at 0x0401E590>]

    +

    DWORD64 [<winstruct.ComplexArrayExpression object at 0x03BD04B0>]

    -

    14.3.349. _tagSTACKFRAME

    +

    14.3.395. _tagSTACKFRAME

    class windows.generated_def.winstructs.STACKFRAME
    @@ -17532,7 +19559,7 @@
    Params
    -

    DWORD [<winstruct.ComplexArrayExpression object at 0x0401E870>]

    +

    DWORD [<winstruct.ComplexArrayExpression object at 0x03BD0790>]

    @@ -17550,7 +19577,7 @@
    Reserved
    -

    DWORD [<winstruct.ComplexArrayExpression object at 0x0401E970>]

    +

    DWORD [<winstruct.ComplexArrayExpression object at 0x03BD0890>]

    @@ -17569,7 +19596,7 @@
    -

    14.3.350. _tagSTACKFRAME64

    +

    14.3.396. _tagSTACKFRAME64

    class windows.generated_def.winstructs.STACKFRAME64
    @@ -17624,7 +19651,7 @@
    Params
    -

    DWORD64 [<winstruct.ComplexArrayExpression object at 0x0401ED50>]

    +

    DWORD64 [<winstruct.ComplexArrayExpression object at 0x03BD0C70>]

    @@ -17642,7 +19669,7 @@
    Reserved
    -

    DWORD64 [<winstruct.ComplexArrayExpression object at 0x0401EE50>]

    +

    DWORD64 [<winstruct.ComplexArrayExpression object at 0x03BD0D70>]

    @@ -17655,7 +19682,7 @@
    -

    14.3.351. _tagSTACKFRAME_EX

    +

    14.3.397. _tagSTACKFRAME_EX

    class windows.generated_def.winstructs.LPSTACKFRAME_EX
    @@ -17710,7 +19737,7 @@
    Params
    -

    DWORD64 [<winstruct.ComplexArrayExpression object at 0x040211D0>]

    +

    DWORD64 [<winstruct.ComplexArrayExpression object at 0x03BD40F0>]

    @@ -17728,7 +19755,7 @@
    Reserved
    -

    DWORD64 [<winstruct.ComplexArrayExpression object at 0x040212D0>]

    +

    DWORD64 [<winstruct.ComplexArrayExpression object at 0x03BD41F0>]

    @@ -17753,7 +19780,7 @@
    -

    14.3.352. _TIME_ZONE_INFORMATION

    +

    14.3.398. _TIME_ZONE_INFORMATION

    class windows.generated_def.winstructs.LPTIME_ZONE_INFORMATION
    @@ -17784,7 +19811,7 @@
    StandardName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x04021630>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03BD4550>]

    @@ -17802,7 +19829,7 @@
    DaylightName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x04021710>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03BD4630>]

    @@ -17821,7 +19848,7 @@
    -

    14.3.353. _TOKEN_PRIVILEGES

    +

    14.3.399. _TOKEN_PRIVILEGES

    class windows.generated_def.winstructs.TOKEN_PRIVILEGES
    @@ -17846,14 +19873,14 @@
    Privileges
    -

    LUID_AND_ATTRIBUTES [<winstruct.ComplexArrayExpression object at 0x040219D0>]

    +

    LUID_AND_ATTRIBUTES [<winstruct.ComplexArrayExpression object at 0x03BD48F0>]

    -

    14.3.354. _TOKEN_ELEVATION

    +

    14.3.400. _TOKEN_ELEVATION

    class windows.generated_def.winstructs.TOKEN_ELEVATION
    @@ -17879,7 +19906,7 @@
    -

    14.3.355. _SID_AND_ATTRIBUTES

    +

    14.3.401. _SID_AND_ATTRIBUTES

    class windows.generated_def.winstructs.SID_AND_ATTRIBUTES
    @@ -17911,7 +19938,7 @@
    -

    14.3.356. _TOKEN_MANDATORY_LABEL

    +

    14.3.402. _TOKEN_MANDATORY_LABEL

    class windows.generated_def.winstructs.TOKEN_MANDATORY_LABEL
    @@ -17937,7 +19964,7 @@
    -

    14.3.357. _TOKEN_USER

    +

    14.3.403. _TOKEN_USER

    class windows.generated_def.winstructs.PTOKEN_USER
    @@ -17963,7 +19990,7 @@
    -

    14.3.358. _TOKEN_DEFAULT_DACL

    +

    14.3.404. _TOKEN_DEFAULT_DACL

    class windows.generated_def.winstructs.TOKEN_DEFAULT_DACL
    @@ -17989,7 +20016,7 @@
    -

    14.3.359. _TOKEN_GROUPS

    +

    14.3.405. _TOKEN_GROUPS

    class windows.generated_def.winstructs.TOKEN_GROUPS
    @@ -18014,14 +20041,14 @@
    Groups
    -

    SID_AND_ATTRIBUTES [<winstruct.ComplexArrayExpression object at 0x04021E30>]

    +

    SID_AND_ATTRIBUTES [<winstruct.ComplexArrayExpression object at 0x03BD4D50>]

    -

    14.3.360. _TOKEN_OWNER

    +

    14.3.406. _TOKEN_OWNER

    class windows.generated_def.winstructs.TOKEN_OWNER
    @@ -18047,7 +20074,7 @@
    -

    14.3.361. _TOKEN_PRIMARY_GROUP

    +

    14.3.407. _TOKEN_PRIMARY_GROUP

    class windows.generated_def.winstructs.PTOKEN_PRIMARY_GROUP
    @@ -18073,7 +20100,7 @@
    -

    14.3.362. _TOKEN_SOURCE

    +

    14.3.408. _TOKEN_SOURCE

    class windows.generated_def.winstructs.PTOKEN_SOURCE
    @@ -18092,7 +20119,7 @@
    SourceName
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x04028050>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03BD4F50>]

    @@ -18105,7 +20132,7 @@
    -

    14.3.363. _TOKEN_STATISTICS

    +

    14.3.409. _TOKEN_STATISTICS

    class windows.generated_def.winstructs.PTOKEN_STATISTICS
    @@ -18185,7 +20212,7 @@
    -

    14.3.364. _TOKEN_ORIGIN

    +

    14.3.410. _TOKEN_ORIGIN

    class windows.generated_def.winstructs.TOKEN_ORIGIN
    @@ -18211,7 +20238,7 @@
    -

    14.3.365. _TOKEN_LINKED_TOKEN

    +

    14.3.411. _TOKEN_LINKED_TOKEN

    class windows.generated_def.winstructs.PTOKEN_LINKED_TOKEN
    @@ -18237,7 +20264,7 @@
    -

    14.3.366. _TOKEN_MANDATORY_POLICY

    +

    14.3.412. _TOKEN_MANDATORY_POLICY

    class windows.generated_def.winstructs.TOKEN_MANDATORY_POLICY
    @@ -18263,7 +20290,7 @@
    -

    14.3.367. _SID_AND_ATTRIBUTES_HASH

    +

    14.3.413. _SID_AND_ATTRIBUTES_HASH

    class windows.generated_def.winstructs.SID_AND_ATTRIBUTES_HASH
    @@ -18294,14 +20321,14 @@
    Hash
    -

    SID_HASH_ENTRY [<winstruct.ComplexArrayExpression object at 0x04028690>]

    +

    SID_HASH_ENTRY [<winstruct.ComplexArrayExpression object at 0x03BDB5B0>]

    -

    14.3.368. _TOKEN_APPCONTAINER_INFORMATION

    +

    14.3.414. _TOKEN_APPCONTAINER_INFORMATION

    class windows.generated_def.winstructs.PTOKEN_APPCONTAINER_INFORMATION
    @@ -18327,7 +20354,7 @@
    -

    14.3.369. _TOKEN_ACCESS_INFORMATION

    +

    14.3.415. _TOKEN_ACCESS_INFORMATION

    class windows.generated_def.winstructs.PTOKEN_ACCESS_INFORMATION
    @@ -18425,7 +20452,7 @@
    -

    14.3.370. _TOKEN_GROUPS_AND_PRIVILEGES

    +

    14.3.416. _TOKEN_GROUPS_AND_PRIVILEGES

    class windows.generated_def.winstructs.TOKEN_GROUPS_AND_PRIVILEGES
    @@ -18505,7 +20532,7 @@
    -

    14.3.371. _TOKEN_SECURITY_ATTRIBUTE_FQBN_VALUE

    +

    14.3.417. _TOKEN_SECURITY_ATTRIBUTE_FQBN_VALUE

    class windows.generated_def.winstructs.PTOKEN_SECURITY_ATTRIBUTE_FQBN_VALUE
    @@ -18537,7 +20564,7 @@
    -

    14.3.372. _TOKEN_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE

    +

    14.3.418. _TOKEN_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE

    class windows.generated_def.winstructs.PTOKEN_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE
    @@ -18569,7 +20596,7 @@
    -

    14.3.373. _TOKEN_SECURITY_ATTRIBUTE_V1_UNION

    +

    14.3.419. _TOKEN_SECURITY_ATTRIBUTE_V1_UNION

    class windows.generated_def.winstructs.TOKEN_SECURITY_ATTRIBUTE_V1_UNION
    @@ -18613,7 +20640,7 @@
    -

    14.3.374. _TOKEN_SECURITY_ATTRIBUTE_V1

    +

    14.3.420. _TOKEN_SECURITY_ATTRIBUTE_V1

    class windows.generated_def.winstructs.TOKEN_SECURITY_ATTRIBUTE_V1
    @@ -18669,7 +20696,7 @@
    -

    14.3.375. _TOKEN_SECURITY_ATTRIBUTES_INFORMATION_UNION

    +

    14.3.421. _TOKEN_SECURITY_ATTRIBUTES_INFORMATION_UNION

    class windows.generated_def.winstructs.TOKEN_SECURITY_ATTRIBUTES_INFORMATION_UNION
    @@ -18689,7 +20716,7 @@
    -

    14.3.376. _TOKEN_SECURITY_ATTRIBUTES_INFORMATION

    +

    14.3.422. _TOKEN_SECURITY_ATTRIBUTES_INFORMATION

    class windows.generated_def.winstructs.PTOKEN_SECURITY_ATTRIBUTES_INFORMATION
    @@ -18733,7 +20760,7 @@
    -

    14.3.377. _TRACE_PROVIDER_INFO

    +

    14.3.423. _TRACE_PROVIDER_INFO

    class windows.generated_def.winstructs.TRACE_PROVIDER_INFO
    @@ -18765,7 +20792,7 @@
    -

    14.3.378. _PROVIDER_ENUMERATION_INFO

    +

    14.3.424. _PROVIDER_ENUMERATION_INFO

    class windows.generated_def.winstructs.PPROVIDER_ENUMERATION_INFO
    @@ -18796,14 +20823,14 @@
    TraceProviderInfoArray
    -

    TRACE_PROVIDER_INFO [<winstruct.ComplexArrayExpression object at 0x0402D6D0>]

    +

    TRACE_PROVIDER_INFO [<winstruct.ComplexArrayExpression object at 0x03BE05F0>]

    -

    14.3.379. tagRGBTRIPLE

    +

    14.3.425. tagRGBTRIPLE

    class windows.generated_def.winstructs.NPRGBTRIPLE
    @@ -18853,7 +20880,7 @@
    -

    14.3.380. tagBITMAPFILEHEADER

    +

    14.3.426. tagBITMAPFILEHEADER

    class windows.generated_def.winstructs.BITMAPFILEHEADER
    @@ -18909,7 +20936,7 @@
    -

    14.3.381. tagBITMAPCOREHEADER

    +

    14.3.427. tagBITMAPCOREHEADER

    class windows.generated_def.winstructs.LPBITMAPCOREHEADER
    @@ -18965,7 +20992,7 @@
    -

    14.3.382. tagBITMAP

    +

    14.3.428. tagBITMAP

    class windows.generated_def.winstructs.NPBITMAP
    @@ -19039,7 +21066,7 @@
    -

    14.3.383. tagBITMAPINFOHEADER

    +

    14.3.429. tagBITMAPINFOHEADER

    class windows.generated_def.winstructs.BITMAPINFOHEADER
    @@ -19131,7 +21158,7 @@
    -

    14.3.384. tagRGBQUAD

    +

    14.3.430. tagRGBQUAD

    class windows.generated_def.winstructs.RGBQUAD
    @@ -19169,7 +21196,7 @@
    -

    14.3.385. tagBITMAPINFO

    +

    14.3.431. tagBITMAPINFO

    class windows.generated_def.winstructs.LPBITMAPINFO
    @@ -19200,14 +21227,14 @@
    bmiColors
    -

    RGBQUAD [<winstruct.ComplexArrayExpression object at 0x04031850>]

    +

    RGBQUAD [<winstruct.ComplexArrayExpression object at 0x03BE3770>]

    -

    14.3.386. tagBITMAPCOREINFO

    +

    14.3.432. tagBITMAPCOREINFO

    class windows.generated_def.winstructs.LPBITMAPCOREINFO
    @@ -19238,14 +21265,14 @@
    bmciColors
    -

    RGBTRIPLE [<winstruct.ComplexArrayExpression object at 0x040319B0>]

    +

    RGBTRIPLE [<winstruct.ComplexArrayExpression object at 0x03BE38D0>]

    -

    14.3.387. tagWNDCLASSEXA

    +

    14.3.433. tagWNDCLASSEXA

    class windows.generated_def.winstructs.PWNDCLASSEXA
    @@ -19343,7 +21370,7 @@
    -

    14.3.388. tagWNDCLASSEXW

    +

    14.3.434. tagWNDCLASSEXW

    class windows.generated_def.winstructs.WNDCLASSEXW
    @@ -19441,7 +21468,7 @@
    -

    14.3.389. _LIST_ENTRY

    +

    14.3.435. _LIST_ENTRY

    class windows.generated_def.winstructs.PLIST_ENTRY
    @@ -19479,7 +21506,7 @@
    -

    14.3.390. _PEB_LDR_DATA

    +

    14.3.436. _PEB_LDR_DATA

    class windows.generated_def.winstructs.PPEB_LDR_DATA
    @@ -19498,13 +21525,13 @@
    Reserved1
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x04035670>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03BE7590>]

    Reserved2
    -

    PVOID [<winstruct.ComplexArrayExpression object at 0x040356F0>]

    +

    PVOID [<winstruct.ComplexArrayExpression object at 0x03BE7610>]

    @@ -19517,7 +21544,7 @@
    -

    14.3.391. _LSA_UNICODE_STRING

    +

    14.3.437. _LSA_UNICODE_STRING

    class windows.generated_def.winstructs.PUNICODE_STRING
    @@ -19567,7 +21594,7 @@
    -

    14.3.392. _CURDIR

    +

    14.3.438. _CURDIR

    class windows.generated_def.winstructs.PCURDIR
    @@ -19599,7 +21626,7 @@
    -

    14.3.393. _RTL_DRIVE_LETTER_CURDIR

    +

    14.3.439. _RTL_DRIVE_LETTER_CURDIR

    class windows.generated_def.winstructs.PRTL_DRIVE_LETTER_CURDIR
    @@ -19643,7 +21670,7 @@
    -

    14.3.394. _RTL_USER_PROCESS_PARAMETERS

    +

    14.3.440. _RTL_USER_PROCESS_PARAMETERS

    class windows.generated_def.winstructs.PRTL_USER_PROCESS_PARAMETERS
    @@ -19824,14 +21851,14 @@
    CurrentDirectores
    -

    RTL_DRIVE_LETTER_CURDIR [<winstruct.ComplexArrayExpression object at 0x0404F430>]

    +

    RTL_DRIVE_LETTER_CURDIR [<winstruct.ComplexArrayExpression object at 0x03BFF350>]

    -

    14.3.395. _ANON_PEB_SYSTEM_DEPENDENT_02

    +

    14.3.441. _ANON_PEB_SYSTEM_DEPENDENT_02

    class windows.generated_def.winstructs._ANON_PEB_SYSTEM_DEPENDENT_02[source]
    @@ -19857,7 +21884,7 @@
    -

    14.3.396. _ANON_PEB_SYSTEM_DEPENDENT_03

    +

    14.3.442. _ANON_PEB_SYSTEM_DEPENDENT_03

    class windows.generated_def.winstructs._ANON_PEB_SYSTEM_DEPENDENT_03[source]
    @@ -19883,7 +21910,7 @@
    -

    14.3.397. _ANON_PEB_SYSTEM_DEPENDENT_06

    +

    14.3.443. _ANON_PEB_SYSTEM_DEPENDENT_06

    class windows.generated_def.winstructs._ANON_PEB_SYSTEM_DEPENDENT_06[source]
    @@ -19909,7 +21936,7 @@
    -

    14.3.398. _ANON_PEB_SYSTEM_DEPENDENT_07

    +

    14.3.444. _ANON_PEB_SYSTEM_DEPENDENT_07

    class windows.generated_def.winstructs._ANON_PEB_SYSTEM_DEPENDENT_07[source]
    @@ -19935,7 +21962,7 @@
    -

    14.3.399. _ANON_PEB_UNION_1

    +

    14.3.445. _ANON_PEB_UNION_1

    class windows.generated_def.winstructs._ANON_PEB_UNION_1[source]
    @@ -19955,7 +21982,7 @@
    -

    14.3.400. _ANON_PEB_UNION_2

    +

    14.3.446. _ANON_PEB_UNION_2

    class windows.generated_def.winstructs._ANON_PEB_UNION_2[source]
    @@ -19975,7 +22002,7 @@
    -

    14.3.401. _PEB

    +

    14.3.447. _PEB

    class windows.generated_def.winstructs.PPEB
    @@ -19994,7 +22021,7 @@
    Reserved1
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x0404FA70>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03BFF990>]

    @@ -20006,7 +22033,7 @@
    Reserved2
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x0404FB30>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03BFFA50>]

    @@ -20108,7 +22135,7 @@
    TlsBitmapBits
    -

    DWORD [<winstruct.ComplexArrayExpression object at 0x0404FFD0>]

    +

    DWORD [<winstruct.ComplexArrayExpression object at 0x03BFFEF0>]

    @@ -20288,13 +22315,13 @@
    GdiHandleBuffer
    -

    PVOID [<winstruct.ComplexArrayExpression object at 0x040537F0>]

    +

    PVOID [<winstruct.ComplexArrayExpression object at 0x03C05710>]

    GdiHandleBuffer2
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x04053850>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03C05770>]

    @@ -20312,7 +22339,7 @@
    TlsExpansionBitmapBits
    -

    DWORD [<winstruct.ComplexArrayExpression object at 0x04053930>]

    +

    DWORD [<winstruct.ComplexArrayExpression object at 0x03C05850>]

    @@ -20385,7 +22412,7 @@
    -

    14.3.402. _SECURITY_ATTRIBUTES

    +

    14.3.448. _SECURITY_ATTRIBUTES

    class windows.generated_def.winstructs.SECURITY_ATTRIBUTES
    @@ -20429,7 +22456,7 @@
    -

    14.3.403. _SYSTEM_VERIFIER_INFORMATION

    +

    14.3.449. _SYSTEM_VERIFIER_INFORMATION

    class windows.generated_def.winstructs.PSYSTEM_VERIFIER_INFORMATION
    @@ -20599,7 +22626,7 @@
    -

    14.3.404. _CLIENT_ID

    +

    14.3.450. _CLIENT_ID

    class windows.generated_def.winstructs.CLIENT_ID
    @@ -20625,7 +22652,7 @@
    -

    14.3.405. _CLIENT_ID64

    +

    14.3.451. _CLIENT_ID64

    class windows.generated_def.winstructs.CLIENT_ID64
    @@ -20651,7 +22678,7 @@
    -

    14.3.406. _CLIENT_ID32

    +

    14.3.452. _CLIENT_ID32

    class windows.generated_def.winstructs.CLIENT_ID32
    @@ -20677,7 +22704,7 @@
    -

    14.3.407. _LDR_DATA_TABLE_ENTRY

    +

    14.3.453. _LDR_DATA_TABLE_ENTRY

    class windows.generated_def.winstructs.PLDR_DATA_TABLE_ENTRY
    @@ -20696,7 +22723,7 @@
    Reserved1
    -

    PVOID [<winstruct.ComplexArrayExpression object at 0x040642F0>]

    +

    PVOID [<winstruct.ComplexArrayExpression object at 0x03C16210>]

    @@ -20708,7 +22735,7 @@
    Reserved2
    -

    PVOID [<winstruct.ComplexArrayExpression object at 0x040643B0>]

    +

    PVOID [<winstruct.ComplexArrayExpression object at 0x03C162D0>]

    @@ -20744,7 +22771,7 @@
    Reserved5
    -

    PVOID [<winstruct.ComplexArrayExpression object at 0x040645D0>]

    +

    PVOID [<winstruct.ComplexArrayExpression object at 0x03C164F0>]

    @@ -20763,7 +22790,7 @@
    -

    14.3.408. _IMAGE_FILE_HEADER

    +

    14.3.454. _IMAGE_FILE_HEADER

    class windows.generated_def.winstructs.IMAGE_FILE_HEADER
    @@ -20825,7 +22852,7 @@
    -

    14.3.409. _IMAGE_DATA_DIRECTORY

    +

    14.3.455. _IMAGE_DATA_DIRECTORY

    class windows.generated_def.winstructs.IMAGE_DATA_DIRECTORY
    @@ -20857,7 +22884,7 @@
    -

    14.3.410. _IMAGE_SECTION_HEADER

    +

    14.3.456. _IMAGE_SECTION_HEADER

    class windows.generated_def.winstructs.PIMAGE_SECTION_HEADER
    @@ -20876,7 +22903,7 @@
    Name
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x04064A30>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03C16950>]

    @@ -20937,7 +22964,7 @@
    -

    14.3.411. _IMAGE_OPTIONAL_HEADER64

    +

    14.3.457. _IMAGE_OPTIONAL_HEADER64

    class windows.generated_def.winstructs.PIMAGE_OPTIONAL_HEADER64
    @@ -21130,14 +23157,14 @@
    DataDirectory
    -

    IMAGE_DATA_DIRECTORY [<winstruct.ComplexArrayExpression object at 0x04068570>]

    +

    IMAGE_DATA_DIRECTORY [<winstruct.ComplexArrayExpression object at 0x03C1B490>]

    -

    14.3.412. _IMAGE_OPTIONAL_HEADER

    +

    14.3.458. _IMAGE_OPTIONAL_HEADER

    class windows.generated_def.winstructs.PIMAGE_OPTIONAL_HEADER32
    @@ -21336,14 +23363,14 @@
    DataDirectory
    -

    IMAGE_DATA_DIRECTORY [<winstruct.ComplexArrayExpression object at 0x04068E90>]

    +

    IMAGE_DATA_DIRECTORY [<winstruct.ComplexArrayExpression object at 0x03C1BDB0>]

    -

    14.3.413. _IMAGE_NT_HEADERS64

    +

    14.3.459. _IMAGE_NT_HEADERS64

    class windows.generated_def.winstructs.PIMAGE_NT_HEADERS64
    @@ -21381,7 +23408,7 @@
    -

    14.3.414. _IMAGE_NT_HEADERS

    +

    14.3.460. _IMAGE_NT_HEADERS

    class windows.generated_def.winstructs.IMAGE_NT_HEADERS32
    @@ -21419,7 +23446,7 @@
    -

    14.3.415. _IMAGE_IMPORT_DESCRIPTOR

    +

    14.3.461. _IMAGE_IMPORT_DESCRIPTOR

    class windows.generated_def.winstructs.IMAGE_IMPORT_DESCRIPTOR
    @@ -21469,7 +23496,7 @@
    -

    14.3.416. _IMAGE_IMPORT_BY_NAME

    +

    14.3.462. _IMAGE_IMPORT_BY_NAME

    class windows.generated_def.winstructs.PIMAGE_IMPORT_BY_NAME
    @@ -21494,14 +23521,14 @@
    Name
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x0406E3B0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03C202D0>]

    -

    14.3.417. _IMAGE_EXPORT_DIRECTORY

    +

    14.3.463. _IMAGE_EXPORT_DIRECTORY

    class windows.generated_def.winstructs.IMAGE_EXPORT_DIRECTORY
    @@ -21587,7 +23614,7 @@
    -

    14.3.418. _IMAGE_BASE_RELOCATION

    +

    14.3.464. _IMAGE_BASE_RELOCATION

    class windows.generated_def.winstructs.PIMAGE_BASE_RELOCATION
    @@ -21619,7 +23646,7 @@
    -

    14.3.419. _MEMORY_BASIC_INFORMATION

    +

    14.3.465. _MEMORY_BASIC_INFORMATION

    class windows.generated_def.winstructs.PMEMORY_BASIC_INFORMATION
    @@ -21681,7 +23708,7 @@
    -

    14.3.420. _THREAD_BASIC_INFORMATION

    +

    14.3.466. _THREAD_BASIC_INFORMATION

    class windows.generated_def.winstructs.THREAD_BASIC_INFORMATION
    @@ -21737,7 +23764,7 @@
    -

    14.3.421. _MEMORY_BASIC_INFORMATION32

    +

    14.3.467. _MEMORY_BASIC_INFORMATION32

    class windows.generated_def.winstructs.MEMORY_BASIC_INFORMATION32
    @@ -21799,7 +23826,7 @@
    -

    14.3.422. _MEMORY_BASIC_INFORMATION64

    +

    14.3.468. _MEMORY_BASIC_INFORMATION64

    class windows.generated_def.winstructs.PMEMORY_BASIC_INFORMATION64
    @@ -21873,7 +23900,7 @@
    -

    14.3.423. _PSAPI_WORKING_SET_BLOCK

    +

    14.3.469. _PSAPI_WORKING_SET_BLOCK

    class windows.generated_def.winstructs.PSAPI_WORKING_SET_BLOCK
    @@ -21899,7 +23926,7 @@
    -

    14.3.424. _PSAPI_WORKING_SET_BLOCK32

    +

    14.3.470. _PSAPI_WORKING_SET_BLOCK32

    class windows.generated_def.winstructs.PSAPI_WORKING_SET_BLOCK32
    @@ -21925,7 +23952,7 @@
    -

    14.3.425. _PSAPI_WORKING_SET_BLOCK64

    +

    14.3.471. _PSAPI_WORKING_SET_BLOCK64

    class windows.generated_def.winstructs.PSAPI_WORKING_SET_BLOCK64
    @@ -21951,7 +23978,7 @@
    -

    14.3.426. _PSAPI_WORKING_SET_INFORMATION

    +

    14.3.472. _PSAPI_WORKING_SET_INFORMATION

    class windows.generated_def.winstructs.PPSAPI_WORKING_SET_INFORMATION
    @@ -21976,14 +24003,14 @@
    WorkingSetInfo
    -

    PSAPI_WORKING_SET_BLOCK [<winstruct.ComplexArrayExpression object at 0x040714F0>]

    +

    PSAPI_WORKING_SET_BLOCK [<winstruct.ComplexArrayExpression object at 0x03C24410>]

    -

    14.3.427. _PSAPI_WORKING_SET_INFORMATION32

    +

    14.3.473. _PSAPI_WORKING_SET_INFORMATION32

    class windows.generated_def.winstructs.PPSAPI_WORKING_SET_INFORMATION32
    @@ -22008,14 +24035,14 @@
    WorkingSetInfo
    -

    PSAPI_WORKING_SET_BLOCK32 [<winstruct.ComplexArrayExpression object at 0x040715B0>]

    +

    PSAPI_WORKING_SET_BLOCK32 [<winstruct.ComplexArrayExpression object at 0x03C244D0>]

    -

    14.3.428. _PSAPI_WORKING_SET_INFORMATION64

    +

    14.3.474. _PSAPI_WORKING_SET_INFORMATION64

    class windows.generated_def.winstructs.PSAPI_WORKING_SET_INFORMATION64
    @@ -22040,14 +24067,14 @@
    WorkingSetInfo
    -

    PSAPI_WORKING_SET_BLOCK64 [<winstruct.ComplexArrayExpression object at 0x04071670>]

    +

    PSAPI_WORKING_SET_BLOCK64 [<winstruct.ComplexArrayExpression object at 0x03C24590>]

    -

    14.3.429. _PSAPI_WORKING_SET_EX_BLOCK

    +

    14.3.475. _PSAPI_WORKING_SET_EX_BLOCK

    class windows.generated_def.winstructs.PSAPI_WORKING_SET_EX_BLOCK
    @@ -22073,7 +24100,7 @@
    -

    14.3.430. _PSAPI_WORKING_SET_EX_BLOCK32

    +

    14.3.476. _PSAPI_WORKING_SET_EX_BLOCK32

    class windows.generated_def.winstructs.PPSAPI_WORKING_SET_EX_BLOCK32
    @@ -22099,7 +24126,7 @@
    -

    14.3.431. _PSAPI_WORKING_SET_EX_BLOCK64

    +

    14.3.477. _PSAPI_WORKING_SET_EX_BLOCK64

    class windows.generated_def.winstructs.PSAPI_WORKING_SET_EX_BLOCK64
    @@ -22125,7 +24152,7 @@
    -

    14.3.432. _PSAPI_WORKING_SET_EX_INFORMATION

    +

    14.3.478. _PSAPI_WORKING_SET_EX_INFORMATION

    class windows.generated_def.winstructs.PPSAPI_WORKING_SET_EX_INFORMATION
    @@ -22157,7 +24184,7 @@
    -

    14.3.433. _PSAPI_WORKING_SET_EX_INFORMATION32

    +

    14.3.479. _PSAPI_WORKING_SET_EX_INFORMATION32

    class windows.generated_def.winstructs.PSAPI_WORKING_SET_EX_INFORMATION32
    @@ -22189,7 +24216,7 @@
    -

    14.3.434. _PSAPI_WORKING_SET_EX_INFORMATION64

    +

    14.3.480. _PSAPI_WORKING_SET_EX_INFORMATION64

    class windows.generated_def.winstructs.PPSAPI_WORKING_SET_EX_INFORMATION64
    @@ -22221,7 +24248,7 @@
    -

    14.3.435. _STARTUPINFOA

    +

    14.3.481. _STARTUPINFOA

    class windows.generated_def.winstructs.LPSTARTUPINFOA
    @@ -22349,7 +24376,7 @@
    -

    14.3.436. _STARTUPINFOW

    +

    14.3.482. _STARTUPINFOW

    class windows.generated_def.winstructs.STARTUPINFOW
    @@ -22477,7 +24504,7 @@
    -

    14.3.437. _STARTUPINFOEXA

    +

    14.3.483. _STARTUPINFOEXA

    class windows.generated_def.winstructs.LPSTARTUPINFOEXA
    @@ -22509,7 +24536,7 @@
    -

    14.3.438. _STARTUPINFOEXW

    +

    14.3.484. _STARTUPINFOEXW

    class windows.generated_def.winstructs.STARTUPINFOEXW
    @@ -22541,7 +24568,7 @@
    -

    14.3.439. _PROCESS_INFORMATION

    +

    14.3.485. _PROCESS_INFORMATION

    class windows.generated_def.winstructs.LPPROCESS_INFORMATION
    @@ -22591,7 +24618,7 @@
    -

    14.3.440. _FLOATING_SAVE_AREA

    +

    14.3.486. _FLOATING_SAVE_AREA

    class windows.generated_def.winstructs.FLOATING_SAVE_AREA
    @@ -22646,7 +24673,7 @@
    RegisterArea
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x04077D10>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03C2AC30>]

    @@ -22659,7 +24686,7 @@
    -

    14.3.441. _CONTEXT32

    +

    14.3.487. _CONTEXT32

    class windows.generated_def.winstructs.PCONTEXT32
    @@ -22828,14 +24855,14 @@
    ExtendedRegisters
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x0407C510>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03C2E430>]

    -

    14.3.442. _WOW64_FLOATING_SAVE_AREA

    +

    14.3.488. _WOW64_FLOATING_SAVE_AREA

    class windows.generated_def.winstructs.WOW64_FLOATING_SAVE_AREA
    @@ -22890,7 +24917,7 @@
    RegisterArea
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x0407C870>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03C2E790>]

    @@ -22903,7 +24930,7 @@
    -

    14.3.443. _WOW64_CONTEXT

    +

    14.3.489. _WOW64_CONTEXT

    class windows.generated_def.winstructs.PWOW64_CONTEXT
    @@ -23066,14 +25093,14 @@
    ExtendedRegisters
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x0407F050>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03C2EF50>]

    -

    14.3.444. _M128A

    +

    14.3.490. _M128A

    class windows.generated_def.winstructs.M128A
    @@ -23105,7 +25132,7 @@
    -

    14.3.445. _XSAVE_FORMAT_64

    +

    14.3.491. _XSAVE_FORMAT_64

    class windows.generated_def.winstructs.XSAVE_FORMAT_64
    @@ -23202,26 +25229,26 @@
    FloatRegisters
    -

    M128A [<winstruct.ComplexArrayExpression object at 0x0407F6D0>]

    +

    M128A [<winstruct.ComplexArrayExpression object at 0x03C325F0>]

    XmmRegisters
    -

    M128A [<winstruct.ComplexArrayExpression object at 0x0407F750>]

    +

    M128A [<winstruct.ComplexArrayExpression object at 0x03C32670>]

    Reserved4
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x0407F7D0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03C326F0>]

    -

    14.3.446. _XSAVE_FORMAT_32

    +

    14.3.492. _XSAVE_FORMAT_32

    class windows.generated_def.winstructs.XSAVE_FORMAT_32
    @@ -23318,25 +25345,25 @@
    FloatRegisters
    -

    M128A [<winstruct.ComplexArrayExpression object at 0x0407FCF0>]

    +

    M128A [<winstruct.ComplexArrayExpression object at 0x03C32C10>]

    XmmRegisters
    -

    M128A [<winstruct.ComplexArrayExpression object at 0x0407FD50>]

    +

    M128A [<winstruct.ComplexArrayExpression object at 0x03C32C70>]

    Reserved4
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x0407FDF0>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03C32D10>]

    StackControl
    -

    DWORD [<winstruct.ComplexArrayExpression object at 0x0407FE30>]

    +

    DWORD [<winstruct.ComplexArrayExpression object at 0x03C32D50>]

    @@ -23349,7 +25376,7 @@
    -

    14.3.447. _TMP_DUMMYSTRUCTNAME

    +

    14.3.493. _TMP_DUMMYSTRUCTNAME

    class windows.generated_def.winstructs.TMP_DUMMYSTRUCTNAME
    @@ -23362,13 +25389,13 @@
    Header
    -

    M128A [<winstruct.ComplexArrayExpression object at 0x0407FF70>]

    +

    M128A [<winstruct.ComplexArrayExpression object at 0x03C32E90>]

    Legacy
    -

    M128A [<winstruct.ComplexArrayExpression object at 0x0407FFF0>]

    +

    M128A [<winstruct.ComplexArrayExpression object at 0x03C32F10>]

    @@ -23471,7 +25498,7 @@
    -

    14.3.448. _TMP_CONTEXT64_SUBUNION

    +

    14.3.494. _TMP_CONTEXT64_SUBUNION

    class windows.generated_def.winstructs.TMP_CONTEXT64_SUBUNION
    @@ -23497,7 +25524,7 @@
    -

    14.3.449. _CONTEXT64

    +

    14.3.495. _CONTEXT64

    class windows.generated_def.winstructs.PCONTEXT64
    @@ -23756,7 +25783,7 @@
    VectorRegister
    -

    M128A [<winstruct.ComplexArrayExpression object at 0x0408A2B0>]

    +

    M128A [<winstruct.ComplexArrayExpression object at 0x03C3A1D0>]

    @@ -23799,7 +25826,7 @@
    -

    14.3.450. tagPROCESSENTRY32W

    +

    14.3.496. tagPROCESSENTRY32W

    class windows.generated_def.winstructs.PPROCESSENTRY32W
    @@ -23878,14 +25905,14 @@
    szExeFile
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x0408A830>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03C3A750>]

    -

    14.3.451. tagPROCESSENTRY32

    +

    14.3.497. tagPROCESSENTRY32

    class windows.generated_def.winstructs.PROCESSENTRY32
    @@ -23964,14 +25991,14 @@
    szExeFile
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x0408ABF0>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03C3AB10>]

    -

    14.3.452. tagTHREADENTRY32

    +

    14.3.498. tagTHREADENTRY32

    class windows.generated_def.winstructs.PTHREADENTRY32
    @@ -24039,7 +26066,7 @@
    -

    14.3.453. _LUID

    +

    14.3.499. _LUID

    class windows.generated_def.winstructs.LUID
    @@ -24071,7 +26098,7 @@
    -

    14.3.454. _LUID_AND_ATTRIBUTES

    +

    14.3.500. _LUID_AND_ATTRIBUTES

    class windows.generated_def.winstructs.LUID_AND_ATTRIBUTES
    @@ -24103,7 +26130,7 @@
    -

    14.3.455. _OSVERSIONINFOA

    +

    14.3.501. _OSVERSIONINFOA

    class windows.generated_def.winstructs.POSVERSIONINFOA
    @@ -24158,14 +26185,14 @@
    szCSDVersion
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x0408E330>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03C3D250>]

    -

    14.3.456. _OSVERSIONINFOW

    +

    14.3.502. _OSVERSIONINFOW

    class windows.generated_def.winstructs.RTL_OSVERSIONINFOW
    @@ -24232,14 +26259,14 @@
    szCSDVersion
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x0408E530>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03C3D450>]

    -

    14.3.457. _OSVERSIONINFOEXA

    +

    14.3.503. _OSVERSIONINFOEXA

    class windows.generated_def.winstructs.OSVERSIONINFOEXA
    @@ -24294,7 +26321,7 @@
    szCSDVersion
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x0408E750>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03C3D670>]

    @@ -24331,7 +26358,7 @@
    -

    14.3.458. _OSVERSIONINFOEXW

    +

    14.3.504. _OSVERSIONINFOEXW

    class windows.generated_def.winstructs.PRTL_OSVERSIONINFOEXW
    @@ -24398,7 +26425,7 @@
    szCSDVersion
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x0408EAD0>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03C3D9F0>]

    @@ -24435,7 +26462,7 @@
    -

    14.3.459. _OVERLAPPED

    +

    14.3.505. _OVERLAPPED

    class windows.generated_def.winstructs.LPOVERLAPPED
    @@ -24479,7 +26506,7 @@
    -

    14.3.460. _EXCEPTION_RECORD

    +

    14.3.506. _EXCEPTION_RECORD

    class windows.generated_def.winstructs.PEXCEPTION_RECORD
    @@ -24528,14 +26555,14 @@
    ExceptionInformation
    -

    ULONG_PTR [<winstruct.ComplexArrayExpression object at 0x04093070>]

    +

    ULONG_PTR [<winstruct.ComplexArrayExpression object at 0x03C3DF70>]

    -

    14.3.461. _EXCEPTION_RECORD32

    +

    14.3.507. _EXCEPTION_RECORD32

    class windows.generated_def.winstructs.EXCEPTION_RECORD32
    @@ -24584,14 +26611,14 @@
    ExceptionInformation
    -

    DWORD [<winstruct.ComplexArrayExpression object at 0x04093250>]

    +

    DWORD [<winstruct.ComplexArrayExpression object at 0x03C43170>]

    -

    14.3.462. _EXCEPTION_RECORD64

    +

    14.3.508. _EXCEPTION_RECORD64

    class windows.generated_def.winstructs.PEXCEPTION_RECORD64
    @@ -24646,14 +26673,14 @@
    ExceptionInformation
    -

    DWORD64 [<winstruct.ComplexArrayExpression object at 0x04093470>]

    +

    DWORD64 [<winstruct.ComplexArrayExpression object at 0x03C43390>]

    -

    14.3.463. _EXCEPTION_POINTERS64

    +

    14.3.509. _EXCEPTION_POINTERS64

    class windows.generated_def.winstructs.EXCEPTION_POINTERS64
    @@ -24685,7 +26712,7 @@
    -

    14.3.464. _EXCEPTION_POINTERS32

    +

    14.3.510. _EXCEPTION_POINTERS32

    class windows.generated_def.winstructs.PEXCEPTION_POINTERS32
    @@ -24717,7 +26744,7 @@
    -

    14.3.465. _DEBUG_PROCESSOR_IDENTIFICATION_ALPHA

    +

    14.3.511. _DEBUG_PROCESSOR_IDENTIFICATION_ALPHA

    class windows.generated_def.winstructs.DEBUG_PROCESSOR_IDENTIFICATION_ALPHA
    @@ -24749,7 +26776,7 @@
    -

    14.3.466. _DEBUG_PROCESSOR_IDENTIFICATION_AMD64

    +

    14.3.512. _DEBUG_PROCESSOR_IDENTIFICATION_AMD64

    class windows.generated_def.winstructs.DEBUG_PROCESSOR_IDENTIFICATION_AMD64
    @@ -24786,14 +26813,14 @@
    VendorString
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x04093890>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03C437B0>]

    -

    14.3.467. _DEBUG_PROCESSOR_IDENTIFICATION_IA64

    +

    14.3.513. _DEBUG_PROCESSOR_IDENTIFICATION_IA64

    class windows.generated_def.winstructs.PDEBUG_PROCESSOR_IDENTIFICATION_IA64
    @@ -24836,14 +26863,14 @@
    VendorString
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x04093AB0>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03C439D0>]

    -

    14.3.468. _DEBUG_PROCESSOR_IDENTIFICATION_X86

    +

    14.3.514. _DEBUG_PROCESSOR_IDENTIFICATION_X86

    class windows.generated_def.winstructs.DEBUG_PROCESSOR_IDENTIFICATION_X86
    @@ -24880,14 +26907,14 @@
    VendorString
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x04093C70>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03C43B90>]

    -

    14.3.469. _DEBUG_PROCESSOR_IDENTIFICATION_ARM

    +

    14.3.515. _DEBUG_PROCESSOR_IDENTIFICATION_ARM

    class windows.generated_def.winstructs.DEBUG_PROCESSOR_IDENTIFICATION_ARM
    @@ -24919,7 +26946,7 @@
    -

    14.3.470. _DEBUG_PROCESSOR_IDENTIFICATION_ALL

    +

    14.3.516. _DEBUG_PROCESSOR_IDENTIFICATION_ALL

    class windows.generated_def.winstructs.PDEBUG_PROCESSOR_IDENTIFICATION_ALL
    @@ -24969,7 +26996,7 @@
    -

    14.3.471. _MODLOAD_DATA

    +

    14.3.517. _MODLOAD_DATA

    class windows.generated_def.winstructs.PMODLOAD_DATA
    @@ -25019,7 +27046,7 @@
    -

    14.3.472. _SYSTEM_MODULE32

    +

    14.3.518. _SYSTEM_MODULE32

    class windows.generated_def.winstructs.SYSTEM_MODULE32
    @@ -25038,7 +27065,7 @@
    Reserved
    -

    ULONG [<winstruct.ComplexArrayExpression object at 0x04097190>]

    +

    ULONG [<winstruct.ComplexArrayExpression object at 0x03C4A0B0>]

    @@ -25086,14 +27113,14 @@
    ImageName
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x040974B0>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03C4A3D0>]

    -

    14.3.473. _SYSTEM_MODULE64

    +

    14.3.519. _SYSTEM_MODULE64

    class windows.generated_def.winstructs.SYSTEM_MODULE64
    @@ -25112,7 +27139,7 @@
    Reserved
    -

    ULONG [<winstruct.ComplexArrayExpression object at 0x04097550>]

    +

    ULONG [<winstruct.ComplexArrayExpression object at 0x03C4A470>]

    @@ -25160,14 +27187,14 @@
    ImageName
    -

    CHAR [<winstruct.ComplexArrayExpression object at 0x04097870>]

    +

    CHAR [<winstruct.ComplexArrayExpression object at 0x03C4A790>]

    -

    14.3.474. _SYSTEM_MODULE_INFORMATION32

    +

    14.3.520. _SYSTEM_MODULE_INFORMATION32

    class windows.generated_def.winstructs.PSYSTEM_MODULE_INFORMATION32
    @@ -25192,14 +27219,14 @@
    Modules
    -

    SYSTEM_MODULE32 [<winstruct.ComplexArrayExpression object at 0x04097950>]

    +

    SYSTEM_MODULE32 [<winstruct.ComplexArrayExpression object at 0x03C4A870>]

    -

    14.3.475. _SYSTEM_MODULE_INFORMATION64

    +

    14.3.521. _SYSTEM_MODULE_INFORMATION64

    class windows.generated_def.winstructs.PSYSTEM_MODULE_INFORMATION64
    @@ -25224,14 +27251,14 @@
    Modules
    -

    SYSTEM_MODULE64 [<winstruct.ComplexArrayExpression object at 0x04097A30>]

    +

    SYSTEM_MODULE64 [<winstruct.ComplexArrayExpression object at 0x03C4A950>]

    -

    14.3.476. _DEBUG_BREAKPOINT_PARAMETERS

    +

    14.3.522. _DEBUG_BREAKPOINT_PARAMETERS

    class windows.generated_def.winstructs.PDEBUG_BREAKPOINT_PARAMETERS
    @@ -25323,7 +27350,7 @@
    -

    14.3.477. _DEBUG_REGISTER_DESCRIPTION

    +

    14.3.523. _DEBUG_REGISTER_DESCRIPTION

    class windows.generated_def.winstructs.DEBUG_REGISTER_DESCRIPTION
    @@ -25385,7 +27412,7 @@
    -

    14.3.478. _DEBUG_STACK_FRAME

    +

    14.3.524. _DEBUG_STACK_FRAME

    class windows.generated_def.winstructs.PDEBUG_STACK_FRAME
    @@ -25434,13 +27461,13 @@
    Params
    -

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x0409C370>]

    +

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x03C4D290>]

    Reserved
    -

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x0409C3D0>]

    +

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x03C4D2F0>]

    @@ -25459,7 +27486,7 @@
    -

    14.3.479. _DEBUG_LAST_EVENT_INFO_BREAKPOINT

    +

    14.3.525. _DEBUG_LAST_EVENT_INFO_BREAKPOINT

    class windows.generated_def.winstructs.DEBUG_LAST_EVENT_INFO_BREAKPOINT
    @@ -25485,7 +27512,7 @@
    -

    14.3.480. _DEBUG_LAST_EVENT_INFO_EXCEPTION

    +

    14.3.526. _DEBUG_LAST_EVENT_INFO_EXCEPTION

    class windows.generated_def.winstructs.DEBUG_LAST_EVENT_INFO_EXCEPTION
    @@ -25517,7 +27544,7 @@
    -

    14.3.481. _DEBUG_LAST_EVENT_INFO_EXIT_THREAD

    +

    14.3.527. _DEBUG_LAST_EVENT_INFO_EXIT_THREAD

    class windows.generated_def.winstructs.PDEBUG_LAST_EVENT_INFO_EXIT_THREAD
    @@ -25543,7 +27570,7 @@
    -

    14.3.482. _DEBUG_LAST_EVENT_INFO_EXIT_PROCESS

    +

    14.3.528. _DEBUG_LAST_EVENT_INFO_EXIT_PROCESS

    class windows.generated_def.winstructs.PDEBUG_LAST_EVENT_INFO_EXIT_PROCESS
    @@ -25569,7 +27596,7 @@
    -

    14.3.483. _DEBUG_LAST_EVENT_INFO_LOAD_MODULE

    +

    14.3.529. _DEBUG_LAST_EVENT_INFO_LOAD_MODULE

    class windows.generated_def.winstructs.PDEBUG_LAST_EVENT_INFO_LOAD_MODULE
    @@ -25595,7 +27622,7 @@
    -

    14.3.484. _DEBUG_LAST_EVENT_INFO_UNLOAD_MODULE

    +

    14.3.530. _DEBUG_LAST_EVENT_INFO_UNLOAD_MODULE

    class windows.generated_def.winstructs.PDEBUG_LAST_EVENT_INFO_UNLOAD_MODULE
    @@ -25621,7 +27648,7 @@
    -

    14.3.485. _DEBUG_LAST_EVENT_INFO_SYSTEM_ERROR

    +

    14.3.531. _DEBUG_LAST_EVENT_INFO_SYSTEM_ERROR

    class windows.generated_def.winstructs.PDEBUG_LAST_EVENT_INFO_SYSTEM_ERROR
    @@ -25653,7 +27680,7 @@
    -

    14.3.486. _DEBUG_SPECIFIC_FILTER_PARAMETERS

    +

    14.3.532. _DEBUG_SPECIFIC_FILTER_PARAMETERS

    class windows.generated_def.winstructs.DEBUG_SPECIFIC_FILTER_PARAMETERS
    @@ -25703,7 +27730,7 @@
    -

    14.3.487. _DEBUG_EXCEPTION_FILTER_PARAMETERS

    +

    14.3.533. _DEBUG_EXCEPTION_FILTER_PARAMETERS

    class windows.generated_def.winstructs.PDEBUG_EXCEPTION_FILTER_PARAMETERS
    @@ -25759,7 +27786,7 @@
    -

    14.3.488. _TMP_signscale

    +

    14.3.534. _TMP_signscale

    class windows.generated_def.winstructs._TMP_signscale[source]
    @@ -25779,7 +27806,7 @@
    -

    14.3.489. _TMP_lowmid

    +

    14.3.535. _TMP_lowmid

    class windows.generated_def.winstructs._TMP_lowmid[source]
    @@ -25799,7 +27826,7 @@
    -

    14.3.490. TMP_signscale_union

    +

    14.3.536. TMP_signscale_union

    class windows.generated_def.winstructs.TMP_signscale_union[source]
    @@ -25819,7 +27846,7 @@
    -

    14.3.491. TMP_lowmid_union

    +

    14.3.537. TMP_lowmid_union

    class windows.generated_def.winstructs.TMP_lowmid_union[source]
    @@ -25839,7 +27866,7 @@
    -

    14.3.492. tagDEC

    +

    14.3.538. tagDEC

    class windows.generated_def.winstructs.DECIMAL
    @@ -25877,7 +27904,7 @@
    -

    14.3.493. tagDISPPARAMS

    +

    14.3.539. tagDISPPARAMS

    class windows.generated_def.winstructs.DISPPARAMS
    @@ -25915,7 +27942,7 @@
    -

    14.3.494. tagEXCEPINFO

    +

    14.3.540. tagEXCEPINFO

    class windows.generated_def.winstructs.EXCEPINFO
    @@ -25983,7 +28010,7 @@
    -

    14.3.495. _PROCESS_BASIC_INFORMATION

    +

    14.3.541. _PROCESS_BASIC_INFORMATION

    class windows.generated_def.winstructs.PPROCESS_BASIC_INFORMATION
    @@ -26039,7 +28066,7 @@
    -

    14.3.496. _JIT_DEBUG_INFO

    +

    14.3.542. _JIT_DEBUG_INFO

    class windows.generated_def.winstructs.LPJIT_DEBUG_INFO
    @@ -26101,7 +28128,7 @@
    -

    14.3.497. _SID_IDENTIFIER_AUTHORITY

    +

    14.3.543. _SID_IDENTIFIER_AUTHORITY

    class windows.generated_def.winstructs.SID_IDENTIFIER_AUTHORITY
    @@ -26120,14 +28147,14 @@
    Value
    -

    BYTE [<winstruct.ComplexArrayExpression object at 0x040A1D30>]

    +

    BYTE [<winstruct.ComplexArrayExpression object at 0x03C52C50>]

    -

    14.3.498. _STRING

    +

    14.3.544. _STRING

    class windows.generated_def.winstructs.PCANSI_STRING
    @@ -26177,7 +28204,7 @@
    -

    14.3.499. _OBJECT_ATTRIBUTES

    +

    14.3.545. _OBJECT_ATTRIBUTES

    class windows.generated_def.winstructs.POBJECT_ATTRIBUTES
    @@ -26233,7 +28260,7 @@
    -

    14.3.500. _TMP_UNION_IO_STATUS_BLOCK

    +

    14.3.546. _TMP_UNION_IO_STATUS_BLOCK

    class windows.generated_def.winstructs.TMP_UNION_IO_STATUS_BLOCK
    @@ -26259,7 +28286,7 @@
    -

    14.3.501. _IO_STATUS_BLOCK

    +

    14.3.547. _IO_STATUS_BLOCK

    class windows.generated_def.winstructs.IO_STATUS_BLOCK
    @@ -26291,7 +28318,7 @@
    -

    14.3.502. _SECURITY_QUALITY_OF_SERVICE

    +

    14.3.548. _SECURITY_QUALITY_OF_SERVICE

    class windows.generated_def.winstructs.PSECURITY_QUALITY_OF_SERVICE
    @@ -26335,7 +28362,7 @@
    -

    14.3.503. CATALOG_INFO

    +

    14.3.549. CATALOG_INFO

    class windows.generated_def.winstructs.CATALOG_INFO
    @@ -26354,14 +28381,14 @@
    wszCatalogFile
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x040A54F0>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03C56410>]

    -

    14.3.504. _SYSTEM_HANDLE

    +

    14.3.550. _SYSTEM_HANDLE

    class windows.generated_def.winstructs.SYSTEM_HANDLE
    @@ -26411,7 +28438,7 @@
    -

    14.3.505. _SYSTEM_HANDLE64

    +

    14.3.551. _SYSTEM_HANDLE64

    class windows.generated_def.winstructs.SYSTEM_HANDLE64
    @@ -26461,7 +28488,7 @@
    -

    14.3.506. _SYSTEM_HANDLE_INFORMATION

    +

    14.3.552. _SYSTEM_HANDLE_INFORMATION

    class windows.generated_def.winstructs.PSYSTEM_HANDLE_INFORMATION
    @@ -26486,14 +28513,14 @@
    Handles
    -

    SYSTEM_HANDLE [<winstruct.ComplexArrayExpression object at 0x040A5A70>]

    +

    SYSTEM_HANDLE [<winstruct.ComplexArrayExpression object at 0x03C56990>]

    -

    14.3.507. _SYSTEM_HANDLE_INFORMATION64

    +

    14.3.553. _SYSTEM_HANDLE_INFORMATION64

    class windows.generated_def.winstructs.SYSTEM_HANDLE_INFORMATION64
    @@ -26518,14 +28545,14 @@
    Handles
    -

    SYSTEM_HANDLE64 [<winstruct.ComplexArrayExpression object at 0x040A5B70>]

    +

    SYSTEM_HANDLE64 [<winstruct.ComplexArrayExpression object at 0x03C56A90>]

    -

    14.3.508. __PUBLIC_OBJECT_TYPE_INFORMATION

    +

    14.3.554. __PUBLIC_OBJECT_TYPE_INFORMATION

    class windows.generated_def.winstructs.PPUBLIC_OBJECT_TYPE_INFORMATION
    @@ -26550,14 +28577,14 @@
    Reserved
    -

    ULONG [<winstruct.ComplexArrayExpression object at 0x040A5C90>]

    +

    ULONG [<winstruct.ComplexArrayExpression object at 0x03C56BB0>]

    -

    14.3.509. _PUBLIC_OBJECT_BASIC_INFORMATION

    +

    14.3.555. _PUBLIC_OBJECT_BASIC_INFORMATION

    class windows.generated_def.winstructs.PUBLIC_OBJECT_BASIC_INFORMATION
    @@ -26600,14 +28627,14 @@
    Reserved
    -

    ULONG [<winstruct.ComplexArrayExpression object at 0x040A5E70>]

    +

    ULONG [<winstruct.ComplexArrayExpression object at 0x03C56D90>]

    -

    14.3.510. _OBJECT_TYPES_INFORMATION

    +

    14.3.556. _OBJECT_TYPES_INFORMATION

    class windows.generated_def.winstructs.OBJECT_TYPES_INFORMATION
    @@ -26633,7 +28660,7 @@
    -

    14.3.511. tagSOLE_AUTHENTICATION_SERVICE

    +

    14.3.557. tagSOLE_AUTHENTICATION_SERVICE

    class windows.generated_def.winstructs.PSOLE_AUTHENTICATION_SERVICE
    @@ -26677,7 +28704,7 @@
    -

    14.3.512. _OBJECT_DIRECTORY_INFORMATION

    +

    14.3.558. _OBJECT_DIRECTORY_INFORMATION

    class windows.generated_def.winstructs.OBJECT_DIRECTORY_INFORMATION
    @@ -26709,7 +28736,7 @@
    -

    14.3.513. _DEBUG_VALUE_TMP_SUBSTRUCT1

    +

    14.3.559. _DEBUG_VALUE_TMP_SUBSTRUCT1

    class windows.generated_def.winstructs.DEBUG_VALUE_TMP_SUBSTRUCT1
    @@ -26735,7 +28762,7 @@
    -

    14.3.514. _DEBUG_VALUE_TMP_SUBSTRUCT2

    +

    14.3.560. _DEBUG_VALUE_TMP_SUBSTRUCT2

    class windows.generated_def.winstructs.DEBUG_VALUE_TMP_SUBSTRUCT2
    @@ -26761,7 +28788,7 @@
    -

    14.3.515. _DEBUG_VALUE_TMP_SUBSTRUCT3

    +

    14.3.561. _DEBUG_VALUE_TMP_SUBSTRUCT3

    class windows.generated_def.winstructs.DEBUG_VALUE_TMP_SUBSTRUCT3
    @@ -26787,7 +28814,7 @@
    -

    14.3.516. _DEBUG_VALUE_TMP_UNION

    +

    14.3.562. _DEBUG_VALUE_TMP_UNION

    class windows.generated_def.winstructs.DEBUG_VALUE_TMP_UNION
    @@ -26836,55 +28863,55 @@
    F80Bytes
    -

    UCHAR [<winstruct.ComplexArrayExpression object at 0x040AB5F0>]

    +

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03C5C510>]

    F82Bytes
    -

    UCHAR [<winstruct.ComplexArrayExpression object at 0x040AB670>]

    +

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03C5C590>]

    F128Bytes
    -

    UCHAR [<winstruct.ComplexArrayExpression object at 0x040AB6F0>]

    +

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03C5C610>]

    VI8
    -

    UCHAR [<winstruct.ComplexArrayExpression object at 0x040AB770>]

    +

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03C5C690>]

    VI16
    -

    USHORT [<winstruct.ComplexArrayExpression object at 0x040AB7D0>]

    +

    USHORT [<winstruct.ComplexArrayExpression object at 0x03C5C6F0>]

    VI32
    -

    ULONG [<winstruct.ComplexArrayExpression object at 0x040AB850>]

    +

    ULONG [<winstruct.ComplexArrayExpression object at 0x03C5C770>]

    VI64
    -

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x040AB8D0>]

    +

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x03C5C7F0>]

    VF32
    -

    FLOAT [<winstruct.ComplexArrayExpression object at 0x040AB950>]

    +

    FLOAT [<winstruct.ComplexArrayExpression object at 0x03C5C870>]

    VF64
    -

    DOUBLE [<winstruct.ComplexArrayExpression object at 0x040AB9D0>]

    +

    DOUBLE [<winstruct.ComplexArrayExpression object at 0x03C5C8F0>]

    @@ -26902,14 +28929,14 @@
    RawBytes
    -

    UCHAR [<winstruct.ComplexArrayExpression object at 0x040ABAD0>]

    +

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03C5C9F0>]

    -

    14.3.517. _DEBUG_VALUE

    +

    14.3.563. _DEBUG_VALUE

    class windows.generated_def.winstructs.DEBUG_VALUE
    @@ -26947,7 +28974,7 @@
    -

    14.3.518. _DEBUG_SYMBOL_PARAMETERS

    +

    14.3.564. _DEBUG_SYMBOL_PARAMETERS

    class windows.generated_def.winstructs.DEBUG_SYMBOL_PARAMETERS
    @@ -27003,7 +29030,7 @@
    -

    14.3.519. _DEBUG_SYMBOL_ENTRY

    +

    14.3.565. _DEBUG_SYMBOL_ENTRY

    class windows.generated_def.winstructs.PDEBUG_SYMBOL_ENTRY
    @@ -27095,7 +29122,7 @@
    -

    14.3.520. _DEBUG_MODULE_PARAMETERS

    +

    14.3.566. _DEBUG_MODULE_PARAMETERS

    class windows.generated_def.winstructs.PDEBUG_MODULE_PARAMETERS
    @@ -27180,14 +29207,14 @@
    Reserved
    -

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x040AF6D0>]

    +

    ULONG64 [<winstruct.ComplexArrayExpression object at 0x03C605F0>]

    -

    14.3.521. _DEBUG_MODULE_AND_ID

    +

    14.3.567. _DEBUG_MODULE_AND_ID

    class windows.generated_def.winstructs.DEBUG_MODULE_AND_ID
    @@ -27219,7 +29246,7 @@
    -

    14.3.522. _DEBUG_OFFSET_REGION

    +

    14.3.568. _DEBUG_OFFSET_REGION

    class windows.generated_def.winstructs.DEBUG_OFFSET_REGION
    @@ -27251,7 +29278,7 @@
    -

    14.3.523. _DEBUG_SYMBOL_SOURCE_ENTRY

    +

    14.3.569. _DEBUG_SYMBOL_SOURCE_ENTRY

    class windows.generated_def.winstructs.DEBUG_SYMBOL_SOURCE_ENTRY
    @@ -27343,7 +29370,7 @@
    -

    14.3.524. _RTL_UNLOAD_EVENT_TRACE

    +

    14.3.570. _RTL_UNLOAD_EVENT_TRACE

    class windows.generated_def.winstructs.PRTL_UNLOAD_EVENT_TRACE
    @@ -27392,20 +29419,20 @@
    ImageName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x040AFFD0>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03C60EF0>]

    Version
    -

    ULONG [<winstruct.ComplexArrayExpression object at 0x040B2070>]

    +

    ULONG [<winstruct.ComplexArrayExpression object at 0x03C60F70>]

    -

    14.3.525. _RTL_UNLOAD_EVENT_TRACE32

    +

    14.3.571. _RTL_UNLOAD_EVENT_TRACE32

    class windows.generated_def.winstructs.RTL_UNLOAD_EVENT_TRACE32
    @@ -27454,20 +29481,20 @@
    ImageName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x040B22F0>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03C64210>]

    Version
    -

    ULONG [<winstruct.ComplexArrayExpression object at 0x040B2370>]

    +

    ULONG [<winstruct.ComplexArrayExpression object at 0x03C64290>]

    -

    14.3.526. _RTL_UNLOAD_EVENT_TRACE64

    +

    14.3.572. _RTL_UNLOAD_EVENT_TRACE64

    class windows.generated_def.winstructs.PRTL_UNLOAD_EVENT_TRACE64
    @@ -27516,20 +29543,20 @@
    ImageName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x040B25F0>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03C64510>]

    Version
    -

    ULONG [<winstruct.ComplexArrayExpression object at 0x040B2670>]

    +

    ULONG [<winstruct.ComplexArrayExpression object at 0x03C64590>]

    -

    14.3.527. _FILE_FS_ATTRIBUTE_INFORMATION

    +

    14.3.573. _FILE_FS_ATTRIBUTE_INFORMATION

    class windows.generated_def.winstructs.PFILE_FS_ATTRIBUTE_INFORMATION
    @@ -27566,14 +29593,14 @@
    FileSystemName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x040B27B0>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03C646D0>]

    -

    14.3.528. _FILE_FS_LABEL_INFORMATION

    +

    14.3.574. _FILE_FS_LABEL_INFORMATION

    class windows.generated_def.winstructs.FILE_FS_LABEL_INFORMATION
    @@ -27598,14 +29625,14 @@
    VolumeLabel
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x040B28B0>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03C647D0>]

    -

    14.3.529. _FILE_FS_SIZE_INFORMATION

    +

    14.3.575. _FILE_FS_SIZE_INFORMATION

    class windows.generated_def.winstructs.PFILE_FS_SIZE_INFORMATION
    @@ -27649,7 +29676,7 @@
    -

    14.3.530. _FILE_FS_DEVICE_INFORMATION

    +

    14.3.576. _FILE_FS_DEVICE_INFORMATION

    class windows.generated_def.winstructs.FILE_FS_DEVICE_INFORMATION
    @@ -27681,7 +29708,7 @@
    -

    14.3.531. _FILE_FS_CONTROL_INFORMATION

    +

    14.3.577. _FILE_FS_CONTROL_INFORMATION

    class windows.generated_def.winstructs.FILE_FS_CONTROL_INFORMATION
    @@ -27737,7 +29764,7 @@
    -

    14.3.532. _FILE_FS_FULL_SIZE_INFORMATION

    +

    14.3.578. _FILE_FS_FULL_SIZE_INFORMATION

    class windows.generated_def.winstructs.PFILE_FS_FULL_SIZE_INFORMATION
    @@ -27787,7 +29814,7 @@
    -

    14.3.533. _FILE_FS_OBJECTID_INFORMATION

    +

    14.3.579. _FILE_FS_OBJECTID_INFORMATION

    class windows.generated_def.winstructs.FILE_FS_OBJECTID_INFORMATION
    @@ -27806,20 +29833,20 @@
    ObjectId
    -

    UCHAR [<winstruct.ComplexArrayExpression object at 0x040B2DB0>]

    +

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03C64CD0>]

    ExtendedInfo
    -

    UCHAR [<winstruct.ComplexArrayExpression object at 0x040B2E10>]

    +

    UCHAR [<winstruct.ComplexArrayExpression object at 0x03C64D30>]

    -

    14.3.534. _FILE_FS_DRIVER_PATH_INFORMATION

    +

    14.3.580. _FILE_FS_DRIVER_PATH_INFORMATION

    class windows.generated_def.winstructs.FILE_FS_DRIVER_PATH_INFORMATION
    @@ -27850,14 +29877,14 @@
    DriverName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x040B2F30>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03C64E50>]

    -
    -

    14.3.535. _FILE_FS_DRIVER_PATH_INFORMATION

    +
    +

    14.3.581. _FILE_FS_DRIVER_PATH_INFORMATION

    class windows.generated_def.winstructs.FILE_FS_DRIVER_PATH_INFORMATION
    @@ -27888,14 +29915,14 @@
    DriverName
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x040B8090>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03C64F90>]

    -

    14.3.536. _FILE_FS_VOLUME_INFORMATION

    +

    14.3.582. _FILE_FS_VOLUME_INFORMATION

    class windows.generated_def.winstructs.FILE_FS_VOLUME_INFORMATION
    @@ -27938,14 +29965,14 @@
    VolumeLabel
    -

    WCHAR [<winstruct.ComplexArrayExpression object at 0x040B8230>]

    +

    WCHAR [<winstruct.ComplexArrayExpression object at 0x03C6A150>]

    -

    14.3.537. _FILE_FS_SECTOR_SIZE_INFORMATION

    +

    14.3.583. _FILE_FS_SECTOR_SIZE_INFORMATION

    class windows.generated_def.winstructs.PFILE_FS_SECTOR_SIZE_INFORMATION
    @@ -28007,7 +30034,7 @@
    -

    14.3.538. _RTLP_CURDIR_REF

    +

    14.3.584. _RTLP_CURDIR_REF

    class windows.generated_def.winstructs.PRTLP_CURDIR_REF
    @@ -28039,7 +30066,7 @@
    -

    14.3.539. _RTL_RELATIVE_NAME_U

    +

    14.3.585. _RTL_RELATIVE_NAME_U

    class windows.generated_def.winstructs.PRTL_RELATIVE_NAME_U
    @@ -28077,7 +30104,7 @@
    -

    14.3.540. _PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION

    +

    14.3.586. _PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION

    class windows.generated_def.winstructs.PPROCESS_INSTRUMENTATION_CALLBACK_INFORMATION
    @@ -28115,7 +30142,7 @@
    -

    14.3.541. _PROCESS_MEMORY_COUNTERS

    +

    14.3.587. _PROCESS_MEMORY_COUNTERS

    class windows.generated_def.winstructs.PPROCESS_MEMORY_COUNTERS
    @@ -28195,7 +30222,7 @@
    -

    14.3.542. _PROCESS_MEMORY_COUNTERS_EX

    +

    14.3.588. _PROCESS_MEMORY_COUNTERS_EX

    class windows.generated_def.winstructs.PROCESS_MEMORY_COUNTERS_EX
    @@ -28275,7 +30302,7 @@
    -

    14.3.543. _FILETIME

    +

    14.3.589. _FILETIME

    class windows.generated_def.winstructs.LPFILETIME
    @@ -28313,7 +30340,7 @@
    -

    14.3.544. _API_SET_VALUE_ENTRY

    +

    14.3.590. _API_SET_VALUE_ENTRY

    class windows.generated_def.winstructs.API_SET_VALUE_ENTRY
    @@ -28363,7 +30390,7 @@
    -

    14.3.545. _API_SET_NAMESPACE_ENTRY

    +

    14.3.591. _API_SET_NAMESPACE_ENTRY

    class windows.generated_def.winstructs.PAPI_SET_NAMESPACE_ENTRY
    @@ -28419,7 +30446,7 @@
    -

    14.3.546. _API_SET_NAMESPACE_ARRAY

    +

    14.3.592. _API_SET_NAMESPACE_ARRAY

    class windows.generated_def.winstructs.PAPI_SET_NAMESPACE_ARRAY
    @@ -28462,14 +30489,14 @@
    Array
    -

    API_SET_NAMESPACE_ENTRY [<winstruct.ComplexArrayExpression object at 0x04044470>]

    +

    API_SET_NAMESPACE_ENTRY [<winstruct.ComplexArrayExpression object at 0x03BEA390>]

    -

    14.3.547. _API_SET_VALUE_ENTRY_V2

    +

    14.3.593. _API_SET_VALUE_ENTRY_V2

    class windows.generated_def.winstructs.PAPI_SET_VALUE_ENTRY_V2
    @@ -28513,7 +30540,7 @@
    -

    14.3.548. _API_SET_VALUE_ARRAY_V2

    +

    14.3.594. _API_SET_VALUE_ARRAY_V2

    class windows.generated_def.winstructs.API_SET_VALUE_ARRAY_V2
    @@ -28538,14 +30565,14 @@
    Array
    -

    API_SET_VALUE_ENTRY_V2 [<winstruct.ComplexArrayExpression object at 0x04044730>]

    +

    API_SET_VALUE_ENTRY_V2 [<winstruct.ComplexArrayExpression object at 0x03BEA650>]

    -

    14.3.549. _API_SET_NAMESPACE_ENTRY_V2

    +

    14.3.595. _API_SET_NAMESPACE_ENTRY_V2

    class windows.generated_def.winstructs.PAPI_SET_NAMESPACE_ENTRY_V2
    @@ -28583,7 +30610,7 @@
    -

    14.3.550. _API_SET_NAMESPACE_ARRAY_V2

    +

    14.3.596. _API_SET_NAMESPACE_ARRAY_V2

    class windows.generated_def.winstructs.API_SET_NAMESPACE_ARRAY_V2
    @@ -28614,14 +30641,14 @@
    Array
    -

    API_SET_NAMESPACE_ENTRY_V2 [<winstruct.ComplexArrayExpression object at 0x040449F0>]

    +

    API_SET_NAMESPACE_ENTRY_V2 [<winstruct.ComplexArrayExpression object at 0x03BEA910>]

    -

    14.3.551. _API_SET_VALUE_ARRAY_V4

    +

    14.3.597. _API_SET_VALUE_ARRAY_V4

    class windows.generated_def.winstructs.API_SET_VALUE_ARRAY_V4
    @@ -28652,14 +30679,14 @@
    Array
    -

    API_SET_VALUE_ENTRY_V2 [<winstruct.ComplexArrayExpression object at 0x04044B50>]

    +

    API_SET_VALUE_ENTRY_V2 [<winstruct.ComplexArrayExpression object at 0x03BEAA70>]

    -

    14.3.552. _API_SET_NAMESPACE_ARRAY_V4

    +

    14.3.598. _API_SET_NAMESPACE_ARRAY_V4

    class windows.generated_def.winstructs.API_SET_NAMESPACE_ARRAY_V4
    @@ -28702,14 +30729,14 @@
    Array
    -

    API_SET_NAMESPACE_ENTRY [<winstruct.ComplexArrayExpression object at 0x04044D70>]

    +

    API_SET_NAMESPACE_ENTRY [<winstruct.ComplexArrayExpression object at 0x03BEAC90>]

    -

    14.3.553. _API_SET_NAMESPACE_ENTRY_V4

    +

    14.3.599. _API_SET_NAMESPACE_ENTRY_V4

    class windows.generated_def.winstructs.PAPI_SET_NAMESPACE_ENTRY_V4
    @@ -28765,7 +30792,7 @@
    -

    14.3.554. _API_SET_NAMESPACE_ENTRY_V6

    +

    14.3.600. _API_SET_NAMESPACE_ENTRY_V6

    class windows.generated_def.winstructs.API_SET_NAMESPACE_ENTRY_V6
    @@ -28815,7 +30842,7 @@
    -

    14.3.555. _API_SET_NAMESPACE_V6

    +

    14.3.601. _API_SET_NAMESPACE_V6

    class windows.generated_def.winstructs.API_SET_NAMESPACE_V6
    @@ -28871,7 +30898,7 @@
    -

    14.3.556. _BG_FILE_PROGRESS

    +

    14.3.602. _BG_FILE_PROGRESS

    class windows.generated_def.winstructs.BG_FILE_PROGRESS
    @@ -28903,7 +30930,7 @@
    -

    14.3.557. _BG_JOB_PROGRESS

    +

    14.3.603. _BG_JOB_PROGRESS

    class windows.generated_def.winstructs.BG_JOB_PROGRESS
    @@ -28941,7 +30968,7 @@
    -

    14.3.558. _BG_FILE_INFO

    +

    14.3.604. _BG_FILE_INFO

    class windows.generated_def.winstructs.BG_FILE_INFO
    @@ -28967,7 +30994,7 @@
    -

    14.3.559. _BG_JOB_TIMES

    +

    14.3.605. _BG_JOB_TIMES

    class windows.generated_def.winstructs.BG_JOB_TIMES
    @@ -28999,7 +31026,7 @@
    -

    14.3.560. Simple types

    +

    14.3.606. Simple types

    windows.generated_def.winstructs.VOID
    @@ -29198,6 +31225,18 @@

    alias of ctypes.c_char_p

    +
    +
    +windows.generated_def.winstructs.LPCH
    +

    alias of ctypes.c_char_p

    +
    + +
    +
    +windows.generated_def.winstructs.LPWCH
    +

    alias of ctypes.c_wchar

    +
    +
    windows.generated_def.winstructs.BSTR
    @@ -29294,6 +31333,12 @@

    Pointer to DWORD64

    +
    +
    +windows.generated_def.winstructs.DWORDLONG
    +

    alias of ctypes.c_ulonglong

    +
    +
    windows.generated_def.winstructs.SCODE
    @@ -29564,6 +31609,18 @@

    alias of ctypes.c_ulonglong

    +
    +
    +windows.generated_def.winstructs.ULONG32
    +

    alias of ctypes.c_ulong

    +
    + +
    +
    +windows.generated_def.winstructs.LONG32
    +

    alias of ctypes.c_long

    +
    +
    class windows.generated_def.winstructs.PHANDLE
    @@ -29636,6 +31693,30 @@

    alias of ctypes.c_void_p

    +
    +
    +windows.generated_def.winstructs.LSA_HANDLE
    +

    alias of ctypes.c_void_p

    +
    + +
    +
    +class windows.generated_def.winstructs.PLSA_HANDLE
    +

    Pointer to LSA_HANDLE

    +
    + +
    +
    +windows.generated_def.winstructs.HDSKSPC
    +

    alias of ctypes.c_void_p

    +
    + +
    +
    +windows.generated_def.winstructs.HDEVINFO
    +

    alias of ctypes.c_void_p

    +
    +
    windows.generated_def.winstructs.IP4_ADDRESS
    @@ -29713,6 +31794,120 @@
    +
    +
    +windows.generated_def.winstructs.CONFIGRET
    +

    alias of ctypes.c_ulong

    +
    + +
    +
    +windows.generated_def.winstructs.DEVNODE
    +

    alias of ctypes.c_ulong

    +
    + +
    +
    +windows.generated_def.winstructs.DEVINST
    +

    alias of ctypes.c_ulong

    +
    + +
    +
    +class windows.generated_def.winstructs.PDEVNODE
    +

    Pointer to DEVNODE

    +
    + +
    +
    +class windows.generated_def.winstructs.PDEVINST
    +

    Pointer to DEVINST

    +
    + +
    +
    +windows.generated_def.winstructs.PRIORITY
    +

    alias of ctypes.c_ulong

    +
    + +
    +
    +class windows.generated_def.winstructs.PPRIORITY
    +

    Pointer to PRIORITY

    +
    + +
    +
    +windows.generated_def.winstructs.RES_DES
    +

    alias of ctypes.c_void_p

    +
    + +
    +
    +class windows.generated_def.winstructs.PRES_DES
    +

    Pointer to RES_DES

    +
    + +
    +
    +windows.generated_def.winstructs.HMACHINE
    +

    alias of ctypes.c_void_p

    +
    + +
    +
    +class windows.generated_def.winstructs.PHMACHINE
    +

    Pointer to HMACHINE

    +
    + +
    +
    +windows.generated_def.winstructs.LOG_CONF
    +

    alias of ctypes.c_void_p

    +
    + +
    +
    +class windows.generated_def.winstructs.PLOG_CONF
    +

    Pointer to LOG_CONF

    +
    + +
    +
    +windows.generated_def.winstructs.RESOURCEID
    +

    alias of ctypes.c_ulong

    +
    + +
    +
    +class windows.generated_def.winstructs.PRESOURCEID
    +

    Pointer to RESOURCEID

    +
    + +
    +
    +windows.generated_def.winstructs.DEVNODEID_A
    +

    alias of ctypes.c_char_p

    +
    + +
    +
    +windows.generated_def.winstructs.DEVINSTID_A
    +

    alias of ctypes.c_char_p

    +
    + +
    +
    +windows.generated_def.winstructs.DEVNODEID_W
    +

    alias of ctypes.c_wchar_p

    +
    + +
    +
    +windows.generated_def.winstructs.DEVINSTID_W
    +

    alias of ctypes.c_wchar_p

    +
    +
    windows.generated_def.winstructs.RPCOLEDATAREP
    @@ -32550,9 +34745,139 @@
    +
    +
    +

    14.4.44. _POLICY_INFORMATION_CLASS

    +
    +
    +class windows.generated_def.winstructs.POLICY_INFORMATION_CLASS
    +

    Alias for _POLICY_INFORMATION_CLASS

    +
    + +
    +
    +class windows.generated_def.winstructs.PPOLICY_INFORMATION_CLASS
    +

    Pointer to _POLICY_INFORMATION_CLASS

    +
    + +
    +
    +class windows.generated_def.winstructs._POLICY_INFORMATION_CLASS[source]
    +
    +
    +PolicyAuditLogInformation(1)
    +
    + +
    +
    +PolicyAuditEventsInformation(2)
    +
    + +
    +
    +PolicyPrimaryDomainInformation(3)
    +
    + +
    +
    +PolicyPdAccountInformation(4)
    +
    + +
    +
    +PolicyAccountDomainInformation(5)
    +
    + +
    +
    +PolicyLsaServerRoleInformation(6)
    +
    + +
    +
    +PolicyReplicaSourceInformation(7)
    +
    + +
    +
    +PolicyDefaultQuotaInformation(8)
    +
    + +
    +
    +PolicyModificationInformation(9)
    +
    + +
    +
    +PolicyAuditFullSetInformation(10)
    +
    + +
    +
    +PolicyAuditFullQueryInformation(11)
    +
    + +
    +
    +PolicyDnsDomainInformation(12)
    +
    + +
    +
    +PolicyDnsDomainInformationInt(13)
    +
    + +
    +
    +PolicyLocalAccountDomainInformation(14)
    +
    + +
    +
    +PolicyMachineAccountInformation(15)
    +
    + +
    +
    +PolicyLastEntry(16)
    +
    + +
    + +
    +
    +

    14.4.45. _POLICY_LSA_SERVER_ROLE

    +
    +
    +class windows.generated_def.winstructs.POLICY_LSA_SERVER_ROLE
    +

    Alias for _POLICY_LSA_SERVER_ROLE

    +
    + +
    +
    +class windows.generated_def.winstructs.PPOLICY_LSA_SERVER_ROLE
    +

    Pointer to _POLICY_LSA_SERVER_ROLE

    +
    + +
    +
    +class windows.generated_def.winstructs._POLICY_LSA_SERVER_ROLE[source]
    +
    +
    +PolicyServerRoleBackup(0)
    +
    + +
    +
    +PolicyServerRolePrimary(1)
    +
    + +
    +
    -

    14.4.44. NDR_FORMAT_CHARACTER

    +

    14.4.46. NDR_FORMAT_CHARACTER

    class windows.generated_def.winstructs.NDR_FORMAT_CHARACTER[source]
    @@ -33111,7 +35436,7 @@
    -

    14.4.45. _PROCESS_MITIGATION_POLICY

    +

    14.4.47. _PROCESS_MITIGATION_POLICY

    class windows.generated_def.winstructs.PROCESS_MITIGATION_POLICY
    @@ -33181,7 +35506,7 @@
    -

    14.4.46. _TCP_TABLE_CLASS

    +

    14.4.48. _TCP_TABLE_CLASS

    class windows.generated_def.winstructs.TCP_TABLE_CLASS
    @@ -33240,7 +35565,7 @@
    -

    14.4.47. _MIB_TCP_STATE

    +

    14.4.49. _MIB_TCP_STATE

    class windows.generated_def.winstructs.MIB_TCP_STATE
    @@ -33314,7 +35639,7 @@
    -

    14.4.48. NET_FW_IP_PROTOCOL

    +

    14.4.50. NET_FW_IP_PROTOCOL

    class windows.generated_def.winstructs.NET_FW_IP_PROTOCOL
    @@ -33343,7 +35668,7 @@
    -

    14.4.49. _INTERNAL_IF_OPER_STATUS

    +

    14.4.51. _INTERNAL_IF_OPER_STATUS

    class windows.generated_def.winstructs.INTERNAL_IF_OPER_STATUS
    @@ -33387,7 +35712,7 @@
    -

    14.4.50. DNS_FREE_TYPE

    +

    14.4.52. DNS_FREE_TYPE

    class windows.generated_def.winstructs.DNS_FREE_TYPE[source]
    @@ -33416,7 +35741,7 @@
    -

    14.4.51. _KEY_VALUE_INFORMATION_CLASS

    +

    14.4.53. _KEY_VALUE_INFORMATION_CLASS

    class windows.generated_def.winstructs.KEY_VALUE_INFORMATION_CLASS
    @@ -33465,7 +35790,7 @@
    -

    14.4.52. _KEY_INFORMATION_CLASS

    +

    14.4.54. _KEY_INFORMATION_CLASS

    class windows.generated_def.winstructs.KEY_INFORMATION_CLASS
    @@ -33534,7 +35859,7 @@
    -

    14.4.53. _ACL_INFORMATION_CLASS

    +

    14.4.55. _ACL_INFORMATION_CLASS

    class windows.generated_def.winstructs.ACL_INFORMATION_CLASS
    @@ -33556,9 +35881,180 @@
    +
    +
    +

    14.4.56. _MULTIPLE_TRUSTEE_OPERATION

    +
    +
    +class windows.generated_def.winstructs.MULTIPLE_TRUSTEE_OPERATION
    +

    Alias for _MULTIPLE_TRUSTEE_OPERATION

    +
    + +
    +
    +class windows.generated_def.winstructs._MULTIPLE_TRUSTEE_OPERATION[source]
    +
    +
    +NO_MULTIPLE_TRUSTEE(0)
    +
    + +
    +
    +TRUSTEE_IS_IMPERSONATE(1)
    +
    + +
    + +
    +
    +

    14.4.57. _TRUSTEE_FORM

    +
    +
    +class windows.generated_def.winstructs.TRUSTEE_FORM
    +

    Alias for _TRUSTEE_FORM

    +
    + +
    +
    +class windows.generated_def.winstructs._TRUSTEE_FORM[source]
    +
    +
    +TRUSTEE_IS_SID(0)
    +
    + +
    +
    +TRUSTEE_IS_NAME(1)
    +
    + +
    +
    +TRUSTEE_BAD_FORM(2)
    +
    + +
    +
    +TRUSTEE_IS_OBJECTS_AND_SID(3)
    +
    + +
    +
    +TRUSTEE_IS_OBJECTS_AND_NAME(4)
    +
    + +
    + +
    +
    +

    14.4.58. _TRUSTEE_TYPE

    +
    +
    +class windows.generated_def.winstructs.TRUSTEE_TYPE
    +

    Alias for _TRUSTEE_TYPE

    +
    + +
    +
    +class windows.generated_def.winstructs._TRUSTEE_TYPE[source]
    +
    +
    +TRUSTEE_IS_UNKNOWN(0)
    +
    + +
    +
    +TRUSTEE_IS_USER(1)
    +
    + +
    +
    +TRUSTEE_IS_GROUP(2)
    +
    + +
    +
    +TRUSTEE_IS_DOMAIN(3)
    +
    + +
    +
    +TRUSTEE_IS_ALIAS(4)
    +
    + +
    +
    +TRUSTEE_IS_WELL_KNOWN_GROUP(5)
    +
    + +
    +
    +TRUSTEE_IS_DELETED(6)
    +
    + +
    +
    +TRUSTEE_IS_INVALID(7)
    +
    + +
    +
    +TRUSTEE_IS_COMPUTER(8)
    +
    + +
    + +
    +
    +

    14.4.59. _ACCESS_MODE

    +
    +
    +class windows.generated_def.winstructs.ACCESS_MODE
    +

    Alias for _ACCESS_MODE

    +
    + +
    +
    +class windows.generated_def.winstructs._ACCESS_MODE[source]
    +
    +
    +NOT_USED_ACCESS(0)
    +
    + +
    +
    +GRANT_ACCESS(1)
    +
    + +
    +
    +SET_ACCESS(2)
    +
    + +
    +
    +DENY_ACCESS(3)
    +
    + +
    +
    +REVOKE_ACCESS(4)
    +
    + +
    +
    +SET_AUDIT_SUCCESS(5)
    +
    + +
    +
    +SET_AUDIT_FAILURE(6)
    +
    + +
    +
    -

    14.4.54. _SC_STATUS_TYPE

    +

    14.4.60. _SC_STATUS_TYPE

    class windows.generated_def.winstructs.SC_STATUS_TYPE
    @@ -33577,7 +36073,7 @@
    -

    14.4.55. _SC_ENUM_TYPE

    +

    14.4.61. _SC_ENUM_TYPE

    class windows.generated_def.winstructs.SC_ENUM_TYPE
    @@ -33596,7 +36092,7 @@
    -

    14.4.56. ACTIVATEOPTIONS

    +

    14.4.62. ACTIVATEOPTIONS

    class windows.generated_def.winstructs.ACTIVATEOPTIONS[source]
    @@ -33635,7 +36131,7 @@
    -

    14.4.57. PACKAGE_EXECUTION_STATE

    +

    14.4.63. PACKAGE_EXECUTION_STATE

    class windows.generated_def.winstructs.PACKAGE_EXECUTION_STATE[source]
    @@ -33674,7 +36170,7 @@
    -

    14.4.58. SYM_TYPE

    +

    14.4.64. SYM_TYPE

    class windows.generated_def.winstructs.SYM_TYPE[source]
    @@ -33738,7 +36234,7 @@
    -

    14.4.59. BasicType

    +

    14.4.65. BasicType

    class windows.generated_def.winstructs.BasicType[source]
    @@ -33836,7 +36332,7 @@
    -

    14.4.60. DataKind

    +

    14.4.66. DataKind

    class windows.generated_def.winstructs.DataKind[source]
    @@ -33894,7 +36390,7 @@
    -

    14.4.61. UdtKind

    +

    14.4.67. UdtKind

    class windows.generated_def.winstructs.UdtKind[source]
    @@ -33917,7 +36413,7 @@
    -

    14.4.62. _SymTagEnum

    +

    14.4.68. _SymTagEnum

    class windows.generated_def.winstructs.SymTagEnum
    @@ -34086,7 +36582,7 @@
    -

    14.4.63. _IMAGEHLP_EXTENDED_OPTIONS

    +

    14.4.69. _IMAGEHLP_EXTENDED_OPTIONS

    class windows.generated_def.winstructs.IMAGEHLP_EXTENDED_OPTIONS
    @@ -34115,7 +36611,7 @@
    -

    14.4.64. _IMAGEHLP_SYMBOL_TYPE_INFO

    +

    14.4.70. _IMAGEHLP_SYMBOL_TYPE_INFO

    class windows.generated_def.winstructs.IMAGEHLP_SYMBOL_TYPE_INFO
    @@ -34299,7 +36795,7 @@
    -

    14.4.65. _CBA_EVENT_SEVERITY

    +

    14.4.71. _CBA_EVENT_SEVERITY

    class windows.generated_def.winstructs.CBA_EVENT_SEVERITY
    @@ -34338,7 +36834,7 @@
    -

    14.4.66. ADDRESS_MODE

    +

    14.4.72. ADDRESS_MODE

    class windows.generated_def.winstructs.ADDRESS_MODE[source]
    @@ -34372,7 +36868,7 @@
    -

    14.4.67. _TASK_ACTION_TYPE

    +

    14.4.73. _TASK_ACTION_TYPE

    class windows.generated_def.winstructs.TASK_ACTION_TYPE
    @@ -34406,7 +36902,7 @@
    -

    14.4.68. _TASK_RUNLEVEL_TYPE

    +

    14.4.74. _TASK_RUNLEVEL_TYPE

    class windows.generated_def.winstructs.TASK_RUNLEVEL_TYPE
    @@ -34430,7 +36926,7 @@
    -

    14.4.69. _TASK_LOGON_TYPE

    +

    14.4.75. _TASK_LOGON_TYPE

    class windows.generated_def.winstructs.TASK_LOGON_TYPE
    @@ -34479,7 +36975,7 @@
    -

    14.4.70. _TASK_STATE

    +

    14.4.76. _TASK_STATE

    class windows.generated_def.winstructs.TASK_STATE
    @@ -34518,7 +37014,7 @@
    -

    14.4.71. _TASK_INSTANCES_POLICY

    +

    14.4.77. _TASK_INSTANCES_POLICY

    class windows.generated_def.winstructs.TASK_INSTANCES_POLICY
    @@ -34552,7 +37048,7 @@
    -

    14.4.72. _TASK_COMPATIBILITY

    +

    14.4.78. _TASK_COMPATIBILITY

    class windows.generated_def.winstructs.TASK_COMPATIBILITY
    @@ -34581,7 +37077,7 @@
    -

    14.4.73. _TASK_TRIGGER_TYPE2

    +

    14.4.79. _TASK_TRIGGER_TYPE2

    class windows.generated_def.winstructs.TASK_TRIGGER_TYPE2
    @@ -34650,7 +37146,7 @@
    -

    14.4.74. _TASK_ENUM_FLAGS

    +

    14.4.80. _TASK_ENUM_FLAGS

    class windows.generated_def.winstructs.TASK_ENUM_FLAGS
    @@ -34669,7 +37165,7 @@
    -

    14.4.75. _TASK_CREATION

    +

    14.4.81. _TASK_CREATION

    class windows.generated_def.winstructs.TASK_CREATION
    @@ -34718,7 +37214,7 @@
    -

    14.4.76. TASK_RUN_FLAGS

    +

    14.4.82. TASK_RUN_FLAGS

    class windows.generated_def.winstructs.TASK_RUN_FLAGS[source]
    @@ -34757,7 +37253,7 @@
    -

    14.4.77. _TOKEN_INFORMATION_CLASS

    +

    14.4.83. _TOKEN_INFORMATION_CLASS

    class windows.generated_def.winstructs.TOKEN_INFORMATION_CLASS
    @@ -35012,7 +37508,7 @@
    -

    14.4.78. _TOKEN_ELEVATION_TYPE

    +

    14.4.84. _TOKEN_ELEVATION_TYPE

    class windows.generated_def.winstructs.TOKEN_ELEVATION_TYPE
    @@ -35047,7 +37543,7 @@
    -

    14.4.79. _SYSTEM_INFORMATION_CLASS

    +

    14.4.85. _SYSTEM_INFORMATION_CLASS

    class windows.generated_def.winstructs.SYSTEM_INFORMATION_CLASS
    @@ -35476,7 +37972,7 @@
    -

    14.4.80. _WELL_KNOWN_SID_TYPE

    +

    14.4.86. _WELL_KNOWN_SID_TYPE

    class windows.generated_def.winstructs.WELL_KNOWN_SID_TYPE
    @@ -35965,7 +38461,7 @@
    -

    14.4.81. _SECTION_INHERIT

    +

    14.4.87. _SECTION_INHERIT

    class windows.generated_def.winstructs.SECTION_INHERIT
    @@ -35989,7 +38485,7 @@
    -

    14.4.82. _PROCESSINFOCLASS

    +

    14.4.88. _PROCESSINFOCLASS

    class windows.generated_def.winstructs.PROCESSINFOCLASS
    @@ -36378,7 +38874,7 @@
    -

    14.4.83. _MEMORY_INFORMATION_CLASS

    +

    14.4.89. _MEMORY_INFORMATION_CLASS

    class windows.generated_def.winstructs.MEMORY_INFORMATION_CLASS
    @@ -36417,7 +38913,7 @@
    -

    14.4.84. _THREAD_INFORMATION_CLASS

    +

    14.4.90. _THREAD_INFORMATION_CLASS

    class windows.generated_def.winstructs.THREAD_INFORMATION_CLASS
    @@ -36527,7 +39023,7 @@
    -

    14.4.85. _VARENUM

    +

    14.4.91. _VARENUM

    class windows.generated_def.winstructs.VARENUM
    @@ -36801,7 +39297,7 @@
    -

    14.4.86. _UDP_TABLE_CLASS

    +

    14.4.92. _UDP_TABLE_CLASS

    class windows.generated_def.winstructs.UDP_TABLE_CLASS
    @@ -36830,7 +39326,7 @@
    -

    14.4.87. NET_FW_RULE_DIRECTION

    +

    14.4.93. NET_FW_RULE_DIRECTION

    class windows.generated_def.winstructs.NET_FW_RULE_DIRECTION
    @@ -36859,7 +39355,7 @@
    -

    14.4.88. NET_FW_PROFILE_TYPE2

    +

    14.4.94. NET_FW_PROFILE_TYPE2

    class windows.generated_def.winstructs.NET_FW_PROFILE_TYPE2
    @@ -36893,7 +39389,7 @@
    -

    14.4.89. tagTOKEN_TYPE

    +

    14.4.95. tagTOKEN_TYPE

    class windows.generated_def.winstructs.TOKEN_TYPE
    @@ -36923,7 +39419,7 @@
    -

    14.4.90. _FS_INFORMATION_CLASS

    +

    14.4.96. _FS_INFORMATION_CLASS

    class windows.generated_def.winstructs.FS_INFORMATION_CLASS
    @@ -36992,7 +39488,7 @@
    -

    14.4.91. _SECURITY_IMPERSONATION_LEVEL

    +

    14.4.97. _SECURITY_IMPERSONATION_LEVEL

    class windows.generated_def.winstructs.SECURITY_IMPERSONATION_LEVEL
    @@ -37032,7 +39528,7 @@
    -

    14.4.92. _OBJECT_INFORMATION_CLASS

    +

    14.4.98. _OBJECT_INFORMATION_CLASS

    class windows.generated_def.winstructs.OBJECT_INFORMATION_CLASS
    @@ -37086,7 +39582,7 @@
    -

    14.4.93. _SID_NAME_USE

    +

    14.4.99. _SID_NAME_USE

    class windows.generated_def.winstructs.SID_NAME_USE
    @@ -37156,7 +39652,7 @@
    -

    14.4.94. NET_FW_ACTION

    +

    14.4.100. NET_FW_ACTION

    class windows.generated_def.winstructs.NET_FW_ACTION
    @@ -37185,7 +39681,7 @@
    -

    14.4.95. NET_FW_MODIFY_STATE

    +

    14.4.101. NET_FW_MODIFY_STATE

    class windows.generated_def.winstructs.NET_FW_MODIFY_STATE
    @@ -37214,7 +39710,7 @@
    -

    14.4.96. tagCLSCTX

    +

    14.4.102. tagCLSCTX

    class windows.generated_def.winstructs.CLSCTX
    @@ -37348,7 +39844,7 @@
    -

    14.4.97. _SE_OBJECT_TYPE

    +

    14.4.103. _SE_OBJECT_TYPE

    class windows.generated_def.winstructs.SE_OBJECT_TYPE
    @@ -37426,8 +39922,8 @@
    -
    -

    14.4.98. _SECTION_INHERIT

    +
    +

    14.4.104. _SECTION_INHERIT

    class windows.generated_def.winstructs.SECTION_INHERIT
    @@ -37451,7 +39947,7 @@
    -

    14.4.99. tagCOINIT

    +

    14.4.105. tagCOINIT

    class windows.generated_def.winstructs.COINIT
    @@ -37485,7 +39981,7 @@
    -

    14.4.100. tagTYPEKIND

    +

    14.4.106. tagTYPEKIND

    class windows.generated_def.winstructs.TYPEKIND
    @@ -37544,7 +40040,7 @@
    -

    14.4.101. _RTL_PATH_TYPE

    +

    14.4.107. _RTL_PATH_TYPE

    class windows.generated_def.winstructs.RTL_PATH_TYPE
    @@ -37598,7 +40094,7 @@
    -

    14.4.102. _BG_JOB_STATE

    +

    14.4.108. _BG_JOB_STATE

    class windows.generated_def.winstructs.BG_JOB_STATE
    @@ -37657,7 +40153,7 @@
    -

    14.4.103. _BG_JOB_PROXY_USAGE

    +

    14.4.109. _BG_JOB_PROXY_USAGE

    class windows.generated_def.winstructs.BG_JOB_PROXY_USAGE
    @@ -37691,7 +40187,7 @@
    -

    14.4.104. _BG_JOB_PRIORITY

    +

    14.4.110. _BG_JOB_PRIORITY

    class windows.generated_def.winstructs.BG_JOB_PRIORITY
    @@ -37725,7 +40221,7 @@
    -

    14.4.105. _BG_ERROR_CONTEXT

    +

    14.4.111. _BG_ERROR_CONTEXT

    class windows.generated_def.winstructs.BG_ERROR_CONTEXT
    @@ -37779,7 +40275,7 @@
    -

    14.4.106. _BG_JOB_TYPE

    +

    14.4.112. _BG_JOB_TYPE

    class windows.generated_def.winstructs.BG_JOB_TYPE
    @@ -37808,7 +40304,7 @@
    -

    14.4.107. tag_WBEM_GENUS_TYPE

    +

    14.4.113. tag_WBEM_GENUS_TYPE

    class windows.generated_def.winstructs.WBEM_GENUS_TYPE
    @@ -37832,7 +40328,7 @@
    -

    14.4.108. tag_WBEM_CHANGE_FLAG_TYPE

    +

    14.4.114. tag_WBEM_CHANGE_FLAG_TYPE

    class windows.generated_def.winstructs.WBEM_CHANGE_FLAG_TYPE
    @@ -37886,7 +40382,7 @@
    -

    14.4.109. tag_WBEMSTATUS

    +

    14.4.115. tag_WBEMSTATUS

    class windows.generated_def.winstructs.WBEMSTATUS
    @@ -38865,7 +41361,7 @@
    -

    14.4.110. tag_WBEM_TIMEOUT_TYPE

    +

    14.4.116. tag_WBEM_TIMEOUT_TYPE

    class windows.generated_def.winstructs.WBEM_TIMEOUT_TYPE
    @@ -38889,7 +41385,7 @@
    -

    14.4.111. tag_WBEM_GENERIC_FLAG_TYPE

    +

    14.4.117. tag_WBEM_GENERIC_FLAG_TYPE

    class windows.generated_def.winstructs.WBEM_GENERIC_FLAG_TYPE
    @@ -38983,7 +41479,7 @@
    -

    14.4.112. tag_WBEM_CONNECT_OPTIONS

    +

    14.4.118. tag_WBEM_CONNECT_OPTIONS

    class windows.generated_def.winstructs.WBEM_CONNECT_OPTIONS
    @@ -39012,7 +41508,7 @@
    -

    14.4.113. tag_WBEM_QUERY_FLAG_TYPE

    +

    14.4.119. tag_WBEM_QUERY_FLAG_TYPE

    class windows.generated_def.winstructs.WBEM_QUERY_FLAG_TYPE
    @@ -39041,7 +41537,7 @@
    -

    14.4.114. WMIDPREQUESTCODE

    +

    14.4.120. WMIDPREQUESTCODE

    class windows.generated_def.winstructs.WMIDPREQUESTCODE[source]
    @@ -39112,7 +41608,7 @@
  • previous |
  • - + \ No newline at end of file diff --git a/docs/build/html/wintrust.html b/docs/build/html/wintrust.html index d2bc233..c30c3e5 100644 --- a/docs/build/html/wintrust.html +++ b/docs/build/html/wintrust.html @@ -6,14 +6,17 @@ - 8. windows.wintrust – Checking signature — PythonForWindows 0.5 documentation + 8. windows.wintrust – Checking signature — PythonForWindows 0.6 documentation - + + + + @@ -34,7 +37,7 @@
  • previous |
  • - + @@ -163,7 +166,7 @@ It allows to check the signature of a file.

    @@ -99,12 +102,12 @@
  • previous |
  • - + \ No newline at end of file diff --git a/docs/build/html/wmi.html b/docs/build/html/wmi.html index 24c4a03..37906f0 100644 --- a/docs/build/html/wmi.html +++ b/docs/build/html/wmi.html @@ -6,14 +6,17 @@ - 2.10. WMI – Make request to WMI — PythonForWindows 0.5 documentation + 2.10. WMI – Make request to WMI — PythonForWindows 0.6 documentation - + + + + @@ -34,7 +37,7 @@
  • previous |
  • - + @@ -559,7 +562,7 @@ If system_propertie