Files
mxaccess/analysis/decompiled-interop/Interop.Lmx/Interop/Lmx/PlatformInformationClerkObjectClass.cs
T
Joseph Doherty fe2a6db786
rust / build / test / clippy / fmt (push) Has been cancelled
Initial project state: .NET reference, design, Rust port (M0+M1), evidence
Layout:
- src/                    .NET 10 x64 reference: MxNativeCodec, MxNativeClient,
                          MxAsbClient, probes, tests, harnesses. Executable spec.
- design/                 Architectural plan for the Rust port (M0–M6), error
                          model, protocol invariants, risks (R1–R16), adversarial
                          review log (review.md).
- rust/                   Rust workspace. M0 skeleton + M1 codec parity.
                          mxaccess-codec: 215 unit tests + 2 cross-implementation
                          parity tests (byte-identical against .NET reference).
                          Other crates are M0 stubs awaiting M2+.
- captures/               Frida + netsh + pcap evidence per CLAUDE.md
                          ("captures are evidence, not throwaway logs").
- analysis/               Decompiled C# (frida/proxy/decompiled-*),
                          Ghidra exports for native DLLs (`exports/` only —
                          working state at `projects/` and AVEVA's input
                          binaries at `input/` are gitignored).
- docs/                   Reverse-engineering reference docs.
- tools/                  Setup-LiveProbeEnv.ps1 (Infisical credential fetcher),
                          Compute-Crc.ps1 (.NET parity helper).
- .github/workflows/      Rust CI: fmt + build + test + clippy on Windows.
- LICENSE                 MIT (Joseph Doherty, 2026).

Verified:
- cargo test --workspace → 217 passed (215 unit + 2 .NET parity), 0 failed
- cargo clippy --workspace -- -D warnings → clean
- cargo fmt --all -- --check → clean
- cargo publish --dry-run -p mxaccess-codec → packages cleanly

Excluded from history (see .gitignore):
- **/bin, **/obj, **/target — build artifacts
- analysis/ghidra/projects/ — Ghidra working state (regenerable)
- analysis/ghidra/input/ — AVEVA proprietary DLLs (vendor IP)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 06:21:00 -04:00

515 lines
38 KiB
C#

