UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMacPlatformProcess Struct Reference

#include <MacPlatformProcess.h>

+ Inheritance diagram for FMacPlatformProcess:

Classes

class  FProcEnumerator
 
struct  FProcEnumInfo
 

Static Public Member Functions

static voidGetDllHandle (const TCHAR *Filename)
 
static void FreeDllHandle (void *DllHandle)
 
static voidGetDllExport (void *DllHandle, const TCHAR *ProcName)
 
static uint32 GetCurrentProcessId ()
 
static uint32 GetCurrentCoreNumber ()
 
static const TCHARBaseDir ()
 
static const TCHARComputerName ()
 
static const TCHARUserName (bool bOnlyAlphaNumeric=true)
 
static void SetCurrentWorkingDirectoryToBaseDir ()
 
static FString GetCurrentWorkingDirectory ()
 
static const TCHARExecutablePath ()
 
static const TCHARExecutableName (bool bRemoveExtension=true)
 
static FString GenerateApplicationPath (const FString &AppName, EBuildConfiguration BuildConfiguration)
 
static const TCHARGetModuleExtension ()
 
static const TCHARGetBinariesSubdirectory ()
 
static const FString GetModulesDirectory ()
 
static bool CanLaunchURL (const TCHAR *URL)
 
static void LaunchURL (const TCHAR *URL, const TCHAR *Parms, FString *Error)
 
static FString GetGameBundleId ()
 
static FProcHandle CreateProc (const TCHAR *URL, const TCHAR *Parms, bool bLaunchDetached, bool bLaunchHidden, bool bLaunchReallyHidden, uint32 *OutProcessID, int32 PriorityModifier, const TCHAR *OptionalWorkingDirectory, void *PipeWriteChild, void *PipeReadChild=nullptr)
 
static FProcHandle CreateProc (const TCHAR *URL, const TCHAR *Parms, bool bLaunchDetached, bool bLaunchHidden, bool bLaunchReallyHidden, uint32 *OutProcessID, int32 PriorityModifier, const TCHAR *OptionalWorkingDirectory, void *PipeWriteChild, void *PipeReadChild, void *PipeStdErrChild)
 
static TTuple< FProcHandle, UE::HAL::EProcessIdCreateProc (const UE::HAL::FProcessStartInfo &StartInfo)
 
static FProcHandle OpenProcess (uint32 ProcessID)
 
static bool IsProcRunning (FProcHandle &ProcessHandle)
 
static void WaitForProc (FProcHandle &ProcessHandle)
 
static void CloseProc (FProcHandle &ProcessHandle)
 
static void TerminateProc (FProcHandle &ProcessHandle, bool KillTree=false)
 
static bool GetProcReturnCode (FProcHandle &ProcHandle, int32 *ReturnCode)
 
static bool IsApplicationRunning (const TCHAR *ProcName)
 
static bool IsApplicationRunning (uint32 ProcessId)
 
static FString GetApplicationName (uint32 ProcessId)
 
static bool IsSandboxedApplication ()
 
static bool LaunchFileInDefaultExternalApplication (const TCHAR *FileName, const TCHAR *Parms=NULL, ELaunchVerb::Type Verb=ELaunchVerb::Open, bool bPromptToOpenOnFailure=true)
 
static void ExploreFolder (const TCHAR *FilePath)
 
static FRunnableThreadCreateRunnableThread ()
 
static void ClosePipe (void *ReadPipe, void *WritePipe)
 
static bool CreatePipe (void *&ReadPipe, void *&WritePipe, bool bWritePipeLocal=false)
 
static FString ReadPipe (void *ReadPipe)
 
static bool ReadPipeToArray (void *ReadPipe, TArray< uint8 > &Output)
 
static bool WritePipe (void *WritePipe, const FString &Message, FString *OutWritten=nullptr)
 
static bool WritePipe (void *WritePipe, const uint8 *Data, const int32 DataLength, int32 *OutDataLength=nullptr)
 
static bool ExecProcess (const TCHAR *URL, const TCHAR *Params, int32 *OutReturnCode, FString *OutStdOut, FString *OutStdErr, const TCHAR *OptionalWorkingDirectory=NULL, bool bShouldEndWithParentProcess=false)
 
static void SetThreadAffinityMask (uint64 AffinityMask)
 
static bool IsFirstInstance ()
 
static void CeaseBeingFirstInstance ()
 
