
/*++

    Copyright (c) 2000  Microsoft Corporation.  All Rights Reserved.

    Module Name:

        dsnetifc.idl

    Abstract:

        Contains the IDL for interface(s) exposed by the filters.

    Notes:

--*/

import "unknwn.idl" ;
import "wtypes.idl" ;

//
//  filter CLSIDs
//

cpp_quote("// {CE3B76CB-9540-48fa-9974-69A625D478E3}")
cpp_quote("DEFINE_GUID(CLSID_DSNetSend,")
cpp_quote("0xce3b76cb, 0x9540, 0x48fa, 0x99, 0x74, 0x69, 0xa6, 0x25, 0xd4, 0x78, 0xe3);")

cpp_quote("// {319F0815-ACEF-45fe-B497-A2E5D90A69D7}")
cpp_quote("DEFINE_GUID(CLSID_DSNetReceive,")
cpp_quote("0x319f0815, 0xacef, 0x45fe, 0xb4, 0x97, 0xa2, 0xe5, 0xd9, 0xa, 0x69, 0xd7);")

//
//  property page CLSIDs
//

cpp_quote("// {03EC9C19-13C4-43d7-B183-895CB89E761C}")
cpp_quote("DEFINE_GUID(CLSID_IPMulticastSendProppage,")
cpp_quote("0x3ec9c19, 0x13c4, 0x43d7, 0xb1, 0x83, 0x89, 0x5c, 0xb8, 0x9e, 0x76, 0x1c);")

cpp_quote("// {DC01D8AD-2BF8-4914-A15E-231A96C04B0A}")
cpp_quote("DEFINE_GUID(CLSID_IPMulticastRecvProppage,")
cpp_quote("0xdc01d8ad, 0x2bf8, 0x4914, 0xa1, 0x5e, 0x23, 0x1a, 0x96, 0xc0, 0x4b, 0xa);")

//
//  interfaces
//

interface IMulticastConfig ;

[
    object,
	uuid (1CB42CC8-D32C-4f73-9267-C114DA470378)
]
interface IMulticastConfig  : IUnknown
{
    HRESULT
    SetNetworkInterface (
        [in]    ULONG   ulNIC               //  network order
        ) ;

    HRESULT
    GetNetworkInterface (
        [out]   ULONG * pNIC                //  network order
        ) ;

    HRESULT
    SetMulticastGroup (
        [in]    ULONG   ulIP,               //  network order
        [in]    USHORT  usPort              //  network order
        ) ;

    HRESULT
    GetMulticastGroup (
        [out]   ULONG *     pIP,            //  network order
        [out]   USHORT *    pPort           //  network order
        ) ;
} ;

cpp_quote("#define DECLARE_IMULTICASTCONFIG();\\")
cpp_quote("virtual STDMETHODIMP SetNetworkInterface (ULONG) ;\\")
cpp_quote("virtual STDMETHODIMP GetNetworkInterface (ULONG *) ;\\")
cpp_quote("virtual STDMETHODIMP SetMulticastGroup (ULONG, USHORT) ;\\")
cpp_quote("virtual STDMETHODIMP GetMulticastGroup (ULONG *, USHORT*) ;")
