
cpp_quote ("/*++")
cpp_quote("                                                                                ")
cpp_quote("Copyright (c) 1998 Microsoft Corporation")
cpp_quote("                                                                                ")
cpp_quote("Module Name: IisLb.h")
cpp_quote("                                                                                ")
cpp_quote("    Load Balancing Interfaces")
cpp_quote("                                                                                ")
cpp_quote ("--*/")
cpp_quote("#ifndef _IisLb_IADM_")
cpp_quote("#define _IisLb_IADM_")

import "unknwn.idl";
import "wtypes.idl";
import "objidl.idl";
import "ocidl.idl";


cpp_quote("DEFINE_GUID(IID_IMSIisLb, 0x996d0030, 0x65c5, 0x11d1, 0xa7, 0x00, 0x0,0xa0, 0xc9, 0x22, 0xe7, 0x52);")
cpp_quote("DEFINE_GUID(CLSID_MSIisLb, 0xa9da4430, 0x65c5, 0x11d1, 0xa7, 0x0, 0x0,0xa0, 0xc9, 0x22, 0xe7, 0x52);")

cpp_quote("/*                                                                              ")
cpp_quote("The Load balancing configuration Interface                                                              ")
cpp_quote("*/                                                                              ")


[
    object,
    uuid(996d0030-65c5-11d1-a700-00a0c922e752),
    pointer_default(unique)
]

interface IMSIisLb : IUnknown {

    // Interfaces

    HRESULT GetIpList(
                    [in] DWORD dwBufferSize,
                    [out, size_is(dwBufferSize)] unsigned char *pbBuffer,
                    [out] DWORD *pdwMDRequiredBufferSize );

    HRESULT SetIpList(
                    [in] DWORD dwBufferSize,
                    [in, size_is(dwBufferSize)] unsigned char *pbBuffer );

    HRESULT GetPerfmonCounters(
                    [in] DWORD dwBufferSize,
                    [out, size_is(dwBufferSize)] unsigned char *pbBuffer,
                    [out] DWORD *pdwMDRequiredBufferSize );

    HRESULT SetPerfmonCounters(
                    [in] DWORD dwBufferSize,
                    [in, size_is(dwBufferSize)] unsigned char *pbBuffer );

	HRESULT GetStickyDuration(
					[out] LPDWORD dwStickyDuration );

	HRESULT SetStickyDuration(
					[in] DWORD dwStickyDuration );
    HRESULT GetIpEndpointList(
                    [in] DWORD dwBufferSize,
                    [out, size_is(dwBufferSize)] unsigned char *pbBuffer,
                    [out] DWORD *pdwMDRequiredBufferSize );

    HRESULT SetDriverState(
                    [in] DWORD dwState );
};


cpp_quote("#endif")

