Teledyne LeCroy SAS_SATA Automation API manual User Manual

Page 78

Advertising
background image

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);

}

Advertising