// interopsvcB.idl : IDL source for interopsvcB
//

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

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

[
	object,
	uuid(E0313F6C-8980-4C15-B398-3E1FFE4B8620),
	dual,
	nonextensible,
	helpstring("IinteropB Interface"),
	pointer_default(unique)
]
interface IinteropB : IDispatch{
	[id(1), helpstring("method echoStructAsSimpleTypes")] HRESULT echoStructAsSimpleTypes([in] VARIANT inputStruct, [out] BSTR *outputString, [out] int *outputInteger, [out] float *outputFloat);
	[id(2), helpstring("method echoSimpleTypesAsStruct")] HRESULT echoSimpleTypesAsStruct([in] BSTR inputString, [in] int inputInteger, [in] float inputFloat, [out, retval] VARIANT *outputStruct);
	[id(3), helpstring("method echo2DStringArray")] HRESULT echo2DStringArray([in] VARIANT input2DStringArray, [out, retval] VARIANT *output2DStringArray);
	[id(4), helpstring("method echoNestedStruct")] HRESULT echoNestedStruct([in] VARIANT inputStruct, [out, retval] VARIANT *outputStruct);
	[id(5), helpstring("method echoNestedArray")] HRESULT echoNestedArray([in] VARIANT inputStruct, [out, retval] VARIANT *outputStruct);
};
[
	uuid(0FB4EEB5-876C-4F47-8397-92FE27E787C5),
	version(1.0),
	helpstring("interopsvcB 1.0 Type Library")
]
library interopsvcBLib
{
	importlib("stdole2.tlb");
	[
		uuid(1972B99C-8704-4A75-9061-15939E06C96C),
		helpstring("interopB Class")
	]
	coclass interopB
	{
		[default] interface IinteropB;
	};
};
