/// <summary> /// The IDL_DSAPrepareScript method prepares the DC to run a maintenance script. /// Opnum: 0 /// </summary> /// <param name="hRpc"> /// The RPC binding handle, as specified in [C706]. /// </param> /// <param name="dwInVersion"> /// The version of the request message. /// </param> /// <param name="pmsgIn"> /// A pointer to the request message. /// </param> /// <param name="pdwOutVersion"> /// A pointer to the version of the response message. /// </param> /// <param name="pmsgOut"> /// A pointer to the response message. /// </param> public uint IDL_DSAPrepareScript( IntPtr hRpc, uint dwInVersion, //[Switch("dwInVersion")] DSA_MSG_PREPARE_SCRIPT_REQ?pmsgIn, out uint?pdwOutVersion, //[Switch("*pdwOutVersion")] out DSA_MSG_PREPARE_SCRIPT_REPLY?pmsgOut) { const ushort opnum = 0; byte[] requestStub; byte[] responseStub; Int3264[] paramList; SafeIntPtr ptrMsgIn = TypeMarshal.ToIntPtr(pmsgIn, dwInVersion, null, null); paramList = new Int3264[] { dwInVersion, ptrMsgIn, IntPtr.Zero, IntPtr.Zero, 0//retVal }; requestStub = RpceStubEncoder.ToBytes( RpceStubHelper.GetPlatform(), DrsrRpcStubFormatString.TypeFormatString, null, DrsrRpcStubFormatString.ProcFormatString, DrsrRpcStubFormatString.Dsaop_ProcFormatStringOffsetTable[opnum], true, paramList); rpceClientTransport.Call(opnum, requestStub, rpceTimeout, out responseStub); using (RpceInt3264Collection outParamList = RpceStubDecoder.ToParamList( RpceStubHelper.GetPlatform(), DrsrRpcStubFormatString.TypeFormatString, null, DrsrRpcStubFormatString.ProcFormatString, DrsrRpcStubFormatString.Dsaop_ProcFormatStringOffsetTable[opnum], true, responseStub, rpceClientTransport.Context.PackedDataRepresentationFormat, paramList)) { pdwOutVersion = TypeMarshal.ToNullableStruct <uint>(outParamList[2]); pmsgOut = TypeMarshal.ToNullableStruct <DSA_MSG_PREPARE_SCRIPT_REPLY>( outParamList[3], pdwOutVersion, null, null); retVal = outParamList[4].ToUInt32(); } ptrMsgIn.Dispose(); return(retVal); }
/// <summary> /// The common method of all the SWN calls /// </summary> /// <param name="paramList">input param list to decode</param> /// <param name="opnum">opnum of the current SWN calls</param> /// <returns>the decoded paramlist</returns> private RpceInt3264Collection RpceCall(Int3264[] paramList, ushort opnum) { RpceInt3264Collection outParamList = null; byte[] requestStub; byte[] responseStub; requestStub = RpceStubEncoder.ToBytes( RpceStubHelper.GetPlatform(), SwnStubFormatString.TypeFormatString, null, SwnStubFormatString.ProcFormatString, SwnStubFormatString.ProcFormatStringOffsetTable[opnum], true, paramList); rpceClientTransport.Call(opnum, requestStub, rpceTimeout, out responseStub); outParamList = RpceStubDecoder.ToParamList( RpceStubHelper.GetPlatform(), SwnStubFormatString.TypeFormatString, null, SwnStubFormatString.ProcFormatString, SwnStubFormatString.ProcFormatStringOffsetTable[opnum], true, responseStub, rpceClientTransport.Context.PackedDataRepresentationFormat, paramList); return(outParamList); }
/// <summary> /// The common part of all the FSRVP methods /// </summary> /// <param name="paramList">input param list to decode</param> /// <param name="opnum">opnum of the current FSRVP method</param> /// <returns>the decoded paramlist</returns> public RpceInt3264Collection RpceCall(Int3264[] paramList, ushort opnum) { byte[] requestStub; byte[] responseStub; RpceInt3264Collection outParamList = null; requestStub = RpceStubEncoder.ToBytes( RpceStubHelper.GetPlatform(), FsrvpStubFormatString.TypeFormatString, null, FsrvpStubFormatString.ProcFormatString, FsrvpStubFormatString.ProcFormatStringOffsetTable[opnum], true, paramList); rpceClientTransport.Call(opnum, requestStub, rpceTimeout, out responseStub); outParamList = RpceStubDecoder.ToParamList( RpceStubHelper.GetPlatform(), FsrvpStubFormatString.TypeFormatString, null, FsrvpStubFormatString.ProcFormatString, FsrvpStubFormatString.ProcFormatStringOffsetTable[opnum], true, responseStub, paramList); return(outParamList); }