3 itrace::save, Parameters, Remarks – Teledyne LeCroy Automation API for Teledyne LeCroy PETracer_PETrainer User Manual
Page 36: Example, Itrace::save

Teledyne LeCroy
Automation API for PETracer/PETrainer
31
4.1.3 ITrace::Save
HRESULT Save (
[in] BSTR file_name,
[in, defaultvalue(-1)] long packet_from,
[in, defaultvalue(-1)] long packet_to )
Saves trace into a file while allowing you to specify a range of packets.
Parameters
file_name
String providing the full pathname to file where the trace is saved
packet_from
beginning packet number when you are saving a range of packets;
value –1 means that the first packet of the saved trace is the first
packet of this trace
packet_to
ending packet number when you are saving a range of packets; value –
1 means that the last packet of the saved trace is the last packet of
this trace
Return values
ANALYZERCOMERROR_UNABLESAVE
Unable to save the trace file
ANALYZERCOMERROR_INVALIDPACKETNUMBER
Bad packet range
Remarks
Use this method if you want to save a recorded or an opened trace into a file. If the display options
applied to this trace (see
ITrace::ApplyDisplayOptions on Page 27
or
IAnalyzer::LoadDisplayOptions on Page
14), then hidden packets would not be saved.
If the packet range specified is invalid (for example, packet_to is more than the last packet number in
the trace, or packet_from is less than the first packet number in the trace, or packet_from is more than
packet_to), then the packet range is adjusted automatically.
Example
WSH:
Set Analyzer = WScript.CreateObject( “CATC.PETracer” )
CurrentDir = Left( WScript.ScriptFullName, InstrRev( WScript.ScriptFullName, “\” ) )
Set Trace = Analyzer.MakeRecording (CurrentDir & "Input\test_ro.rec")
Trace.ApplyDisplayOptions CurrentDir & "Input\test_do.opt"
Trace.Save CurrentDir & "Output\saved_file.pex"
C++:
IPETrace* pe_trace;
TCHAR file_name[_MAX_PATH];
LONG packet_from;
LONG packet_to;
. . .
try
{
pe_trace->Save( file_name, packet_from, packet_to );
}
catch ( _com_error& er)
{
if (er.Description().length() > 0)
::MessageBox( NULL, er.Description(), _T("PETracer client"), MB_OK );
else
::MessageBox( NULL, er.ErrorMessage(), _T("PETracer client"), MB_OK );
return 1;
}