公開 API 清單

文件版本 v0.1.0-beta.3在 GitHub 上檢視原始檔

本頁為 OmsiLaunch 0.1.0-beta3 英文原始頁面 的翻譯。英文頁面為規範版本:若有出入,以英文頁面與程式碼為準。

本頁由 tests/OmsiLaunch.DocumentationTests 依據編譯後的組件產生(dotnet run --project tests/OmsiLaunch.DocumentationTests -- --write-inventory);當本頁與程式碼不再一致時,文件檢查便會失敗。本頁列出 OmsiLaunch.Api、OmsiLaunch.Core 與 OmsiLaunch.Process 匯出的每個型別及其穩定性,以及每個公開成員的簽章。語意、前置條件、錯誤與範例記載於各標題所指的頁面(預設:公開 API)。穩定性用語:STABLE_BETA、EXPERIMENTAL、PARTIAL、INTERNAL(基於技術原因而公開,並非整合介面)、UNAVAILABLE(請參閱公開 API)。編譯器產生的 record 成員(Equals、GetHashCode、ToString、Deconstruct、<Clone>$、EqualityContract)不予列出。

OmsiLaunch.Api#

Capability#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式Capability(string Name, bool Available, string EvidenceState, string Reason = null)
屬性string Name { get; init; }
屬性bool Available { get; init; }
屬性string EvidenceState { get; init; }
屬性string Reason { get; init; }

ContentIdentity#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式ContentIdentity(string Identity, string Kind, string DisplayName = null)
屬性string Identity { get; init; }
屬性string Kind { get; init; }
屬性string DisplayName { get; init; }

ContentQueryKind#

列舉 (byte),位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
值Maps = 0
值Situations = 1
值Vehicles = 2
值Repaints = 3
值Hofs = 4
值FleetNumbers = 5
值Registrations = 6
值Addons = 7
值Entrypoints = 8

D3DDeviceState#

列舉 (byte),位於 OmsiLaunch.Api。穩定性:EXPERIMENTAL。語意: public-api.

成員簽章
值NotReady = 0
值Ready = 1
值Lost = 2
值Resetting = 3
值Stopping = 4
值Stopped = 5

D3DDeviceStatus#

密封 record,位於 OmsiLaunch.Api。穩定性:EXPERIMENTAL。語意: public-api.

成員簽章
建構函式D3DDeviceStatus(bool Available, D3DDeviceState State, uint Generation, uint LiveTextureCount, bool ResetHookInstalled, uint ExecutionThreadId, uint LastResetThreadId, int QueryInterfaceHResult, int CooperativeLevelHResult, uint OwnedDeviceReferences)
屬性bool Available { get; init; }
屬性D3DDeviceState State { get; init; }
屬性uint Generation { get; init; }
屬性uint LiveTextureCount { get; init; }
屬性bool ResetHookInstalled { get; init; }
屬性uint ExecutionThreadId { get; init; }
屬性uint LastResetThreadId { get; init; }
屬性int QueryInterfaceHResult { get; init; }
屬性int CooperativeLevelHResult { get; init; }
屬性uint OwnedDeviceReferences { get; init; }

D3DRuntimeApi#

靜態類別,位於 OmsiLaunch.Api。穩定性:EXPERIMENTAL。語意: public-api.

成員簽章
擴充方法Task<D3DTextureDescription> CreateD3DTextureAsync(this IOmsiLaunch launch, SessionHandle session, uint width, uint height, D3DTextureFormat format, uint levels = 1, TimeSpan? timeout = default, CancellationToken cancellationToken = default)
擴充方法Task<D3DTextureDescription> DescribeD3DTextureAsync(this IOmsiLaunch launch, SessionHandle session, D3DTextureHandle handle, uint level = 0, TimeSpan? timeout = default, CancellationToken cancellationToken = default)
擴充方法Task<D3DDeviceStatus> GetD3DStatusAsync(this IOmsiLaunch launch, SessionHandle session, TimeSpan timeout, CancellationToken cancellationToken = default)
擴充方法Task<D3DTextureDescription> ReleaseD3DTextureAsync(this IOmsiLaunch launch, SessionHandle session, D3DTextureHandle handle, TimeSpan? timeout = default, CancellationToken cancellationToken = default)
擴充方法Task<D3DTextureDescription> UpdateD3DTextureAsync(this IOmsiLaunch launch, SessionHandle session, D3DTextureHandle handle, D3DTextureUpdate update, TimeSpan? timeout = default, CancellationToken cancellationToken = default)

D3DTextureDescription#

密封 record,位於 OmsiLaunch.Api。穩定性:EXPERIMENTAL。語意: public-api.

成員簽章
建構函式D3DTextureDescription(D3DTextureHandle Handle, D3DTextureResourceState State, D3DDeviceState DeviceState, uint Generation, uint Width, uint Height, D3DTextureFormat Format, uint Levels, uint Level, uint LevelWidth, uint LevelHeight, int HResult, uint ExecutionThreadId)
屬性D3DTextureHandle Handle { get; init; }
屬性D3DTextureResourceState State { get; init; }
屬性D3DDeviceState DeviceState { get; init; }
屬性uint Generation { get; init; }
屬性uint Width { get; init; }
屬性uint Height { get; init; }
屬性D3DTextureFormat Format { get; init; }
屬性uint Levels { get; init; }
屬性uint Level { get; init; }
屬性uint LevelWidth { get; init; }
屬性uint LevelHeight { get; init; }
屬性int HResult { get; init; }
屬性uint ExecutionThreadId { get; init; }

D3DTextureFormat#

列舉 (byte),位於 OmsiLaunch.Api。穩定性:EXPERIMENTAL。語意: public-api.

成員簽章
值A8R8G8B8 = 0
值X8R8G8B8 = 1
值R5G6B5 = 2
值X1R5G5B5 = 3
值A1R5G5B5 = 4
值A4R4G4B4 = 5
值A8 = 6
值L8 = 7
值A8L8 = 8

D3DTextureHandle#

密封 record,位於 OmsiLaunch.Api。穩定性:EXPERIMENTAL。語意: public-api.

成員簽章
建構函式D3DTextureHandle(string Value)
屬性string Value { get; init; }

D3DTextureResourceState#

列舉 (byte),位於 OmsiLaunch.Api。穩定性:EXPERIMENTAL。語意: public-api.

成員簽章
值Live = 0
值Released = 1
值Stale = 2

D3DTextureUpdate#

密封 record,位於 OmsiLaunch.Api。穩定性:EXPERIMENTAL。語意: public-api.

成員簽章
建構函式D3DTextureUpdate(uint Level, uint X, uint Y, uint Width, uint Height, ReadOnlyMemory<byte> Pixels)
屬性uint Level { get; init; }
屬性uint X { get; init; }
屬性uint Y { get; init; }
屬性uint Width { get; init; }
屬性uint Height { get; init; }
屬性ReadOnlyMemory<byte> Pixels { get; init; }

DateSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:PARTIAL。語意: launchspec.

成員簽章
建構函式DateSpec(DateTimeMode Mode, OptionalValue<SemanticDate> Value)
屬性DateTimeMode Mode { get; init; }
屬性OptionalValue<SemanticDate> Value { get; init; }

DateTimeMode#

列舉 (byte),位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
值Unset = 0
值Explicit = 1
值System = 2

DiagnosticsSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:PARTIAL。語意: launchspec.

