@@ -1014,6 +1014,41 @@ namespace YY::Thunks
10141014#endif
10151015
10161016
1017+ #if (YY_Thunks_Target < __WindowsNT10_26100)
1018+
1019+ // 最低支持的客户端 Windows 11 24H2 [桌面应用 |UWP 应用]
1020+ // 支持的最低服务器 Windows Server 2025[桌面应用 | UWP 应用]
1021+ __DEFINE_THUNK (
1022+ kernel32,
1023+ 20 ,
1024+ HANDLE,
1025+ WINAPI,
1026+ CreateFile3,
1027+ _In_z_ LPCWSTR _szFileName,
1028+ _In_ DWORD _uDesiredAccess,
1029+ _In_ DWORD _uShareMode,
1030+ _In_ DWORD _uCreationDisposition,
1031+ _In_opt_ LPCREATEFILE3_EXTENDED_PARAMETERS _pCreateExParams
1032+ )
1033+ {
1034+ if (const auto _pfnCreateFile3 = try_get_CreateFile3 ())
1035+ {
1036+ return _pfnCreateFile3 (_szFileName, _uDesiredAccess, _uShareMode, _uCreationDisposition, _pCreateExParams);
1037+ }
1038+
1039+ static_assert (sizeof (CREATEFILE3_EXTENDED_PARAMETERS) == sizeof (CREATEFILE2_EXTENDED_PARAMETERS), " " );
1040+ static_assert (UFIELD_OFFSET (CREATEFILE3_EXTENDED_PARAMETERS, dwSize) == UFIELD_OFFSET (CREATEFILE2_EXTENDED_PARAMETERS, dwSize), " " );
1041+ static_assert (UFIELD_OFFSET (CREATEFILE3_EXTENDED_PARAMETERS, dwFileAttributes) == UFIELD_OFFSET (CREATEFILE2_EXTENDED_PARAMETERS, dwFileAttributes), " " );
1042+ static_assert (UFIELD_OFFSET (CREATEFILE3_EXTENDED_PARAMETERS, dwFileFlags) == UFIELD_OFFSET (CREATEFILE2_EXTENDED_PARAMETERS, dwFileFlags), " " );
1043+ static_assert (UFIELD_OFFSET (CREATEFILE3_EXTENDED_PARAMETERS, dwSecurityQosFlags) == UFIELD_OFFSET (CREATEFILE2_EXTENDED_PARAMETERS, dwSecurityQosFlags), " " );
1044+ static_assert (UFIELD_OFFSET (CREATEFILE3_EXTENDED_PARAMETERS, lpSecurityAttributes) == UFIELD_OFFSET (CREATEFILE2_EXTENDED_PARAMETERS, lpSecurityAttributes), " " );
1045+ static_assert (UFIELD_OFFSET (CREATEFILE3_EXTENDED_PARAMETERS, hTemplateFile) == UFIELD_OFFSET (CREATEFILE2_EXTENDED_PARAMETERS, hTemplateFile), " " );
1046+
1047+ return CreateFile2 (_szFileName, _uDesiredAccess, _uShareMode, _uCreationDisposition, reinterpret_cast <LPCREATEFILE2_EXTENDED_PARAMETERS>(_pCreateExParams));
1048+ }
1049+ #endif
1050+
1051+
10171052#if (YY_Thunks_Target < __WindowsNT6)
10181053
10191054 // Windows Vista [desktop apps only]
0 commit comments