static TSharedPtr< IProcessSentinelCreateProcessSentinelObject ()
 
static const TCHARUserPreferencesDir ()
 
static const TCHARUserLogsDir ()
 
- Static Public Member Functions inherited from FApplePlatformProcess
static const TCHARUserDir ()
 
static const TCHARUserTempDir ()
 
static const TCHARUserSettingsDir ()
 
static const TCHARApplicationSettingsDir ()
 
static FString GetApplicationSettingsDir (const ApplicationSettingsContext &Settings)
 
static const TCHARUserHomeDir ()
 
- Static Public Member Functions inherited from FGenericPlatformProcess
static CORE_API voidGetDllHandle (const TCHAR *Filename)
 
static CORE_API void FreeDllHandle (void *DllHandle)
 
static CORE_API voidGetDllExport (void *DllHandle, const TCHAR *ProcName)
 
static UE_FORCEINLINE_HINT void AddDllDirectory (const TCHAR *Directory)
 
static UE_FORCEINLINE_HINT void PushDllDirectory (const TCHAR *Directory)
 
static UE_FORCEINLINE_HINT void PopDllDirectory (const TCHAR *Directory)
 
static UE_FORCEINLINE_HINT void GetDllDirectories (TArray< FString > &OutDllDirectories)
 
static CORE_API uint32 GetCurrentProcessId ()
 
static CORE_API uint32 GetCurrentCoreNumber ()
 
static bool GetPerFrameProcessorUsage (uint32 ProcessId, float &ProcessUsageFraction, float &IdleUsageFraction)
 
static CORE_API void SetThreadAffinityMask (uint64 AffinityMask)
 
static CORE_API void SetThreadPriority (EThreadPriority NewPriority)
 
static void SetThreadName (const TCHAR *ThreadName)
 
static CORE_API uint32 GetStackSize ()
 
static void DumpThreadInfo (const TCHAR *MarkerName)
 
static void SetupGameThread ()
 
static void SetupRenderThread ()
 
static void SetupAudioThread ()
 
static void TeardownAudioThread ()
 
static CORE_API bool ShouldSaveToUserDir ()
 
static CORE_API const TCHARBaseDir ()
 
static CORE_API const TCHARUserDir ()
 
static CORE_API const TCHARUserSettingsDir ()
 
static CORE_API const TCHARUserTempDir ()
 
static CORE_API const TCHARUserHomeDir ()
 
static CORE_API const TCHARApplicationSettingsDir ()
 
static CORE_API FString GetApplicationSettingsDir (const ApplicationSettingsContext &Settings)
 
static CORE_API const TCHARComputerName ()
 
static CORE_API const TCHARUserName (bool bOnlyAlphaNumeric=true)
 
static CORE_API const TCHARShaderDir ()
 
static CORE_API void SetShaderDir (const TCHAR *Where)
 
static CORE_API void SetCurrentWorkingDirectoryToBaseDir ()
 
static CORE_API FString GetCurrentWorkingDirectory ()
 
static bool SetProcessLimits (EProcessResource::Type Resource, uint64 Limit)
 
static CORE_API const FString ShaderWorkingDir ()
 
static CORE_API void CleanShaderWorkingDir ()
 
static CORE_API const TCHARExecutablePath ()
 
static CORE_API const TCHARExecutableName (bool bRemoveExtension=true)
 
static CORE_API FString GenerateApplicationPath (const FString &AppName, EBuildConfiguration BuildConfiguration)
 
static CORE_API const TCHARGetArchitectureSuffix ()
 
static CORE_API const TCHARGetModulePrefix ()
 
static CORE_API const TCHARGetModuleExtension ()
 
static CORE_API const TCHARGetBinariesSubdirectory ()
 
static CORE_API const FString GetModulesDirectory ()
 
static CORE_API bool ModuleExists (const FString &Filename)
 
static CORE_API void LaunchURL (const TCHAR *URL, const TCHAR *Parms, FString *Error)
 
static CORE_API bool LaunchURLFiltered (const TCHAR *URL, const TCHAR *Parms, FString *Error, const UE::Core::FURLRequestFilter &Filter)
 
static CORE_API bool CanLaunchURL (const TCHAR *URL)
 
static CORE_API FString GetGameBundleId ()
 
