//*@@@+++@@@@******************************************************************
//
// Microsoft Windows Media
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//*@@@---@@@@******************************************************************
//

cpp_quote( "//=========================================================================" )
cpp_quote( "//" )
cpp_quote( "// Microsoft Windows Media Technologies" )
cpp_quote( "// Copyright (C) Microsoft Corporation.  All Rights Reserved." )
cpp_quote( "//" )
cpp_quote( "//=========================================================================" )

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

import "oaidl.idl";
import "ocidl.idl";
[
	object,
	uuid(9EA69F99-F8FF-415E-8B90-35D6DFAF160E),
	dual,
	helpstring("IRMGetLicense Interface"),
	pointer_default(unique)
]
interface IRMGetLicense : IDispatch
{
	[helpstring("method GetLicenseFromURL")]
	HRESULT GetLicenseFromURL([in] BSTR bstrXMLDoc, [in] BSTR bstrURL);

	[helpstring("method GetSystemInfo")] 
	HRESULT GetSystemInfo([out, retval] BSTR *pbstrXMLDoc);

	[helpstring("method StoreLicense")] 
	HRESULT StoreLicense([in] BSTR bstrXMLDoc);

	[helpstring("method GetDRMVersion")] 
	HRESULT GetDRMVersion([out, retval] BSTR *pbstrDRMVersion);

	[helpstring("method GetDRMSecurityVersion")] 
	HRESULT GetDRMSecurityVersion([out, retval] BSTR *pbstrDRMSecurityVersion);

	[helpstring("method GetLicenseFromURLAsync")]
	HRESULT GetLicenseFromURLAsync([in] BSTR bstrXMLDoc, [in] BSTR bstrURL);

	[helpstring("method GetAsyncCallStatus")]
	HRESULT GetAsyncCallStatus([in, out] VARIANT *pvarStatus, [in, out] VARIANT *pvarHResult);
};


[
	object,
	uuid(760C4B82-E211-11D2-BF3E-00805FBE84A6),
	dual,
	helpstring("Windows Media Services DRM Storage Interface"),
	nonextensible,
	pointer_default(unique)
]
interface IWMSDrmStore : IDispatch
{
    [id(1), helpstring("Used to give a license to DRM to store.")] HRESULT
	StoreLicense([in] BSTR bstrLicense);
};


[
	uuid(8AA720BF-7468-4DA1-97DA-66D2E41B3DDA),
	version(1.0),
	helpstring("msnetobj 1.0 Type Library")
]
library MSNETOBJLib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	[
		uuid(A9FC132B-096D-460B-B7D5-1DB0FAE0C062),
		helpstring("RMGetLicense Class")
	]
	coclass RMGetLicense
	{
		[default] interface IRMGetLicense;
	};

	[
		uuid(760C4B83-E211-11D2-BF3E-00805FBE84A6),
		helpstring("WMSDrmStore Class")
	]
    coclass WMSDrmStore
	{
		[default] interface IWMSDrmStore;
	};
};
