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