766 lines
22 KiB
Plaintext
766 lines
22 KiB
Plaintext
//+---------------------------------------------------------------------------
|
|
//
|
|
// 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);
|
|
}
|
|
|
|
|