VirtualBox

Changeset 83862 in vbox


Ignore:
Timestamp:
Apr 20, 2020 3:21:38 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
137391
Message:

IPRT: VCC win32 API fakes for 14.1. bugref:8489

Location:
trunk/src/VBox/Runtime
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/.scm-settings

    r83745 r83862  
    4242
    4343# Small C and ASM header, no copyright or license text for now.
    44 /r3/win/vcc100-kernel32-fakes.h: --external-copyright --no-update-license
     44/r3/win/vcc-fakes-kernel32-100.h: --external-copyright --no-update-license
     45/r3/win/vcc-fakes-kernel32-141.h: --external-copyright --no-update-license
    4546
    4647# external code
  • trunk/src/VBox/Runtime/r3/win/vcc-fakes-kernel32-141.h

    r83861 r83862  
    1 COMMENT("XP SP2 / W2K3 SP1 / VISTA")
    21MAKE_IMPORT_ENTRY(6,0, DecodePointer, 4)
    32MAKE_IMPORT_ENTRY(6,0, EncodePointer, 4)
    4 COMMENT("XP")
    5 MAKE_IMPORT_ENTRY(5,1, HeapSetInformation, 16)
    6 MAKE_IMPORT_ENTRY(5,1, HeapQueryInformation, 20)
    73MAKE_IMPORT_ENTRY(5,1, InitializeSListHead, 4)
    8 MAKE_IMPORT_ENTRY(5,1, InterlockedFlushSList, 4)
    9 MAKE_IMPORT_ENTRY(5,1, InterlockedPopEntrySList, 4)
    10 MAKE_IMPORT_ENTRY(5,1, InterlockedPushEntrySList, 8)
    11 MAKE_IMPORT_ENTRY(5,1, QueryDepthSList, 4)
    124MAKE_IMPORT_ENTRY(5,1, GetModuleHandleExW, 12)
    13 COMMENT("NT 4 SP4+")
    145MAKE_IMPORT_ENTRY(5,0, VerifyVersionInfoA, 16)
    15 COMMENT("NT 4 SP3+")
    16 MAKE_IMPORT_ENTRY(5,0, CreateTimerQueue, 0)
    17 MAKE_IMPORT_ENTRY(5,0, CreateTimerQueueTimer, 28)
    18 MAKE_IMPORT_ENTRY(5,0, DeleteTimerQueueTimer, 12)
    19 MAKE_IMPORT_ENTRY(5,0, VerSetConditionMask, 16)
    206MAKE_IMPORT_ENTRY(5,0, SetFilePointerEx, 20)
    217MAKE_IMPORT_ENTRY(5,0, GetFileSizeEx, 8)
    228MAKE_IMPORT_ENTRY(5,0, InitializeCriticalSectionAndSpinCount, 8)
    23 COMMENT("NT 4.0")
    249MAKE_IMPORT_ENTRY(4,0, FindFirstFileExW, 24)
    2510MAKE_IMPORT_ENTRY(4,0, IsProcessorFeaturePresent, 4)
    2611MAKE_IMPORT_ENTRY(4,0, CancelIo, 4)
    27 COMMENT("NT 3.51")
    2812MAKE_IMPORT_ENTRY(3,51, FreeLibraryAndExitThread, 8)
    29 MAKE_IMPORT_ENTRY(3,51, PostQueuedCompletionStatus, 16)
    30 MAKE_IMPORT_ENTRY(3,51, EnumSystemLocalesW, 8)
    3113MAKE_IMPORT_ENTRY(3,51, IsDebuggerPresent, 0)
    3214MAKE_IMPORT_ENTRY(3,51, GetSystemTimeAsFileTime, 4)
    33 MAKE_IMPORT_ENTRY(3,51, CreateIoCompletionPort, 16)
    34 MAKE_IMPORT_ENTRY(3,51, GetQueuedCompletionStatus, 20)
    35 COMMENT("NT 3.50")
     15MAKE_IMPORT_ENTRY(3,50, EnumSystemLocalesW, 8)
    3616MAKE_IMPORT_ENTRY(3,50, GetVersionExA, 4)
    3717MAKE_IMPORT_ENTRY(3,50, GetVersionExW, 4)
    3818MAKE_IMPORT_ENTRY(3,50, GetEnvironmentStringsW, 0)
    3919MAKE_IMPORT_ENTRY(3,50, FreeEnvironmentStringsW, 4)
    40 MAKE_IMPORT_ENTRY(3,50, GetLocaleInfoA, 16)
    41 MAKE_IMPORT_ENTRY(3,50, EnumSystemLocalesA, 8)
    4220MAKE_IMPORT_ENTRY(3,50, IsValidLocale, 8)
    4321MAKE_IMPORT_ENTRY(3,50, SetThreadAffinityMask, 8)
     
    4624MAKE_IMPORT_ENTRY(3,50, SetHandleInformation, 12)
    4725
     26COMMENT("Not needed (usually)")
     27MAKE_IMPORT_ENTRY(5,1, HeapSetInformation, 16)
     28MAKE_IMPORT_ENTRY(5,1, HeapQueryInformation, 20)
     29MAKE_IMPORT_ENTRY(5,1, InterlockedFlushSList, 4)
     30MAKE_IMPORT_ENTRY(5,1, InterlockedPopEntrySList, 4)
     31MAKE_IMPORT_ENTRY(5,1, InterlockedPushEntrySList, 8)
     32MAKE_IMPORT_ENTRY(5,1, QueryDepthSList, 4)
     33MAKE_IMPORT_ENTRY(5,0, CreateTimerQueue, 0)
     34MAKE_IMPORT_ENTRY(5,0, CreateTimerQueueTimer, 28)
     35MAKE_IMPORT_ENTRY(5,0, DeleteTimerQueueTimer, 12)
     36MAKE_IMPORT_ENTRY(5,0, VerSetConditionMask, 16)
     37MAKE_IMPORT_ENTRY(3,51, PostQueuedCompletionStatus, 16)
     38MAKE_IMPORT_ENTRY(3,51, CreateIoCompletionPort, 16)
     39MAKE_IMPORT_ENTRY(3,51, GetQueuedCompletionStatus, 20)
     40MAKE_IMPORT_ENTRY(3,50, GetLocaleInfoA, 16)
     41MAKE_IMPORT_ENTRY(3,50, EnumSystemLocalesA, 8)
     42
  • trunk/src/VBox/Runtime/r3/win/vcc-fakes-kernel32.cpp

    r83861 r83862  
    508508    // CRT/_findfile:      FindFirstFileExW(, FindExInfoStandard, , FindExSearchNameMatch, NULL, 0);
    509509    // CRT/argv_wildcards: FindFirstFileExW(, FindExInfoStandard, , FindExSearchNameMatch, NULL, 0);
    510     AssertReturnStmt(dwAdditionalFlags == 0, SetLastError(ERROR_INVALID_PARAMETER), INVALID_HANDLE_VALUE);
    511     AssertReturnStmt(pvSearchFilter == NULL, SetLastError(ERROR_INVALID_PARAMETER), INVALID_HANDLE_VALUE);
    512     AssertReturnStmt(enmSearchOp == FindExSearchNameMatch, SetLastError(ERROR_INVALID_PARAMETER), INVALID_HANDLE_VALUE);
    513     AssertReturnStmt(enmInfoLevel == FindExInfoStandard || enmInfoLevel == FindExInfoBasic,
    514                      SetLastError(ERROR_INVALID_PARAMETER), INVALID_HANDLE_VALUE);
     510    MY_ASSERT_STMT_RETURN(dwAdditionalFlags == 0, SetLastError(ERROR_INVALID_PARAMETER), INVALID_HANDLE_VALUE);
     511    MY_ASSERT_STMT_RETURN(pvSearchFilter == NULL, SetLastError(ERROR_INVALID_PARAMETER), INVALID_HANDLE_VALUE);
     512    MY_ASSERT_STMT_RETURN(enmSearchOp == FindExSearchNameMatch, SetLastError(ERROR_INVALID_PARAMETER), INVALID_HANDLE_VALUE);
     513    MY_ASSERT_STMT_RETURN(enmInfoLevel == FindExInfoStandard || enmInfoLevel == FindExInfoBasic,
     514                          SetLastError(ERROR_INVALID_PARAMETER), INVALID_HANDLE_VALUE);
    515515
    516516    return FindFirstFileW(pwszFileName, (WIN32_FIND_DATAW *)pvFindFileData);
     
    559559        FreeModule(hLibModule);
    560560    ExitThread(dwExitCode);
    561 }
    562 #endif /* VCC_FAKES_TARGET >= 141 */
    563 
    564 
    565 #if VCC_FAKES_TARGET >= 141
    566 /** @since 3.51 */
    567 DECL_KERNEL32(BOOL) Fake_EnumSystemLocalesW(LOCALE_ENUMPROCW pfnLocaleEnum, DWORD dwFlags)
    568 {
    569     RT_NOREF(pfnLocaleEnum, dwFlags);
    570     SetLastError(ERROR_NOT_SUPPORTED);
    571     return FALSE;
    572561}
    573562#endif /* VCC_FAKES_TARGET >= 141 */
     
    743732
    744733
     734#if VCC_FAKES_TARGET >= 141
     735/** @since 3.51 */
     736DECL_KERNEL32(BOOL) Fake_EnumSystemLocalesW(LOCALE_ENUMPROCW pfnLocaleEnum, DWORD dwFlags)
     737{
     738    RT_NOREF(pfnLocaleEnum, dwFlags);
     739    SetLastError(ERROR_NOT_SUPPORTED);
     740    return FALSE;
     741}
     742#endif /* VCC_FAKES_TARGET >= 141 */
     743
     744
    745745DECL_KERNEL32(BOOL) Fake_EnumSystemLocalesA(LOCALE_ENUMPROCA pfnCallback, DWORD fFlags)
    746746{
  • trunk/src/VBox/Runtime/r3/win/vcc-fakes.h

    r83861 r83862  
    5656        } \
    5757    } while (0)
     58# define MY_ASSERT_STMT_RETURN(a_Expr, a_Stmt, a_rc) \
     59    do { \
     60        if (a_Expr) \
     61        { /* likely */ } \
     62        else \
     63        { \
     64            OutputDebugStringA("Assertion failed on line " RT_XSTR(__LINE__) ": " RT_XSTR(a_Expr) "\n"); \
     65            RT_BREAKPOINT(); \
     66            a_Stmt; \
     67            return (a_rc); \
     68        } \
     69    } while (0)
    5870# else
    5971#  define MY_ASSERT(a_Expr, ...) \
     
    7486#else
    7587# define MY_ASSERT(a_Expr, ...) do { } while (0)
     88# define MY_ASSERT_STMT_RETURN(a_Expr, a_Stmt, a_rc) \
     89    do { if (a_Expr) { /* likely */ } else { a_Stmt; return (a_rc); }} while (0)
    7690#endif
    7791
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette