Ark Server API (ASA) - Wiki
Loading...
Searching...
No Matches
WindowsPlatform.h File Reference
#include <sal.h>
#include "MSVC/MSVCPlatform.h"
#include "Windows/WindowsPlatformCodeAnalysis.h"
+ Include dependency graph for WindowsPlatform.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FWindowsPlatformTypes
 

Macros

#define PLATFORM_64BITS   0
 
#define PLATFORM_CAN_SUPPORT_EDITORONLY_DATA   1
 
#define PLATFORM_LITTLE_ENDIAN   1
 
#define PLATFORM_SUPPORTS_UNALIGNED_LOADS   1
 
#define PLATFORM_SUPPORTS_PRAGMA_PACK   1
 
#define PLATFORM_ALWAYS_HAS_FMA3   0
 
#define PLATFORM_USE_LS_SPEC_FOR_WIDECHAR   0
 
#define PLATFORM_HAS_BSD_TIME   0
 
#define PLATFORM_USE_PTHREADS   0
 
#define PLATFORM_USES_UNFAIR_LOCKS   1
 
#define PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED   WINDOWS_MAX_PATH
 
#define PLATFORM_HAS_BSD_IPV6_SOCKETS   1
 
#define PLATFORM_HAS_BSD_SOCKET_FEATURE_WINSOCKETS   1
 
#define PLATFORM_USES_MICROSOFT_LIBC_FUNCTIONS   1
 
#define PLATFORM_IS_ANSI_MALLOC_THREADSAFE   1
 
#define PLATFORM_SUPPORTS_TBB   1
 
#define PLATFORM_SUPPORTS_MIMALLOC   PLATFORM_64BITS
 
#define PLATFORM_SUPPORTS_NAMED_PIPES   1
 
#define PLATFORM_COMPILER_HAS_TCHAR_WMAIN   1
 
#define PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK   (!WITH_EDITOR)
 
#define PLATFORM_RHITHREAD_DEFAULT_BYPASS   0
 
#define PLATFORM_USE_GENERIC_STRING_IMPLEMENTATION   0
 
#define PLATFORM_SUPPORTS_VIRTUAL_TEXTURE_STREAMING   1
 
#define PLATFORM_SUPPORTS_VARIABLE_RATE_SHADING   1
 
#define PLATFORM_SUPPORTS_MESH_SHADERS   1
 
#define PLATFORM_SUPPORTS_BINDLESS_RENDERING   1
 
#define PLATFORM_USES__ALIGNED_MALLOC   1
 
#define PLATFORM_SUPPORTS_STACK_SYMBOLS   1
 
#define PLATFORM_COMPILER_HAS_DECLTYPE_AUTO   1
 
#define PLATFORM_GLOBAL_LOG_CATEGORY   LogWindows
 
#define PLATFORM_SUPPORTS_BORDERLESS_WINDOW   1
 
#define PLATFORM_RETURN_ADDRESS_FOR_CALLSTACKTRACING   PLATFORM_RETURN_ADDRESS_POINTER
 
#define WINDOWS_USE_FEATURE_APPLICATIONMISC_CLASS   1
 
#define WINDOWS_USE_FEATURE_PLATFORMPROCESS_CLASS   1
 
#define WINDOWS_USE_FEATURE_PLATFORMMISC_CLASS   1
 
#define WINDOWS_USE_FEATURE_PLATFORMHTTP_CLASS   1
 
#define WINDOWS_USE_FEATURE_LAUNCH   1
 
#define WINDOWS_USE_FEATURE_DYNAMIC_RHI   1
 
#define WINDOWS_USE_DEFAULT_OSVERSIONHELPER   1
 
#define PLATFORM_BREAK()   (__nop(), __debugbreak())
 
#define PLATFORM_HAS_128BIT_ATOMICS   (PLATFORM_64BITS && (WINVER >= 0x602))
 
#define VARARGS   __cdecl /* Functions with variable arguments */
 
#define CDECL   __cdecl /* Standard C function */
 
#define STDCALL   __stdcall /* Standard calling convention */
 
#define FORCEINLINE   __forceinline /* Force code to be inline */
 
#define FORCENOINLINE   __declspec(noinline) /* Force code to NOT be inline */
 
#define FUNCTION_NON_NULL_RETURN_START   _Ret_notnull_ /* Indicate that the function never returns nullptr. */
 
#define DECLARE_UINT64(x)   x
 
#define PRAGMA_DISABLE_OPTIMIZATION_ACTUAL   __pragma(optimize("",off))
 