static CORE_API FProcHandle CreateProc (const TCHAR *URL, const TCHAR *Parms, bool bLaunchDetached, bool bLaunchHidden, bool bLaunchReallyHidden, uint32 *OutProcessID, int32 PriorityModifier, const TCHAR *OptionalWorkingDirectory, void *PipeWriteChild, void *PipeReadChild=nullptr)
 
static CORE_API FProcHandle CreateProc (const TCHAR *URL, const TCHAR *Parms, bool bLaunchDetached, bool bLaunchHidden, bool bLaunchReallyHidden, uint32 *OutProcessID, int32 PriorityModifier, const TCHAR *OptionalWorkingDirectory, void *PipeWriteChild, void *PipeReadChild, void *PipeStdErrChild)
 
static CORE_API TTuple< FProcHandle, UE::HAL::EProcessIdCreateProc (const UE::HAL::FProcessStartInfo &StartInfo)
 
static CORE_API FProcHandle OpenProcess (uint32 ProcessID)
 
static CORE_API bool IsProcRunning (FProcHandle &ProcessHandle)
 
static CORE_API void WaitForProc (FProcHandle &ProcessHandle)
 
static CORE_API void CloseProc (FProcHandle &ProcessHandle)
 
static CORE_API void TerminateProc (FProcHandle &ProcessHandle, bool KillTree=false)
 
static CORE_API void TerminateProcTreeWithPredicate (FProcHandle &ProcessHandle, TFunctionRef< bool(uint32 ProcessId, const TCHAR *ApplicationName)> Predicate)
 
static CORE_API EWaitAndForkResult WaitAndFork ()
 
static CORE_API bool GetProcReturnCode (FProcHandle &ProcHandle, int32 *ReturnCode)
 
static CORE_API bool IsApplicationRunning (uint32 ProcessId)
 
static CORE_API bool IsApplicationRunning (const TCHAR *ProcName)
 
static CORE_API FString GetApplicationName (uint32 ProcessId)
 
static CORE_API bool GetApplicationMemoryUsage (uint32 ProcessId, SIZE_T *OutMemoryUsage)
 
static CORE_API bool ExecProcess (const TCHAR *URL, const TCHAR *Params, int32 *OutReturnCode, FString *OutStdOut, FString *OutStdErr, const TCHAR *OptionalWorkingDirectory=NULL, bool bShouldEndWithParentProcess=false)
 
static CORE_API bool ExecElevatedProcess (const TCHAR *URL, const TCHAR *Params, int32 *OutReturnCode)
 
static CORE_API bool LaunchFileInDefaultExternalApplication (const TCHAR *FileName, const TCHAR *Parms=NULL, ELaunchVerb::Type Verb=ELaunchVerb::Open, bool bPromptToOpenOnFailure=true)
 
static CORE_API void ExploreFolder (const TCHAR *FilePath)
 
static CORE_API void ConditionalSleep (TFunctionRef< bool()> Condition, float SleepTime=0.0f)
 
static CORE_API class FEventCreateSynchEvent (bool bIsManualReset=false)
 
static CORE_API class FEventGetSynchEventFromPool (bool bIsManualReset=false)
 
static CORE_API void FlushPoolSyncEvents ()
 
static CORE_API void ReturnSynchEventToPool (FEvent *Event)
 
static CORE_API class FRunnableThreadCreateRunnableThread ()
 
static CORE_API void ClosePipe (void *ReadPipe, void *WritePipe)
 
static CORE_API bool CreatePipe (void *&ReadPipe, void *&WritePipe, bool bWritePipeLocal=false)
 
static CORE_API FString ReadPipe (void *ReadPipe)
 
static CORE_API bool ReadPipeToArray (void *ReadPipe, TArray< uint8 > &Output)
 
static CORE_API bool WritePipe (void *WritePipe, const FString &Message, FString *OutWritten=nullptr)
 
static CORE_API bool WritePipe (void *WritePipe, const uint8 *Data, const int32 DataLength, int32 *OutDataLength=nullptr)
 
static CORE_API bool SupportsMultithreading ()
 
static CORE_API FSemaphoreNewInterprocessSynchObject (const FString &Name, bool bCreate, uint32 MaxLocks=1)
 
static CORE_API FSemaphoreNewInterprocessSynchObject (const TCHAR *Name, bool bCreate, uint32 MaxLocks=1)
 
static CORE_API bool DeleteInterprocessSynchObject (FSemaphore *Object)
 
static CORE_API bool Daemonize ()
 
static CORE_API bool IsFirstInstance ()
 
