2025-09-26 13:06:18 -04:00
|
|
|
namespace SabreTools.Data.Models.WiseInstaller.Actions
|
2025-09-26 12:09:34 -04:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Call DLL Function
|
2025-10-30 23:54:22 -04:00
|
|
|
///
|
2025-09-26 12:09:34 -04:00
|
|
|
/// This action calls a .DLL function from a .DLL on the destination computer. They can be
|
|
|
|
|
/// be .DLLs you have written, .DLLs developed for WiseScript, or Windows .DLLs. You can
|
|
|
|
|
/// branch the script based on the returned results of a .DLL by setting the Action to Start
|
|
|
|
|
/// Block if Return Value True or Start While Loop.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <remarks>
|
|
|
|
|
/// This acts like the start of a block if a flag is set.
|
|
|
|
|
/// </remarks>
|
2025-10-30 23:54:22 -04:00
|
|
|
/// <see href="https://www.manualslib.com/manual/404969/Symantec-Wisescript-Editor-8-0-Reference-For-Wise-Package-Studio-V1-0.html"/>
|
|
|
|
|
/// <see href="https://codeberg.org/CYBERDEV/REWise/src/branch/master/src/wisescript.h"/>
|
2025-09-26 12:09:34 -04:00
|
|
|
public class CallDllFunction : MachineStateData
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Flags, unknown mapping
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <remarks>
|
|
|
|
|
/// Expected Values:
|
|
|
|
|
/// - Start block if function returns true (0x02 or 0x03)
|
|
|
|
|
/// - Loop while function returns true (0x02 or 0x03)
|
|
|
|
|
/// - Hide progress bar before calling function (0x04)
|
|
|
|
|
/// - Unknown (0x08) - Internal library call?
|
|
|
|
|
/// - Unknown (0x10) - Results in the flag being (^ 0x30)
|
|
|
|
|
/// - Unknown (0x20) - Checked for existence along with 0x08
|
|
|
|
|
/// not existing to run a function. It also results
|
|
|
|
|
/// in the flag value being (^ 0x30)
|
|
|
|
|
/// </remarks>
|
|
|
|
|
public byte Flags { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// DLL path/name or NULL for Wise internal
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string? DllPath { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Function name
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string? FunctionName { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Args?
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <remarks>In older/trimmed scripts, this seems to be missing?</remarks>
|
|
|
|
|
public string? Operand_4 { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Return variable from an external call
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <remarks>In older/trimmed scripts, this seems to be missing?</remarks>
|
|
|
|
|
public string? ReturnVariable { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// One entry per language count
|
|
|
|
|
/// </summary>
|
|
|
|
|
public FunctionData[]? Entries { get; set; }
|
|
|
|
|
}
|
|
|
|
|
}
|