成員簽章
建構函式DiagnosticsSpec(bool Log = true, bool Verbose = false, bool OmsiLogAll = false, bool ProcessTrace = false, bool PluginTrace = false, bool NativeTrace = false)
屬性bool Log { get; init; }
屬性bool Verbose { get; init; }
屬性bool OmsiLogAll { get; init; }
屬性bool ProcessTrace { get; init; }
屬性bool PluginTrace { get; init; }
屬性bool NativeTrace { get; init; }

EntrypointMode#

列舉 (byte),位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
值Unset = 0
值PresentedIndex = 1
值Identity = 2

EntrypointSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
建構函式EntrypointSpec(EntrypointMode Mode, OptionalValue<int> PresentedIndex, OptionalValue<string> Identity)
屬性EntrypointMode Mode { get; init; }
屬性OptionalValue<int> PresentedIndex { get; init; }
屬性OptionalValue<string> Identity { get; init; }
靜態屬性EntrypointSpec Unset { get; }

EnvironmentSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
建構函式EnvironmentSpec(IReadOnlyDictionary<string, OptionalValue<string>> General, IReadOnlyDictionary<string, OptionalValue<string>> Advanced, IReadOnlyDictionary<string, OptionalValue<string>> Graphics, IReadOnlyDictionary<string, OptionalValue<string>> AdvancedGraphics, IReadOnlyDictionary<string, OptionalValue<string>> Sound, IReadOnlyDictionary<string, OptionalValue<string>> AiPassengers, IReadOnlyDictionary<string, OptionalValue<string>> Keyboard, IReadOnlyDictionary<string, OptionalValue<string>> Controllers)
屬性IReadOnlyDictionary<string, OptionalValue<string>> General { get; init; }
屬性IReadOnlyDictionary<string, OptionalValue<string>> Advanced { get; init; }
屬性IReadOnlyDictionary<string, OptionalValue<string>> Graphics { get; init; }
屬性IReadOnlyDictionary<string, OptionalValue<string>> AdvancedGraphics { get; init; }
屬性IReadOnlyDictionary<string, OptionalValue<string>> Sound { get; init; }
屬性IReadOnlyDictionary<string, OptionalValue<string>> AiPassengers { get; init; }
屬性IReadOnlyDictionary<string, OptionalValue<string>> Keyboard { get; init; }
屬性IReadOnlyDictionary<string, OptionalValue<string>> Controllers { get; init; }

IOmsiLaunch#

介面,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
方法Task CloseAsync(SessionHandle session, CancellationToken cancellationToken = default)
方法Task<IReadOnlyList<ContentIdentity>> DiscoverAsync(InstallationSpec installation, ContentQueryKind query, OptionalValue<string> scope = default, CancellationToken cancellationToken = default)
方法Task<RuntimeCommandResult> ExecuteRuntimeAsync(SessionHandle session, RuntimeCommand command, TimeSpan timeout, CancellationToken cancellationToken = default)
方法Task<IReadOnlyList<Capability>> GetCapabilitiesAsync(InstallationSpec installation, CancellationToken cancellationToken = default)
方法Task<SessionStatus> GetStatusAsync(SessionHandle session, CancellationToken cancellationToken = default)
方法Task<SessionPlan> PlanSessionAsync(LaunchSpec spec, CancellationToken cancellationToken = default)
方法Task<RecoveryStatus> RecoverPendingAsync(InstallationSpec installation, bool restore, CancellationToken cancellationToken = default)
方法Task<SessionHandle> StartSessionAsync(SessionPlan plan, CancellationToken cancellationToken = default)
方法Task StopAsync(SessionHandle session, CancellationToken cancellationToken = default)
方法Task<SessionStatus> WaitForAsync(SessionHandle session, SessionState state, TimeSpan timeout, CancellationToken cancellationToken = default)

InputSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:PARTIAL。語意: launchspec.

成員簽章
建構函式InputSpec(OptionalValue<string> KeyboardDocument, OptionalValue<string> ControllerDocument)
屬性OptionalValue<string> KeyboardDocument { get; init; }
屬性OptionalValue<string> ControllerDocument { get; init; }

InstallationPaths#

靜態類別,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
靜態方法string IdentityKey(string root)
靜態方法string NormalizeRoot(string root)
靜態方法IReadOnlyList<string> Segments(string relativePath)
靜態方法bool TryGetContainedRelativePath(string root, string candidate, out string relativePath)

InstallationSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
建構函式InstallationSpec(string RootPath, string ExpectedExecutableSha256 = null)
屬性string RootPath { get; init; }
屬性string ExpectedExecutableSha256 { get; init; }

InternetTexturesMode#

列舉 (byte),位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
值Native = 0
值Disabled = 1
值Override = 2

InternetTexturesSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
建構函式InternetTexturesSpec(InternetTexturesMode Mode = Native, OptionalValue<string> OverrideProfilePath = default)
屬性InternetTexturesMode Mode { get; init; }
屬性OptionalValue<string> OverrideProfilePath { get; init; }

LaunchBehaviorSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
建構函式LaunchBehaviorSpec(bool RestoreConfiguration = true, bool SuppressStaleClosecheckWarning = true, int StartupTimeoutSeconds = 180, int ShutdownTimeoutSeconds = 30)
屬性bool RestoreConfiguration { get; init; }
屬性bool SuppressStaleClosecheckWarning { get; init; }
屬性int StartupTimeoutSeconds { get; init; }
屬性int ShutdownTimeoutSeconds { get; init; }

LaunchDiagnostic#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式LaunchDiagnostic(string Code, string Message, IReadOnlyDictionary<string, string> Data = null)
屬性string Code { get; init; }
屬性string Message { get; init; }
屬性IReadOnlyDictionary<string, string> Data { get; init; }

LaunchSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
建構函式LaunchSpec(InstallationSpec Installation, WorldSpec World, DateSpec Date, TimeSpec Time, OptionalValue<PlayerVehicleSpec> PlayerVehicle, EnvironmentSpec Environment, LaunchBehaviorSpec Behavior, YearSpec Year = null, WeatherSpec Weather = null, InputSpec Input = null, DiagnosticsSpec Diagnostics = null, SessionPresentationSpec Presentation = null, InternetTexturesSpec InternetTextures = null, SessionProfileMetadata SessionProfile = null)
屬性InstallationSpec Installation { get; init; }
屬性WorldSpec World { get; init; }
屬性DateSpec Date { get; init; }
屬性TimeSpec Time { get; init; }
屬性OptionalValue<PlayerVehicleSpec> PlayerVehicle { get; init; }
屬性EnvironmentSpec Environment { get; init; }
屬性LaunchBehaviorSpec Behavior { get; init; }
屬性YearSpec Year { get; init; }
屬性WeatherSpec Weather { get; init; }
屬性InputSpec Input { get; init; }
屬性DiagnosticsSpec Diagnostics { get; init; }
屬性SessionPresentationSpec Presentation { get; init; }
屬性InternetTexturesSpec InternetTextures { get; init; }
屬性SessionProfileMetadata SessionProfile { get; init; }
屬性YearSpec EffectiveYear { get; }
屬性WeatherSpec EffectiveWeather { get; }
屬性InputSpec EffectiveInput { get; }
屬性DiagnosticsSpec EffectiveDiagnostics { get; }
屬性SessionPresentationSpec EffectivePresentation { get; }
屬性InternetTexturesSpec EffectiveInternetTextures { get; }

OmsiRuntimeException#