static CORE_API void CeaseBeingFirstInstance ()
 
static CORE_API void TearDown ()
 
static bool SkipWaitForStats ()
 
static bool TryGetMemoryUsage (FProcHandle &ProcessHandle, FPlatformProcessMemoryStats &OutStats)
 
static CORE_API ENamedThreads::Type GetDesiredThreadForUObjectReferenceCollector ()
 
static CORE_API void ModifyThreadAssignmentForUObjectReferenceCollector (int32 &NumThreads, int32 &NumBackgroundThreads, ENamedThreads::Type &NormalThreadName, ENamedThreads::Type &BackgroundThreadName)
 
static CORE_API TSharedPtr< IProcessSentinelCreateProcessSentinelObject ()
 
static CORE_API TSharedPtr< IProcessSentinelCreateProcessSentinel (const TCHAR *Name, const FString &Contents)
 
static void Yield ()
 
static void YieldCycles (uint64 Cycles)
 

Additional Inherited Members

- Public Types inherited from FGenericPlatformProcess
enum class  EWaitAndForkResult : uint8 { Error , Parent , Child }
 

Detailed Description

Mac implementation of the Process OS functions

Member Function Documentation

◆ BaseDir()

const TCHAR * FMacPlatformProcess::BaseDir ( )
static

◆ CanLaunchURL()

bool FMacPlatformProcess::CanLaunchURL ( const TCHAR URL)
static

◆ CeaseBeingFirstInstance()

static void FMacPlatformProcess::CeaseBeingFirstInstance ( )
inlinestatic

◆ ClosePipe()

void FMacPlatformProcess::ClosePipe ( void ReadPipe,
void WritePipe 
)
static

◆ CloseProc()

void FMacPlatformProcess::CloseProc ( FProcHandle ProcessHandle)
static

◆ ComputerName()

const TCHAR * FMacPlatformProcess::ComputerName ( )
static

◆ CreatePipe()

bool FMacPlatformProcess::CreatePipe ( void *&  ReadPipe,
void *&  WritePipe,
bool  bWritePipeLocal = false 
)
static

◆ CreateProc() [1/3]

FProcHandle FMacPlatformProcess::CreateProc ( const TCHAR URL,
const TCHAR Parms,
bool  bLaunchDetached,
bool  bLaunchHidden,
bool  bLaunchReallyHidden,
uint32 OutProcessID,
int32  PriorityModifier,
const TCHAR OptionalWorkingDirectory,
void PipeWriteChild,
void PipeReadChild,
void PipeStdErrChild 
)
static

◆ CreateProc() [2/3]

FProcHandle FMacPlatformProcess::CreateProc ( const TCHAR URL,
const TCHAR Parms,
bool  bLaunchDetached,
bool  bLaunchHidden,
bool  bLaunchReallyHidden,
uint32 OutProcessID,
int32  PriorityModifier,
const TCHAR OptionalWorkingDirectory,
void PipeWriteChild,
void PipeReadChild = nullptr 
)
static

◆ CreateProc() [3/3]

TTuple< FProcHandle, UE::HAL::EProcessId > FMacPlatformProcess::CreateProc ( const UE::HAL::FProcessStartInfo StartInfo)
static

◆ CreateProcessSentinelObject()

static TSharedPtr< IProcessSentinel > FMacPlatformProcess::CreateProcessSentinelObject ( )
inlinestatic

◆ CreateRunnableThread()

FRunnableThread * FMacPlatformProcess::CreateRunnableThread ( )
static

◆ ExecProcess()

bool FMacPlatformProcess::ExecProcess ( const TCHAR URL,
const TCHAR Params,
int32 OutReturnCode,
FString *  OutStdOut,
FString *  OutStdErr,
const TCHAR OptionalWorkingDirectory = NULL,
bool  bShouldEndWithParentProcess = false 
)
static

◆ ExecutableName()

const TCHAR * FMacPlatformProcess::ExecutableName ( bool  bRemoveExtension = true)
static

◆ ExecutablePath()

const TCHAR * FMacPlatformProcess::ExecutablePath ( )
static

◆ ExploreFolder()

void FMacPlatformProcess::ExploreFolder ( const TCHAR FilePath)
static

◆ FreeDllHandle()

void FMacPlatformProcess::FreeDllHandle ( void DllHandle)
static

◆ GenerateApplicationPath()

