Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

765 lines
23 KiB

//+---------------------------------------------------------------------------
//
// Copyright 1996 - 1997 Microsoft Corporation. All Rights Reserved.
//
// Contents: Internet Location Services (ILS) Object interfaces
//
//----------------------------------------------------------------------------
cpp_quote("//+-------------------------------------------------------------------------")
cpp_quote("//")
cpp_quote("// Microsoft Windows")
cpp_quote("// Copyright 1996-1997 Microsoft Corporation. All Rights Reserved.")
cpp_quote("//")
cpp_quote("// File: ils.h")
cpp_quote("//")
cpp_quote("//--------------------------------------------------------------------------")
import "objidl.idl";
import "oleidl.idl";
import "oaidl.idl";
interface IIlsServer;
interface IIlsMain;
interface IIlsUser;
interface IIlsProtocol;
interface IIlsAttributes;
interface IIlsFilter;
interface IEnumIlsProtocols;
interface IEnumIlsUsers;
interface IEnumIlsNames;
interface IIlsNotify;
interface IIlsUserNotify;
interface IIlsProtocolNotify;
cpp_quote("")
cpp_quote("////////////////////////////////////////////////////////////////////////////")
cpp_quote("// Error Codes")
cpp_quote("")
cpp_quote("#define ILS_E(e) (0x81000000UL | (ULONG) (e))")
cpp_quote("#define ILS_S(e) (0x01000000UL | (ULONG) (e))")
cpp_quote("")
cpp_quote("enum {")
cpp_quote("")
cpp_quote("// COM specific error codes")
cpp_quote("//")
cpp_quote(" ILS_S_SERVER_MAY_NOT_SUPPORT = ILS_S (1),")
cpp_quote(" ILS_E_FAIL = E_FAIL,")
cpp_quote(" ILS_E_POINTER = E_POINTER,")
cpp_quote(" ILS_E_HANDLE = E_HANDLE,")
cpp_quote(" ILS_E_ABORT = E_ABORT,")
cpp_quote(" ILS_E_ACCESS_DENIED = E_ACCESSDENIED,")
cpp_quote(" ILS_E_NOT_IMPL = E_NOTIMPL,")
cpp_quote(" ILS_E_NO_INTERFACE = E_NOINTERFACE,")
cpp_quote(" ILS_E_MEMORY = E_OUTOFMEMORY,")
cpp_quote(" ILS_E_PARAMETER = E_INVALIDARG,")
cpp_quote("")
cpp_quote("// General error codes")
cpp_quote("//")
cpp_quote(" ILS_E_SERVER_SERVICE = ILS_E (1),")
cpp_quote(" ILS_E_SERVER_NAME = ILS_E (2),")
cpp_quote(" ILS_E_TIMEOUT = ILS_E (3),")
cpp_quote(" ILS_E_BIND = ILS_E (4),")
cpp_quote(" ILS_E_THREAD = ILS_E (5),")
cpp_quote(" ILS_E_SERVER_EXEC = ILS_E (6),")
cpp_quote(" ILS_E_WINSOCK = ILS_E (7),")
cpp_quote(" ILS_E_NO_MORE = ILS_E (8),")
cpp_quote(" ILS_E_NOT_INITIALIZED = ILS_E (9),")
cpp_quote(" ILS_E_NOTIFY_ID = ILS_E (10),")
cpp_quote(" ILS_E_NO_SUCH_OBJECT = ILS_E (11),")
cpp_quote(" ILS_E_NEED_RELOGON = ILS_E (12),")
cpp_quote(" ILS_E_NAME_CONFLICTS = ILS_E (13),")
cpp_quote(" ILS_E_NETWORK_DOWN = ILS_E (14),")
cpp_quote(" ILS_E_FILTER_STRING = ILS_E (15),")
cpp_quote(" ILS_E_FILTER_OBJECT = ILS_E (16),")
cpp_quote(" ILS_E_FILTER_TYPE = ILS_E (17),")
cpp_quote(" ILS_E_ACCESS_CONTROL = ILS_E (18),")
cpp_quote(" ILS_E_NOT_REGISTERED = ILS_E (19),")
cpp_quote(" ILS_E_NO_SUCH_MEMBER = ILS_E (20),")
cpp_quote(" ILS_E_NO_WRITE_ACCESS = ILS_E (21),")
cpp_quote(" ILS_E_ALREADY_REGISTERED = ILS_E (22),")
cpp_quote("")
cpp_quote("// LDAP specific error codes")
cpp_quote("//")
cpp_quote(" ILS_E_LDAP_OPERATIONS_ERROR = ILS_E (0x101),")
cpp_quote(" ILS_E_LDAP_PROTOCOL_ERROR = ILS_E (0x102),")
cpp_quote(" ILS_E_LDAP_TIMELIMIT_EXCEEDED = ILS_E (0x103),")
cpp_quote(" ILS_E_LDAP_SIZELIMIT_EXCEEDED = ILS_E (0x104),")
cpp_quote(" ILS_E_LDAP_COMPARE_FALSE = ILS_E (0x105),")
cpp_quote(" ILS_E_LDAP_COMPARE_TRUE = ILS_E (0x106),")
cpp_quote(" ILS_E_LDAP_AUTH_METHOD_NOT_SUPPORTED = ILS_E (0x107),")
cpp_quote(" ILS_E_LDAP_STRONG_AUTH_REQUIRED = ILS_E (0x108),")
cpp_quote(" ILS_E_LDAP_REFERRAL_V2 = ILS_E (0x109),")
cpp_quote(" ILS_E_LDAP_PARTIAL_RESULTS = ILS_E (0x10A),")
cpp_quote(" ILS_E_LDAP_REFERRAL = ILS_E (0x10B),")
cpp_quote(" ILS_E_LDAP_ADMIN_LIMIT_EXCEEDED = ILS_E (0x10C),")
cpp_quote(" ILS_E_LDAP_UNAVAILABLE_CRIT_EXTENSION = ILS_E (0x10D),")
cpp_quote(" ILS_E_LDAP_NO_SUCH_ATTRIBUTE = ILS_E (0x10E),")
cpp_quote(" ILS_E_LDAP_UNDEFINED_TYPE = ILS_E (0x10F),")
cpp_quote(" ILS_E_LDAP_INAPPROPRIATE_MATCHING = ILS_E (0x110),")
cpp_quote(" ILS_E_LDAP_CONSTRAINT_VIOLATION = ILS_E (0x111),")
cpp_quote(" ILS_E_LDAP_ATTRIBUTE_OR_VALUE_EXISTS = ILS_E (0x112),")
cpp_quote(" ILS_E_LDAP_INVALID_SYNTAX = ILS_E (0x113),")
cpp_quote(" ILS_E_LDAP_ALIAS_PROBLEM = ILS_E (0x114),")
cpp_quote(" ILS_E_LDAP_INVALID_DN_SYNTAX = ILS_E (0x115),")
cpp_quote(" ILS_E_LDAP_IS_LEAF = ILS_E (0x116),")
cpp_quote(" ILS_E_LDAP_ALIAS_DEREF_PROBLEM = ILS_E (0x117),")
cpp_quote(" ILS_E_LDAP_INAPPROPRIATE_AUTH = ILS_E (0x118),")
cpp_quote(" ILS_E_LDAP_INVALID_CREDENTIALS = ILS_E (0x119),")
cpp_quote(" ILS_E_LDAP_INSUFFICIENT_RIGHTS = ILS_E (0x11A),")
cpp_quote(" ILS_E_LDAP_BUSY = ILS_E (0x11B),")
cpp_quote(" ILS_E_LDAP_UNAVAILABLE = ILS_E (0x11C),")
cpp_quote(" ILS_E_LDAP_UNWILLING_TO_PERFORM = ILS_E (0x11D),")
cpp_quote(" ILS_E_LDAP_LOOP_DETECT = ILS_E (0x11E),")
cpp_quote(" ILS_E_LDAP_NAMING_VIOLATION = ILS_E (0x11F),")
cpp_quote(" ILS_E_LDAP_OBJECT_CLASS_VIOLATION = ILS_E (0x120),")
cpp_quote(" ILS_E_LDAP_NOT_ALLOWED_ON_NONLEAF = ILS_E (0x121),")
cpp_quote(" ILS_E_LDAP_NOT_ALLOWED_ON_RDN = ILS_E (0x122),")
cpp_quote(" ILS_E_LDAP_NO_OBJECT_CLASS_MODS = ILS_E (0x123),")
cpp_quote(" ILS_E_LDAP_RESULTS_TOO_LARGE = ILS_E (0x124),")
cpp_quote(" ILS_E_LDAP_AFFECTS_MULTIPLE_DSAS = ILS_E (0x125),")
cpp_quote(" ILS_E_LDAP_OTHER = ILS_E (0x126),")
cpp_quote(" ILS_E_LDAP_SERVER_DOWN = ILS_E (0x127),")
cpp_quote(" ILS_E_LDAP_LOCAL_ERROR = ILS_E (0x128),")
cpp_quote(" ILS_E_LDAP_ENCODING_ERROR = ILS_E (0x129),")
cpp_quote(" ILS_E_LDAP_DECODING_ERROR = ILS_E (0x12A),")
cpp_quote(" ILS_E_LDAP_TIMEOUT = ILS_E (0x12B),")
cpp_quote(" ILS_E_LDAP_AUTH_UNKNOWN = ILS_E (0x12C),")
cpp_quote(" ILS_E_LDAP_FILTER_ERROR = ILS_E (0x12D),")
cpp_quote(" ILS_E_LDAP_USER_CANCELLED = ILS_E (0x12E),")
cpp_quote(" ILS_E_LDAP_NO_MEMORY = ILS_E (0x12F),")
cpp_quote("}; // end of enum")
cpp_quote("")
cpp_quote("////////////////////////////////////////////////////////////////////////////")
cpp_quote("// Constants Definitions")
enum
{
ILS_INVALID_REQ_ID = 0
};
typedef enum
{
ILS_UNREGISTERED = 0,
ILS_REGISTERING = 1,
ILS_REGISTERED = 2,
ILS_UNREGISTERING = 3,
ILS_REGISTERED_BUT_INVALID = 4,
ILS_NETWORK_DOWN = 5,
ILS_IN_SYNC = 6,
}
ILS_STATE;
typedef enum
{
ILS_ATTRTYPE_NONE = 0,
ILS_ATTRTYPE_NAME_ONLY = 1,
ILS_ATTRTYPE_NAME_VALUE = 2,
}
ILS_ATTR_TYPE;
cpp_quote("")
cpp_quote("////////////////////////////////////////////////////////////////////////////")
cpp_quote("// Filters Definitions")
typedef enum
{
ILS_FILTERTYPE_UNKNOWN = 0,
ILS_FILTERTYPE_SIMPLE = 1,
ILS_FILTERTYPE_COMPOSITE = 2,
}
ILS_FILTER_TYPE;
typedef enum
{
ILS_FILTEROP_NONE = 0,
ILS_FILTEROP_EQUAL = 1,
ILS_FILTEROP_APPROX = 2,
ILS_FILTEROP_LESS_THAN = 3,
ILS_FILTEROP_GREATER_THAN = 4,
ILS_FILTEROP_EXIST = 5,
ILS_FILTEROP_AND = 21,
ILS_FILTEROP_OR = 22,
ILS_FILTEROP_NOT = 23,
}
ILS_FILTER_OP;
typedef enum
{
ILS_STDATTR_NULL = 0,
ILS_STDATTR_USER_ID = 1,
ILS_STDATTR_IP_ADDRESS = 2,
ILS_STDATTR_EMAIL_NAME = 3,
ILS_STDATTR_FIRST_NAME = 4,
ILS_STDATTR_LAST_NAME = 5,
ILS_STDATTR_CITY_NAME = 6,
ILS_STDATTR_COUNTRY_NAME = 7,
ILS_STDATTR_COMMENT = 8,
ILS_STDATTR_FLAGS = 9,
ILS_STDATTR_APP_NAME = 10,
ILS_STDATTR_APP_MIME_TYPE = 11,
ILS_STDATTR_APP_GUID = 12,
ILS_STDATTR_PROTOCOL_NAME = 13,
ILS_STDATTR_PROTOCOL_MIME_TYPE = 14,
ILS_STDATTR_PROTOCOL_PORT = 15,
ILS_NUM_OF_STDATTRS = 16
}
ILS_STD_ATTR_NAME;
typedef enum
{
ILS_AUTH_ANONYMOUS = 0,
ILS_AUTH_CLEAR_TEXT = 1,
ILS_AUTH_NTLM = 3,
ILS_AUTH_DPA = 4,
ILS_AUTH_MSN = 5,
ILS_AUTH_SICILY = 6,
ILS_AUTH_SSPI = 7,
ILS_NUM_OF_AUTH_METHODS = 8
}
ILS_ENUM_AUTH_METHOD;
cpp_quote("")
cpp_quote("////////////////////////////////////////////////////////////////////////////")
cpp_quote("// Interface Definitions")
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1996 - 1997.
//
// Contents: IIlsServer interface definition
//
//----------------------------------------------------------------------------
[
object,
uuid(8BCE6B64-85CE-11d0-9CA7-00A0C913B21E),
pointer_default(unique)
]
interface IIlsServer : IUnknown
{
typedef [unique] IIlsServer *LPILS_SERVER;
HRESULT SetAuthenticationMethod (
[in] ILS_ENUM_AUTH_METHOD enumAuthMethod );
HRESULT SetLogonName (
[in] BSTR bstrLogonName );
HRESULT SetLogonPassword (
[in] BSTR bstrLogonPassword );
HRESULT SetDomain (
[in] BSTR bstrDomain );
HRESULT SetCredential (
[in] BSTR bstrCredential );
HRESULT SetTimeout (
[in] ULONG uTimeoutInSecond );
HRESULT SetBaseDN (
[in] BSTR bstrBaseDN );
}
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1996 - 1997.
//
// Contents: IIlsMain interface definition
//
//----------------------------------------------------------------------------
[
object,
uuid(34526E14-4D7D-11d0-8F4B-00C04FC29FEE),
pointer_default(unique)
]
interface IIlsMain : IUnknown
{
typedef [unique] IIlsMain *LPILS_MAIN;
HRESULT Initialize();
HRESULT CreateServer (
[in] BSTR bstrServerName,
[out] IIlsServer **ppServer );
HRESULT CreateUser(
[in] BSTR bstrUserID,
[in] BSTR bstrAppName,
[out] IIlsUser **ppUser);
HRESULT GetUser(
[in] IIlsServer *pServer,
[in] BSTR bstrUserID,
[in] BSTR bstrAppName,
[in] BSTR bstrProtocolName,
[in] IIlsAttributes *pAttrib,
[out] IIlsUser **ppUser,
[out] ULONG *puReqID);
HRESULT EnumUserNames(
[in] IIlsServer *pServer,
[in] IIlsFilter *pFilter,
[out] IEnumIlsNames **ppEnumUserNames,
[out] ULONG *puReqID);
HRESULT EnumUsers(
[in] IIlsServer *pServer,
[in] IIlsFilter *pFilter,
[in] IIlsAttributes *pAttrib,
[out] IEnumIlsUsers **ppEnumUsers,
[out] ULONG *puReqID);
HRESULT Abort(
[in] ULONG uReqID);
HRESULT CreateAttributes(
[in] ILS_ATTR_TYPE AttrType,
[out] IIlsAttributes **ppAttributes);
HRESULT CreateFilter (
[in] ILS_FILTER_TYPE FilterType,
[in] ILS_FILTER_OP FilterOp,
[out] IIlsFilter **ppFilter);
HRESULT StringToFilter (
[in] BSTR bstrFilterString,
[out] IIlsFilter **ppFilter);
HRESULT Uninitialize();
}
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1996 - 1997.
//
// Contents: IIlsNotify interface definition
//
//----------------------------------------------------------------------------
[
object,
uuid(551D25EE-4D7D-11d0-8F4B-00C04FC29FEE),
pointer_default(unique)
]
interface IIlsNotify : IUnknown
{
typedef [unique] IIlsNotify *LPILS_NOTIFY;
HRESULT GetUserResult(
[in] ULONG uReqID,
[in] IIlsUser *pUser,
[in] HRESULT hResult);
HRESULT EnumUserNamesResult(
[in] ULONG uReqID,
[in] IEnumIlsNames *pEnumUserName,
[in] HRESULT hResult);
HRESULT EnumUsersResult(
[in] ULONG uReqID,
[in] IEnumIlsUsers *pEnumUser,
[in] HRESULT hResult);
}
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1996 - 1997.
//
// Contents: IIlsUser interface definition
//
//----------------------------------------------------------------------------
[
object,
uuid(440CC982-20E6-11d0-8796-444553540000),
pointer_default(unique)
]
interface IIlsUser : IUnknown
{
typedef [unique] IIlsUser *LPILS_USER;
HRESULT GetState(
[out] ILS_STATE *pState);
HRESULT GetStandardAttribute(
[in] ILS_STD_ATTR_NAME StdAttr,
[out] BSTR *pbstrValue);
HRESULT SetStandardAttribute(
[in] ILS_STD_ATTR_NAME StdAttr,
[in] BSTR bstrValue);
HRESULT GetExtendedAttribute (
[in] BSTR bstrName,
[out] BSTR *pbstrValue );
HRESULT SetExtendedAttribute (
[in] BSTR bstrName,
[in] BSTR bstrValue );
HRESULT RemoveExtendedAttribute (
[in] BSTR bstrName );
HRESULT GetAllExtendedAttributes(
[out] IIlsAttributes **ppAttributes);
HRESULT IsWritable(
[in] BOOL *pValue);
HRESULT Register(
[in] IIlsServer *pServer,
[out] ULONG *puReqID);
HRESULT Unregister(
[out] ULONG *puReqID);
HRESULT Update(
[out] ULONG *puReqID);
HRESULT GetVisible(
[out] DWORD *pfVisible);
HRESULT SetVisible(
[in] DWORD fVisible);
HRESULT GetGuid(
[out] GUID *pGuid);
HRESULT SetGuid(
[in] GUID *pGuid);
HRESULT CreateProtocol(
[in] BSTR bstrProtocolName,
[in] ULONG uPortNumber,
[in] BSTR bstrMimeType,
[out] IIlsProtocol **ppProtocol);
HRESULT AddProtocol(
[in] IIlsProtocol *pProtocol,
[out] ULONG *puReqID);
HRESULT RemoveProtocol(
[in] IIlsProtocol *pProtocol,
[out] ULONG *puReqID);
HRESULT GetProtocol(
[in] BSTR bstrProtocolName,
[in] IIlsAttributes *pAttributes,
[out] IIlsProtocol **ppProtocol,
[out] ULONG *puReqID);
HRESULT EnumProtocols(
[in] IIlsFilter *pFilter,
[in] IIlsAttributes *pAttributes,
[out] IEnumIlsProtocols **ppEnumProtocol,
[out] ULONG *puReqID);
HRESULT Clone (
[out] IIlsUser **ppUser );
}
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1996 - 1997.
//
// Contents: IIlsProtocol interface definition
//
//----------------------------------------------------------------------------
[
object,
uuid(440CC985-20E6-11d0-8796-444553540000),
pointer_default(unique)
]
interface IIlsProtocol : IUnknown
{
typedef [unique] IIlsProtocol *LPILS_PROTOCOL;
HRESULT IsWritable(
[in] BOOL *pValue);
HRESULT GetPortNumber(
[out] ULONG *pulPortNumber);
HRESULT GetStandardAttribute(
[in] ILS_STD_ATTR_NAME StdAttr,
[out] BSTR *pbstrValue);
HRESULT SetStandardAttribute(
[in] ILS_STD_ATTR_NAME StdAttr,
[in] BSTR bstrValue);
HRESULT GetExtendedAttribute (
[in] BSTR bstrName,
[out] BSTR *pbstrValue );
HRESULT SetExtendedAttribute (
[in] BSTR bstrName,
[in] BSTR bstrValue );
HRESULT RemoveExtendedAttribute (
[in] BSTR bstrName );
HRESULT GetAllExtendedAttributes(
[out] IIlsAttributes **ppAttributes);
HRESULT Update(
[out] ULONG *puReqID );
}
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1996 - 1997.
//
// Contents: IIlsProtocolNotify interface definition
//
//----------------------------------------------------------------------------
[
object,
uuid(440CC986-20E6-11d0-8796-444553540000),
pointer_default(unique)
]
interface IIlsProtocolNotify : IUnknown
{
typedef [unique] IIlsProtocolNotify *LPILS_PROTOCOLNOTIFY;
HRESULT UpdateResult(
[in] ULONG uReqID,
[in] HRESULT hResult);
}
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1996 - 1997.
//
// Contents: IIlsUserNotify interface definition
//
//----------------------------------------------------------------------------
[
object,
uuid(440CC988-20E6-11d0-8796-444553540000),
pointer_default(unique)
]
interface IIlsUserNotify : IUnknown
{
typedef [unique] IIlsUserNotify *LPILS_USERNOTIFY;
HRESULT RegisterResult(
[in] ULONG uReqID,
[in] HRESULT hResult);
HRESULT UpdateResult(
[in] ULONG uReqID,
[in] HRESULT hResult);
HRESULT ProtocolChangeResult(
[in] ULONG uReqID,
[in] HRESULT hResult);
HRESULT GetProtocolResult(
[in] ULONG uReqID,
[in] IIlsProtocol *pProtocol,
[in] HRESULT hResult);
HRESULT EnumProtocolsResult(
[in] ULONG uReqID,
[in] IEnumIlsNames *pEnumProtocol,
[in] HRESULT hResult);
HRESULT StateChanged(
[in] ULONG fPrimary,
[in] BSTR bstrServerName );
}
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1996 - 1997.
//
// Contents: IIlsAttributes interface definition
//
//----------------------------------------------------------------------------
[
object,
uuid(440CC98C-20E6-11d0-8796-444553540000),
pointer_default(unique)
]
interface IIlsAttributes : IUnknown
{
typedef [unique] IIlsAttributes *LPILS_ATTRIBUTES;
HRESULT SetAttribute(
[in] BSTR bstrName,
[in] BSTR bstrValue);
HRESULT GetAttribute(
[in] BSTR bstrName,
[out] BSTR *pbstrValue);
HRESULT EnumAttributes(
[out] IEnumIlsNames **ppEnumAttribute);
HRESULT SetAttributeName (
[in] BSTR bstrName );
}
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1996 - 1997.
//
// Contents: IIlsUserFilter interface definition
//
//----------------------------------------------------------------------------
[
object,
uuid(440CC98D-20E6-11d0-8796-444553540000),
pointer_default(unique)
]
interface IIlsFilter : IUnknown
{
typedef [unique] IIlsFilter *LPILS_FILTER;
cpp_quote("// Composite filter operations")
HRESULT AddSubFilter (
[in] IIlsFilter *pFilter );
HRESULT RemoveSubFilter (
[in] IIlsFilter *pFilter );
HRESULT GetCount (
[out] ULONG *pcElements );
cpp_quote("// Simple filter operations")
HRESULT SetStandardAttributeName (
[in] ILS_STD_ATTR_NAME usrStdAttr);
HRESULT SetExtendedAttributeName (
[in] BSTR bstrAnyAttrName );
HRESULT SetAttributeValue (
[in] BSTR bstrAttrValue );
}
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1996 - 1997.
//
// Contents: IEnumIlsProtocols interface definition
//
//----------------------------------------------------------------------------
[
object,
uuid(440CC98E-20E6-11d0-8796-444553540000),
pointer_default(unique)
]
interface IEnumIlsProtocols : IUnknown
{
typedef [unique] IEnumIlsProtocols *LPENUM_ILS_PROTOCOLS;
HRESULT Next(
[in] ULONG cProtocols,
[out] IIlsProtocol **rgpProtocol,
[out] ULONG *pcFetched);
HRESULT Skip(
[in] ULONG cProtocols);
HRESULT Reset();
HRESULT Clone(
[out] IEnumIlsProtocols **ppEnumProtocol);
}
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1996 - 1997.
//
// Contents: IEnumIlsUsers interface definition
//
//----------------------------------------------------------------------------
[
object,
uuid(440CC98F-20E6-11d0-8796-444553540000),
pointer_default(unique)
]
interface IEnumIlsUsers : IUnknown
{
typedef [unique] IEnumIlsUsers *LPENUM_ILS_USERS;
HRESULT Next(
[in] ULONG cUsers,
[out] IIlsUser **rgpUsers,
[out] ULONG *pcFetched);
HRESULT Skip(
[in] ULONG cUsers);
HRESULT Reset();
HRESULT Clone(
[out] IEnumIlsUsers **ppEnumUser);
}
//+---------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation, 1996 - 1997.
//
// Contents: IEnumIlsNames interface definition
//
//----------------------------------------------------------------------------
[
object,
uuid(440CC990-20E6-11d0-8796-444553540000),
pointer_default(unique)
]
interface IEnumIlsNames : IUnknown
{
typedef [unique] IEnumIlsNames *LPENUM_ILS_NAMES;
HRESULT Next(
[in] ULONG cNames,
[out] BSTR *rgpbstrName,
[out] ULONG *pcFetched);
HRESULT Skip(
[in] ULONG cNames);
HRESULT Reset();
HRESULT Clone(
[out] IEnumIlsNames **ppEnumName);
}