密封類別,位於 OmsiLaunch.Api。穩定性:EXPERIMENTAL。語意: public-api.

成員簽章
建構函式OmsiRuntimeException(string code, string detail = null)
屬性string Code { get; }

OptionalValue#

record struct,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
建構函式OptionalValue(Presence Presence, T Value)
屬性Presence Presence { get; init; }
屬性T Value { get; init; }
屬性bool IsSet { get; }
靜態屬性OptionalValue<T> Unset { get; }
靜態方法OptionalValue<T> Set(T value)

PlannedMutation#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式PlannedMutation(string RelativePath, string SemanticKey, string RequestedValue, string Operation)
屬性string RelativePath { get; init; }
屬性string SemanticKey { get; init; }
屬性string RequestedValue { get; init; }
屬性string Operation { get; init; }

PlayerVehicleSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:PARTIAL。語意: launchspec.

成員簽章
建構函式PlayerVehicleSpec(OptionalValue<string> Model, OptionalValue<string> Repaint, OptionalValue<string> Hof, OptionalValue<string> FleetNumber, OptionalValue<string> Registration)
屬性OptionalValue<string> Model { get; init; }
屬性OptionalValue<string> Repaint { get; init; }
屬性OptionalValue<string> Hof { get; init; }
屬性OptionalValue<string> FleetNumber { get; init; }
屬性OptionalValue<string> Registration { get; init; }
屬性bool Enabled { get; }

Presence#

列舉 (byte),位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
值Unset = 0
值Set = 1

PublicCapabilityClassification#

列舉 (byte),位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: capabilities.

成員簽章
值PublicStableBeta = 0
值PublicExperimental = 1
值InternalOnly = 2
值Unsupported = 3

PublicCapabilityDescriptor#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: capabilities.

成員簽章
建構函式PublicCapabilityDescriptor(string Id, string Family, PublicCapabilityClassification Classification, PublicCapabilityKind Kind, bool RequiresSession, bool RequiresExactProfile, string ApiRoute, string CliRoute, string RuntimeValidation, string Description, IReadOnlyList<string> HandleTypes = null)
屬性string Id { get; init; }
屬性string Family { get; init; }
屬性PublicCapabilityClassification Classification { get; init; }
屬性PublicCapabilityKind Kind { get; init; }
屬性bool RequiresSession { get; init; }
屬性bool RequiresExactProfile { get; init; }
屬性string ApiRoute { get; init; }
屬性string CliRoute { get; init; }
屬性string RuntimeValidation { get; init; }
屬性string Description { get; init; }
屬性IReadOnlyList<string> HandleTypes { get; init; }

PublicCapabilityKind#

列舉 (byte),位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: capabilities.

成員簽章
值Read = 0
值Write = 1
值Action = 2
值Event = 3

PublicCapabilityRegistry#

靜態類別,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: capabilities.

成員簽章
常數string ProtocolVersion = "0.1"
靜態欄位IReadOnlyList<PublicCapabilityDescriptor> All
靜態屬性IReadOnlyCollection<string> PublicRuntimeOperationIds { get; }
靜態方法IReadOnlyList<PublicRuntimeArgumentDescriptor> GetRuntimeArguments(string operation)
靜態方法bool IsInternalResultKey(string key)
靜態方法bool IsPublicRuntimeOperation(string operation)
靜態方法PublicRuntimeArgumentValidation ValidateRuntimeArguments(string operation, IReadOnlyDictionary<string, string> arguments)

PublicErrorCategory#

靜態類別,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: errors.

成員簽章
常數string InvalidArgument = "invalid_argument"
常數string UnsupportedProfile = "unsupported_profile"
常數string Session = "session"
常數string Runtime = "runtime"
常數string NotFound = "not_found"
常數string Transaction = "transaction"
常數string Internal = "internal"

PublicErrorCodes#

靜態類別,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: errors.

