xpmgr/BuildTools/Include/wmnetsourcecreator.idl

100 lines
2.7 KiB
Plaintext

//*****************************************************************************
//
// Microsoft Windows Media
// Copyright (C) Microsoft Corporation. All rights reserved.
//
// FileName: WMNetSourceCreator.idl
//
// Abstract:
//
//*****************************************************************************
cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("// Microsoft Windows Media")
cpp_quote("// Copyright (C) Microsoft Corporation. All rights reserved")
cpp_quote("//")
cpp_quote("// Automatically generated by Midl from WMNetSourceCreator.idl")
cpp_quote("//")
cpp_quote("// DO NOT EDIT THIS FILE.")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")
import "oaidl.idl";
cpp_quote( "EXTERN_GUID( CLSID_ClientNetManager, 0xCD12A3CE,0x9C42,0x11D2,0xBE,0xED,0x00,0x60,0x08,0x2F,0x20,0x54 );" )
cpp_quote( "EXTERN_GUID( IID_INSNetSourceCreator, 0x0C0E4080,0x9081,0x11d2,0xBE,0xEC,0x00,0x60,0x08,0x2F,0x20,0x54 );" )
interface INSNetSourceCreator;
typedef unsigned __int64 QWORD;
//////////////////////////////////////////////////////////////////////////////
//
// Interface for creating a NetSource plugin.
//
[
object,
uuid(0C0E4080-9081-11d2-BEEC-0060082F2054),
version(1.0),
pointer_default(unique)
]
interface INSNetSourceCreator : IUnknown
{
HRESULT Initialize();
//
// This method is called to create an instance of the a particular
// Network Source plugin
//
HRESULT CreateNetSource(
[in] LPCWSTR pszStreamName,
[in] IUnknown *pMonitor,
[in] BYTE *pData,
[in] IUnknown *pUserContext,
[in] IUnknown *pCallback,
[in] QWORD qwContext
);
//
// This method returns the namespace node for the properties of the
// the Network Source plugin that would be used given the
// provided stream name.
//
HRESULT GetNetSourceProperties(
[in] LPCWSTR pszStreamName,
[out] IUnknown **ppPropertiesNode
);
//
// Returns part of the Namespace that is used for values that are
// shared among all Network Source plugins
//
HRESULT GetNetSourceSharedNamespace(
[out] IUnknown **ppSharedNamespace
);
HRESULT GetNetSourceAdminInterface(
[in] LPCWSTR pszStreamName,
[out] VARIANT *pVal
);
//
// Iterate through the network protocols supported
//
HRESULT GetNumProtocolsSupported(
[out] DWORD *pcProtocols
);
HRESULT GetProtocolName(
[in] DWORD dwProtocolNum,
[out] WCHAR *pwszProtocolName,
[in, out] WORD *pcchProtocolName
);
HRESULT Shutdown();
};