diff --git a/ctypes_generation/definitions/structures/combase.txt b/ctypes_generation/definitions/structures/combase.txt index 5f8615b..d3ebb4a 100644 --- a/ctypes_generation/definitions/structures/combase.txt +++ b/ctypes_generation/definitions/structures/combase.txt @@ -334,16 +334,6 @@ typedef struct _LOCALTHIS { PVOID pTouchedAstaArray; // Ptr32 __MIDL_XmitDefs_0002 } LOCALTHIS; -typedef struct _LOCALTHIS32 { - DWORD dwFlags; - DWORD dwClientThread; - GUID passthroughTraceActivity; - GUID callTraceActivity; - MIDL_XmitDefs_0001 asyncRequestBlock; - DWORD reserved; - PVOID32 pTouchedAstaArray; // Ptr32 __MIDL_XmitDefs_0002 -} LOCALTHIS32; - /* LOCALTHAT & sub structures */ typedef struct _MIDL_XmitDefs_0007 { @@ -406,15 +396,6 @@ typedef struct _LOCALTHAT { } LOCALTHAT; -typedef struct _LOCALTHAT32 { - UINT64 marshalingSetId; - ULONG reserved; - PVOID32 pAsyncResponseBlock; - PVOID32 containerErrorInformation; - PVOID32 containerPassthroughData; -} LOCALTHAT32; - - typedef struct tagORPCTHAT { ULONG flags; tagORPC_EXTENT_ARRAY *extensions; diff --git a/ctypes_generation/definitions/structures/combase_localthisthat_versions.txt b/ctypes_generation/definitions/structures/combase_localthisthat_versions.txt new file mode 100644 index 0000000..efadb7f --- /dev/null +++ b/ctypes_generation/definitions/structures/combase_localthisthat_versions.txt @@ -0,0 +1,110 @@ +/* Seen on 6.2.9200.22376 (win8_ldr_escrow.180222-0941) */ +/* also seen on previous version : XP / Win7 / Server 2012 */ + +typedef struct LOCALTHIS32_NT_62 { + ULONG dwFlags; + ULONG dwClientThread; +}; + +// NO LOCALTHAT for these previous version as far as 1 now + +/* Seen on 6.3.9600.17031 (winblue_gdr.140221-1952) */ + +typedef struct __MIDL_XmitDefs_0001_NT_63 { + ULONG size; + ULONG reserved; + UINT64 *pAstaOxids; +}; + +typedef struct LOCALTHIS32_NT_63 { + ULONG dwFlags; + ULONG dwClientThread; + ULONG reserved; + PVOID32 pTouchedAstaArray; +}; + + +typedef struct LOCALTHAT32_NT_63 { + UINT64 marshalingSetAcknowledgmentOxid; + UINT64 marshalingSetId; +}; + +/* NT_1607 : combase 10.0.14393.576 from a WS2016 ISO*/ + +typedef struct __MIDL_XmitDefs_0002_NT_1607 { + ULONG size; + ULONG reserved; + PVOID32 pAstaOxids; +}; + +typedef struct __MIDL_XmitDefs_0001_NT_1607 { + _GUID asyncOperationId; + UINT32 oxidClientProcessNA; + _GUID originalClientLogicalThreadId; + UINT uClientCausalityTraceId; +}; + +typedef struct LOCALTHIS32_NT_1607 { + ULONG dwFlags; + ULONG dwClientThread; + __MIDL_XmitDefs_0001_NT_1607 asyncRequestBlock; + ULONG reserved; + PVOID32 *pTouchedAstaArray; +}; + +typedef struct __MIDL_XmitDefs_0007 { + INT pointOfFailure; + HRESULT hrFailure; + ULONG sizeOfMarshaledErrorInfo; + ULONG reserved; + BYTE *pMarshaledErrorInfo; +}; + +typedef struct __MIDL_XmitDefs_0005 { + ULONG sizeOfMarshaledResults; + ULONG reserved; + BYTE *pMarshaledResults; +}; + +typedef struct __MIDL_XmitDefs_0008 { + INT outcome; + __MIDL_XmitDefs_0005 successDetails; + __MIDL_XmitDefs_0007 failureDetails; +}; + +typedef struct __MIDL_XmitDefs_0010 { + ULONG asyncStatus; + ULONG reserved1; + UINT64 uServerCausalityTraceId; + ULONG reserved2; + PVOID32 *pOutcomeDetails; //__MIDL_XmitDefs_0008 +}; + +typedef struct LOCALTHAT32_NT_1607 { + UINT64 marshalingSetAcknowledgmentOxid; + UINT64 marshalingSetId; + ULONG reserved; + PVOID32 *pAsyncResponseBlock; +}; + +/* ! NT_1607: combase 10.0.14393.576 */ + +/* NT 10.22 ? seen on 10.0.22621.1 */ + +typedef struct _LOCALTHIS32 { + DWORD dwFlags; + DWORD dwClientThread; + GUID passthroughTraceActivity; + GUID callTraceActivity; + MIDL_XmitDefs_0001 asyncRequestBlock; + DWORD reserved; + PVOID32 pTouchedAstaArray; // Ptr32 __MIDL_XmitDefs_0002 +} LOCALTHIS32; + +typedef struct _LOCALTHAT32 { + UINT64 marshalingSetId; + ULONG reserved; + PVOID32 pAsyncResponseBlock; + PVOID32 containerErrorInformation; + PVOID32 containerPassthroughData; +} LOCALTHAT32; \ No newline at end of file diff --git a/windows/generated_def/meta.py b/windows/generated_def/meta.py index 555e817..90b2229 100644 --- a/windows/generated_def/meta.py +++ b/windows/generated_def/meta.py @@ -12544,8 +12544,13 @@ structs = {'ACCESS_ALLOWED_ACE', 'LOCALGROUP_MEMBERS_INFO_3', 'LOCALTHAT', 'LOCALTHAT32', +'LOCALTHAT32_NT_1607', +'LOCALTHAT32_NT_63', 'LOCALTHIS', 'LOCALTHIS32', +'LOCALTHIS32_NT_1607', +'LOCALTHIS32_NT_62', +'LOCALTHIS32_NT_63', 'LPADDRESS', 'LPADDRESS64', 'LPBINDPTR', @@ -14086,6 +14091,13 @@ structs = {'ACCESS_ALLOWED_ACE', '_XSTATE_FEATURE', '__MIDL_IBackgroundCopyJob2_0003', '__MIDL_IBackgroundCopyJob2_0004', +'__MIDL_XmitDefs_0001_NT_1607', +'__MIDL_XmitDefs_0001_NT_63', +'__MIDL_XmitDefs_0002_NT_1607', +'__MIDL_XmitDefs_0005', +'__MIDL_XmitDefs_0007', +'__MIDL_XmitDefs_0008', +'__MIDL_XmitDefs_0010', '__PUBLIC_OBJECT_TYPE_INFORMATION', '__tagBRECORD', '__tagVARIANT', diff --git a/windows/generated_def/winstructs.py b/windows/generated_def/winstructs.py index 2c66921..67ab54f 100644 --- a/windows/generated_def/winstructs.py +++ b/windows/generated_def/winstructs.py @@ -1478,18 +1478,6 @@ class _LOCALTHIS(Structure): ] LOCALTHIS = _LOCALTHIS -class _LOCALTHIS32(Structure): - _fields_ = [ - ("dwFlags", DWORD), - ("dwClientThread", DWORD), - ("passthroughTraceActivity", GUID), - ("callTraceActivity", GUID), - ("asyncRequestBlock", MIDL_XmitDefs_0001), - ("reserved", DWORD), - ("pTouchedAstaArray", PVOID32), - ] -LOCALTHIS32 = _LOCALTHIS32 - class _MIDL_XmitDefs_0007(Structure): _fields_ = [ ("pointOfFailure", INT), @@ -1561,16 +1549,6 @@ class _LOCALTHAT(Structure): ] LOCALTHAT = _LOCALTHAT -class _LOCALTHAT32(Structure): - _fields_ = [ - ("marshalingSetId", UINT64), - ("reserved", ULONG), - ("pAsyncResponseBlock", PVOID32), - ("containerErrorInformation", PVOID32), - ("containerPassthroughData", PVOID32), - ] -LOCALTHAT32 = _LOCALTHAT32 - class tagORPCTHAT(Structure): _fields_ = [ ("flags", ULONG), @@ -1585,6 +1563,131 @@ class ORPCTHAT32(Structure): ] +class LOCALTHIS32_NT_62(Structure): + _fields_ = [ + ("dwFlags", ULONG), + ("dwClientThread", ULONG), + ] + + +class __MIDL_XmitDefs_0001_NT_63(Structure): + _fields_ = [ + ("size", ULONG), + ("reserved", ULONG), + ("pAstaOxids", POINTER(UINT64)), + ] + + +class LOCALTHIS32_NT_63(Structure): + _fields_ = [ + ("dwFlags", ULONG), + ("dwClientThread", ULONG), + ("reserved", ULONG), + ("pTouchedAstaArray", PVOID32), + ] + + +class LOCALTHAT32_NT_63(Structure): + _fields_ = [ + ("marshalingSetAcknowledgmentOxid", UINT64), + ("marshalingSetId", UINT64), + ] + + +class __MIDL_XmitDefs_0002_NT_1607(Structure): + _fields_ = [ + ("size", ULONG), + ("reserved", ULONG), + ("pAstaOxids", PVOID32), + ] + + +class __MIDL_XmitDefs_0001_NT_1607(Structure): + _fields_ = [ + ("asyncOperationId", _GUID), + ("oxidClientProcessNA", UINT32), + ("originalClientLogicalThreadId", _GUID), + ("uClientCausalityTraceId", UINT), + ] + + +class LOCALTHIS32_NT_1607(Structure): + _fields_ = [ + ("dwFlags", ULONG), + ("dwClientThread", ULONG), + ("asyncRequestBlock", __MIDL_XmitDefs_0001_NT_1607), + ("reserved", ULONG), + ("pTouchedAstaArray", POINTER(PVOID32)), + ] + + +class __MIDL_XmitDefs_0007(Structure): + _fields_ = [ + ("pointOfFailure", INT), + ("hrFailure", HRESULT), + ("sizeOfMarshaledErrorInfo", ULONG), + ("reserved", ULONG), + ("pMarshaledErrorInfo", POINTER(BYTE)), + ] + + +class __MIDL_XmitDefs_0005(Structure): + _fields_ = [ + ("sizeOfMarshaledResults", ULONG), + ("reserved", ULONG), + ("pMarshaledResults", POINTER(BYTE)), + ] + + +class __MIDL_XmitDefs_0008(Structure): + _fields_ = [ + ("outcome", INT), + ("successDetails", __MIDL_XmitDefs_0005), + ("failureDetails", __MIDL_XmitDefs_0007), + ] + + +class __MIDL_XmitDefs_0010(Structure): + _fields_ = [ + ("asyncStatus", ULONG), + ("reserved1", ULONG), + ("uServerCausalityTraceId", UINT64), + ("reserved2", ULONG), + ("pOutcomeDetails", POINTER(PVOID32)), + ] + + +class LOCALTHAT32_NT_1607(Structure): + _fields_ = [ + ("marshalingSetAcknowledgmentOxid", UINT64), + ("marshalingSetId", UINT64), + ("reserved", ULONG), + ("pAsyncResponseBlock", POINTER(PVOID32)), + ] + + +class _LOCALTHIS32(Structure): + _fields_ = [ + ("dwFlags", DWORD), + ("dwClientThread", DWORD), + ("passthroughTraceActivity", GUID), + ("callTraceActivity", GUID), + ("asyncRequestBlock", MIDL_XmitDefs_0001), + ("reserved", DWORD), + ("pTouchedAstaArray", PVOID32), + ] +LOCALTHIS32 = _LOCALTHIS32 + +class _LOCALTHAT32(Structure): + _fields_ = [ + ("marshalingSetId", UINT64), + ("reserved", ULONG), + ("pAsyncResponseBlock", PVOID32), + ("containerErrorInformation", PVOID32), + ("containerPassthroughData", PVOID32), + ] +LOCALTHAT32 = _LOCALTHAT32 + 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)