Teledyne LeCroy SAS_SATA Automation API manual User Manual

Page 107

Advertising
background image

 

Automation API for Teledyne LeCroy SAS/SATA Protocol Suite

101

SASPacket Object

Teledyne LeCroy

</SCRIPT>

C++:

ISASPacket* custom_packet;
LONG packet_number;
. . .
VARIANT packet_data;
double timestamp_ns;
VariantInit( &packet_data );
long number_of_bytes;
try
{
number_of_bytes = custom_packet-

>GetPacketData(PACKETFORMAT_BYTES,

&packet_data);

timestamp_ns = custom_packet->GetTimestamp ( );
}
catch (_com_error& er)
{
if (er.Description().length() > 0)
::MessageBox( NULL, er.Description(), _T("SASTracer

client"), MB_OK );

else
::MessageBox( NULL, er.ErrorMessage(),_T("SASTracer

client"), MB_OK );

return 1;
}
if ( packet_data.vt == ( VT_ARRAY | VT_VARIANT) )
{
SAFEARRAY* packet_safearray = packet_data.parray;
TCHAR* packet_message =
new TCHAR [ 3*packet_safearray->rgsabound[0].cElements

+ 64 ];

TCHAR elem[64];
_stprintf(packet_message, _T("packet #%ld: "),
GetDlgItemInt(IDC_PACKET_NUMBER));
_stprintf( elem, _T(" %.0lf ns"), timestamp_ns );
_tcscat( packet_message, elem );
_stprintf( elem, _T(", %d bytes: "), number_of_bytes

);

_tcscat( packet_message, elem );

Advertising