beautypg.com

3 ipeanalyzer::getlinkstatus, Parameters, Return values – Teledyne LeCroy Automation API for Teledyne LeCroy PETracer_PETrainer User Manual

Page 25: Remarks, Example, Ipeanalyzer* poanalyzer, Uses_conversion, Sysfreestring( link_status ), Ipeanalyzer::getlinkstatus

background image

Teledyne LeCroy

Automation API for PETracer/PETrainer

20

3.2.3 IPEAnalyzer::GetLinkStatus


HRESULT GetLinkStatus (

[out] VARIANT* fc_status ,
[out, retval] BSTR* link_status )

Returns two text strings with the link and flow control status.

Parameters

fc_status

Flow control status, one of the following values can be returned:

Pending”, “Complete”, or “Not initialized”

link_status

Link status, one of the following values can be returned: “Detect.Quiet”,

Detect.Active”, “Polling.Active”, “Polling.Compliance”,
Polling.Configuration”, “Polling.Speed”,
Configuration.Linkwidth.Start”, “Configuration.Linkwidth.Accept”,
Configuration.Lanenum.Wait”, “Configuration.Lanenum.Accept”,
Configuration.Complete”, “Configuration.Idle”, “L0”, “L0s.Idle”,
L0s.FTS”, “L1”, “L2”, “Recovery.RcvrLock”, “Recovery.RcvrCfg”,
Recovery.Idle”, “Loopback”, “Hot Reset”, or “Disabled”

Return values


Remarks


Example


C++:

IPEAnalyzer* poAnalyzer;


. . .

BSTR link_status; // Link Status
VARIANT pe_status; // Flow Control
VariantInit(&pe_status);
try

{

link_status = poAnalyzer->GetLinkStatus( &pe_status );
}
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;

}


USES_CONVERSION;
TCHAR str_status[512];
_tcscpy( str_status, "Link Status: ");
_tcscat( str_status, OLE2T( link_status) );
_tcscat( str_status, "; Flow Control: ");
_tcscat( str_status, OLE2T(V_BSTR(&pe_status)) );

SysFreeString( link_status );

::MessageBox( NULL, str_status, _T("Status"), MB_OK );