FString FMacPlatformProcess::GenerateApplicationPath ( const FString &  AppName,
EBuildConfiguration  BuildConfiguration 
)
static

◆ GetApplicationName()

FString FMacPlatformProcess::GetApplicationName ( uint32  ProcessId)
static

◆ GetBinariesSubdirectory()

const TCHAR * FMacPlatformProcess::GetBinariesSubdirectory ( )
static

◆ GetCurrentCoreNumber()

uint32 FMacPlatformProcess::GetCurrentCoreNumber ( )
static

◆ GetCurrentProcessId()

uint32 FMacPlatformProcess::GetCurrentProcessId ( )
static

◆ GetCurrentWorkingDirectory()

FString FMacPlatformProcess::GetCurrentWorkingDirectory ( )
static

◆ GetDllExport()

void * FMacPlatformProcess::GetDllExport ( void DllHandle,
const TCHAR ProcName 
)
static

◆ GetDllHandle()

void * FMacPlatformProcess::GetDllHandle ( const TCHAR Filename)
static

◆ GetGameBundleId()

FString FMacPlatformProcess::GetGameBundleId ( )
static

◆ GetModuleExtension()

const TCHAR * FMacPlatformProcess::GetModuleExtension ( )
static

◆ GetModulesDirectory()

const FString FMacPlatformProcess::GetModulesDirectory ( )
static

◆ GetProcReturnCode()

bool FMacPlatformProcess::GetProcReturnCode ( FProcHandle ProcHandle,
int32 ReturnCode 
)
static

◆ IsApplicationRunning() [1/2]

bool FMacPlatformProcess::IsApplicationRunning ( const TCHAR ProcName)
static

◆ IsApplicationRunning() [2/2]

bool FMacPlatformProcess::IsApplicationRunning ( uint32  ProcessId)
static

◆ IsFirstInstance()

static bool FMacPlatformProcess::IsFirstInstance ( )
inlinestatic

Mixin some PosixOS functions

◆ IsProcRunning()

bool FMacPlatformProcess::IsProcRunning ( FProcHandle ProcessHandle)
static

◆ IsSandboxedApplication()

bool FMacPlatformProcess::IsSandboxedApplication ( )
static

◆ LaunchFileInDefaultExternalApplication()

bool FMacPlatformProcess::LaunchFileInDefaultExternalApplication ( const TCHAR FileName,
const TCHAR Parms = NULL,
ELaunchVerb::Type  Verb = ELaunchVerb::Open,
bool  bPromptToOpenOnFailure = true 
)
static

◆ LaunchURL()

void FMacPlatformProcess::LaunchURL ( const TCHAR URL,
const TCHAR Parms,
FString *  Error 
)
static

◆ OpenProcess()

FProcHandle FMacPlatformProcess::OpenProcess ( uint32  ProcessID)
static

◆ ReadPipe()

FString FMacPlatformProcess::ReadPipe ( void ReadPipe)
static

◆ ReadPipeToArray()

bool FMacPlatformProcess::ReadPipeToArray ( void ReadPipe,
TArray< uint8 > &  Output 
)
static

◆ SetCurrentWorkingDirectoryToBaseDir()

void FMacPlatformProcess::SetCurrentWorkingDirectoryToBaseDir ( )
static

◆ SetThreadAffinityMask()

void FMacPlatformProcess::SetThreadAffinityMask ( uint64  AffinityMask)
static

◆ TerminateProc()

void FMacPlatformProcess::TerminateProc ( FProcHandle ProcessHandle,
bool  KillTree = false 
)
static

◆ UserLogsDir()

const TCHAR * FMacPlatformProcess::UserLogsDir ( )
static

◆ UserName()

const TCHAR * FMacPlatformProcess::UserName ( bool  bOnlyAlphaNumeric = true)
static

◆ UserPreferencesDir()

const TCHAR * FMacPlatformProcess::UserPreferencesDir ( )
static

◆ WaitForProc()

void FMacPlatformProcess::WaitForProc ( FProcHandle ProcessHandle)
static

◆ WritePipe() [1/2]

bool FMacPlatformProcess::WritePipe ( void WritePipe,
const FString &  Message,
FString *  OutWritten = nullptr 
)
static

◆ WritePipe() [2/2]

bool FMacPlatformProcess::WritePipe ( void WritePipe,
const uint8 Data,
const int32  DataLength,
int32 OutDataLength = nullptr 
)
static

The documentation for this struct was generated from the following files: