public void MarshalSaHpiDimiTestVariableParamsT( SaHpiDimiTestVariableParamsT x ) { MarshalByteArray( x.ParamName, HpiConst.SAHPI_DIMITEST_PARAM_NAME_LEN ); MarshalSaHpiDimiTestParamTypeT( x.ParamType ); MarshalSaHpiDimiTestParamValueT( x.Value, x.ParamType ); }
/** * Check function for HPI struct SaHpiDimiTestVariableParamsT */ public static bool Check( SaHpiDimiTestVariableParamsT x ) { if ( x == null ) { return false; } if ( x.ParamName == null ) { return false; } if ( x.ParamName.Length != HpiConst.SAHPI_DIMITEST_PARAM_NAME_LEN ) { return false; } if ( !Check( x.Value, x.ParamType ) ) { return false; } return true; }
public SaHpiDimiTestVariableParamsT DemarshalSaHpiDimiTestVariableParamsT() { SaHpiDimiTestVariableParamsT x = new SaHpiDimiTestVariableParamsT(); x.ParamName = DemarshalByteArray( HpiConst.SAHPI_DIMITEST_PARAM_NAME_LEN ); x.ParamType = DemarshalSaHpiDimiTestParamTypeT(); x.Value = DemarshalSaHpiDimiTestParamValueT( x.ParamType ); return x; }
public static long saHpiDimiTestStart( long SessionId, long ResourceId, long DimiNum, long TestNum, long NumberOfParams, SaHpiDimiTestVariableParamsT[] ParamsList ) { long rv; bool rc; if ( NumberOfParams != 0 ) { if ( ParamsList == null ) { return HpiConst.SA_ERR_HPI_INVALID_PARAMS; } if ( NumberOfParams > ParamsList.Length ) { return HpiConst.SA_ERR_HPI_INVALID_PARAMS; } for ( int i = 0; i < NumberOfParams; ++i ) { rc = HpiUtil.Check( ParamsList[i] ); if ( !rc ) { return HpiConst.SA_ERR_HPI_INVALID_PARAMS; } } } HpiSession s = HpiCore.GetSession( SessionId ); if ( s == null ) { return HpiConst.SA_ERR_HPI_INVALID_SESSION; } OhpiMarshal m = s.GetMarshal(); if ( m == null ) { return HpiConst.SA_ERR_HPI_NO_RESPONSE; } m.MarshalSaHpiSessionIdT( s.GetRemoteSid() ); m.MarshalSaHpiResourceIdT( ResourceId ); m.MarshalSaHpiDimiNumT( DimiNum ); m.MarshalSaHpiDimiTestNumT( TestNum ); m.MarshalSaHpiUint8T( NumberOfParams ); for ( int i = 0; i < NumberOfParams; ++i ) { m.MarshalSaHpiDimiTestVariableParamsT( ParamsList[i] ); } rc = m.Interchange( OhpiConst.RPC_SAHPI_DIMI_TEST_START ); if ( !rc ) { m.Close(); return HpiConst.SA_ERR_HPI_NO_RESPONSE; } rv = m.DemarshalSaErrorT(); if ( rv == HpiConst.SA_OK ) { // No output arguments } s.PutMarshal( m ); return rv; }