Releases: Chuyu-Team/YY-Thunks
Releases · Chuyu-Team/YY-Thunks
v1.1.5-Beta2
v1.1.5-Beta1
更新日志
- Bug #130, 解决Windows XP下,使用FILE_SKIP_COMPLETION_PORT_ON_SUCCESS可能导致IOCP异步IO模式产生内存损坏
- 可能影响rust异步io功能
v1.1.4
重要通知
- 现在压缩包已经提供
YY.Depends.Analyzer
独立工具,可以快速分析缺失的依赖
; 比如分析Google浏览器 XP系统上缺失的API,帮助大家快速查找缺失API
YY.Depends.Analyzer "C:\Program Files\Google\Chrome\Application\125.0.6422.113" /IgnoreReady
- 现在已经为XP系统提供了Tls增强,解决动态加载的DLL使用
thread_local
可能崩溃问题,需要修改DLL入口点(NuGet版会自动开启无需干预),更多信息请参考文档。 - 现在特意为LLD-LINK添加LIB库模式,有需要的可以下载
YY-Thunks-*-Lib.zip
。编译Chromium时将其设置到LIBPATH即可依赖YY-Thunks友情提示:GN的增量生成能力很弱,修改LIBPATH将触发大规模重新编译!!!另外LIB文件被替换后GN也无法感知,你需要手工触发重新链接。GN这个渣渣……
更新日志
v1.1.3
重要通知
- 现在压缩包已经提供
YY.Depends.Analyzer
独立工具,可以快速分析缺失的依赖
; 比如分析Google浏览器 XP系统上缺失的API,帮助大家快速查找缺失API
YY.Depends.Analyzer "C:\Program Files\Google\Chrome\Application\125.0.6422.113" /IgnoreReady
- 现在已经为XP系统提供了Tls增强,解决动态加载的DLL使用
thread_local
可能崩溃问题,需要修改DLL入口点(NuGet版会自动开启无需干预),更多信息请参考文档。 - 现在特意为LLD-LINK添加LIB库模式,有需要的可以下载
YY-Thunks-*-Lib.zip
。编译Chromium时将其设置到LIBPATH即可依赖YY-Thunks友情提示:GN的增量生成能力很弱,修改LIBPATH将触发大规模重新编译!!!另外LIB文件被替换后GN也无法感知,你需要手工触发重新链接。GN这个渣渣……
更新日志
- Bug #114, CRT DllMain DLL_THREAD_DETACH期间PTD释放逻辑发生Fls野指针(仅影响10.0.26100.0 UCRT或者更高版本下运行的XP系统)
- Bug, 解决EnterSynchronizationBarrier返回值错误
- Bug #120, 某些API系统引入版本错误或者IAT符号错误(问题无实质影响,某种程度可以微微减少YY-Thunks体积)
- 解决一些IAT符号Size参数错误同时增加这方面的单元测试
- 修正kernel32模块中的几个API函数的系统起始支持版本号错误
- Fea #71, 添加一些QT缺失的接口
- 添加 CreateDXGIFactory2
- 添加 InitializeTouchInjection
- 添加 InjectTouchInput
- 添加 GetCurrentPackageFullName
- 添加 GetProcessDpiAwareness
- 添加 GetAwarenessFromDpiAwarenessContext
- 添加 AreDpiAwarenessContextsEqual
- 添加 EnableNonClientDpiScaling
- 添加 GetPointerFrameTouchInfo
- 添加 GetPointerFrameTouchInfoHistory
- 添加 GetPointerInfo
- 添加 GetPointerPenInfoHistory
- 添加 SkipPointerFrameMessages
- 添加 GetThreadDpiAwarenessContext
- 添加 GetWindowDpiAwarenessContext
- 添加 GetDisplayAutoRotationPreferences
- 添加 SetDisplayAutoRotationPreferences
- 添加 GetPointerDeviceRects
- Fea #66, 让.NET 8/9 支持 Windows XP RTM
- 添加 FindNLSStringEx
- 添加 GetPointerInfoHistory
- 添加 GetPointerTouchInfo
- 添加 GetPointerTouchInfoHistory
- 添加 IsMouseInPointerEnabled
- 添加 EnableMouseInPointer
- Opt, 其他行为调整
- 废除__YY_Thunks_Process_Terminating弱符号,提高反初始化性能
- 新增__YY_Thunks_Disable_Rreload_Dlls弱符号,控制预加载状态
v1.1.2
重要通知
- 现在压缩包已经提供
YY.Depends.Analyzer
独立工具,可以快速分析缺失的依赖
; 比如分析Google浏览器 XP系统上缺失的API,帮助大家快速查找缺失API
YY.Depends.Analyzer "C:\Program Files\Google\Chrome\Application\125.0.6422.113" /IgnoreReady
- 现在已经为XP系统提供了Tls增强,解决动态加载的DLL使用
thread_local
可能崩溃问题,需要修改DLL入口点(NuGet版会自动开启无需干预),更多信息请参考文档。 - 现在特意为LLD-LINK添加LIB库模式,有需要的可以下载
YY-Thunks-*-Lib.zip
。编译Chromium时将其设置到LIBPATH即可依赖YY-Thunks友情提示:GN的增量生成能力很弱,修改LIBPATH将触发大规模重新编译!!!另外LIB文件被替换后GN也无法感知,你需要手工触发重新链接。GN这个渣渣……
更新日志
- Bug #97,解决obj模式且SDK低于10时链接失败(v1.1.1引入)
- Bug #107, 解决VS2010等老编译器找不到threadSafeInit、sizedDealloc相关符号(v1.1.1引入)
- Bug, XP模式可能任然提示找不到JetGetSystemParameterA(历史遗留)
- Bug #108, 修复AllocTlsData可能破坏当前线程的Tls内容(仅Windows XP DLL受影响)(v1.1.1引入)
- Bug, 解决ForDpi相关API行为与系统存在差异
- AdjustWindowRectExForDpi:解决DPI传递0时不报告失败,且可能返回不正确大小。
- SystemParametersInfoForDpi:解决DPI传递0时结果异常,且未限制Action类型。
- GetSystemMetricsForDpi:解决DPI传递0时不报告失败,且可能返回不正确大小。
- Fea, 改进NET项目对早期Windows SDK版本的识别
- Fea, 为XP添加CryptBinaryToStringW(A) CRYPT_STRING_NOCRLF支持
- Fea #90, 为Chrome 125内核补充WinXP/Win7不存在的接口
- 添加 CompareObjectHandles
- DWriteCreateFactory 添加 IDWriteFactory3支持(仅Vista以及更高版本可用)
- 添加 CM_Get_DevNode_Property_ExW
- 添加 CM_Set_DevNode_Property_ExW
- 添加 CM_Get_DevNode_PropertyW
- 添加 CM_Set_DevNode_PropertyW
- 添加 Wow64GetThreadContext(新增对WinXP 64支持)
- 添加 SetDefaultDllDirectories
- 添加 NtOpenKeyEx
- 添加 InitPropVariantFromCLSID
- 添加 PSGetPropertyKeyFromName
- 添加 PSCreateMemoryPropertyStore
- 添加 VariantCompare
- 添加 AddMandatoryAce
- 添加 RegisterPointerDeviceNotifications
- 添加 GetPointerDevices
- 添加 GetPointerDevice
- 添加 GetPointerPenInfo
- 添加 GetPointerType
- 添加 UiaRaiseNotificationEvent
- 添加 MFCreateDeviceSource
- 添加 MFEnumDeviceSources
- 添加 MFCreateAlignedMemoryBuffer
- 添加 MFCreateAsyncResult
- 添加 MFCreateAttributes
- 添加 MFCreateEventQueue
- 添加 MFCreateMediaBufferWrapper
- 添加 MFCreateMediaEvent
- 添加 MFCreateMediaType
- 添加 MFCreateMemoryBuffer
- 添加 MFCreatePresentationDescriptor
- 添加 MFCreateSample
- 添加 MFCreateStreamDescriptor
- 添加 MFCreateWaveFormatExFromMFMediaType
- 添加 MFFrameRateToAverageTimePerFrame
- 添加 MFGetSystemTime
- 添加 MFInitMediaTypeFromWaveFormatEx
- 添加 MFShutdown
- 添加 MFStartup
- 添加 MFTEnumEx
- 添加 MFCreateSourceReaderFromMediaSource
- 添加 NdfCreateWebIncident
- 添加 NdfCloseIncident
- 添加 NdfExecuteDiagnosis
- 添加 WinUsb_Free
- 添加 WinUsb_GetAssociatedInterface
- 添加 WinUsb_GetOverlappedResult
- 添加 WinUsb_Initialize
- 添加 WinUsb_ReadPipe
- 添加 WinUsb_ResetPipe
- 添加 WinUsb_SetCurrentAlternateSetting
- 添加 WinUsb_WritePipe
- 添加 D3D12CreateDevice
- 添加 PowerGetActiveScheme
- 添加 PowerReadACValue
- 添加 PowerReadDCValue
- SystemParametersInfoW(A),适配SPI_GETNONCLIENTMETRICS(Windows XP)
- Fea #94, 为Windows Runtime String (HSTRING)提供内部实现
- 补充 WindowsCreateString
- 补充 WindowsCreateStringReference
- 补充 WindowsDeleteString
- 补充 WindowsDuplicateString
- 补充 WindowsGetStringLen
- 补充 WindowsGetStringRawBuffer
- 补充 WindowsIsStringEmpty
- 补充 WindowsStringHasEmbeddedNull
- 补充 WindowsCompareStringOrdinal
- Opt, ntdll.lib可用时尽可能的从lib隐式依赖,减少try_get次数。
v1.1.1 添加Chrome 116、QT5、TLS、.NET AOT支持
重要通知
- 现在压缩包已经提供
YY.Depends.Analyzer
独立工具,可以快速分析缺失的依赖
; 比如分析Google浏览器 XP系统上缺失的API,帮助大家快速查找缺失API
YY.Depends.Analyzer "C:\Program Files\Google\Chrome\Application\125.0.6422.113" /IgnoreReady
-
现在已经为XP系统提供了Tls增强,解决动态加载的DLL使用
thread_local
可能崩溃问题,需要修改DLL入口点(NuGet版会自动开启无需干预),更多信息请参考文档。 -
现在特意为LLD-LINK添加LIB库模式,编译Chromium时直接设置LIBPATH即可依赖YY-Thunks
友情提示:GN的增量生成能力很弱,修改LIBPATH将触发大规模重新编译!!!另外LIB文件被替换后GN也无法感知,你需要手工触发重新链接。GN这个渣渣……
更新日志
- Bug #73, 解决LocaleNameToLCID内置表格排序错误
- Bug #77, 解决SHGetKnownFolder*相关API处理Csidl Flags错误
- Bug,回滚 #57,避免某些死锁问题,因为GetProcAddress内部存在锁,提前初始化可以避免死锁。
- Bug, 解决GetThreadPreferredUILanguages函数pwszLanguagesBuffer = nullptr时崩溃
- Bug, 解决Vista模式可能找不到advapi32.lib里的一些符号问题
- Fea #30, 为LLD-LINK添加lib依赖模式
- Fea #29, 消除Chrome 116所有Windows XP不支持的接口
- 添加 WinHttpCreateProxyResolver
- 添加 WinHttpGetProxyForUrlEx
- 添加 WinHttpGetProxyResult
- 添加 WinHttpFreeProxyResult
- 添加 CreateThreadpool
- 添加 CloseThreadpool
- 添加 SetThreadpoolThreadMaximum
- 添加 SetThreadpoolThreadMinimum
- 添加 CallbackMayRunLong
- Fea #65, 补充常见的DWM接口
- 添加 DwmIsCompositionEnabled
- 添加 DwmEnableComposition
- 添加 DwmExtendFrameIntoClientArea
- 添加 DwmDefWindowProc
- 添加 DwmGetColorizationColor
- 添加 DwmGetWindowAttribute
- 添加 DwmSetWindowAttribute
- 添加 DwmFlush
- 添加 DwmInvalidateIconicBitmaps
- 添加 DwmSetIconicLivePreviewBitmap
- 添加 DwmSetIconicThumbnail
- Fea #66, 为.NET 8/9提供Windows XP RTM兼容(大部分已支持)
- 添加 GetProcessGroupAffinity
- 添加 QueryUnbiasedInterruptTime
- 添加 FindStringOrdinal
- 添加 GetEnabledXStateFeatures
- 添加 SetXStateFeaturesMask
- 添加 InitializeContext
- 添加 InitializeContext2
- 添加 LocateXStateFeature
- 添加 CopyContext
- 添加 SetThreadIdealProcessorEx
- 添加 GetThreadIdealProcessorEx
- 添加 EventActivityIdControl
- 添加 EventRegister
- 添加 EventUnregister
- 添加 EnumerateTraceGuidsEx
- 添加 EventEnabled
- 添加 EventWrite
- 添加 EventWriteTransfer
- 添加 EventWriteEx
- 添加 ConvertInterfaceIndexToLuid
- 添加 ConvertInterfaceLuidToNameW(A)
- 添加 ConvertInterfaceNameToLuidW(A)
- 添加 if_nametoindex
- 添加 if_indextoname
- 添加 GetUserPreferredUILanguages
- 添加 EventWriteString
- 添加 CryptProtectMemory
- 添加 CryptUnprotectMemory
- 添加 EnumTimeFormatsEx
- 添加 GetCalendarInfoEx
- 添加 GetNLSVersionEx
- 添加 IsNLSDefinedString
- 添加 SetProcessWorkingSetSizeEx
- 添加 GetProcessWorkingSetSizeEx
- 添加 GetAddrInfoExCancel
- 添加 GetAddrInfoExOverlappedResult
- 添加 BCryptDeriveKeyPBKDF2
- 添加 BCryptDeriveKeyCapi
- 添加 BCryptGetProperty
- 添加 BCryptCreateHash
- 添加 BCryptDestroyHash
- 添加 BCryptHashData
- 添加 BCryptFinishHash
- 添加 GetAddrInfoExW(A)
- 添加 FreeAddrInfoEx(W)
- 添加 GetAddrInfoW
- 添加 FreeAddrInfoW
- 添加 CreateThreadpoolIo
- 添加 CloseThreadpoolIo
- 添加 StartThreadpoolIo
- 添加 CancelThreadpoolIo
- 添加 WaitForThreadpoolIoCallbacks
- 添加 BCryptSetProperty
- 添加 BCryptEncrypt
- 添加 BCryptDecrypt
- 添加 BCryptGenerateSymmetricKey
- 添加 BCryptDestroyKey
- 添加 BCryptExportKey
- 添加 BCryptImportKey
- 为rust提供Windows XP RTM兼容
- Fea #71, 为QT6.5/libcef109适配Windows XP
- 添加 Shell_NotifyIconGetRect
- 添加 SHGetStockIconInfo
- 添加 SymSetSearchPathW
- 添加 SymGetSearchPathW
- 添加 ConvertInterfaceLuidToIndex
- 添加 ConvertInterfaceLuidToGuid
- 添加 SetProcessDEPPolicy
- 添加 GetSystemDEPPolicy
- 添加 DrawThemeTextEx
- 添加 DwmGetCompositionTimingInfo
- 添加 CreateDXGIFactory
- 添加 JetAddColumnA
- 添加 JetAddColumnA
- 添加 JetAttachDatabaseA
- 添加 JetAttachDatabase2A
- 添加 JetAttachDatabaseWithStreamingA
- 添加 JetBackupA
- 添加 JetBackupInstanceA
- 添加 JetBeginDatabaseIncrementalReseedA
- 添加 JetBeginSessionA
- 添加 JetCompactA
- 添加 JetConvertDDLA
- 添加 JetCreateDatabaseA
- 添加 JetCreateDatabase2A
- 添加 JetCreateDatabaseWithStreamingA
- 添加 JetCreateIndexA
- 添加 JetCreateIndex2A
- 添加 JetCreateInstanceA
- 添加 JetCreateInstance2A
- 添加 JetCreateTableA
- 添加 JetCreateTableColumnIndexA
- 添加 JetCreateTableColumnIndex2A
- 添加 JetDBUtilitiesA
- 添加 JetDefragmentA
- 添加 JetDefragment2A
- 添加 JetDeleteColumnA
- 添加 JetDeleteColumn2A
- 添加 JetDeleteIndexA
- 添加 JetDeleteTableA
- 添加 JetDetachDatabaseA
- 添加 JetDetachDatabase2A
- 添加 JetEnableMultiInstanceA
- 添加 JetExternalRestoreA
- 添加 JetExternalRestore2A
- 添加 JetGetAttachInfoA
- 添加 JetGetAttachInfoInstanceA
- 添加 JetGetColumnInfoA
- 添加 JetGetCurrentIndexA
- 添加 JetGetDatabaseFileInfoA
- 添加 JetGetDatabaseInfoA
- 添加 JetGetIndexInfoA
- 添加 JetGetInstanceInfoA
- 添加 JetGetLogInfoA
- 添加 JetGetLogInfoInstanceA
- 添加 JetGetLogInfoInstance2A
- 添加 JetGetObjectInfoA
- 添加 JetGetSystemParameterA
- 添加 JetGetTableColumnInfoA
- 添加 JetGetTableIndexInfoA
- 添加 JetGetTableInfoA
- 添加 JetGetTruncateLogInfoInstanceA
- 添加 JetInit3A
- 添加 JetInit4A
- 添加 JetOpenDatabaseA
- 添加 JetOpenFileA
- 添加 JetOpenFileInstanceA
- 添加 JetOpenFileSectionInstanceA
- 添加 JetOpenTableA
- 添加 JetOSSnapshotFreezeA
- 添加 JetRenameColumnA
- 添加 JetRenameTableA
- 添加 JetRestoreA
- 添加 JetRestore2A
- 添加 JetRestoreInstanceA
- 添加 JetSetColumnDefaultValueA
- 添加 JetSetCurrentIndexA
- 添加 JetSetCurrentIndex2A
- 添加 JetSetCurrentIndex3A
- 添加 JetSetCurrentIndex4A
- 添加 JetSetDatabaseSizeA
- 添加 JetSetSystemParameterA
- 添加 JetSnapshotStartA
- 添加 JetUpgradeDatabaseA
- 添加 JetAttachDatabase2W
- 添加 JetBeginSessionW
- 添加 JetCreateInstanceW
- 添加 JetGetTableColumnInfoW
- 添加 JetOpenDatabaseW
- 添加 JetOpenTableW
- 添加 JetSetSystemParameterW
- 添加 JetGetSystemParameterW
- 添加 CreateRemoteThreadEx
- 添加 WerRegisterRuntimeExceptionModule
- 添加 WerUnregisterRuntimeExceptionModule
- 添加 Wow64GetThreadContext
- 添加 SHGetPropertyStoreForWindow
- 添加 SHOpenWithDialog
- 添加 UiaGetReservedMixedAttributeValue
- 添加 UiaGetReservedNotSupportedValue
- 添加 UiaRaiseStructureChangedEvent
- 添加 EvtClose
- 添加 EvtCreateRenderContext
- 添加 EvtNext
- 添加 EvtQuery
- 添加 EvtRender
- Fea,常规扩充一些新API支持
- 添加 QueryInterruptTime
- 添加 QueryInterruptTimePrecise
- 添加 QueryUnbiasedInterruptTimePrecise
- 添加 QueryIdleProcessorCycleTimeEx
- 添加QueryIdleProcessorCycleTime
- Fea #83, 为Windows XP添加动态DLL TLS兼容
- Fea, YY-Thunks等级添加Win7、Win8以及Win10
- Fea,NuGet包添加.NET Native AOT支持
- Fea #94, 将Windows Runtime API回退逻辑调整为C++/WinRT内置回退方案
- Fea,添加YY.Depends.Analyzer独立工具,便于快速分析依赖缺失
- Opt, 减少obj中重复的的includelib
- Opt, 优化QueryUnbiasedInterruptTime实现,改用读取USER_SHARED_DATA::InterruptTime值
- Opt, 使用cpuid重新实现GetCurrentProcessorNumber,让XP下STL的多线程调度正常工作
- Opt, 优化 WaitForThreadpoolWorkCallbacks等函数实现,添加Cancel支持
- Opt, Fls使用thread_local以及BitMap改造,提高性能
- Opt, 使用HookThunk内存池改善EnumCalendarInfoExEx Thunk内存分配性能
v1.0.9
更新日志
- Fea #29,消除Chrome 116不支持的接口
- 添加 GetFirmwareType
- 添加 IsNativeVhdBoot
- 添加 GetThreadInformation
- FindFirstFileEx,添加Windows XP、Vista兼容 FIND_FIRST_EX_LARGE_FETCH、FindExInfoStandard参数。
- Fea #60, 添加Tokio支持
- 添加 SetFileCompletionNotificationModes
- 添加 GetQueuedCompletionStatusEx
- 添加 NtCancelIoFileEx
- Fea #62, CRT 14.37.32822适配老系统
- 新增GetThreadGroupAffinity
- 新增RtlCaptureStackBackTrace
- Fea #64, 为slint提供Windows XP运行支持
- 添加 DwmEnableBlurBehindWindow
- 添加 IsProcessDPIAware
- 添加 GetWindowDisplayAffinity
- 添加 SetWindowDisplayAffinity
- 添加 RegisterTouchWindow
- 添加 UnregisterTouchWindow
- 添加 IsTouchWindow
- 添加 GetTouchInputInfo
- 添加 CloseTouchInputHandle
v1.0.8 改善易用性
v1.0.7 Windows 7适配Chrome 110
What's the News
- Bug #42,解决User32.lib相关符号解析失败
- Bug #50,解决TryAcquireSRWLockExclusive返回值颠倒问题
- Fea #37,添加SetThreadStackGuarantee
- Fea #40,添加PdhAddEnglishCounterW(A)
- Fea #43,添加CoGetApartmentType
- Fea #44,添加EnumResourceLanguagesExW(A)
- Fea #45,添加SetCoalescableTimer
- Fea #48,添加BCryptGenRandom
- Fea #51,添加缺少 iphlpapi 相关函数
- 添加 GetIfTable2
- 添加 GetIfTable2Ex
- 添加 GetIfEntry2
- 添加 GetIfEntry2Ex
- 添加 FreeMibTable
- Fea #29, 消除Chrome项目中Windows 7、Windows XP不支持的API
- 添加 DiscardVirtualMemory
- 添加 OfferVirtualMemory
- 添加 ReclaimVirtualMemory
- 添加 PrefetchVirtualMemory
- 添加 EventSetInformation
- 添加 BluetoothGATTGetCharacteristicValue
- 添加 BluetoothGATTGetCharacteristics
- 添加 BluetoothGATTGetDescriptors
- 添加 BluetoothGATTGetServices
- 添加 BluetoothGATTRegisterEvent
- 添加 BluetoothGATTSetCharacteristicValue
- 添加 BluetoothGATTSetDescriptorValue
- 添加 MFCreateDXGIDeviceManager
- 添加 MFCreateDXGISurfaceBuffer
- 添加 MFLockDXGIDeviceManager
- 添加 MFUnlockDXGIDeviceManager
- 添加 NetGetAadJoinInformation
- 添加 NetFreeAadJoinInformation
- 添加 GetProcessMitigationPolicy
- 添加 SetProcessMitigationPolicy
- 添加 SetProcessInformation
- 添加 SetThreadInformation
- 添加 PowerDeterminePlatformRole
- 添加 PowerDeterminePlatformRoleEx
- 添加 PowerRegisterSuspendResumeNotification
- 添加 PowerUnregisterSuspendResumeNotification
- 添加 RegisterSuspendResumeNotification
- 添加 UnregisterSuspendResumeNotification
- 添加 PowerCreateRequest
- 添加 PowerSetRequest
- 添加 PowerClearRequest
v1.0.6 累计问题修复
What's the News
- 解决Bug 32, 修复RtlpWakeByAddress触发空指针崩溃。