///////////////////////////////////////////////////////////////////////////// // Copyright (c) Microsoft Corporation. All rights reserved. // // sdoias.idl : IDL source for IAS Server Data Object ////////////////////////////////////////////////////////////////////////////// #ifndef __SDOIAS_IDL__ #define __SDOIAS_IDL__ import "oaidl.idl"; import "ocidl.idl"; ////////////////////////////////////////////////////////////////////////////// // Type Library ////////////////////////////////////////////////////////////////////////////// [ uuid(81DDF732-4AA8-4a35-BDFF-8B42EFE7C624), version(1.0), helpstring("IAS SDO 1.0 Type Library") ] library SDOIASLib { importlib("stdole2.tlb"); ////////////////////////////////////////////////////////////////////////// // // Name: ATTRIBUTEID // // What: IAS Dictionary attribute IDs // // Purpose: Defines the set of IDs for IAS dictionary attributes // ////////////////////////////////////////////////////////////////////////// typedef [public] enum _ATTRIBUTEID { ATTRIBUTE_UNDEFINED=0, ATTRIBUTE_MIN_VALUE=1, RADIUS_ATTRIBUTE_USER_NAME = ATTRIBUTE_MIN_VALUE, RADIUS_ATTRIBUTE_USER_PASSWORD, RADIUS_ATTRIBUTE_CHAP_PASSWORD, RADIUS_ATTRIBUTE_NAS_IP_ADDRESS, RADIUS_ATTRIBUTE_NAS_PORT, RADIUS_ATTRIBUTE_SERVICE_TYPE, RADIUS_ATTRIBUTE_FRAMED_PROTOCOL, RADIUS_ATTRIBUTE_FRAMED_IP_ADDRESS, RADIUS_ATTRIBUTE_FRAMED_IP_NETMASK, RADIUS_ATTRIBUTE_FRAMED_ROUTING, RADIUS_ATTRIBUTE_FILTER_ID, RADIUS_ATTRIBUTE_FRAMED_MTU, RADIUS_ATTRIBUTE_FRAMED_COMPRESSION, RADIUS_ATTRIBUTE_LOGIN_IP_HOST, RADIUS_ATTRIBUTE_LOGIN_SERVICE, RADIUS_ATTRIBUTE_LOGIN_TCP_PORT, RADIUS_ATTRIBUTE_UNASSIGNED1, RADIUS_ATTRIBUTE_REPLY_MESSAGE, RADIUS_ATTRIBUTE_CALLBACK_NUMBER, RADIUS_ATTRIBUTE_CALLBACK_ID, RADIUS_ATTRIBUTE_UNASSIGNED2, RADIUS_ATTRIBUTE_FRAMED_ROUTE, RADIUS_ATTRIBUTE_FRAMED_IPX_NETWORK, RADIUS_ATTRIBUTE_STATE, RADIUS_ATTRIBUTE_CLASS, RADIUS_ATTRIBUTE_VENDOR_SPECIFIC, RADIUS_ATTRIBUTE_SESSION_TIMEOUT, RADIUS_ATTRIBUTE_IDLE_TIMEOUT, RADIUS_ATTRIBUTE_TERMINATION_ACTION, RADIUS_ATTRIBUTE_CALLED_STATION_ID, RADIUS_ATTRIBUTE_CALLING_STATION_ID, RADIUS_ATTRIBUTE_NAS_IDENTIFIER, RADIUS_ATTRIBUTE_PROXY_STATE, RADIUS_ATTRIBUTE_LOGIN_LAT_SERVICE, RADIUS_ATTRIBUTE_LOGIN_LAT_NODE, RADIUS_ATTRIBUTE_LOGIN_LAT_GROUP, RADIUS_ATTRIBUTE_FRAMED_APPLETALK_LINK, RADIUS_ATTRIBUTE_FRAMED_APPLETALK_NET, RADIUS_ATTRIBUTE_FRAMED_APPLETALK_ZONE, RADIUS_ATTRIBUTE_ACCT_STATUS_TYPE, RADIUS_ATTRIBUTE_ACCT_DELAY_TIME, RADIUS_ATTRIBUTE_ACCT_INPUT_OCTETS, RADIUS_ATTRIBUTE_ACCT_OUTPUT_OCTETS, RADIUS_ATTRIBUTE_ACCT_SESSION_ID, RADIUS_ATTRIBUTE_ACCT_AUTHENTIC, RADIUS_ATTRIBUTE_ACCT_SESSION_TIME, RADIUS_ATTRIBUTE_ACCT_INPUT_PACKETS, RADIUS_ATTRIBUTE_ACCT_OUTPUT_PACKETS, RADIUS_ATTRIBUTE_ACCT_TERMINATE_CAUSE, RADIUS_ATTRIBUTE_ACCT_MULTI_SSN_ID, RADIUS_ATTRIBUTE_ACCT_LINK_COUNT, RADIUS_ATTRIBUTE_CHAP_CHALLENGE = 60, RADIUS_ATTRIBUTE_NAS_PORT_TYPE, RADIUS_ATTRIBUTE_PORT_LIMIT, RADIUS_ATTRIBUTE_LOGIN_LAT_PORT, RADIUS_ATTRIBUTE_TUNNEL_TYPE, RADIUS_ATTRIBUTE_TUNNEL_MEDIUM_TYPE, RADIUS_ATTRIBUTE_TUNNEL_CLIENT_ENDPT, RADIUS_ATTRIBUTE_TUNNEL_SERVER_ENDPT, RADIUS_ATTRIBUTE_ACCT_TUNNEL_CONN, RADIUS_ATTRIBUTE_TUNNEL_PASSWORD, RADIUS_ATTRIBUTE_ARAP_PASSWORD, RADIUS_ATTRIBUTE_ARAP_FEATURES, RADIUS_ATTRIBUTE_ARAP_ZONE_ACCESS, RADIUS_ATTRIBUTE_ARAP_SECURITY, RADIUS_ATTRIBUTE_ARAP_SECURITY_DATA, RADIUS_ATTRIBUTE_PASSWORD_RETRY, RADIUS_ATTRIBUTE_PROMPT = 76, RADIUS_ATTRIBUTE_CONNECT_INFO, RADIUS_ATTRIBUTE_CONFIGURATION_TOKEN, RADIUS_ATTRIBUTE_EAP_MESSAGE, RADIUS_ATTRIBUTE_SIGNATURE, RADIUS_ATTRIBUTE_TUNNEL_PVT_GROUP_ID, RADIUS_ATTRIBUTE_TUNNEL_ASSIGNMENT_ID, RADIUS_ATTRIBUTE_TUNNEL_PREFERENCE, RADIUS_ATTRIBUTE_ARAP_CHALLENGE_RESPONSE, // RADIUS_ATTRIBUTE_ // New RADIUS Attribute IDs Here... IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IP_ADDRESS = 0x1000, IAS_ATTRIBUTE_SAVED_RADIUS_CALLBACK_NUMBER, IAS_ATTRIBUTE_NP_CALLING_STATION_ID, IAS_ATTRIBUTE_SAVED_NP_CALLING_STATION_ID, IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_ROUTE, IAS_ATTRIBUTE_IGNORE_USER_DIALIN_PROPERTIES, IAS_ATTRIBUTE_NP_TIME_OF_DAY, IAS_ATTRIBUTE_NP_CALLED_STATION_ID, IAS_ATTRIBUTE_NP_ALLOWED_PORT_TYPES, IAS_ATTRIBUTE_NP_AUTHENTICATION_TYPE, IAS_ATTRIBUTE_NP_ALLOWED_EAP_TYPE, IAS_ATTRIBUTE_SHARED_SECRET, IAS_ATTRIBUTE_CLIENT_IP_ADDRESS, IAS_ATTRIBUTE_CLIENT_PACKET_HEADER, IAS_ATTRIBUTE_TOKEN_GROUPS, IAS_ATTRIBUTE_ALLOW_DIALIN, IAS_ATTRIBUTE_NP_CONSTRAINT, IAS_ATTRIBUTE_MANIPULATION_TARGET, IAS_ATTRIBUTE_MANIPULATION_RULE, IAS_ATTRIBUTE_ORIGINAL_USER_NAME, IAS_ATTRIBUTE_CLIENT_VENDOR_TYPE, IAS_ATTRIBUTE_CLIENT_UDP_PORT, MS_ATTRIBUTE_CHAP_CHALLENGE, MS_ATTRIBUTE_CHAP_RESPONSE, MS_ATTRIBUTE_CHAP_DOMAIN, MS_ATTRIBUTE_CHAP_ERROR, MS_ATTRIBUTE_CHAP_CPW1, MS_ATTRIBUTE_CHAP_CPW2, MS_ATTRIBUTE_CHAP_LM_ENC_PW, MS_ATTRIBUTE_CHAP_NT_ENC_PW, MS_ATTRIBUTE_CHAP_MPPE_KEYS, IAS_ATTRIBUTE_AUTHENTICATION_TYPE, IAS_ATTRIBUTE_CLIENT_NAME, IAS_ATTRIBUTE_NT4_ACCOUNT_NAME, IAS_ATTRIBUTE_FULLY_QUALIFIED_USER_NAME, IAS_ATTRIBUTE_NTGROUPS, IAS_ATTRIBUTE_EAP_FRIENDLY_NAME, IAS_ATTRIBUTE_AUTH_PROVIDER_TYPE, MS_ATTRIBUTE_ACCT_AUTH_TYPE, MS_ATTRIBUTE_ACCT_EAP_TYPE, IAS_ATTRIBUTE_PACKET_TYPE, IAS_ATTRIBUTE_AUTH_PROVIDER_NAME, IAS_ATTRIBUTE_ACCT_PROVIDER_TYPE, IAS_ATTRIBUTE_ACCT_PROVIDER_NAME, MS_ATTRIBUTE_MPPE_SEND_KEY, MS_ATTRIBUTE_MPPE_RECV_KEY, IAS_ATTRIBUTE_REASON_CODE, MS_ATTRIBUTE_FILTER, MS_ATTRIBUTE_CHAP2_RESPONSE, MS_ATTRIBUTE_CHAP2_SUCCESS, MS_ATTRIBUTE_CHAP2_CPW, MS_ATTRIBUTE_RAS_VENDOR, MS_ATTRIBUTE_RAS_VERSION, IAS_ATTRIBUTE_NP_NAME, MS_ATTRIBUTE_PRIMARY_DNS_SERVER, MS_ATTRIBUTE_SECONDARY_DNS_SERVER, MS_ATTRIBUTE_PRIMARY_NBNS_SERVER, MS_ATTRIBUTE_SECONDARY_NBNS_SERVER, IAS_ATTRIBUTE_PROXY_POLICY_NAME, IAS_ATTRIBUTE_PROVIDER_TYPE, IAS_ATTRIBUTE_PROVIDER_NAME, IAS_ATTRIBUTE_REMOTE_SERVER_ADDRESS, IAS_ATTRIBUTE_GENERATE_CLASS_ATTRIBUTE, MS_ATTRIBUTE_RAS_CLIENT_NAME, MS_ATTRIBUTE_RAS_CLIENT_VERSION, IAS_ATTRIBUTE_ALLOWED_CERTIFICATE_EKU, IAS_ATTRIBUTE_CERTIFICATE_EKU=8097, // IAS_ATTRIBUTE_ // New IAS Attributes Here RAS_ATTRIBUTE_ENCRYPTION_TYPE = (0xFFFFFFFF-89), RAS_ATTRIBUTE_ENCRYPTION_POLICY, RAS_ATTRIBUTE_BAP_REQUIRED, RAS_ATTRIBUTE_BAP_LINE_DOWN_TIME, RAS_ATTRIBUTE_BAP_LINE_DOWN_LIMIT // RAS_ATTRIBUTE_ // New RAS Attributes Here } ATTRIBUTEID; ////////////////////////////////////////////////////////////////////////// // // Name: NEW_LOG_FILE_FREQUENCY // // What: IAS Accounting Request Handler Log Frequency Values // // Purpose: Defines the log frequency settings for the IAS accounting // request handler. // ////////////////////////////////////////////////////////////////////////// typedef [public] enum _NEW_LOG_FILE_FREQUENCY { IAS_LOGGING_UNLIMITED_SIZE=0, IAS_LOGGING_DAILY, IAS_LOGGING_WEEKLY, IAS_LOGGING_MONTHLY, IAS_LOGGING_WHEN_FILE_SIZE_REACHES } NEW_LOG_FILE_FREQUENCY; ////////////////////////////////////////////////////////////////////////// // // Name: AUTHENTICATION_TYPE // // What: IAS Authentication Type Values // ////////////////////////////////////////////////////////////////////////// typedef [public] enum _AUTHENTICATION_TYPE { IAS_AUTH_INVALID, IAS_AUTH_PAP, IAS_AUTH_MD5CHAP, IAS_AUTH_MSCHAP, IAS_AUTH_MSCHAP2, IAS_AUTH_EAP, IAS_AUTH_ARAP, IAS_AUTH_NONE, IAS_AUTH_CUSTOM, IAS_AUTH_MSCHAP_CPW, IAS_AUTH_MSCHAP2_CPW } AUTHENTICATION_TYPE; ////////////////////////////////////////////////////////////////////////// // // Name: ATTRIBUTESYNTAX // // What: Attribute SDO syntax types // // Purpose: Defines the set Attribute SDO syntaxes (attribute data types) // ////////////////////////////////////////////////////////////////////////// typedef [public] enum _ATTRIBUTESYNTAX { IAS_SYNTAX_BOOLEAN = 1, IAS_SYNTAX_INTEGER, IAS_SYNTAX_ENUMERATOR, IAS_SYNTAX_INETADDR, IAS_SYNTAX_STRING, IAS_SYNTAX_OCTETSTRING, IAS_SYNTAX_UTCTIME, IAS_SYNTAX_PROVIDERSPECIFIC, IAS_SYNTAX_UNSIGNEDINTEGER } ATTRIBUTESYNTAX; ////////////////////////////////////////////////////////////////////////// // // Name: Dictionary Attriubutes Restrictions // // What: IAS Dictionary Attribute IDs // // Purpose: Defines the restrictions for the dictionary attributes // ////////////////////////////////////////////////////////////////////////// typedef [public] enum _ATTRIBUTERESTRICTIONS { MULTIVALUED = 0x01, ALLOWEDINPROFILE = 0x02, ALLOWEDINCONDITION = 0x04, ALLOWEDINPROXYPROFILE = 0x08, ALLOWEDINPROXYCONDITION = 0x10 } ATTRIBUTERESTRICTIONS; ////////////////////////////////////////////////////////////////////////// // // Name: Dictionary Attributes Info // // What: IAS Dictionary Attribute Info IDS // // Purpose: Defines the attribute info for the dictionary attributes // ////////////////////////////////////////////////////////////////////////// typedef [public] enum _ATTRIBUTEINFO { NAME = 1, SYNTAX, RESTRICTIONS, DESCRIPTION, VENDORID, LDAPNAME, VENDORTYPE, } ATTRIBUTEINFO; ////////////////////////////////////////////////////////////////////////// // // Name: SDO Property Aliases // // What: SDO Property Enumerations // // Purpose: Property IDs used in conjunction with the ISdo and // ISdoDictionary interfaces. // ////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////// // Common Properties ////////////////////////////////////////////////////////////////////////// typedef [public] enum _IASCOMMONPROPERTIES { PROPERTY_SDO_RESERVED = 0, // PROPERTY_SDO_CLASS, // SDO class name PROPERTY_SDO_NAME, // SDO name PROPERTY_SDO_DESCRIPTION, // SDO description PROPERTY_SDO_ID, // SDO instance id PROPERTY_SDO_DATASTORE_NAME, // SDO name in data store // New Properties Here... PROPERTY_SDO_START= 0x00000400 // 1024 stock object properties } IASCOMMONPROPERTIES; ///////////////////////////////////////////////////////////////////////// // User Properties ///////////////////////////////////////////////////////////////////////// typedef [public] enum _USERPROPERTIES { PROPERTY_USER_CALLING_STATION_ID = PROPERTY_SDO_START, PROPERTY_USER_SAVED_CALLING_STATION_ID, PROPERTY_USER_RADIUS_CALLBACK_NUMBER, PROPERTY_USER_RADIUS_FRAMED_ROUTE, PROPERTY_USER_RADIUS_FRAMED_IP_ADDRESS, PROPERTY_USER_SAVED_RADIUS_CALLBACK_NUMBER, PROPERTY_USER_SAVED_RADIUS_FRAMED_ROUTE, PROPERTY_USER_SAVED_RADIUS_FRAMED_IP_ADDRESS, PROPERTY_USER_ALLOW_DIALIN, PROPERTY_USER_SERVICE_TYPE // New Properties Here... } USERPROPERTIES; ///////////////////////////////////////////////////////////////////////// // Dictionary Properties ///////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////// typedef [public] enum _DICTIONARYPROPERTIES { PROPERTY_DICTIONARY_ATTRIBUTES_COLLECTION = PROPERTY_SDO_START, PROPERTY_DICTIONARY_LOCATION } DICTIONARYPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _ATTRIBUTEPROPERTIES { PROPERTY_ATTRIBUTE_ID = PROPERTY_SDO_START, PROPERTY_ATTRIBUTE_VENDOR_ID, PROPERTY_ATTRIBUTE_VENDOR_TYPE_ID, PROPERTY_ATTRIBUTE_IS_ENUMERABLE, PROPERTY_ATTRIBUTE_ENUM_NAMES, PROPERTY_ATTRIBUTE_ENUM_VALUES, PROPERTY_ATTRIBUTE_SYNTAX, PROPERTY_ATTRIBUTE_ALLOW_MULTIPLE, PROPERTY_ATTRIBUTE_ALLOW_LOG_ORDINAL, PROPERTY_ATTRIBUTE_ALLOW_IN_PROFILE, PROPERTY_ATTRIBUTE_ALLOW_IN_CONDITION, PROPERTY_ATTRIBUTE_DISPLAY_NAME, PROPERTY_ATTRIBUTE_VALUE, PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_PROFILE, PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_CONDITION // New Properties Here... } ATTRIBUTEPROPERTIES; ///////////////////////////////////////////////////////////////////////// // IAS Service Properties ///////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////// typedef [public] enum _IASPROPERTIES { PROPERTY_IAS_RADIUSSERVERGROUPS_COLLECTION = PROPERTY_SDO_START, PROPERTY_IAS_POLICIES_COLLECTION, PROPERTY_IAS_PROFILES_COLLECTION, PROPERTY_IAS_PROTOCOLS_COLLECTION, PROPERTY_IAS_AUDITORS_COLLECTION, PROPERTY_IAS_REQUESTHANDLERS_COLLECTION, PROPERTY_IAS_PROXYPOLICIES_COLLECTION, PROPERTY_IAS_PROXYPROFILES_COLLECTION // New Properties Here... } IASPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _CLIENTPROPERTIES { PROPERTY_CLIENT_REQUIRE_SIGNATURE = PROPERTY_SDO_START, PROPERTY_CLIENT_UNUSED, PROPERTY_CLIENT_SHARED_SECRET, PROPERTY_CLIENT_NAS_MANUFACTURER, PROPERTY_CLIENT_ADDRESS, // New Properties Here... } CLIENTPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _VENDORPROPERTIES { PROPERTY_NAS_VENDOR_ID = PROPERTY_SDO_START // New Properties Here... } VENDORPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _PROFILEPROPERTIES { PROPERTY_PROFILE_ATTRIBUTES_COLLECTION = PROPERTY_SDO_START // New Properties Here... } PROFILEPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _POLICYPROPERTIES { PROPERTY_POLICY_CONSTRAINT = PROPERTY_SDO_START, PROPERTY_POLICY_MERIT, PROPERTY_POLICY_UNUSED0, PROPERTY_POLICY_UNUSED1, PROPERTY_POLICY_PROFILE_NAME, PROPERTY_POLICY_ACTION, PROPERTY_POLICY_CONDITIONS_COLLECTION, // New Properties Here... } POLICYPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _CONDITIONPROPERTIES { PROPERTY_CONDITION_TEXT = PROPERTY_SDO_START, // New Properties Here... } CONDITIONPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _RADIUSSERVERGROUPPROPERTIES { PROPERTY_RADIUSSERVERGROUP_SERVERS_COLLECTION = PROPERTY_SDO_START, // New Properties Here... } RADIUSSERVERGROUPPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _RADIUSSERVERPROPERTIES { PROPERTY_RADIUSSERVER_AUTH_PORT = PROPERTY_SDO_START, PROPERTY_RADIUSSERVER_AUTH_SECRET, PROPERTY_RADIUSSERVER_ACCT_PORT, PROPERTY_RADIUSSERVER_ACCT_SECRET, PROPERTY_RADIUSSERVER_ADDRESS, PROPERTY_RADIUSSERVER_FORWARD_ACCT_ONOFF, PROPERTY_RADIUSSERVER_PRIORITY, PROPERTY_RADIUSSERVER_WEIGHT, PROPERTY_RADIUSSERVER_TIMEOUT, PROPERTY_RADIUSSERVER_MAX_LOST, PROPERTY_RADIUSSERVER_BLACKOUT // New Properties Here... } RADIUSSERVERPROPERTIES; ///////////////////////////////////////////////////////////////////////// // Component Properties (components available from IAS service object) ///////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////// typedef [public] enum _IASCOMPONENTPROPERTIES { PROPERTY_COMPONENT_ID = PROPERTY_SDO_START, PROPERTY_COMPONENT_PROG_ID, // New Properties Here... PROPERTY_COMPONENT_START } IASCOMPONENTPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _PROTOCOLPROPERTIES { PROPERTY_PROTOCOL_REQUEST_HANDLER = PROPERTY_COMPONENT_START, // New Properties Here... PROPERTY_PROTOCOL_START } PROTOCOLPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _RADIUSPROPERTIES { PROPERTY_RADIUS_ACCOUNTING_PORT = PROPERTY_PROTOCOL_START, PROPERTY_RADIUS_AUTHENTICATION_PORT, PROPERTY_RADIUS_CLIENTS_COLLECTION, PROPERTY_RADIUS_VENDORS_COLLECTION // New Properties Here... } RADIUSPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _NTEVENTLOGPROPERTIES { PROPERTY_EVENTLOG_LOG_APPLICATION_EVENTS = PROPERTY_COMPONENT_START, PROPERTY_EVENTLOG_LOG_MALFORMED, PROPERTY_EVENTLOG_LOG_DEBUG // New Properties Here... } NTEVENTLOGPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _NAMESPROPERTIES { PROPERTY_NAMES_REALMS = PROPERTY_COMPONENT_START // New Properties Here... } NAMESPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _NTSAMPROPERTIES { PROPERTY_NTSAM_ALLOW_LM_AUTHENTICATION = PROPERTY_COMPONENT_START // New Properties Here... } NTSAMPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _ACCOUNTINGPROPERTIES { PROPERTY_ACCOUNTING_LOG_ACCOUNTING = PROPERTY_COMPONENT_START, PROPERTY_ACCOUNTING_LOG_ACCOUNTING_INTERIM, PROPERTY_ACCOUNTING_LOG_AUTHENTICATION, PROPERTY_ACCOUNTING_LOG_OPEN_NEW_FREQUENCY, PROPERTY_ACCOUNTING_LOG_OPEN_NEW_SIZE, PROPERTY_ACCOUNTING_LOG_FILE_DIRECTORY, PROPERTY_ACCOUNTING_LOG_IAS1_FORMAT // New Properties Here... } ACCOUNTINGPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _EAPWRAPPROPERTIES { PROPERTY_EAP_SESSION_TIMEOUT = PROPERTY_COMPONENT_START, PROPERTY_EAP_MAX_SESSIONS // New Properties Here... } EAPWRAPPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _NAPPROPERTIES { PROPERTY_NAP_POLICIES_COLLECTION = PROPERTY_COMPONENT_START // New Properties Here... } NAPPROPERTIES; ///////////////////////////////////////////////////////////////////////// typedef [public] enum _RADIUSPROXYPROPERTIES { PROPERTY_RADIUSPROXY_SERVERGROUPS = PROPERTY_COMPONENT_START // New Properties Here... } RADIUSPROXYPROPERTIES; ////////////////////////////////////////////////////////////////////////// // // Name: Service Type // // What: Supported Service Types // // Purpose: Defines the set of NT networking services supported by // the IAS subsystem. Used by the ISdoService interface. // ////////////////////////////////////////////////////////////////////////// typedef [public] enum _SERVICE_TYPE { SERVICE_TYPE_IAS = 0, SERVICE_TYPE_RAS, // // New service type here... SERVICE_TYPE_MAX } SERVICE_TYPE; ////////////////////////////////////////////////////////////////////////// // // Name: Machine Information // // What: Identifiers for Machine Information // // Purpose: Defines the set of machine information available via the // ISdoMachine interface. // ////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////// // Operating System Types ///////////////////////////////////////////////////////////////////////// typedef [public] enum _IASOSTYPE { SYSTEM_TYPE_NT4_WORKSTATION, SYSTEM_TYPE_NT5_WORKSTATION, SYSTEM_TYPE_NT4_SERVER, SYSTEM_TYPE_NT5_SERVER } IASOSTYPE, *PIASOSTYPE; ///////////////////////////////////////////////////////////////////////// // Domain Types ///////////////////////////////////////////////////////////////////////// typedef [public] enum _DOMAINTYPE { DOMAIN_TYPE_NONE, // Standalone DOMAIN_TYPE_NT4, DOMAIN_TYPE_NT5, DOMAIN_TYPE_MIXED } IASDOMAINTYPE, *PIASDOMAINTYPE; ////////////////////////////////////////////////////////////////////////// // // Name: IASDATASTORE // // What: Set of data stores available to SDO client applications // // Purpose: Defines the set of set of data store via the // ISdoMachine interface. // ////////////////////////////////////////////////////////////////////////// typedef [public] enum _IASDATASTORE { DATA_STORE_LOCAL, DATA_STORE_DIRECTORY, } IASDATASTORE, *PIASDATASTORE; ////////////////////////////////////////////////////////////////////////// // ISdoMachine - Used to retrieve information from a Machine SDO ////////////////////////////////////////////////////////////////////////// [ object, uuid(479F6E75-49A2-11d2-8ECA-00C04FC2F519), dual, pointer_default(unique) ] interface ISdoMachine: IDispatch { [id(1)] HRESULT Attach ( [in] BSTR bstrComputerName ); [id(2)] HRESULT GetDictionarySDO ( [out, retval] IUnknown** ppDictionarySDO ); [id(3)] HRESULT GetServiceSDO ( [in] IASDATASTORE eDataStore, [in] BSTR bstrServiceName, [out, retval] IUnknown** ppServiceSDO ); [id(4)] HRESULT GetUserSDO ( [in] IASDATASTORE eDataStore, [in] BSTR bstrUserName, [out, retval] IUnknown** ppUserSDO ); [id(5)] HRESULT GetOSType ( [out, retval] IASOSTYPE* eOSType ); [id(6)] HRESULT GetDomainType( [out, retval] IASDOMAINTYPE* eDomainType ); [id(7)] HRESULT IsDirectoryAvailable( [out, retval] VARIANT_BOOL* boolDirectoryAvailable ); [id(8)] HRESULT GetAttachedComputer( [out, retval] BSTR* bstrComputerName ); [id(9), hidden] HRESULT GetSDOSchema( [out, retval] IUnknown** ppSDOSchema ); }; ////////////////////////////////////////////////////////////////////////// // ISdoServiceControl - Used to control a Service SDO ////////////////////////////////////////////////////////////////////////// [ object, uuid(479F6E74-49A2-11d2-8ECA-00C04FC2F519), dual, pointer_default(unique) ] interface ISdoServiceControl: IDispatch { [id(1)] HRESULT StartService (void); [id(2)] HRESULT StopService (void); [id(3)] HRESULT GetServiceStatus ([out, retval] LONG* status); [id(4)] HRESULT ResetService (void); }; ////////////////////////////////////////////////////////////////////////// // ISdo - Used to store, retrieve and update SDO information ////////////////////////////////////////////////////////////////////////// [ object, uuid(56BC53DE-96DB-11D1-BF3F-000000000000), dual, pointer_default(unique) ] interface ISdo : IDispatch { [id(1), hidden] HRESULT GetPropertyInfo ([in] LONG Id, [out, retval] IUnknown** ppPropertyInfo); [id(2)] HRESULT GetProperty ([in] LONG Id, [out, retval] VARIANT* pValue); [id(3)] HRESULT PutProperty ([in] LONG Id, [in] VARIANT* pValue); [id(4)] HRESULT ResetProperty ([in] LONG Id); [id(5)] HRESULT Apply (void); [id(6)] HRESULT Restore (void); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum ([out, retval] IUnknown** ppEnumVARIANT); // Property enumerator }; ////////////////////////////////////////////////////////////////////////// // ISdoCollection - Used to manipulate the contents of a collection ////////////////////////////////////////////////////////////////////////// [ object, uuid(56BC53E2-96DB-11D1-BF3F-000000000000), dual, pointer_default(unique) ] interface ISdoCollection : IDispatch { [propget, id(1)] HRESULT Count ([out, retval] long *pCount); [id(2)] HRESULT Add ([in] BSTR bstrName, [in, out] IDispatch** ppItem); [id(3)] HRESULT Remove ([in] IDispatch* pItem); [id(4)] HRESULT RemoveAll (void); [id(5)] HRESULT Reload (void); [id(6)] HRESULT IsNameUnique([in] BSTR bstrName, [out, retval] VARIANT_BOOL* pBool); [id(DISPID_VALUE)] HRESULT Item ([in] VARIANT* Name, [out, retval] IDispatch** pItem); [propget, id(DISPID_NEWENUM)] HRESULT _NewEnum ([out, retval] IUnknown** ppEnumVARIANT); }; ////////////////////////////////////////////////////////////////////////// // ISdoDictionaryOld - interface Used to access dictionary contents ////////////////////////////////////////////////////////////////////////// [ object, uuid(d432e5f4-53d8-11d2-9a3a-00c04fb998ac), dual, pointer_default(unique) ] interface ISdoDictionaryOld : IDispatch { [id(1)] HRESULT EnumAttributes( [in, out] VARIANT* Id, [out,retval] VARIANT* pValues ); [id(2), hidden] HRESULT GetAttributeInfo( [in] ATTRIBUTEID Id, [in] VARIANT* pInfoIDs, [out,retval] VARIANT* pInfoValues ); [id(3)] HRESULT EnumAttributeValues( [in] ATTRIBUTEID Id, [out] VARIANT* pValueIds, [out,retval] VARIANT* pValuesDesc ); [id(4)] HRESULT CreateAttribute( [in] ATTRIBUTEID Id, [out,retval] IDispatch** ppAttributeObject ); [id(5)] HRESULT GetAttributeID( [in] BSTR bstrAttributeName, [out,retval] ATTRIBUTEID* pId ); }; /////////////// // Machine SDO /////////////// [ uuid(E9218AE7-9E91-11D1-BF60-0080C7846BC0), ] coclass SdoMachine { [default] interface ISdoMachine; }; }; #endif // __SDOIAS_IDL__