成員簽章
常數string CANCELLED = "OL_E_CANCELLED"
常數string INTERNAL = "OL_E_INTERNAL"
常數string TIMEOUT = "OL_E_TIMEOUT"
常數string WINDOWS_HOST_MISSING = "OL_E_WINDOWS_HOST_MISSING"
常數string WINDOWS_HOST_START_FAILED = "OL_E_WINDOWS_HOST_START_FAILED"
常數string BUILD_VALIDATION_FAILED = "OL_E_BUILD_VALIDATION_FAILED"
常數string UNSUPPORTED_BUILD = "OL_E_UNSUPPORTED_BUILD"
常數string UNSUPPORTED_OPERATING_SYSTEM = "OL_E_UNSUPPORTED_OPERATING_SYSTEM"
常數string UNSUPPORTED_OS_ARCHITECTURE = "OL_E_UNSUPPORTED_OS_ARCHITECTURE"
常數string ENTRYPOINT_NOT_FOUND = "OL_E_ENTRYPOINT_NOT_FOUND"
常數string ENTRYPOINT_REQUIRED = "OL_E_ENTRYPOINT_REQUIRED"
常數string HOF_NOT_FOUND = "OL_E_HOF_NOT_FOUND"
常數string MAP_NOT_FOUND = "OL_E_MAP_NOT_FOUND"
常數string NOT_FOUND = "OL_E_NOT_FOUND"
常數string REPAINT_NOT_FOUND = "OL_E_REPAINT_NOT_FOUND"
常數string SITUATION_MAP_NOT_FOUND = "OL_E_SITUATION_MAP_NOT_FOUND"
常數string SITUATION_NOT_FOUND = "OL_E_SITUATION_NOT_FOUND"
常數string VEHICLE_NOT_FOUND = "OL_E_VEHICLE_NOT_FOUND"
常數string INSTALLATION_BUSY = "OL_E_INSTALLATION_BUSY"
常數string INSTALLATION_NOT_FOUND = "OL_E_INSTALLATION_NOT_FOUND"
常數string INSTALLATION_NOT_WRITABLE = "OL_E_INSTALLATION_NOT_WRITABLE"
常數string PERMANENT_PLUGIN_HASH_MISMATCH = "OL_E_PERMANENT_PLUGIN_HASH_MISMATCH"
常數string PERMANENT_PLUGIN_MANIFEST_INCOMPLETE = "OL_E_PERMANENT_PLUGIN_MANIFEST_INCOMPLETE"
常數string PERMANENT_PLUGIN_MISSING = "OL_E_PERMANENT_PLUGIN_MISSING"
常數string PLATFORM_CAPABILITY_MISSING = "OL_E_PLATFORM_CAPABILITY_MISSING"
常數string RELEASE_MANIFEST_INVALID = "OL_E_RELEASE_MANIFEST_INVALID"
常數string INVALID_ARGUMENT = "OL_E_INVALID_ARGUMENT"
常數string INVALID_SETTING_VALUE = "OL_E_INVALID_SETTING_VALUE"
常數string SETTING_NOT_WRITABLE = "OL_E_SETTING_NOT_WRITABLE"
常數string UNKNOWN_SETTING = "OL_E_UNKNOWN_SETTING"
常數string SPEC_INVALID = "OL_E_SPEC_INVALID"
常數string SPEC_NOT_FOUND = "OL_E_SPEC_NOT_FOUND"
常數string SPEC_TOO_LARGE = "OL_E_SPEC_TOO_LARGE"
常數string SPEC_UNKNOWN_PROPERTY = "OL_E_SPEC_UNKNOWN_PROPERTY"
常數string CONTROL_COMMAND_UNKNOWN = "OL_E_CONTROL_COMMAND_UNKNOWN"
常數string CONTROL_FAILED = "OL_E_CONTROL_FAILED"
常數string CONTROL_HANDLER_FAILED = "OL_E_CONTROL_HANDLER_FAILED"
常數string CONTROL_MESSAGE_INVALID = "OL_E_CONTROL_MESSAGE_INVALID"
常數string CONTROL_MESSAGE_TOO_LARGE = "OL_E_CONTROL_MESSAGE_TOO_LARGE"
常數string CONTROL_PROTOCOL = "OL_E_CONTROL_PROTOCOL"
常數string CONTROL_RESPONSE_TOO_LARGE = "OL_E_CONTROL_RESPONSE_TOO_LARGE"
常數string CONTROL_SESSION_MISMATCH = "OL_E_CONTROL_SESSION_MISMATCH"
常數string PLAN_NOT_RUNNABLE = "OL_E_PLAN_NOT_RUNNABLE"
常數string ITX_PROFILE_INVALID = "OL_E_ITX_PROFILE_INVALID"
常數string ITX_PROFILE_MISSING = "OL_E_ITX_PROFILE_MISSING"
常數string ITX_PROFILE_REQUIRED = "OL_E_ITX_PROFILE_REQUIRED"
常數string ITX_TARGET_OUTSIDE_TEXTURE_PATH = "OL_E_ITX_TARGET_OUTSIDE_TEXTURE_PATH"
常數string SPLASH_ASSET_DIRECTORY_MISSING = "OL_E_SPLASH_ASSET_DIRECTORY_MISSING"
常數string SPLASH_ASSET_MISSING = "OL_E_SPLASH_ASSET_MISSING"
常數string SPLASH_FORMAT_UNSUPPORTED = "OL_E_SPLASH_FORMAT_UNSUPPORTED"
常數string PROCESS_CLEANUP_FAILED = "OL_E_PROCESS_CLEANUP_FAILED"
常數string PROCESS_CREATION_TIME_FAILED = "OL_E_PROCESS_CREATION_TIME_FAILED"
常數string PROCESS_EXITED_EARLY = "OL_E_PROCESS_EXITED_EARLY"
常數string PROCESS_START_FAILED = "OL_E_PROCESS_START_FAILED"
常數string PROCESS_SUPERVISION = "OL_E_PROCESS_SUPERVISION"
常數string PROCESS_TERMINATE_FAILED = "OL_E_PROCESS_TERMINATE_FAILED"
常數string PROCESS_WAIT_FAILED = "OL_E_PROCESS_WAIT_FAILED"
常數string CAMERA_PRESET_FAMILY_UNSUPPORTED = "OL_E_CAMERA_PRESET_FAMILY_UNSUPPORTED"
常數string DATE_TIME_APPLY_FAILED = "OL_E_DATE_TIME_APPLY_FAILED"
常數string MAKEVEHICLE_BUS_NOT_FOUND = "OL_E_MAKEVEHICLE_BUS_NOT_FOUND"
常數string MAKEVEHICLE_DELTA_MULTIPLE = "OL_E_MAKEVEHICLE_DELTA_MULTIPLE"
常數string MAKEVEHICLE_DELTA_ZERO = "OL_E_MAKEVEHICLE_DELTA_ZERO"
常數string MAKEVEHICLE_NATIVE_FAILED = "OL_E_MAKEVEHICLE_NATIVE_FAILED"
常數string PLACE_RANDOM_BUS_FAILED = "OL_E_PLACE_RANDOM_BUS_FAILED"
常數string RUNTIME_ARGUMENT_REQUIRED = "OL_E_RUNTIME_ARGUMENT_REQUIRED"
常數string RUNTIME_ARTIFACT_MISSING = "OL_E_RUNTIME_ARTIFACT_MISSING"
常數string RUNTIME_BASELINE_UNAVAILABLE = "OL_E_RUNTIME_BASELINE_UNAVAILABLE"
常數string RUNTIME_BUS_IDENTITY_INVALID = "OL_E_RUNTIME_BUS_IDENTITY_INVALID"
常數string RUNTIME_CHANNEL_BUSY = "OL_E_RUNTIME_CHANNEL_BUSY"
常數string RUNTIME_CHANNEL_CLOSED = "OL_E_RUNTIME_CHANNEL_CLOSED"
常數string RUNTIME_CHANNEL_STATE_INVALID = "OL_E_RUNTIME_CHANNEL_STATE_INVALID"
常數string RUNTIME_CONSTANTS_UNAVAILABLE = "OL_E_RUNTIME_CONSTANTS_UNAVAILABLE"
常數string RUNTIME_CONSTANT_NOT_FOUND = "OL_E_RUNTIME_CONSTANT_NOT_FOUND"
常數string RUNTIME_CREATED_OBJECT_INVALID = "OL_E_RUNTIME_CREATED_OBJECT_INVALID"
常數string RUNTIME_CREATED_OBJECT_NOT_IN_COLLECTION = "OL_E_RUNTIME_CREATED_OBJECT_NOT_IN_COLLECTION"
常數string RUNTIME_CURVE_DEGENERATE = "OL_E_RUNTIME_CURVE_DEGENERATE"
常數string RUNTIME_CURVE_EMPTY = "OL_E_RUNTIME_CURVE_EMPTY"
常數string RUNTIME_CURVE_INVALID = "OL_E_RUNTIME_CURVE_INVALID"
常數string RUNTIME_CURVE_NOT_FOUND = "OL_E_RUNTIME_CURVE_NOT_FOUND"
常數string RUNTIME_HOF_UNAVAILABLE = "OL_E_RUNTIME_HOF_UNAVAILABLE"
常數string RUNTIME_INSTALLATION_INCOMPLETE = "OL_E_RUNTIME_INSTALLATION_INCOMPLETE"
常數string RUNTIME_OBJECT_HANDLE_REQUIRED = "OL_E_RUNTIME_OBJECT_HANDLE_REQUIRED"
常數string RUNTIME_OBJECT_HANDLE_STALE = "OL_E_RUNTIME_OBJECT_HANDLE_STALE"
常數string RUNTIME_OPERATION_FAILED = "OL_E_RUNTIME_OPERATION_FAILED"
常數string RUNTIME_OPERATION_UNAVAILABLE = "OL_E_RUNTIME_OPERATION_UNAVAILABLE"
常數string RUNTIME_OPERATION_UNKNOWN = "OL_E_RUNTIME_OPERATION_UNKNOWN"
常數string RUNTIME_PLAYER_VEHICLE_UNAVAILABLE = "OL_E_RUNTIME_PLAYER_VEHICLE_UNAVAILABLE"
常數string RUNTIME_PROTOCOL_MISMATCH = "OL_E_RUNTIME_PROTOCOL_MISMATCH"
常數string RUNTIME_REQUEST_ID_REUSED = "OL_E_RUNTIME_REQUEST_ID_REUSED"
常數string RUNTIME_REQUEST_TIMEOUT = "OL_E_RUNTIME_REQUEST_TIMEOUT"
常數string RUNTIME_RESPONSE_INVALID = "OL_E_RUNTIME_RESPONSE_INVALID"
常數string RUNTIME_RESPONSE_TOO_LARGE = "OL_E_RUNTIME_RESPONSE_TOO_LARGE"
常數string RUNTIME_SCRIPT_OBJECT_UNAVAILABLE = "OL_E_RUNTIME_SCRIPT_OBJECT_UNAVAILABLE"
常數string RUNTIME_SESSION_MISMATCH = "OL_E_RUNTIME_SESSION_MISMATCH"
常數string RUNTIME_SETTING_NOT_PERSISTENT = "OL_E_RUNTIME_SETTING_NOT_PERSISTENT"
常數string RUNTIME_SETTING_UNAVAILABLE = "OL_E_RUNTIME_SETTING_UNAVAILABLE"
常數string RUNTIME_STRING_VARIABLE_NOT_FOUND = "OL_E_RUNTIME_STRING_VARIABLE_NOT_FOUND"
常數string RUNTIME_VALUE_INVALID = "OL_E_RUNTIME_VALUE_INVALID"
常數string RUNTIME_VALUE_OUT_OF_RANGE = "OL_E_RUNTIME_VALUE_OUT_OF_RANGE"
常數string RUNTIME_VARIABLE_NOT_FOUND = "OL_E_RUNTIME_VARIABLE_NOT_FOUND"
常數string RUNTIME_VARIABLE_UNAVAILABLE = "OL_E_RUNTIME_VARIABLE_UNAVAILABLE"
常數string TIME_APPLY_FAILED = "OL_E_TIME_APPLY_FAILED"
常數string D3D_DEVICE_LOST = "OL_E_D3D_DEVICE_LOST"
常數string D3D_INVALID_ARGUMENT = "OL_E_D3D_INVALID_ARGUMENT"
常數string D3D_INVALID_PIXEL_BUFFER = "OL_E_D3D_INVALID_PIXEL_BUFFER"
常數string D3D_INVALID_TEXTURE_FORMAT = "OL_E_D3D_INVALID_TEXTURE_FORMAT"
常數string D3D_NATIVE_CALL_FAILED = "OL_E_D3D_NATIVE_CALL_FAILED"
常數string D3D_NOT_READY = "OL_E_D3D_NOT_READY"
常數string D3D_RESET_IN_PROGRESS = "OL_E_D3D_RESET_IN_PROGRESS"
常數string D3D_RESOURCE_RELEASED = "OL_E_D3D_RESOURCE_RELEASED"
常數string D3D_STALE_RESOURCE_HANDLE = "OL_E_D3D_STALE_RESOURCE_HANDLE"
常數string CAPABILITY_UNAVAILABLE = "OL_E_CAPABILITY_UNAVAILABLE"
常數string HEADLESS_ARM_FAILED = "OL_E_HEADLESS_ARM_FAILED"
常數string NO_ACTIVE_SESSION = "OL_E_NO_ACTIVE_SESSION"
常數string PLUGIN_NOT_LOADED = "OL_E_PLUGIN_NOT_LOADED"
常數string PLUGIN_PROTOCOL_MISMATCH = "OL_E_PLUGIN_PROTOCOL_MISMATCH"
常數string SESSION_ALREADY_ACTIVE = "OL_E_SESSION_ALREADY_ACTIVE"
常數string SESSION_NOT_RUNNING = "OL_E_SESSION_NOT_RUNNING"
常數string SESSION_PRESENTATION_INVALID = "OL_E_SESSION_PRESENTATION_INVALID"
常數string SESSION_START_FAILED = "OL_E_SESSION_START_FAILED"
常數string SITUATION_LOAD_FAILED = "OL_E_SITUATION_LOAD_FAILED"
常數string STARTUP_TIMEOUT = "OL_E_STARTUP_TIMEOUT"
常數string START_SESSION = "OL_E_START_SESSION"
常數string WORLD_START_FAILED = "OL_E_WORLD_START_FAILED"
常數string SESSION_PROFILE_ASSET_MISSING = "OL_E_SESSION_PROFILE_ASSET_MISSING"
常數string SESSION_PROFILE_INVALID = "OL_E_SESSION_PROFILE_INVALID"
常數string SESSION_PROFILE_MAP_MISMATCH = "OL_E_SESSION_PROFILE_MAP_MISMATCH"
常數string SESSION_PROFILE_NOT_FOUND = "OL_E_SESSION_PROFILE_NOT_FOUND"
常數string SESSION_PROFILE_OVERRIDE_CONFLICT = "OL_E_SESSION_PROFILE_OVERRIDE_CONFLICT"
常數string SESSION_PROFILE_PATH_ESCAPE = "OL_E_SESSION_PROFILE_PATH_ESCAPE"
常數string SESSION_PROFILE_PRESET_NOT_FOUND = "OL_E_SESSION_PROFILE_PRESET_NOT_FOUND"
常數string SESSION_PROFILE_SCHEMA_UNSUPPORTED = "OL_E_SESSION_PROFILE_SCHEMA_UNSUPPORTED"
常數string SESSION_PROFILE_SETTING_NOT_WRITABLE = "OL_E_SESSION_PROFILE_SETTING_NOT_WRITABLE"
常數string SESSION_PROFILE_SETTING_UNKNOWN = "OL_E_SESSION_PROFILE_SETTING_UNKNOWN"
常數string CLOSECHECK_REMOVE_FAILED = "OL_E_CLOSECHECK_REMOVE_FAILED"
常數string RECOVERY_ABSENT_OWNERSHIP_MISMATCH = "OL_E_RECOVERY_ABSENT_OWNERSHIP_MISMATCH"
常數string RECOVERY_ABSENT_OWNERSHIP_UNVERIFIED = "OL_E_RECOVERY_ABSENT_OWNERSHIP_UNVERIFIED"
常數string RECOVERY_BACKUP_CORRUPT = "OL_E_RECOVERY_BACKUP_CORRUPT"
常數string RECOVERY_JOURNAL_MISSING = "OL_E_RECOVERY_JOURNAL_MISSING"
常數string RECOVERY_JOURNAL_REMOVE_FAILED = "OL_E_RECOVERY_JOURNAL_REMOVE_FAILED"
常數string RESTORE_DEFERRED = "OL_E_RESTORE_DEFERRED"
常數string RESTORE_FAILED = "OL_E_RESTORE_FAILED"
常數string RESTORE_FOREIGN_FILE_RETAINED = "OL_W_RESTORE_FOREIGN_FILE_RETAINED"
靜態欄位IReadOnlyList<PublicErrorDescriptor> All