#define PRAGMA_ENABLE_OPTIMIZATION_ACTUAL   __pragma(optimize("",on))
 
#define PLATFORM_EMPTY_BASES   __declspec(empty_bases)
 
#define PLATFORM_CODE_SECTION(Name)   __declspec(code_seg(Name))
 
#define TYPENAME_OUTSIDE_TEMPLATE
 
#define CONSTEXPR
 
#define ABSTRACT   abstract
 
#define LINE_TERMINATOR   TEXT("\r\n")
 
#define LINE_TERMINATOR_ANSI   "\r\n"
 
#define MS_ALIGN(n)   __declspec(align(n))
 
#define MSVC_PRAGMA(Pragma)   __pragma(Pragma)
 
#define PLATFORM_CACHE_LINE_SIZE   64
 
#define DLLEXPORT   __declspec(dllexport)
 
#define DLLIMPORT   __declspec(dllimport)
 
#define ENABLE_WIN_ALLOC_TRACKING   0
 

Typedefs

typedef FWindowsPlatformTypes FPlatformTypes
 

Macro Definition Documentation

◆ ABSTRACT

#define ABSTRACT   abstract

Definition at line 174 of file WindowsPlatform.h.

◆ CDECL

#define CDECL   __cdecl /* Standard C function */

Definition at line 138 of file WindowsPlatform.h.

◆ CONSTEXPR

#define CONSTEXPR

Definition at line 172 of file WindowsPlatform.h.

◆ DECLARE_UINT64

#define DECLARE_UINT64 ( x)    x

Definition at line 144 of file WindowsPlatform.h.

◆ DLLEXPORT

#define DLLEXPORT   __declspec(dllexport)

Definition at line 200 of file WindowsPlatform.h.

◆ DLLIMPORT

#define DLLIMPORT   __declspec(dllimport)

Definition at line 201 of file WindowsPlatform.h.

◆ ENABLE_WIN_ALLOC_TRACKING

#define ENABLE_WIN_ALLOC_TRACKING   0

Definition at line 212 of file WindowsPlatform.h.

◆ FORCEINLINE

#define FORCEINLINE   __forceinline /* Force code to be inline */

Definition at line 140 of file WindowsPlatform.h.

◆ FORCENOINLINE

#define FORCENOINLINE   __declspec(noinline) /* Force code to NOT be inline */

Definition at line 141 of file WindowsPlatform.h.

◆ FUNCTION_NON_NULL_RETURN_START

#define FUNCTION_NON_NULL_RETURN_START   _Ret_notnull_ /* Indicate that the function never returns nullptr. */

Definition at line 142 of file WindowsPlatform.h.

◆ LINE_TERMINATOR

#define LINE_TERMINATOR   TEXT("\r\n")

Definition at line 177 of file WindowsPlatform.h.

◆ LINE_TERMINATOR_ANSI

#define LINE_TERMINATOR_ANSI   "\r\n"

Definition at line 178 of file WindowsPlatform.h.

◆ MS_ALIGN

#define MS_ALIGN ( n)    __declspec(align(n))

Definition at line 188 of file WindowsPlatform.h.

◆ MSVC_PRAGMA

#define MSVC_PRAGMA ( Pragma)    __pragma(Pragma)

Definition at line 193 of file WindowsPlatform.h.

◆ PLATFORM_64BITS

#define PLATFORM_64BITS   0

Definition at line 44 of file WindowsPlatform.h.

◆ PLATFORM_ALWAYS_HAS_FMA3

#define PLATFORM_ALWAYS_HAS_FMA3   0

Definition at line 68 of file WindowsPlatform.h.

◆ PLATFORM_BREAK

#define PLATFORM_BREAK ( )    (__nop(), __debugbreak())

Definition at line 126 of file WindowsPlatform.h.

◆ PLATFORM_CACHE_LINE_SIZE

#define PLATFORM_CACHE_LINE_SIZE   64

Definition at line 197 of file WindowsPlatform.h.

◆ PLATFORM_CAN_SUPPORT_EDITORONLY_DATA

#define PLATFORM_CAN_SUPPORT_EDITORONLY_DATA   1

Definition at line 49 of file WindowsPlatform.h.

◆ PLATFORM_CODE_SECTION

#define PLATFORM_CODE_SECTION ( Name)    __declspec(code_seg(Name))

Definition at line 160 of file WindowsPlatform.h.

◆ PLATFORM_COMPILER_HAS_DECLTYPE_AUTO

