// soap12testsvcrpc.idl : IDL source for soap12testsvcrpc
//

// This file will be processed by the MIDL tool to
// produce the type library (soap12testsvcrpc.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";

[
	object,
	uuid(303A1A50-0D1D-4464-B3DE-92D5802F2E90),
	dual,
	nonextensible,
	helpstring("Isoap12testsvcrpc Interface"),
	pointer_default(unique)
]
interface Isoap12testsvcrpc : IDispatch{
	[id(1), helpstring("method returnVoid")] HRESULT returnVoid();
	[id(2), helpstring("method echoStruct")] HRESULT echoStruct([in] VARIANT inputStruct, [out, retval] VARIANT *outputStruct);
	[id(3), helpstring("method echoStructArray")] HRESULT echoStructArray([in] VARIANT inputStructArray, [out, retval] VARIANT *outputStructArray);
	[id(4), helpstring("method echoStructAsSimpleTypes")] HRESULT echoStructAsSimpleTypes([in] VARIANT inputStruct, [out] BSTR *outputString, [out] int *outputInteger, [out] float *outputFloat);
	[id(5), helpstring("method echoSimpleTypesAsStruct")] HRESULT echoSimpleTypesAsStruct([in] BSTR inputString, [in] int inputInteger, [in] float inputFloat, [out, retval] VARIANT *outputStruct);
	[id(6), helpstring("method echo2DStringArray")] HRESULT echo2DStringArray([in] VARIANT input2DStringArray, [out, retval] VARIANT *output2DStringArray);
	[id(7), helpstring("method echoNestedStruct")] HRESULT echoNestedStruct([in] VARIANT inputStruct, [out, retval] VARIANT *outputStruct);
	[id(8), helpstring("method echoNestedArray")] HRESULT echoNestedArray([in] VARIANT inputStruct, [out, retval] VARIANT *outputStruct);
    [id(9), helpstring("method echoString")] HRESULT echoString([in] VARIANT inputString, [out,retval] VARIANT* outputString);
	[id(10), helpstring("method echoStringArray")] HRESULT echoStringArray([in] VARIANT inputStringArray, [out, retval] VARIANT *outputStringArray);
	[id(11), helpstring("method echoInteger")] HRESULT echoInteger([in] VARIANT inputInteger, [out, retval] VARIANT *outputInteger);
	[id(12), helpstring("method echoIntegerArray")] HRESULT echoIntegerArray([in] VARIANT inputIntegerArray, [out, retval] VARIANT *outputIntegerArray);
	[id(13), helpstring("method echoFloat")] HRESULT echoFloat([in] VARIANT inputFloat, [out, retval] VARIANT *outputFloat);
	[id(14), helpstring("method echoFloatArray")] HRESULT echoFloatArray([in] VARIANT inputFloatArray, [out, retval] VARIANT *outputFloatArray);
	[id(15), helpstring("method echoBase64")] HRESULT echoBase64([in] VARIANT inputBase64, [out, retval] VARIANT *outputBase64);
	[id(16), helpstring("method echoHexBinary")] HRESULT echoHexBinary([in] VARIANT inputHexBinary, [out, retval] VARIANT *outputHexBinary);
	[id(17), helpstring("method echoDate")] HRESULT echoDate([in] VARIANT inputDate, [out, retval] VARIANT *outputDate);
	[id(18), helpstring("method echoDecimal")] HRESULT echoDecimal([in] VARIANT inputDecimal, [out, retval] VARIANT *outputDecimal);
	[id(19), helpstring("method echoBoolean")] HRESULT echoBoolean([in] VARIANT inputBoolean, [out, retval] VARIANT *outputBoolean);
	[id(20), helpstring("method countItems")] HRESULT countItems([in] VARIANT inputStringArray, [out, retval] int *nCount);
	[id(21), helpstring("method getTime")] HRESULT getTime([in] BSTR bstrExtraPath, [in] BSTR bstrQueryString, [out, retval] VARIANT *pReturnValue);
	[id(22), helpstring("method echoVoid")] HRESULT echoVoid();
	[id(23), helpstring("method echoDouble")] HRESULT echoDouble([in] VARIANT inputDouble, [out, retval] VARIANT *outputDouble);
	[id(24), helpstring("method echoDateTime")] HRESULT echoDateTime([in] VARIANT inputDateTime, [out, retval] VARIANT *outputDateTime);
	[id(25), helpstring("method echoTime")] HRESULT echoTime([in] VARIANT inputTime, [out, retval] VARIANT *outputTime);
	[id(26), helpstring("method echoAnyURI")] HRESULT echoAnyURI([in] VARIANT inputAnyURI, [out, retval] VARIANT *outputAnyURI);
	[id(27), helpstring("method echoLong")] HRESULT echoLong([in] VARIANT inputLong, [out, retval] VARIANT *outputLong);
	[id(28), helpstring("method echoInt")] HRESULT echoInt([in] VARIANT inputInt, [out, retval] VARIANT *outputInt);
	[id(29), helpstring("method echoShort")] HRESULT echoShort([in] VARIANT inputShort, [out, retval] VARIANT *outputShort);
	[id(30), helpstring("method echoByte")] HRESULT echoByte([in] VARIANT inputByte, [out, retval] VARIANT *outputByte);
	[id(31), helpstring("method echoUnsignedLong")] HRESULT echoUnsignedLong([in] VARIANT inputUnsignedLong, [out, retval] VARIANT *outputUnsignedLong);
	[id(32), helpstring("method echoUnsignedInt")] HRESULT echoUnsignedInt([in] VARIANT inputUnsignedInt, [out, retval] VARIANT *outputUnsignedInt);
	[id(33), helpstring("method echoUnsignedShort")] HRESULT echoUnsignedShort([in] VARIANT inputUnsignedShort, [out, retval] VARIANT *outputUnsignedShort);
	[id(34), helpstring("method echoUnsignedByte")] HRESULT echoUnsignedByte([in] VARIANT inputUnsignedByte, [out, retval] VARIANT *outputUnsignedByte);
	[id(35), helpstring("method isNil")] HRESULT isNil([in] VARIANT inputString, [out, retval] VARIANT *Result);

};
[
	uuid(011DC22E-7493-4F50-B66E-D94552732090),
	version(1.0),
	helpstring("soap12testsvcrpc 1.0 Type Library")
]
library soap12testsvcrpcLib
{
	importlib("stdole2.tlb");
	[
		uuid(F9EB752A-274B-465A-AC3E-AB895FF7E64F),
		helpstring("soap12testsvcrpc Class")
	]
	coclass soap12testsvcrpc
	{
		[default] interface Isoap12testsvcrpc;
	};
};