PublicErrorDescriptor#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: errors.

成員簽章
建構函式PublicErrorDescriptor(string Code, string Category)
屬性string Code { get; init; }
屬性string Category { get; init; }

PublicExitCode#

列舉 (int),位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: exit-codes.

成員簽章
值Success = 0
值SessionFailed = 1
值InvalidArguments = 2
值UnsupportedProfile = 3
值NoActiveSession = 4
值RuntimeUnavailable = 5
值NotFound = 6
值OperationRejected = 7
值TransactionRecoveryFailed = 8
值InternalError = 10

PublicRuntimeArgumentDescriptor#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式PublicRuntimeArgumentDescriptor(string Name, bool Required, string Description)
屬性string Name { get; init; }
屬性bool Required { get; init; }
屬性string Description { get; init; }

PublicRuntimeArgumentValidation#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式PublicRuntimeArgumentValidation(bool Accepted, string ErrorCode = null, string Message = null)
屬性bool Accepted { get; init; }
屬性string ErrorCode { get; init; }
屬性string Message { get; init; }

RecoveryStatus#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式RecoveryStatus(bool Pending, bool Recovered, IReadOnlyList<LaunchDiagnostic> Diagnostics)
屬性bool Pending { get; init; }
屬性bool Recovered { get; init; }
屬性IReadOnlyList<LaunchDiagnostic> Diagnostics { get; init; }