#define PLATFORM_COMPILER_HAS_DECLTYPE_AUTO   1

Definition at line 104 of file WindowsPlatform.h.

◆ PLATFORM_COMPILER_HAS_TCHAR_WMAIN

#define PLATFORM_COMPILER_HAS_TCHAR_WMAIN   1

Definition at line 89 of file WindowsPlatform.h.

◆ PLATFORM_EMPTY_BASES

#define PLATFORM_EMPTY_BASES   __declspec(empty_bases)

Definition at line 156 of file WindowsPlatform.h.

◆ PLATFORM_GLOBAL_LOG_CATEGORY

#define PLATFORM_GLOBAL_LOG_CATEGORY   LogWindows

Definition at line 106 of file WindowsPlatform.h.

◆ PLATFORM_HAS_128BIT_ATOMICS

#define PLATFORM_HAS_128BIT_ATOMICS   (PLATFORM_64BITS && (WINVER >= 0x602))

Definition at line 130 of file WindowsPlatform.h.

◆ PLATFORM_HAS_BSD_IPV6_SOCKETS

#define PLATFORM_HAS_BSD_IPV6_SOCKETS   1

Definition at line 78 of file WindowsPlatform.h.

◆ PLATFORM_HAS_BSD_SOCKET_FEATURE_WINSOCKETS

#define PLATFORM_HAS_BSD_SOCKET_FEATURE_WINSOCKETS   1

Definition at line 79 of file WindowsPlatform.h.

◆ PLATFORM_HAS_BSD_TIME

#define PLATFORM_HAS_BSD_TIME   0

Definition at line 74 of file WindowsPlatform.h.

◆ PLATFORM_IS_ANSI_MALLOC_THREADSAFE

#define PLATFORM_IS_ANSI_MALLOC_THREADSAFE   1

Definition at line 81 of file WindowsPlatform.h.

◆ PLATFORM_LITTLE_ENDIAN

#define PLATFORM_LITTLE_ENDIAN   1

Definition at line 53 of file WindowsPlatform.h.

◆ PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED

#define PLATFORM_MAX_FILEPATH_LENGTH_DEPRECATED   WINDOWS_MAX_PATH

Definition at line 77 of file WindowsPlatform.h.

◆ PLATFORM_RETURN_ADDRESS_FOR_CALLSTACKTRACING

#define PLATFORM_RETURN_ADDRESS_FOR_CALLSTACKTRACING   PLATFORM_RETURN_ADDRESS_POINTER

Definition at line 110 of file WindowsPlatform.h.

◆ PLATFORM_RHITHREAD_DEFAULT_BYPASS

#define PLATFORM_RHITHREAD_DEFAULT_BYPASS   0

Definition at line 91 of file WindowsPlatform.h.

◆ PLATFORM_SUPPORTS_BINDLESS_RENDERING

#define PLATFORM_SUPPORTS_BINDLESS_RENDERING   1

Definition at line 96 of file WindowsPlatform.h.

◆ PLATFORM_SUPPORTS_BORDERLESS_WINDOW

#define PLATFORM_SUPPORTS_BORDERLESS_WINDOW   1

Definition at line 108 of file WindowsPlatform.h.

◆ PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK

#define PLATFORM_SUPPORTS_EARLY_MOVIE_PLAYBACK   (!WITH_EDITOR)

Definition at line 90 of file WindowsPlatform.h.

◆ PLATFORM_SUPPORTS_MESH_SHADERS

#define PLATFORM_SUPPORTS_MESH_SHADERS   1

Definition at line 95 of file WindowsPlatform.h.

◆ PLATFORM_SUPPORTS_MIMALLOC

#define PLATFORM_SUPPORTS_MIMALLOC   PLATFORM_64BITS

Definition at line 86 of file WindowsPlatform.h.

◆ PLATFORM_SUPPORTS_NAMED_PIPES

#define PLATFORM_SUPPORTS_NAMED_PIPES   1

Definition at line 88 of file WindowsPlatform.h.

◆ PLATFORM_SUPPORTS_PRAGMA_PACK

#define PLATFORM_SUPPORTS_PRAGMA_PACK   1

Definition at line 56 of file WindowsPlatform.h.

◆ PLATFORM_SUPPORTS_STACK_SYMBOLS

#define PLATFORM_SUPPORTS_STACK_SYMBOLS   1

Definition at line 103 of file WindowsPlatform.h.

◆ PLATFORM_SUPPORTS_TBB

