Teledyne LeCroy SAS_SATA Automation API manual User Manual
Page 107
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 );