RuntimeCommand#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: runtime-control.

成員簽章
建構函式RuntimeCommand(Guid SessionId, ulong RequestId, string Operation, IReadOnlyDictionary<string, string> Arguments = null)
屬性Guid SessionId { get; init; }
屬性ulong RequestId { get; init; }
屬性string Operation { get; init; }
屬性IReadOnlyDictionary<string, string> Arguments { get; init; }

RuntimeCommandResult#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: runtime-control.

成員簽章
建構函式RuntimeCommandResult(Guid SessionId, ulong RequestId, bool Succeeded, string ErrorCode = null, IReadOnlyDictionary<string, string> Values = null)
屬性Guid SessionId { get; init; }
屬性ulong RequestId { get; init; }
屬性bool Succeeded { get; init; }
屬性string ErrorCode { get; init; }
屬性IReadOnlyDictionary<string, string> Values { get; init; }

RuntimeCommandWire#

靜態類別,位於 OmsiLaunch.Api。穩定性:INTERNAL。語意: public-api.

成員簽章
常數uint Magic = 1330401859
常數ushort Version = 1
常數int HeaderSize = 72
靜態方法byte[] SerializeRequest(RuntimeCommand command)
靜態方法byte[] SerializeResponse(RuntimeCommandResult result)
靜態方法bool TryDeserializeRequest(ReadOnlySpan<byte> bytes, out RuntimeCommand command)
靜態方法bool TryDeserializeResponse(ReadOnlySpan<byte> bytes, out RuntimeCommandResult result)
靜態方法bool TryReadRequestId(ReadOnlySpan<byte> bytes, out ulong requestId)

RuntimeEvent#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式RuntimeEvent(string Type, DateTimeOffset TimestampUtc, long Sequence, IReadOnlyDictionary<string, string> Data)
屬性string Type { get; init; }
屬性DateTimeOffset TimestampUtc { get; init; }
屬性long Sequence { get; init; }
屬性IReadOnlyDictionary<string, string> Data { get; init; }

RuntimePlatformInfo#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式RuntimePlatformInfo(string OsFamily, string OsVersion, string OsArchitecture, string HostArchitecture, string OmsiArchitecture, string PluginArchitecture, bool CurrentPlatformSupported, bool LegacyPlatform, bool Wow64Available, bool InstallationWritable, bool ProcessLaunchSupported, bool PluginRuntimeSupported, bool NativeInteropSupported, bool SharedMemorySupported, bool ExactRestoreSupported)
屬性string OsFamily { get; init; }
屬性string OsVersion { get; init; }
屬性string OsArchitecture { get; init; }
屬性string HostArchitecture { get; init; }
屬性string OmsiArchitecture { get; init; }
屬性string PluginArchitecture { get; init; }
屬性bool CurrentPlatformSupported { get; init; }
屬性bool LegacyPlatform { get; init; }
屬性bool Wow64Available { get; init; }
屬性bool InstallationWritable { get; init; }
屬性bool ProcessLaunchSupported { get; init; }
屬性bool PluginRuntimeSupported { get; init; }
屬性bool NativeInteropSupported { get; init; }
屬性bool SharedMemorySupported { get; init; }
屬性bool ExactRestoreSupported { get; init; }

SemanticDate#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
建構函式SemanticDate(int Year, int Month, int Day)
屬性int Year { get; init; }
屬性int Month { get; init; }
屬性int Day { get; init; }

SemanticTime#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
建構函式SemanticTime(int Hour, int Minute, int Second)
屬性int Hour { get; init; }
屬性int Minute { get; init; }
屬性int Second { get; init; }

SessionHandle#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式SessionHandle(Guid SessionId)
屬性Guid SessionId { get; init; }

SessionPlan#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式SessionPlan(Guid SessionId, string BuildProfileId, LaunchSpec Spec, RuntimePlatformInfo Platform, IReadOnlyList<ContentIdentity> ResolvedContent, IReadOnlyList<string> TouchedFiles, IReadOnlyList<string> RuntimeArtifacts, IReadOnlyList<Capability> RequiredCapabilities, IReadOnlyList<Capability> UnsupportedRequestedFeatures, IReadOnlyList<PlannedMutation> PlannedMutations, IReadOnlyList<LaunchDiagnostic> Diagnostics, bool IsRunnable)
屬性Guid SessionId { get; init; }
屬性string BuildProfileId { get; init; }
屬性LaunchSpec Spec { get; init; }
屬性RuntimePlatformInfo Platform { get; init; }
屬性IReadOnlyList<ContentIdentity> ResolvedContent { get; init; }
屬性IReadOnlyList<string> TouchedFiles { get; init; }
屬性IReadOnlyList<string> RuntimeArtifacts { get; init; }
屬性IReadOnlyList<Capability> RequiredCapabilities { get; init; }
屬性IReadOnlyList<Capability> UnsupportedRequestedFeatures { get; init; }
屬性IReadOnlyList<PlannedMutation> PlannedMutations { get; init; }
屬性IReadOnlyList<LaunchDiagnostic> Diagnostics { get; init; }
屬性bool IsRunnable { get; init; }

SessionPresentationSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
建構函式SessionPresentationSpec(SplashMode Splash = Managed, OptionalValue<string> Language = default, OptionalValue<string> CustomAssetDirectory = default, bool SuppressTrayIcon = false)
屬性SplashMode Splash { get; init; }
屬性OptionalValue<string> Language { get; init; }
屬性OptionalValue<string> CustomAssetDirectory { get; init; }
屬性bool SuppressTrayIcon { get; init; }

SessionProfileMetadata#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
建構函式SessionProfileMetadata(string Id, string Name, string Version, string Author, string PresetId, int PresetIndex, string PresetName, string PackagePath)
屬性string Id { get; init; }
屬性string Name { get; init; }
屬性string Version { get; init; }
屬性string Author { get; init; }
屬性string PresetId { get; init; }
屬性int PresetIndex { get; init; }
屬性string PresetName { get; init; }
屬性string PackagePath { get; init; }

SessionState#

列舉 (byte),位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
值Created = 0
值ValidatingPlatform = 1
值Planning = 2
值AcquiringInstallationLock = 3
值RecoveringPreviousTransaction = 4
值Snapshotting = 5
值ApplyingConfiguration = 6
值DeployingRuntime = 7
值CreatingStartupHandoff = 8
值StartingProcess = 9
值WaitingForPlugin = 10
值PluginBootstrap = 11
值StartingWorld = 12
值EnteringGameplay = 13
值Running = 14
值ProcessExited = 15
值Restoring = 16
值CleaningRuntime = 17
值Completed = 18
值Failed = 19

SessionStatus#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式SessionStatus(Guid SessionId, SessionState State, IReadOnlyList<LaunchDiagnostic> Diagnostics, IReadOnlyList<RuntimeEvent> RuntimeEvents = null)
屬性Guid SessionId { get; init; }
屬性SessionState State { get; init; }
屬性IReadOnlyList<LaunchDiagnostic> Diagnostics { get; init; }
屬性IReadOnlyList<RuntimeEvent> RuntimeEvents { get; init; }

SplashMode#