#define PLATFORM_SUPPORTS_TBB   1

Definition at line 82 of file WindowsPlatform.h.

◆ PLATFORM_SUPPORTS_UNALIGNED_LOADS

#define PLATFORM_SUPPORTS_UNALIGNED_LOADS   1

Definition at line 54 of file WindowsPlatform.h.

◆ PLATFORM_SUPPORTS_VARIABLE_RATE_SHADING

#define PLATFORM_SUPPORTS_VARIABLE_RATE_SHADING   1

Definition at line 94 of file WindowsPlatform.h.

◆ PLATFORM_SUPPORTS_VIRTUAL_TEXTURE_STREAMING

#define PLATFORM_SUPPORTS_VIRTUAL_TEXTURE_STREAMING   1

Definition at line 93 of file WindowsPlatform.h.

◆ PLATFORM_USE_GENERIC_STRING_IMPLEMENTATION

#define PLATFORM_USE_GENERIC_STRING_IMPLEMENTATION   0

Definition at line 92 of file WindowsPlatform.h.

◆ PLATFORM_USE_LS_SPEC_FOR_WIDECHAR

#define PLATFORM_USE_LS_SPEC_FOR_WIDECHAR   0

Definition at line 71 of file WindowsPlatform.h.

◆ PLATFORM_USE_PTHREADS

#define PLATFORM_USE_PTHREADS   0

Definition at line 75 of file WindowsPlatform.h.

◆ PLATFORM_USES__ALIGNED_MALLOC

#define PLATFORM_USES__ALIGNED_MALLOC   1

Definition at line 97 of file WindowsPlatform.h.

◆ PLATFORM_USES_MICROSOFT_LIBC_FUNCTIONS

#define PLATFORM_USES_MICROSOFT_LIBC_FUNCTIONS   1

Definition at line 80 of file WindowsPlatform.h.

◆ PLATFORM_USES_UNFAIR_LOCKS

#define PLATFORM_USES_UNFAIR_LOCKS   1

Definition at line 76 of file WindowsPlatform.h.

◆ PRAGMA_DISABLE_OPTIMIZATION_ACTUAL

#define PRAGMA_DISABLE_OPTIMIZATION_ACTUAL   __pragma(optimize("",off))

Definition at line 148 of file WindowsPlatform.h.

◆ PRAGMA_ENABLE_OPTIMIZATION_ACTUAL

#define PRAGMA_ENABLE_OPTIMIZATION_ACTUAL   __pragma(optimize("",on))

Definition at line 149 of file WindowsPlatform.h.

◆ STDCALL

Definition at line 139 of file WindowsPlatform.h.

◆ TYPENAME_OUTSIDE_TEMPLATE

#define TYPENAME_OUTSIDE_TEMPLATE

Definition at line 164 of file WindowsPlatform.h.

◆ VARARGS

Definition at line 137 of file WindowsPlatform.h.

◆ WINDOWS_USE_DEFAULT_OSVERSIONHELPER

#define WINDOWS_USE_DEFAULT_OSVERSIONHELPER   1

Definition at line 118 of file WindowsPlatform.h.

◆ WINDOWS_USE_FEATURE_APPLICATIONMISC_CLASS

#define WINDOWS_USE_FEATURE_APPLICATIONMISC_CLASS   1

Definition at line 112 of file WindowsPlatform.h.

◆ WINDOWS_USE_FEATURE_DYNAMIC_RHI

#define WINDOWS_USE_FEATURE_DYNAMIC_RHI   1

Definition at line 117 of file WindowsPlatform.h.

◆ WINDOWS_USE_FEATURE_LAUNCH

#define WINDOWS_USE_FEATURE_LAUNCH   1

Definition at line 116 of file WindowsPlatform.h.

◆ WINDOWS_USE_FEATURE_PLATFORMHTTP_CLASS

#define WINDOWS_USE_FEATURE_PLATFORMHTTP_CLASS   1

Definition at line 115 of file WindowsPlatform.h.

◆ WINDOWS_USE_FEATURE_PLATFORMMISC_CLASS

#define WINDOWS_USE_FEATURE_PLATFORMMISC_CLASS   1

Definition at line 114 of file WindowsPlatform.h.

◆ WINDOWS_USE_FEATURE_PLATFORMPROCESS_CLASS

#define WINDOWS_USE_FEATURE_PLATFORMPROCESS_CLASS   1

Definition at line 113 of file WindowsPlatform.h.

Typedef Documentation

◆ FPlatformTypes