public void BeginSource(uint aIndex, CallbackAsyncComplete aCallback)
{
Invocation invocation = iService.Invocation(iActionSource, aCallback);
int inIndex = 0;
invocation.AddInput(new ArgumentUint((ParameterUint)iActionSource.InputParameter(inIndex++), aIndex));
int outIndex = 0;
invocation.AddOutput(new ArgumentString((ParameterString)iActionSource.OutputParameter(outIndex++)));
invocation.AddOutput(new ArgumentString((ParameterString)iActionSource.OutputParameter(outIndex++)));
invocation.AddOutput(new ArgumentString((ParameterString)iActionSource.OutputParameter(outIndex++)));
invocation.AddOutput(new ArgumentBool((ParameterBool)iActionSource.OutputParameter(outIndex++)));
iService.InvokeAction(invocation);
}