|
|
//+--------------------------------------------------------------------------- // // 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); }
|