列舉 (byte),位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
值Unset = 0
值Native = 0
值Managed = 1

StartupHandoff#

密封 record,位於 OmsiLaunch.Api。穩定性:INTERNAL。語意: public-api.

成員簽章
建構函式StartupHandoff(Guid SessionId, string BuildProfileId, WorldMode WorldMode, string MapIdentity, int PresentedEntrypointIndex, bool HeadlessStart, bool PlayerVehicleEnabled, DateTimeMode DateMode, DateTimeMode TimeMode, string EntrypointIdentity = "", string SituationIdentity = "")
屬性Guid SessionId { get; init; }
屬性string BuildProfileId { get; init; }
屬性WorldMode WorldMode { get; init; }
屬性string MapIdentity { get; init; }
屬性int PresentedEntrypointIndex { get; init; }
屬性bool HeadlessStart { get; init; }
屬性bool PlayerVehicleEnabled { get; init; }
屬性DateTimeMode DateMode { get; init; }
屬性DateTimeMode TimeMode { get; init; }
屬性string EntrypointIdentity { get; init; }
屬性string SituationIdentity { get; init; }

StartupHandoffWire#

靜態類別,位於 OmsiLaunch.Api。穩定性:INTERNAL。語意: public-api.

成員簽章
常數uint Magic = 1330402120
常數ushort Version = 4
靜態方法byte[] Serialize(StartupHandoff value)
靜態方法bool TryDeserialize(ReadOnlySpan<byte> bytes, out StartupHandoff value)

TimeSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:PARTIAL。語意: launchspec.

成員簽章
建構函式TimeSpec(DateTimeMode Mode, OptionalValue<SemanticTime> Value)
屬性DateTimeMode Mode { get; init; }
屬性OptionalValue<SemanticTime> Value { get; init; }

WeatherMode#

列舉 (byte),位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
值Unset = 0
值Preset = 1
值Icao = 2
值RealCurrent = 3

WeatherSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:PARTIAL。語意: launchspec.

成員簽章
建構函式WeatherSpec(WeatherMode Mode, OptionalValue<string> Preset, OptionalValue<string> Icao)
屬性WeatherMode Mode { get; init; }
屬性OptionalValue<string> Preset { get; init; }
屬性OptionalValue<string> Icao { get; init; }

WorldMode#

列舉 (int),位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
值NewMap = 0
值SavedSituation = 1
值LastMapState = 2
值LastSituation = 2

WorldSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:STABLE_BETA。語意: launchspec.

成員簽章
建構函式WorldSpec(WorldMode Mode, OptionalValue<string> MapIdentity, OptionalValue<string> SituationIdentity, OptionalValue<int> PresentedEntrypointIndex, OptionalValue<string> EntrypointIdentity = default)
屬性WorldMode Mode { get; init; }
屬性OptionalValue<string> MapIdentity { get; init; }
屬性OptionalValue<string> SituationIdentity { get; init; }
屬性OptionalValue<int> PresentedEntrypointIndex { get; init; }
屬性OptionalValue<string> EntrypointIdentity { get; init; }
屬性EntrypointSpec Entrypoint { get; }

YearSpec#

密封 record,位於 OmsiLaunch.Api。穩定性:PARTIAL。語意: launchspec.

成員簽章
建構函式YearSpec(DateTimeMode Mode, OptionalValue<int> Value)
屬性DateTimeMode Mode { get; init; }
屬性OptionalValue<int> Value { get; init; }

OmsiLaunch.Core#

LaunchValidation#

靜態類別,位於 OmsiLaunch.Core。穩定性:INTERNAL。語意: public-api.

成員簽章
靜態方法bool IsMapIdentity(string value)
靜態方法IReadOnlyList<LaunchDiagnostic> Validate(LaunchSpec spec)

OmsiLaunchRuntimePaths#

密封 record,位於 OmsiLaunch.Core。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式OmsiLaunchRuntimePaths(string PluginBuildDirectory, string NativeBridgePath, string ReleaseManifestPath = null)
屬性string PluginBuildDirectory { get; init; }
屬性string NativeBridgePath { get; init; }
屬性string ReleaseManifestPath { get; init; }

OmsiLaunchService#

密封類別,位於 OmsiLaunch.Core。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式OmsiLaunchService(IRuntimePlatform platform, OmsiLaunchRuntimePaths runtimePaths)
方法Task CloseAsync(SessionHandle session, CancellationToken cancellationToken = default)
方法Task<IReadOnlyList<ContentIdentity>> DiscoverAsync(InstallationSpec installation, ContentQueryKind query, OptionalValue<string> scope = default, CancellationToken cancellationToken = default)
方法Task<RuntimeCommandResult> ExecuteRuntimeAsync(SessionHandle session, RuntimeCommand command, TimeSpan timeout, CancellationToken cancellationToken = default)
方法Task<IReadOnlyList<Capability>> GetCapabilitiesAsync(InstallationSpec installation, CancellationToken cancellationToken = default)
方法Task<SessionStatus> GetStatusAsync(SessionHandle session, CancellationToken cancellationToken = default)
方法Task<SessionPlan> PlanSessionAsync(LaunchSpec spec, CancellationToken cancellationToken = default)
方法Task<RecoveryStatus> RecoverPendingAsync(InstallationSpec installation, bool restore, CancellationToken cancellationToken = default)
方法Task<SessionHandle> StartSessionAsync(SessionPlan plan, CancellationToken cancellationToken = default)
方法Task StopAsync(SessionHandle session, CancellationToken cancellationToken = default)
方法Task<SessionStatus> WaitForAsync(SessionHandle session, SessionState state, TimeSpan timeout, CancellationToken cancellationToken = default)

ProfileNew#

密封 record,位於 OmsiLaunch.Core。穩定性:EXPERIMENTAL。語意: session-profiles.

成員簽章
建構函式ProfileNew(string Map = null, int? EntrypointIndex = default, string EntrypointIdentity = null, SemanticDate Date = null, SemanticTime Time = null, int? Year = default, WeatherSpec Weather = null)
屬性string Map { get; init; }
屬性int? EntrypointIndex { get; init; }
屬性string EntrypointIdentity { get; init; }
屬性SemanticDate Date { get; init; }
屬性SemanticTime Time { get; init; }
屬性int? Year { get; init; }
屬性WeatherSpec Weather { get; init; }

ProfilePreset#

密封 record,位於 OmsiLaunch.Core。穩定性:EXPERIMENTAL。語意: session-profiles.

成員簽章
建構函式ProfilePreset(int Index, string Id, string Name, IReadOnlyDictionary<string, string> Settings, SessionPresentationSpec Presentation, InternetTexturesSpec InternetTextures, LaunchBehaviorSpec Behavior)
屬性int Index { get; init; }
屬性string Id { get; init; }
屬性string Name { get; init; }
屬性IReadOnlyDictionary<string, string> Settings { get; init; }
屬性SessionPresentationSpec Presentation { get; init; }
屬性InternetTexturesSpec InternetTextures { get; init; }
屬性LaunchBehaviorSpec Behavior { get; init; }

SessionPlanner#

密封類別,位於 OmsiLaunch.Core。穩定性:INTERNAL。語意: public-api.

成員簽章
建構函式SessionPlanner(IRuntimePlatform platform)
方法Task<SessionPlan> PlanAsync(LaunchSpec spec, CancellationToken cancellationToken = default)

SessionProfileCompiler#

