17 #ifndef __TBB_machine_windows_api_H    18 #define __TBB_machine_windows_api_H    24 #if _WIN32_WINNT < 0x0600    27 #if !defined(WINBASEAPI) || (_WIN32_WINNT < 0x0501 && _MSC_VER == 1400)    28 #define __TBB_WINBASEAPI extern "C"    30 #define __TBB_WINBASEAPI WINBASEAPI    32 __TBB_WINBASEAPI BOOL WINAPI TryEnterCriticalSection( LPCRITICAL_SECTION );
    33 __TBB_WINBASEAPI BOOL WINAPI InitializeCriticalSectionAndSpinCount( LPCRITICAL_SECTION, DWORD );
    35 #define InitializeCriticalSectionEx inlineInitializeCriticalSectionEx    36 #define CreateSemaphoreEx inlineCreateSemaphoreEx    37 #define CreateEventEx inlineCreateEventEx    38 inline BOOL WINAPI inlineInitializeCriticalSectionEx( LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount, DWORD )
    40     return InitializeCriticalSectionAndSpinCount( lpCriticalSection, dwSpinCount );
    42 inline HANDLE WINAPI inlineCreateSemaphoreEx( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCTSTR lpName, DWORD, DWORD )
    44     return CreateSemaphore( lpSemaphoreAttributes, lInitialCount, lMaximumCount, lpName );
    46 inline HANDLE WINAPI inlineCreateEventEx( LPSECURITY_ATTRIBUTES lpEventAttributes, LPCTSTR lpName, DWORD dwFlags, DWORD )
    48     BOOL manual_reset = dwFlags&0x00000001 ? TRUE : FALSE; 
    49     BOOL initial_set  = dwFlags&0x00000002 ? TRUE : FALSE; 
    50     return CreateEvent( lpEventAttributes, manual_reset, initial_set, lpName );
    54 #if defined(RTL_SRWLOCK_INIT)    55 #ifndef __TBB_USE_SRWLOCK    57 #define __TBB_USE_SRWLOCK 0    62 #error tbb/machine/windows_api.h should only be used for Windows based platforms    63 #endif // _WIN32 || _WIN64    65 #endif // __TBB_machine_windows_api_H