Class SdkEnvironmentOptions
- Namespace
- RDCore.SDK.Server.Configuration
- Assembly
- RDCore.SDK.dll
Runtime environment settings, bound from appsettings.json. These become the session's
IRuntimeEnvironmentProfile.
public record SdkEnvironmentOptions : IEquatable<SdkEnvironmentOptions>
- Inheritance
-
SdkEnvironmentOptions
- Implements
- Inherited Members
Properties
AllowAutomation
🎯 Whether a program may create and call the objects of a referenced library, a host application's object model among them. true by default;
set it false to refuse every such call.
public bool AllowAutomation { get; set; }
Property Value
Remarks
Its own switch, apart from AllowDllImports: automating a spreadsheet and calling an arbitrary export are not the same risk.
Finer-grained answers - per library, per member, per caller - are an IExternalCallInterceptor's job.
AllowDllImports
🎯 Whether a Declare'd library import may actually be called. true by default; set it
false to refuse every one of them.
public bool AllowDllImports { get; set; }
Property Value
Remarks
The blunt instrument, and deliberately platform-wide: a VBA environment that can call into native
libraries is a way to run arbitrary code, and this is the switch an administrator has that needs no
extension installed to work. Finer-grained answers - per library, per entry point, per caller - are an
IExternalCallInterceptor's job, and this is the one policy the platform ships with so that the
refusal path is exercised whether or not anybody wrote one.
AnsiCodePage
The ANSI code page for Byte() ↔ String and non-Unicode Chr / Asc.
public int AnsiCodePage { get; set; }
Property Value
DatabaseCompare
The comparison mode Option Compare Database stands for on this platform: Text
or Binary. Microsoft Access compares by the sort order of the database, which is not
case-sensitive; that is the default.
public OptionCompare DatabaseCompare { get; set; }
Property Value
ErlLineNumbering
🎯 What Erl counts as the line a run-time error was raised at: DocumentLine (the
default - the line the faulting statement is really on) or LineLabel (the last line-number
label before it, bug for bug with MS-VBA).
public VBErlLineNumbering ErlLineNumbering { get; set; }
Property Value
Is64Bit
true for a 64-bit environment (LongPtr width, #If Win64 / #If VBA7).
public bool Is64Bit { get; set; }
Property Value
Lcid
The environment locale identifier. 0 (the default) means the invariant locale.
public int Lcid { get; set; }
Property Value
LegacyRegistrySettings
🎯 Whether SaveSetting, GetSetting, GetAllSettings and DeleteSetting use the Windows Registry
(HKEY_CURRENT_USER\Software\VB and VBA Program Settings), as MS-VBA does. false by default: they use the workspace application
settings (the workspace's appsettings.json), like GetJsonSetting.
public bool LegacyRegistrySettings { get; set; }
Property Value
Remarks
Only Windows has a registry: elsewhere this is ignored, and the workspace application settings are used either way.
Regional
🎯 The regional settings a number or a date is written by as a String, and a String read by as one
(RegionalSettings): en-US unless said otherwise, whatever the machine's are.
public SdkRegionalOptions Regional { get; set; }
Property Value
SupportsOptionCompareDatabase
true when the host supports the Option Compare Database directive (Microsoft Access).
public bool SupportsOptionCompareDatabase { get; set; }