// wmsoapstruct.idl : IDL source for wmsoapstruct
//

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

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

[
	object,
	uuid(3C7923AD-DA15-4CC5-9E4A-21F413E772FB),
	dual,
	nonextensible,
	helpstring("Iwmsoapstruct Interface"),
	pointer_default(unique)
]
interface Iwmsoapstruct : IDispatch{
	[id(1), helpstring("method GetMember")] HRESULT GetMember([in] BSTR bstrName, [out] VARIANT *pvarValue, [out, retval] VARIANT_BOOL *pResult);
	[id(2), helpstring("method SetMember")] HRESULT SetMember([in] BSTR bstrName, [in] VARIANT varValue, [out, retval] VARIANT_BOOL *pResult);
	[id(3), helpstring("method GetFirstMember")] HRESULT GetFirstMember([out] BSTR *pbstrName, [out] VARIANT *pvarValue,  [out] long *plPosition, [out, retval] VARIANT_BOOL *pResult);
	[id(4), helpstring("method GetNextMember")] HRESULT GetNextMember([out] BSTR *pbstrName, [out] VARIANT *pvarValue,  [in, out] long *plPosition, [out, retval] VARIANT_BOOL *pResult);
	[id(5), helpstring("method GetMemberQN")] HRESULT GetMemberQN([in] BSTR bstrName, [in] BSTR bstrNS, [out] VARIANT *pvarValue, [out, retval] VARIANT_BOOL *pResult);
	[id(6), helpstring("method SetMemberQN")] HRESULT SetMemberQN([in] BSTR bstrName, [in] BSTR bstrNS, [in] VARIANT varValue, [out, retval] VARIANT_BOOL *pResult);
	[id(7), helpstring("method GetFirstMemberQN")] HRESULT GetFirstMemberQN([out] BSTR *pbstrName, [out] BSTR *pbstrNS, [out] VARIANT *pvarValue, [out] long *plPosition, [out, retval] VARIANT_BOOL *pResult);
	[id(8), helpstring("method GetNextMemberQN")] HRESULT GetNextMemberQN([out] BSTR *pbstrName, [out] BSTR *pbstrNS, [out] VARIANT *pvarValue, [in, out] long *plPosition, [out, retval] VARIANT_BOOL *pResult);
};
[
	uuid(0B051B74-88EB-473E-B0F1-1409E3626369),
	version(1.0),
	helpstring("wmsoapstruct 1.0 Type Library")
]
library wmsoapstructLib
{
	importlib("stdole2.tlb");
	[
		uuid(5529BDE0-14E8-4F8C-840D-E36CEEB278FF),
		helpstring("wmsoapstruct Class")
	]
	coclass wmsoapstruct
	{
		[default] interface Iwmsoapstruct;
	};
};