靜態類別,位於 OmsiLaunch.Core。穩定性:EXPERIMENTAL。語意: session-profiles.

成員簽章
常數string Schema = "omsilaunch.session-profile/v1"
常數long MaxBytes = 262144
靜態欄位IReadOnlyDictionary<string, IReadOnlyList<string>> SchemaKeys
靜態方法LaunchSpec Apply(SessionProfilePackage profile, LaunchSpec baseline, WorldMode selectedWorldMode)
靜態方法SessionProfilePackage Load(string installationRoot, string id, int presetIndex)
靜態方法void ValidateCompatibility(SessionProfilePackage profile, string installationRoot, WorldSpec world, WorldMode mode)

SessionProfileException#

密封類別,位於 OmsiLaunch.Core。穩定性:EXPERIMENTAL。語意: session-profiles.

成員簽章
建構函式SessionProfileException(string code, string message)
屬性string Code { get; }

SessionProfilePackage#

密封 record,位於 OmsiLaunch.Core。穩定性:EXPERIMENTAL。語意: session-profiles.

成員簽章
建構函式SessionProfilePackage(string RootPath, SessionProfileMetadata Metadata, IReadOnlyList<string> CompatibleMaps, ProfileNew New, ProfilePreset Preset)
屬性string RootPath { get; init; }
屬性SessionProfileMetadata Metadata { get; init; }
屬性IReadOnlyList<string> CompatibleMaps { get; init; }
屬性ProfileNew New { get; init; }
屬性ProfilePreset Preset { get; init; }

OmsiLaunch.Process#

CurrentRuntimeCommandStore#

密封類別,位於 OmsiLaunch.Process。穩定性:INTERNAL。語意: public-api.

成員簽章
屬性string Name { get; }
屬性Guid SessionId { get; }
靜態方法CurrentRuntimeCommandStore Create(Guid sessionId)
方法void Dispose()
方法Task<RuntimeCommandResult> RequestAsync(RuntimeCommand command, TimeSpan timeout, CancellationToken cancellationToken = default)

CurrentStartupHandoffStore#

密封類別,位於 OmsiLaunch.Process。穩定性:INTERNAL。語意: public-api.

成員簽章
屬性string Name { get; }
屬性Guid SessionId { get; }
靜態方法CurrentStartupHandoffStore Create(StartupHandoff handoff)
方法void Dispose()

CurrentTelemetryStore#

密封類別,位於 OmsiLaunch.Process。穩定性:INTERNAL。語意: public-api.

成員簽章
屬性string Name { get; }
靜態方法CurrentTelemetryStore Create(Guid sessionId)
方法void Dispose()
方法ValueTuple<int, string>? ReadLatest()

CurrentWindowsX64Platform#

密封類別,位於 OmsiLaunch.Process。穩定性:STABLE_BETA。語意: public-api.

成員簽章
建構函式CurrentWindowsX64Platform()
方法RuntimePlatformInfo Detect(string root)
方法bool HasExited(LaunchedProcess p)
方法bool IsInstallationWritable(string root)
方法Task<LaunchedProcess> StartAsync(StartupProcessRequest request, string executableSha256, CancellationToken cancellationToken)
方法void Terminate(LaunchedProcess p)
方法void ValidateCurrent(RuntimePlatformInfo p)
方法Task WaitForExitAsync(LaunchedProcess process, CancellationToken token)

IOmsiProcessController#

介面,位於 OmsiLaunch.Process。穩定性:INTERNAL。語意: public-api.

成員簽章
方法OmsiProcessState Observe()
方法Task<int> StartAsync(string installation, CancellationToken cancellationToken = default)
方法Task StopAsync(CancellationToken cancellationToken = default)

IRuntimePlatform#

介面,位於 OmsiLaunch.Process。穩定性:STABLE_BETA。語意: public-api.

成員簽章
方法RuntimePlatformInfo Detect(string installationRoot)
方法bool HasExited(LaunchedProcess process)
方法bool IsInstallationWritable(string installationRoot)
方法Task<LaunchedProcess> StartAsync(StartupProcessRequest request, string executableSha256, CancellationToken cancellationToken)
方法void Terminate(LaunchedProcess process)
方法void ValidateCurrent(RuntimePlatformInfo platform)
方法Task WaitForExitAsync(LaunchedProcess process, CancellationToken cancellationToken)

InstallationLease#

密封類別,位於 OmsiLaunch.Process。穩定性:INTERNAL。語意: public-api.

成員簽章
靜態方法InstallationLease Acquire(string installationRoot)
方法void Dispose()
靜態方法string NormalizeRoot(string installationRoot)

LaunchedProcess#

密封類別,位於 OmsiLaunch.Process。穩定性:INTERNAL。語意: public-api.

成員簽章
屬性int ProcessId { get; }
屬性int ThreadId { get; }
屬性ProcessIdentity Identity { get; }
方法void Dispose()

OmsiProcessState#

密封 record,位於 OmsiLaunch.Process。穩定性:INTERNAL。語意: public-api.

成員簽章
建構函式OmsiProcessState(string State, int? ProcessId, bool Responding)
屬性string State { get; init; }
屬性int? ProcessId { get; init; }
屬性bool Responding { get; init; }

ProcessIdentity#

密封 record,位於 OmsiLaunch.Process。穩定性:INTERNAL。語意: public-api.

成員簽章
建構函式ProcessIdentity(int ProcessId, DateTimeOffset CreationTimeUtc, string ExecutablePath, string ExecutableSha256)
屬性int ProcessId { get; init; }
屬性DateTimeOffset CreationTimeUtc { get; init; }
屬性string ExecutablePath { get; init; }
屬性string ExecutableSha256 { get; init; }

ReleaseManifest#

靜態類別,位於 OmsiLaunch.Process。穩定性:INTERNAL。語意: public-api.

成員簽章
常數string FileName = "release-manifest.json"
靜態方法IReadOnlyDictionary<string, string> ParsePluginHashes(byte[] bytes)
靜態方法IReadOnlyDictionary<string, string> TryReadPluginHashes(string manifestPath)

RuntimeArtifact#

密封 record,位於 OmsiLaunch.Process。穩定性:INTERNAL。語意: public-api.

成員簽章
建構函式RuntimeArtifact(string SourcePath, string DestinationRelativePath, string Sha256, long Size)
屬性string SourcePath { get; init; }
屬性string DestinationRelativePath { get; init; }
屬性string Sha256 { get; init; }
屬性long Size { get; init; }

RuntimeArtifactSet#

密封類別,位於 OmsiLaunch.Process。穩定性:INTERNAL。語意: public-api.

成員簽章
屬性IReadOnlyList<RuntimeArtifact> Artifacts { get; }
屬性IReadOnlyDictionary<string, string> ExpectedHashes { get; }
屬性string IntegrityReference { get; }
靜態方法RuntimeArtifactSet Load(string pluginBuildDirectory, string nativeBuildPath, IReadOnlyDictionary<string, string> expectedHashes = null)
方法void ValidateInstalled(string installationRoot)

StartupProcessRequest#

密封 record,位於 OmsiLaunch.Process。穩定性:INTERNAL。語意: public-api.

成員簽章
建構函式StartupProcessRequest(string ExecutablePath, string WorkingDirectory, IReadOnlyDictionary<string, string> Environment)
屬性string ExecutablePath { get; init; }
屬性string WorkingDirectory { get; init; }
屬性IReadOnlyDictionary<string, string> Environment { get; init; }