Skip to content

Commit 1ad4560

Browse files
committed
Improve stubborn stability on Windows 17763
1 parent 16e10af commit 1ad4560

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

windows/rpc/stubborn.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,14 @@ def stubborn_create_instance(clsid, iid):
6262
# resolver_info.OxidInfo.containerVersion.version is part of OxidInfo.ipidRemUnknown on PPRIV_RESOLVER_INFO_LEGACY
6363
# And this part of ipidRemUnknown is a PID
6464
# So a good value to check for > 3 :)
65+
# On 2019 IT IS NOT :( as it's its own struct. So I will hardcod this one.
6566
# Bad alignemetn of containerVersion -> its an older version
66-
if resolver_info.OxidInfo.containerVersion.version > 3:
67-
dcomversionstruct = resolver_info.OxidInfo.dcomVersion
67+
dcomversionstruct = resolver_info.OxidInfo.dcomVersion
68+
if windows.system.build_number == 17763:
69+
resolver_info = ctypes.cast(rpiv_infoptr, gdef.PPRIV_RESOLVER_INFO_17763)[0]
70+
elif resolver_info.OxidInfo.containerVersion.version > 3:
6871
# If 5,7 -> good alignement of dcomversion so we know its PRIV_RESOLVER_INFO_17763
72+
# Should never happen as its now covered by the `windows.system.build_number == 17763` check
6973
dcomversion = (dcomversionstruct.MajorVersion, dcomversionstruct.MinorVersion)
7074
if dcomversion == (5, 7):
7175
resolver_info = ctypes.cast(rpiv_infoptr, gdef.PPRIV_RESOLVER_INFO_17763)[0]

0 commit comments

Comments
 (0)