添加 RoOriginateError、RoOriginateErrorW

This commit is contained in:
mingkuang
2020-11-23 12:18:32 +08:00
parent 912eaa4e2f
commit 93c9619647
8 changed files with 325 additions and 199 deletions
-197
View File
@@ -1,197 +0,0 @@
# YY-Thunks 更新日志
### 1.0.3-Beta1 - 累计问题修复(2020-11-16 17:30)
* 解决[Bug 7](https://github.com/Chuyu-Team/YY-Thunks/issues/7),某些情况下导致死锁问题(感谢 冯立夫)
### 1.0.2.8 - 扩充实现 (2020-07-12 18:00)
* 优化实现,改进 YY-Thunks 性能与体积
* 解决 Bug,修复 RtlpQueueWaitBlockToSRWLock 与 RtlpWakeSingle 错误 (感谢 清泠)
* 解决 Bug,CLSID_ShellItem符号可能冲突问题 (感谢 星期四)
* 解决 Bug,与现代化stdio模式触发FAILIFMISMATCH链接错误。
* 添加 CompareStringEx
* 添加 CompareStringOrdinal
* 添加 SetFilePointerEx (Windows 2000 模式)
* 添加 GetModuleHandleExW(A) (Windows 2000 模式)
* 添加 WTSGetActiveConsoleSessionId (Windows 2000 模式)
* 添加 StrToInt64ExW(A) (Windows 2000 模式)
* 添加 GetNativeSystemInfo (Windows 2000 模式)
* 添加 InitializeSListHead (Windows 2000 模式)
* 添加 InterlockedFlushSList (Windows 2000 模式)
* 添加 QueryDepthSList (Windows 2000 模式)
* 添加 InterlockedPushEntrySList (Windows 2000 模式)
* 添加 InterlockedPopEntrySList (Windows 2000 模式)
* 添加 LoadLibraryExW(A) LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR,
LOAD_LIBRARY_SEARCH_APPLICATION_DIR, LOAD_LIBRARY_SEARCH_SYSTEM32 支持
* 添加 SetupDiGetDevicePropertyW
* 添加 SetupDiSetDevicePropertyW
* 添加 SetupDiGetClassPropertyW
* 添加 SetupDiGetClassPropertyExW
* 添加 SetupDiSetClassPropertyW
* 添加 SetupDiSetClassPropertyExW
### 1.0.1.23 - 优化实现 (2019-10-25 13:00)
* 解决 Bug,CreateFile2 dwSecurityQosFlags成员可能无法发挥作用问题 (感谢 賈可)
* 解决 Bug,KnownFoldersIdsMap 缺少 FOLDERID_ProgramFilesCommonX86
问题 (感谢 賈可)
* 解决 Bug,KnownFoldersIdsMap 会生成 static 静态对象初始化代码问题 (感谢 Joe)
* 行为调整,EnumCalendarInfoExEx, EnumDateFormatsExEx 消除 TLS 依赖
* 添加 SHBindToFolderIDListParent (感谢 賈可)
* 添加 SHBindToFolderIDListParentEx (感谢 賈可)
* 添加 SHBindToObject (感谢 賈可)
* 添加 SHCreateItemFromIDList (感谢 賈可)
* 添加 SHCreateItemWithParent (感谢 賈可)
* 添加 SHCreateItemFromRelativeName (感谢 賈可)
* 添加 SHGetNameFromIDList (感谢 賈可)
* 添加 SHCreateShellItem
* 添加 OpenFileById
* 添加 RegCopyTreeW(A) (感谢 賈可)
* 添加 CreateSymbolicLinkW(A)
* 添加 ReOpenFile
### 1.0.1.17 - 优化实现 (2019-09-06 21:00)
* 解决Bug,VS2010无法使用问题 (感谢 柒零)
* 改进 SRWLock 以及 One-Time Initialization 调整为 KeyedEvent 实现
* 添加 WSAPoll
* 添加 InitializeConditionVariable
* 添加 SleepConditionVariableCS
* 添加 SleepConditionVariableSRW
* 添加 WakeConditionVariable
* 添加 WakeAllConditionVariable
* 添加 InitOnceInitialize
* 添加 InitOnceBeginInitialize
* 添加 InitOnceComplete
* 添加 InitializeSynchronizationBarrier
* 添加 EnterSynchronizationBarrier
* 添加 DeleteSynchronizationBarrier
* 添加 WaitOnAddress
* 添加 WakeByAddressSingle
* 添加 WakeByAddressAll
* 添加 SHGetKnownFolderPath
* 添加 SHSetKnownFolderPath
* 添加 SHGetKnownFolderIDList
### 1.0.1.9 - 优化实现 (2019-06-23 13:00)
* 优化代码结构,减少不必要的全局对象引入
* 内部函数采用 __fastcall 约定,减少栈操作
* 增加 YY-Thunks 版本互斥
* 改进与联想一键影音的兼容性,由于联想一键影音错会乱 Hook,导致 LoadLibraryExW
行为异常。这样将导致 YY-Thunks 等在没有安装 KB2533623 的系统上无法正常使用
* 改进 Windows 7 RTM 以及以下系统的兼容性,由于这些老版本系统由于在
LoadLibraryExW 期间不会恢复重定向,因此当目标线程关闭重定向时可能导致
YY-Thunks 无法正常工作
* 添加 QueryWorkingSetEx
### 1.0.1.7 - 功能更新 (2019-06-04 13:00)
* 添加 InitializeSRWLock
* 添加 AcquireSRWLockExclusive
* 添加 ReleaseSRWLockExclusive
* 添加 AcquireSRWLockShared
* 添加 ReleaseSRWLockShared
* 添加 TryAcquireSRWLockExclusive
* 添加 TryAcquireSRWLockShared
### 1.0.1.5 - 功能更新 (2019-05-26 19:00)
* 添加 RaiseFailFastException (感谢 过客)
* 添加 GetThreadId (感谢 过客)
* 添加 GetProcessIdOfThread
* 添加 QueryThreadCycleTime (感谢 过客)
* 添加 QueryProcessCycleTime
* 添加 K32EnumProcessModules
* 添加 K32EnumProcessModulesEx
* 添加 K32GetModuleBaseNameW(A)
* 添加 K32GetModuleFileNameExW(A)
* 添加 K32EmptyWorkingSet
* 添加 K32QueryWorkingSet
* 添加 K32QueryWorkingSetEx
* 添加 K32InitializeProcessForWsWatch
* 添加 K32GetWsChanges
* 添加 K32GetWsChangesEx
* 添加 K32GetMappedFileNameW(A)
* 添加 K32EnumDeviceDrivers
* 添加 K32GetDeviceDriverBaseNameW(A)
* 添加 K32GetDeviceDriverFileNameW(A)
* 添加 K32GetPerformanceInfo
* 添加 K32EnumPageFilesW(A)
* 添加 K32GetProcessImageFileNameW(A)
* 添加 EnumProcessModulesEx
* 添加 GetWsChangesEx
* 添加 QueryFullProcessImageNameW(A)
* 添加 CreateFile2
* 添加 CreateEventExW(A)
* 添加 CreateMutexExW(A)
* 添加 CreateSemaphoreExW
* 添加 CreateWaitableTimerExW
* 添加 GetFileVersionInfoExW(A)
* 添加 GetFileVersionInfoSizeExW(A)
* 添加 QueryFullProcessImageNameW(A)
* 添加 InterlockedCompareExchange64
* 添加 GetProcessId
* 添加 SetThreadErrorMode
* 添加 GetThreadErrorMode
* 添加 GetErrorMode
* 添加 CancelIoEx
### 1.0.1.1 - 功能更新 (2019-04-01 17:00)
* 添加 EnumCalendarInfoExEx
* 添加 EnumDateFormatsExEx
* 添加 GetFileInformationByHandleEx
* 添加 SetFileInformationByHandle
* 添加 GetFinalPathNameByHandleW(A)
* 解决 Bug,1.0.0.10 版意外引入 ntdll.lib 问题 (感谢 小古)
* 添加 GetLogicalProcessorInformation
* 添加 GetLogicalProcessorInformationEx
* 添加 InetPtonW(inet_pton)
* 添加 InetNtopW(inet_ntop)
* 添加 GetNumaHighestNodeNumber
### 1.0.0.7 - 功能更新 (2019-01-02 15:10)
* 添加 RegGetValueW(A)
* 添加 LocaleNameToLCID
* 添加 LCIDToLocaleName
* 添加 GetLocaleInfoEx
* 添加 GetDateFormatEx
* 添加 GetTimeFormatEx
* 添加 GetNumberFormatEx
* 添加 GetCurrencyFormatEx
* 添加 GetUserDefaultLocaleName
* 添加 GetSystemDefaultLocaleName
* 重新编译,解决潜在符号修饰问题
### 1.0.0.4 - 兼容性更新 (2018-09-08 18:00)
* 解决Bug,将初始化时机推迟到 `.CRT$XID`,避免 VC2008 下过早初始化导致 atexit
崩溃 (感谢 死田鸡)
### 1.0.0.3 - 让兼容Windows ARM64更轻松 (2018-06-18 11:30)
* 添加 IsWow64Process2
* 添加 IsWow64GuestMachineSupported
* 添加 GetTickCount64
* 添加 GetSystemTimePreciseAsFileTime
* 添加 InitializeCriticalSectionEx
* 添加 InitOnceExecuteOnce
* 添加 GetCurrentProcessorNumber
* 添加 GetCurrentProcessorNumberEx
* 添加 GetNumaNodeProcessorMask
* 添加 GetNumaNodeProcessorMaskEx
* 添加 SetThreadGroupAffinity
### 1.0.0.2 - 补充API支持 (2018-06-01 18:30)
* 添加 RegSetKeyValueW(A)
* 添加 RegDeleteKeyValueW(A)
* 添加 RegDeleteTreeW(A)
### 1.0.0.1 - 第一版 (2018-05-17 19:00)
* YY-Thunks 第一版
+1 -1
View File
@@ -66,4 +66,4 @@ YY-Thunks(鸭船),存在的目的就是抹平不同系统的差异,编
## 更新日志
请参阅 [Changelog.md](Changelog.md)
请参阅 [Changelog.md](https://github.com/Chuyu-Team/YY-Thunks/wiki)
+2
View File
@@ -15,6 +15,8 @@
<summary>优雅的解决Windows XP RTM无法定位程序输入点 DecodePointer、EncodePointer、RegDeleteKeyEx等,让你兼容Windows更轻松。</summary>
<releaseNotes>
* 解决[Bug 7](https://github.com/Chuyu-Team/YY-Thunks/issues/7),某些情况下导致死锁问题(感谢 冯立夫)
* 添加 RoOriginateError
* 添加 RoOriginateErrorW
</releaseNotes>
<copyright>Copyright 2020</copyright>
<tags>Chuyu YY-Thunks native nativepackage</tags>
@@ -0,0 +1,64 @@
namespace YY
{
namespace Thunks
{
#if (YY_Thunks_Support_Version < NTDDI_WIN8)
//Windows 8 [desktop apps | UWP apps]
//Windows Server 2012 [desktop apps | UWP apps]
EXTERN_C
BOOL
WINAPI
RoOriginateError(
_In_ HRESULT error,
_In_opt_ HSTRING message
)
#ifdef YY_Thunks_Defined
;
#else
{
if (auto pRoOriginateError = try_get_RoOriginateError())
{
return pRoOriginateError(error, message);
}
return FALSE;
}
#endif
__YY_Thunks_Expand_Function(api_ms_win_core_winrt_error_l1_1_0, RoOriginateError, 8);
#endif
#if (YY_Thunks_Support_Version < NTDDI_WIN8)
//Windows 8 [desktop apps | UWP apps]
//Windows Server 2012 [desktop apps | UWP apps]
EXTERN_C
BOOL
WINAPI
RoOriginateErrorW(
_In_ HRESULT error,
_In_ UINT cchMax,
_When_(cchMax == 0, _In_reads_or_z_opt_(MAX_ERROR_MESSAGE_CHARS) )
_When_(cchMax > 0 && cchMax < MAX_ERROR_MESSAGE_CHARS, _In_reads_or_z_(cchMax) )
_When_(cchMax >= MAX_ERROR_MESSAGE_CHARS, _In_reads_or_z_(MAX_ERROR_MESSAGE_CHARS) ) PCWSTR message
)
#ifdef YY_Thunks_Defined
;
#else
{
if (auto pRoOriginateErrorW = try_get_RoOriginateErrorW())
{
return pRoOriginateErrorW(error, cchMax, message);
}
return FALSE;
}
#endif
__YY_Thunks_Expand_Function(api_ms_win_core_winrt_error_l1_1_0, RoOriginateErrorW, 12);
#endif
}
}
+2 -1
View File
@@ -15,7 +15,8 @@
_APPLY(shlwapi, "shlwapi" , 0 ) \
_APPLY(setupapi, "setupapi" , 0 ) \
_APPLY(api_ms_win_core_winrt_l1_1_0, "api-ms-win-core-winrt-l1-1-0" , 0 ) \
_APPLY(api_ms_win_core_winrt_string_l1_1_0, "api-ms-win-core-winrt-string-l1-1-0", 0 )
_APPLY(api_ms_win_core_winrt_string_l1_1_0, "api-ms-win-core-winrt-string-l1-1-0", 0 ) \
_APPLY(api_ms_win_core_winrt_error_l1_1_0, "api-ms-win-core-winrt-error-l1-1-0" , 0 )
//全局可能使用到的函数
+130
View File
@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>15.0</VCProjectVersion>
<ProjectGuid>{05B31B17-534E-427B-8E18-3DDDDF384A34}</ProjectGuid>
<RootNamespace>YYThunks</RootNamespace>
<WindowsTargetPlatformVersion>$([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0'))</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MinSpace</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<ConformanceMode>true</ConformanceMode>
<PreprocessorDefinitions>YY_Thunks_Support_Version=NTDDI_WIN2K;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WholeProgramOptimization>false</WholeProgramOptimization>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<ExceptionHandling>false</ExceptionHandling>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MinSpace</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<ConformanceMode>true</ConformanceMode>
<PreprocessorDefinitions>YY_Thunks_Support_Version=NTDDI_WINXP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WholeProgramOptimization>false</WholeProgramOptimization>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<ExceptionHandling>false</ExceptionHandling>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="Thunks\api-ms-win-core-datetime.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-errorhandling.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-file.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-interlocked.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-io.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-libraryloader.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-localization.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-processthreads.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-psapi.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-realtime.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-registry.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-string.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-synch.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-sysinfo.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-systemtopology.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-util.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-version.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-winrt-error.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-winrt-string.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-winrt.hpp" />
<ClInclude Include="Thunks\api-ms-win-core-wow64.hpp" />
<ClInclude Include="Thunks\kernel32.hpp" />
<ClInclude Include="Thunks\psapi.hpp" />
<ClInclude Include="Thunks\SetupAPI.hpp" />
<ClInclude Include="Thunks\shell32.hpp" />
<ClInclude Include="Thunks\shlwapi.hpp" />
<ClInclude Include="Thunks\user32.hpp" />
<ClInclude Include="Thunks\WS2_32.hpp" />
<ClInclude Include="YY_Thunks.h" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="YY_Thunks_List.hpp" />
</ItemGroup>
<ItemGroup>
<None Include="..\ReadMe.md" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="YY_Thunks.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="YY_Thunks_2.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+125
View File
@@ -0,0 +1,125 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="源文件">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="头文件">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
</Filter>
<Filter Include="资源文件">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
<Filter Include="Thunks">
<UniqueIdentifier>{dd8ad697-a4c7-452c-8291-0cd9750343ce}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="YY_Thunks.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="YY_Thunks_List.hpp">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-localization.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-processthreads.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-registry.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-synch.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-sysinfo.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-systemtopology.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-util.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-wow64.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\user32.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-datetime.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-file.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\WS2_32.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-errorhandling.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-realtime.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\psapi.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-psapi.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-version.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-interlocked.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-io.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\shell32.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-string.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-winrt.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-winrt-string.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\shlwapi.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-libraryloader.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\kernel32.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\SetupAPI.hpp">
<Filter>Thunks</Filter>
</ClInclude>
<ClInclude Include="Thunks\api-ms-win-core-winrt-error.hpp">
<Filter>Thunks</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\ReadMe.md">
<Filter>资源文件</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="YY_Thunks.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="YY_Thunks_2.cpp">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
</Project>
+1
View File
@@ -23,6 +23,7 @@
#include "Thunks/api-ms-win-core-winrt.hpp"
#include "Thunks/api-ms-win-core-winrt-string.hpp"
#include "Thunks/api-ms-win-core-libraryloader.hpp"
#include "Thunks/api-ms-win-core-winrt-error.hpp"