public static extern ReturnCode DsmWinNew( [In, Out] TWIdentity origin, [In, Out] TWIdentity destination, DataGroups dg, DataArgumentType dat, Message msg, [In, Out] TWPassThru data);
public static ReturnCode DsmEntry( TWIdentity origin, TWIdentity destination, Message msg, TWPassThru data) { if (PlatformInfo.Current.IsWindows) { if (PlatformInfo.Current.UseNewWinDSM) { return(NativeMethods.DsmWinNew(origin, destination, DataGroups.Control, DataArgumentType.PassThru, msg, data)); } else { return(NativeMethods.DsmWinOld(origin, destination, DataGroups.Control, DataArgumentType.PassThru, msg, data)); } } else if (PlatformInfo.Current.IsLinux) { return(NativeMethods.DsmLinux(origin, destination, DataGroups.Control, DataArgumentType.PassThru, msg, data)); } throw new PlatformNotSupportedException(); }
/// <summary> /// PASSTHRU is intended for the use of Source writers writing diagnostic applications. It allows /// raw communication with the currently selected device in the Source. /// </summary> /// <param name="sourcePassThru">The source pass thru.</param> /// <returns></returns> public ReturnCode PassThrough(TWPassThru sourcePassThru) { Session.VerifyState(4, 7, DataGroups.Control, DataArgumentType.PassThru, Message.PassThru); return(Dsm.DsmEntry(Session.AppId, Session.CurrentSource.Identity, Message.PassThru, sourcePassThru)); }