using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace Interop.Lmx;
[ComImport]
[Guid("148C8734-3930-11D3-87EA-00A0C982C01C")]
[ClassInterface(ClassInterfaceType.None)]
[ComConversionLoss]
[TypeLibType(TypeLibTypeFlags.FCanCreate)]
public class PlatformInformationClerkObjectClass : IPlatformInformationClerk, PlatformInformationClerkObject, IPlatformInformationClerk2, IPlatformInformationClerk3, IPlatformInformationClerk4, IPlatformInformationClerk5
{
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformIdentity([In] int platformId, out tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformIdentityFromPlatformName([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void SetPlatformIdentity([In] int platformId, [In] ref tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetOwnPlatformId(out int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformServicesNames([In] int maxIn, out int serviceCount, [MarshalAs(UnmanagedType.BStr)] out string names, [MarshalAs(UnmanagedType.BStr)] out string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void SetPlatformServicesNames([In][MarshalAs(UnmanagedType.BStr)] string names, [In][MarshalAs(UnmanagedType.BStr)] string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void AppendPlatformServicesNames([In][MarshalAs(UnmanagedType.BStr)] string names, [In][MarshalAs(UnmanagedType.BStr)] string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformEngineName([MarshalAs(UnmanagedType.BStr)] out string pVendorName, [MarshalAs(UnmanagedType.BStr)] out string pFileName, [MarshalAs(UnmanagedType.BStr)] out string pStartupOptions, [MarshalAs(UnmanagedType.BStr)] out string pConfigOptions);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void SetPlatformEngineName([In][MarshalAs(UnmanagedType.LPWStr)] string pVendorName, [In][MarshalAs(UnmanagedType.LPWStr)] string pFileName, [In][MarshalAs(UnmanagedType.LPWStr)] string pStartupOptions, [In][MarshalAs(UnmanagedType.LPWStr)] string pConfigOptions);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void CreateFilePath([In][MarshalAs(UnmanagedType.LPWStr)] string pVendorName, [In][MarshalAs(UnmanagedType.LPWStr)] string pFileName, [MarshalAs(UnmanagedType.BStr)] out string pbstrFilePath);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void UnregisterClusterInformation();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void RegisterClusterInformation([In] tagClusterRegistrationInformation clusterRegInfo);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetClusterInformation(out tagClusterRegistrationInformation pClusterInformation);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void ResetPlatformList(out int numPlatforms);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetNextPlatform(out int pId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformList(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void DeletePlatformIdentity([In] int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetStartupState(out tagPlatformStartupSetting pStartupState);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void SetStartupState([In] tagPlatformStartupSetting startupState);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformRegister(out int pPlatformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void SetPlatformRegister([In] int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void DeletePlatformInfo();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void DeleteObjectRuntimeInfo();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void DeletePlatformList();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void SetCmdStartOptions([In][MarshalAs(UnmanagedType.LPWStr)] string szCmdOption);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetCmdStartOptions([MarshalAs(UnmanagedType.BStr)] out string pszCmdOption);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_GetPlatformIdentity([In] int platformId, out tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_GetPlatformIdentityFromPlatformName([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_SetPlatformIdentity([In] int platformId, [In] ref tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_GetOwnPlatformId(out int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_GetPlatformServicesNames([In] int maxIn, out int serviceCount, [MarshalAs(UnmanagedType.BStr)] out string names, [MarshalAs(UnmanagedType.BStr)] out string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_SetPlatformServicesNames([In][MarshalAs(UnmanagedType.BStr)] string names, [In][MarshalAs(UnmanagedType.BStr)] string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_AppendPlatformServicesNames([In][MarshalAs(UnmanagedType.BStr)] string names, [In][MarshalAs(UnmanagedType.BStr)] string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_GetPlatformEngineName([MarshalAs(UnmanagedType.BStr)] out string pVendorName, [MarshalAs(UnmanagedType.BStr)] out string pFileName, [MarshalAs(UnmanagedType.BStr)] out string pStartupOptions, [MarshalAs(UnmanagedType.BStr)] out string pConfigOptions);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_SetPlatformEngineName([In][MarshalAs(UnmanagedType.LPWStr)] string pVendorName, [In][MarshalAs(UnmanagedType.LPWStr)] string pFileName, [In][MarshalAs(UnmanagedType.LPWStr)] string pStartupOptions, [In][MarshalAs(UnmanagedType.LPWStr)] string pConfigOptions);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_CreateFilePath([In][MarshalAs(UnmanagedType.LPWStr)] string pVendorName, [In][MarshalAs(UnmanagedType.LPWStr)] string pFileName, [MarshalAs(UnmanagedType.BStr)] out string pbstrFilePath);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_UnregisterClusterInformation();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_RegisterClusterInformation([In] tagClusterRegistrationInformation clusterRegInfo);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_GetClusterInformation(out tagClusterRegistrationInformation pClusterInformation);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_ResetPlatformList(out int numPlatforms);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_GetNextPlatform(out int pId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_GetPlatformList(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_DeletePlatformIdentity([In] int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_GetStartupState(out tagPlatformStartupSetting pStartupState);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_SetStartupState([In] tagPlatformStartupSetting startupState);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_GetPlatformRegister(out int pPlatformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_SetPlatformRegister([In] int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_DeletePlatformInfo();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_DeleteObjectRuntimeInfo();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_DeletePlatformList();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_SetCmdStartOptions([In][MarshalAs(UnmanagedType.LPWStr)] string szCmdOption);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk2_GetCmdStartOptions([MarshalAs(UnmanagedType.BStr)] out string pszCmdOption);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void SetPlatformIdentity2([In] int platformId, [In] ref tagPlatformRegistrationInformation2 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformIdentity2([In] int platformId, out tagPlatformRegistrationInformation2 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformIdentityFromPlatformName2([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation2 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformList2(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetPlatformIdentity([In] int platformId, out tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetPlatformIdentityFromPlatformName([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_SetPlatformIdentity([In] int platformId, [In] ref tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetOwnPlatformId(out int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetPlatformServicesNames([In] int maxIn, out int serviceCount, [MarshalAs(UnmanagedType.BStr)] out string names, [MarshalAs(UnmanagedType.BStr)] out string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_SetPlatformServicesNames([In][MarshalAs(UnmanagedType.BStr)] string names, [In][MarshalAs(UnmanagedType.BStr)] string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_AppendPlatformServicesNames([In][MarshalAs(UnmanagedType.BStr)] string names, [In][MarshalAs(UnmanagedType.BStr)] string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetPlatformEngineName([MarshalAs(UnmanagedType.BStr)] out string pVendorName, [MarshalAs(UnmanagedType.BStr)] out string pFileName, [MarshalAs(UnmanagedType.BStr)] out string pStartupOptions, [MarshalAs(UnmanagedType.BStr)] out string pConfigOptions);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_SetPlatformEngineName([In][MarshalAs(UnmanagedType.LPWStr)] string pVendorName, [In][MarshalAs(UnmanagedType.LPWStr)] string pFileName, [In][MarshalAs(UnmanagedType.LPWStr)] string pStartupOptions, [In][MarshalAs(UnmanagedType.LPWStr)] string pConfigOptions);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_CreateFilePath([In][MarshalAs(UnmanagedType.LPWStr)] string pVendorName, [In][MarshalAs(UnmanagedType.LPWStr)] string pFileName, [MarshalAs(UnmanagedType.BStr)] out string pbstrFilePath);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_UnregisterClusterInformation();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_RegisterClusterInformation([In] tagClusterRegistrationInformation clusterRegInfo);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetClusterInformation(out tagClusterRegistrationInformation pClusterInformation);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_ResetPlatformList(out int numPlatforms);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetNextPlatform(out int pId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetPlatformList(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_DeletePlatformIdentity([In] int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetStartupState(out tagPlatformStartupSetting pStartupState);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_SetStartupState([In] tagPlatformStartupSetting startupState);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetPlatformRegister(out int pPlatformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_SetPlatformRegister([In] int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_DeletePlatformInfo();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_DeleteObjectRuntimeInfo();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_DeletePlatformList();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_SetCmdStartOptions([In][MarshalAs(UnmanagedType.LPWStr)] string szCmdOption);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetCmdStartOptions([MarshalAs(UnmanagedType.BStr)] out string pszCmdOption);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_SetPlatformIdentity2([In] int platformId, [In] ref tagPlatformRegistrationInformation2 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetPlatformIdentity2([In] int platformId, out tagPlatformRegistrationInformation2 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetPlatformIdentityFromPlatformName2([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation2 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk3_GetPlatformList2(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void SetPlatformIdentity3([In] int platformId, [In] ref tagPlatformRegistrationInformation3 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformIdentity3([In] int platformId, out tagPlatformRegistrationInformation3 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformIdentityFromPlatformName3([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation3 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformList3(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetPlatformIdentity([In] int platformId, out tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetPlatformIdentityFromPlatformName([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_SetPlatformIdentity([In] int platformId, [In] ref tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetOwnPlatformId(out int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetPlatformServicesNames([In] int maxIn, out int serviceCount, [MarshalAs(UnmanagedType.BStr)] out string names, [MarshalAs(UnmanagedType.BStr)] out string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_SetPlatformServicesNames([In][MarshalAs(UnmanagedType.BStr)] string names, [In][MarshalAs(UnmanagedType.BStr)] string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_AppendPlatformServicesNames([In][MarshalAs(UnmanagedType.BStr)] string names, [In][MarshalAs(UnmanagedType.BStr)] string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetPlatformEngineName([MarshalAs(UnmanagedType.BStr)] out string pVendorName, [MarshalAs(UnmanagedType.BStr)] out string pFileName, [MarshalAs(UnmanagedType.BStr)] out string pStartupOptions, [MarshalAs(UnmanagedType.BStr)] out string pConfigOptions);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_SetPlatformEngineName([In][MarshalAs(UnmanagedType.LPWStr)] string pVendorName, [In][MarshalAs(UnmanagedType.LPWStr)] string pFileName, [In][MarshalAs(UnmanagedType.LPWStr)] string pStartupOptions, [In][MarshalAs(UnmanagedType.LPWStr)] string pConfigOptions);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_CreateFilePath([In][MarshalAs(UnmanagedType.LPWStr)] string pVendorName, [In][MarshalAs(UnmanagedType.LPWStr)] string pFileName, [MarshalAs(UnmanagedType.BStr)] out string pbstrFilePath);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_UnregisterClusterInformation();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_RegisterClusterInformation([In] tagClusterRegistrationInformation clusterRegInfo);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetClusterInformation(out tagClusterRegistrationInformation pClusterInformation);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_ResetPlatformList(out int numPlatforms);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetNextPlatform(out int pId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetPlatformList(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_DeletePlatformIdentity([In] int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetStartupState(out tagPlatformStartupSetting pStartupState);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_SetStartupState([In] tagPlatformStartupSetting startupState);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetPlatformRegister(out int pPlatformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_SetPlatformRegister([In] int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_DeletePlatformInfo();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_DeleteObjectRuntimeInfo();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_DeletePlatformList();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_SetCmdStartOptions([In][MarshalAs(UnmanagedType.LPWStr)] string szCmdOption);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetCmdStartOptions([MarshalAs(UnmanagedType.BStr)] out string pszCmdOption);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_SetPlatformIdentity2([In] int platformId, [In] ref tagPlatformRegistrationInformation2 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetPlatformIdentity2([In] int platformId, out tagPlatformRegistrationInformation2 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetPlatformIdentityFromPlatformName2([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation2 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetPlatformList2(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_SetPlatformIdentity3([In] int platformId, [In] ref tagPlatformRegistrationInformation3 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetPlatformIdentity3([In] int platformId, out tagPlatformRegistrationInformation3 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetPlatformIdentityFromPlatformName3([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation3 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk4_GetPlatformList3(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void SetPlatformIdentity4([In] int platformId, [In] ref tagPlatformRegistrationInformation4 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformIdentity4([In] int platformId, out tagPlatformRegistrationInformation4 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformIdentityFromPlatformName4([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation4 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPlatformList4(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformIdentity([In] int platformId, out tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformIdentityFromPlatformName([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_SetPlatformIdentity([In] int platformId, [In] ref tagPlatformRegistrationInformation pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetOwnPlatformId(out int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformServicesNames([In] int maxIn, out int serviceCount, [MarshalAs(UnmanagedType.BStr)] out string names, [MarshalAs(UnmanagedType.BStr)] out string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_SetPlatformServicesNames([In][MarshalAs(UnmanagedType.BStr)] string names, [In][MarshalAs(UnmanagedType.BStr)] string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_AppendPlatformServicesNames([In][MarshalAs(UnmanagedType.BStr)] string names, [In][MarshalAs(UnmanagedType.BStr)] string options);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformEngineName([MarshalAs(UnmanagedType.BStr)] out string pVendorName, [MarshalAs(UnmanagedType.BStr)] out string pFileName, [MarshalAs(UnmanagedType.BStr)] out string pStartupOptions, [MarshalAs(UnmanagedType.BStr)] out string pConfigOptions);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_SetPlatformEngineName([In][MarshalAs(UnmanagedType.LPWStr)] string pVendorName, [In][MarshalAs(UnmanagedType.LPWStr)] string pFileName, [In][MarshalAs(UnmanagedType.LPWStr)] string pStartupOptions, [In][MarshalAs(UnmanagedType.LPWStr)] string pConfigOptions);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_CreateFilePath([In][MarshalAs(UnmanagedType.LPWStr)] string pVendorName, [In][MarshalAs(UnmanagedType.LPWStr)] string pFileName, [MarshalAs(UnmanagedType.BStr)] out string pbstrFilePath);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_UnregisterClusterInformation();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_RegisterClusterInformation([In] tagClusterRegistrationInformation clusterRegInfo);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetClusterInformation(out tagClusterRegistrationInformation pClusterInformation);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_ResetPlatformList(out int numPlatforms);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetNextPlatform(out int pId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformList(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_DeletePlatformIdentity([In] int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetStartupState(out tagPlatformStartupSetting pStartupState);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_SetStartupState([In] tagPlatformStartupSetting startupState);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformRegister(out int pPlatformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_SetPlatformRegister([In] int platformId);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_DeletePlatformInfo();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_DeleteObjectRuntimeInfo();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_DeletePlatformList();
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_SetCmdStartOptions([In][MarshalAs(UnmanagedType.LPWStr)] string szCmdOption);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetCmdStartOptions([MarshalAs(UnmanagedType.BStr)] out string pszCmdOption);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_SetPlatformIdentity2([In] int platformId, [In] ref tagPlatformRegistrationInformation2 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformIdentity2([In] int platformId, out tagPlatformRegistrationInformation2 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformIdentityFromPlatformName2([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation2 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformList2(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_SetPlatformIdentity3([In] int platformId, [In] ref tagPlatformRegistrationInformation3 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformIdentity3([In] int platformId, out tagPlatformRegistrationInformation3 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformIdentityFromPlatformName3([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation3 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformList3(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_SetPlatformIdentity4([In] int platformId, [In] ref tagPlatformRegistrationInformation4 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformIdentity4([In] int platformId, out tagPlatformRegistrationInformation4 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformIdentityFromPlatformName4([In][MarshalAs(UnmanagedType.LPWStr)] string pPlatformName, out tagPlatformRegistrationInformation4 pPlatformIdentity);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void IPlatformInformationClerk5_GetPlatformList4(out int plTotalPlatforms, [Out] IntPtr ppPlatformList);
[MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)]
public virtual extern void GetPartnerPlatformSUPStatus([In] int platformId, [In] int partnerPlatformId, out int supStatus);
}