namespace MxNativeClient; public static class NmxProcedureMetadata { public static readonly Guid INmxService2 = new("2630A513-A974-4B1A-8025-457A9A7C56B8"); public static readonly Guid INmxSvcCallback = new("B49F92F7-C748-4169-8ECA-A0670B012746"); public static readonly NdrProcedureDescriptor RegisterEngine = new( InterfaceId: INmxService2, Name: nameof(RegisterEngine), Opnum: 3, X86StackSize: 20, ClientBufferSize: 8, ServerBufferSize: 8, ParameterCountIncludingReturn: 4); public static readonly NdrProcedureDescriptor UnRegisterEngine = new( InterfaceId: INmxService2, Name: nameof(UnRegisterEngine), Opnum: 4, X86StackSize: 12, ClientBufferSize: 8, ServerBufferSize: 8, ParameterCountIncludingReturn: 2); public static readonly NdrProcedureDescriptor Connect = new( InterfaceId: INmxService2, Name: nameof(Connect), Opnum: 5, X86StackSize: 24, ClientBufferSize: 32, ServerBufferSize: 8, ParameterCountIncludingReturn: 5); public static readonly NdrProcedureDescriptor TransferData = new( InterfaceId: INmxService2, Name: nameof(TransferData), Opnum: 6, X86StackSize: 28, ClientBufferSize: 32, ServerBufferSize: 8, ParameterCountIncludingReturn: 6); public static readonly NdrProcedureDescriptor AddSubscriberEngine = new( InterfaceId: INmxService2, Name: nameof(AddSubscriberEngine), Opnum: 7, X86StackSize: 24, ClientBufferSize: 32, ServerBufferSize: 8, ParameterCountIncludingReturn: 5); public static readonly NdrProcedureDescriptor RemoveSubscriberEngine = new( InterfaceId: INmxService2, Name: nameof(RemoveSubscriberEngine), Opnum: 8, X86StackSize: 24, ClientBufferSize: 32, ServerBufferSize: 8, ParameterCountIncludingReturn: 5); public static readonly NdrProcedureDescriptor SetHeartbeatSendInterval = new( InterfaceId: INmxService2, Name: nameof(SetHeartbeatSendInterval), Opnum: 9, X86StackSize: 16, ClientBufferSize: 16, ServerBufferSize: 8, ParameterCountIncludingReturn: 3); public static readonly NdrProcedureDescriptor RegisterEngine2 = new( InterfaceId: INmxService2, Name: nameof(RegisterEngine2), Opnum: 10, X86StackSize: 24, ClientBufferSize: 16, ServerBufferSize: 8, ParameterCountIncludingReturn: 5); public static readonly NdrProcedureDescriptor GetPartnerVersion = new( InterfaceId: INmxService2, Name: nameof(GetPartnerVersion), Opnum: 11, X86StackSize: 24, ClientBufferSize: 24, ServerBufferSize: 36, ParameterCountIncludingReturn: 5); public static readonly NdrProcedureDescriptor DataReceived = new( InterfaceId: INmxSvcCallback, Name: nameof(DataReceived), Opnum: 3, X86StackSize: 16, ClientBufferSize: 8, ServerBufferSize: 8, ParameterCountIncludingReturn: 3); public static readonly NdrProcedureDescriptor StatusReceived = new( InterfaceId: INmxSvcCallback, Name: nameof(StatusReceived), Opnum: 4, X86StackSize: 16, ClientBufferSize: 8, ServerBufferSize: 8, ParameterCountIncludingReturn: 3); } public sealed record NdrProcedureDescriptor( Guid InterfaceId, string Name, int Opnum, int X86StackSize, int ClientBufferSize, int ServerBufferSize, int ParameterCountIncludingReturn);