Teledyne LeCroy SAS_SATA Automation API manual User Manual
Page 78
Teledyne LeCroy
SASTrace Object
72
Automation API for Teledyne LeCroy SAS/SATA Protocol Suite
if ( packet.vt == ( VT_ARRAY | VT_VARIANT) )
{
SAFEARRAY* packet_safearray = packet.parray;
TCHAR packet_message[256];
TCHAR elem[64];
_stprintf( packet_message, _T("packet #%ld: "),
packet_number );
for ( long i=0; i<(long)packet_safearray-
>rgsabound[0].cElements; i++)
{
VARIANT var;
HRESULT hr =
SafeArrayGetElement(packet_safearray, &i, &var);
if (FAILED(hr))
{
::MessageBox(NULL, _T("Error accessing array"),
_T("SASTracer client"), MB_OK);
return 1;
}
if ( var.vt != ( VT_UI1) )
{
::MessageBox(NULL, _T("Array of bytes expected"),
_T("SASTracer client"), MB_OK);
return 1;
}
_stprintf( elem, _T("%02X "), V_UI1(&var) );
_tcscat( packet_message, elem );
}
_stprintf( elem, _T("%d bits"), number_of_bits );
_tcscat( packet_message, elem );
::MessageBox( NULL, packet_message, _T("Raw packet
bits"), MB_OK );
}
else
{
::MessageBox(NULL, _T("Invalid argument"),
_T("SASTracer client"), MB_OK);
}