Server Data Objects (SDO)

Server Data Objects

Purpose

The Server Data Objects (SDO) API makes it possible to programmatically configure and administer a Microsoft® Windows® 2000 Server running the Internet Authentication Service. Using SDO, a developer can also write applications that administer remote access policies and profiles. The remote access policies and profiles are used by the Routing and Remote Access Service (RRAS) as well as IAS to determine whether a remote client is allowed to connect to a network access server (NAS).

Where Applicable

The SDO API is applicable in any environment that uses IAS or Remote Access Policies (RAP).

Developer Audience

The SDO API is designed for programmers that are using C/C++ and Visual Basic. Programmers should be familiar with Internet Authentication Service (IAS), Remote Access Service (RAS), and the Remote Authentication Dial-In User Service (RADIUS).

Run-Time Requirements

The SDO API is supported on computers running Microsoft® Windows® 2000 Server and later operating systems. For more specific information about which operating systems support a particular function, refer to the Requirements sections in the documentation.

See Also

Remote Access Service

Internet Authentication Service

Overview

General information about Server Data Objects.

Reference

Documentation of functions, structures, and other reference elements used to program Server Data Objects.

Feedback

Make error reports and feature requests directly to Microsoft.

Microsoft Platform SDK, February 2001 Edition.
This content last built on Thursday, February 01, 2001.


About Server Data Objects

[This is preliminary documentation and subject to change.]

[This technology will work only on Windows 2000 and Whistler. Future versions of Windows will support an alternate API.]

The Server Data Objects (SDO) API provides a way to programmatically configure the Internet Authentication Service (IAS) and Remote Access Service (RAS) on computers running Windows 2000 Server or Whistler Server.

With the SDO API, a developer can manipulate any element of the IAS configuration that is accessible through the IAS user interface.

The SDO API also makes it possible to set or retrieve any of the values accessible through the user dial-in settings property page.

The SDO API is composed of COM interfaces. Each of the interfaces in the SDO API inherit from the COM IDispatch interface. The IDispatch interface enables developers to call the SDO interface methods from Visual Basic or any COM automation client, as well as from C/C++.

Developers can also call the SDO API from scripting languages such as VBScript. However, because VBScript is limited to using VARIANT-type parameters only, not all the functionality of SDO is available.

The SDO API is not supported on operating systems prior to Windows 2000, for example Windows NT version 4.0. Also, the SDO API is not supported on operating systems released after the Whistler release of Windows. Releases of Windows after the Whistler release support an alternate API.


Elements of the SDO API

The SDO API is designed around an object model consisting of objects and collections of objects. In the SDO object model, the objects and collections are arranged in a hierarchy, that is, objects and collections contain other objects and collections.

Objects are manipulated by retrieving and setting properties on the objects.

The following sections describe how the SDO API uses objects, object properties, and collections:

  • Objects and Properties
  • Object Model Hierarchy


Objects and Properties

The characteristics of an object in SDO are determined by objects, properties, and the values associated with those properties. Unlike some other object models, SDO objects themselves do not have methods. However, SDO objects do expose COM interfaces that provide methods.

Objects in SDO expose the ISdo interface that provides methods for manipulating the objects properties. To access the object's properties, obtain an ISdo interface for the object, and use the GetProperty and PutProperty interface methods to retrieve and set values for the properties.

After making changes to the properties of an object, use the ISdo::Apply method to write the changes to persistent storage for the object. You can cancel changes made to an object's properties before you call ISdo::Apply by calling the ISdo::Restore method. This method restores the values of an object's properties from persistent storage.

The following table shows the enumeration types that enumerate the properties of some of the objects in SDO.

Object | Enumeration Type
All SDO objects | IASCOMMONPROPERTIES
User Object | USERPROPERTIES
Service Object (Microsoft Internet Authentication Service) | IASPROPERTIES
Microsoft RADIUS Protocol Object | RADIUSPROPERTIES

Collections

Objects are often grouped into collections. The SDO API provides functionality, through the ISdo Collection interface, to enumerate the objects in a collection and to add and delete objects from a collection.

Access to a collection is obtained by retrieving a collection property on the object that contains the collection. For more information, see the section Object Model Hierarchy.

The datatype for all properties that correspond to collections is VT_DISPATCH.


Object Model Hierarchy

The objects in the SDO object model are arranged in a hierarchy.This means objects in SDO provide access to other objects in SDO.

Objects provide access to other objects in two ways. One way is for the object to expose an interface that provides methods to retrieve other objects. An example of this approach is the Machine Object. The Machine Object exposes the ISdoMachine interface. The ISdoMachine::GetServiceSDO method retrieves a Service Object. The ISdoMachine::GetUserSDO method retrieves a User Object.

For more information, see Obtaining Service and User SDOs.

The second way that objects provide access to other objects is that an object collection is represented as a property of the object that contains it. To retrieve an object collection, call ISdo::GetProperty on the property of an object that represents the collection.

For an example of retrieving the Policies collection, see Retrieving a Collection.


Order in Which to Use the SDO API

The following sections describe the order in which to call the various SDO interfaces:

  • Obtaining a Machine SDO
  • Attaching to the SDO Computer
  • Obtaining Service and User SDOs


Obtaining a Machine SDO

The first step in using the SDO API is to create an SDO machine object. Use the CLSIDFromProgID function to obtain the class identifier (CLSID) for the SDO machine object. The programmatic identifier (ProgID) to use for the object is "IAS.SdoMachine".

Once you have the CLSID, call CoCreateInstance with this CLSID. Specify ISdoMachine as the interface for which to return a pointer.

See Attaching to an SDO-Enabled Computer for sample code that demonstrates how to obtain a machine SDO.


Attaching to the SDO Computer

With the interface pointer returned by CoCreateInstance, call the ISdoMachine::Attach method. Pass NULL as the parameter to the Attach method. The value NULL specifies that Attach associate the machine object with the local computer. Attaching to a remote computer is not supported.

To determine if the local computer is already attached, call the ISdoMachine::GetAttachedComputer method.

See Attaching to an SDO-Enabled Computer for sample code that demonstrates how to attach to the local computer.


Obtaining Service and User SDOs

To obtain SDOs for IAS or a particular user, call the ISdoMachine::GetServiceSDO or ISdoMachine::GetUserSDO methods. These methods return pointers to IUnknown interfaces for these objects. For the user SDO, use the IUnknown::QueryInterface method to obtain an ISdo interface for the object. For the service SDO, use IUnknown::QueryInterface to obtain an ISdo interface or ISdoServiceControl interface.

Before calling either ISdoMachine::GetServiceSDO or ISdoMachine::GetUserSDO, call ISdoMachine::Attach to associate the machine object with the local computer.

See Retrieving a Service SDO and Retrieving a User SDO for sample code that demonstrates how to obtain these SDOs.


Using Server Data Objects

The following sections provides sample code that demonstrates how to use the SDO API:

  • Fundamental SDO Operations
  • SDO Tasks


Fundamental SDO Operations

This section provides sample code for performing frequently-used operations with the SDO API. All these code samples are written in the C programming language.

  • Attaching to an SDO-Enabled Computer
  • Retrieving a Service SDO
  • Retrieving a User SDO
  • Retrieving a Collection
  • Adding an Object to a Collection
  • Retrieving an Object from a Collection
  • Enumerating Objects in a Collection


Attaching to an SDO-Enabled Computer

The following code attaches to the local computer as an SDO computer.

ISdoMachine  * pSdoMachine
HRESULT  hr;
CLSID    clsid;

hr = CLSIDFromProgID(TEXT("IAS.SdoMachine"), &clsid);
hr = CoCreateInstance(
    clsid,
    NULL,
    CLSCTX_INPROC_SERVER,
    __uuidof(ISdoMachine),
    (void**)&pSdoMachine
);

//
// Pass NULL to specify local computer.
//
pSdoMachine->Attach(NULL)

Attaching to a computer as an SDO computer is the first step in administering the computer through SDO.

For more information, see ISdoMachine, ISdoMachine::Attach.


Retrieving a Service SDO

The following code retrieves a Server Data Object (SDO) for the Internet Authentication Service (IAS).

CComPtr<IUnknown> pServiceUnknown;

HRESULT hr = pSdoMachine->GetServiceSDO(
    DATA_STORE_LOCAL,
    L"IAS",
    (IUnknown**) &pServiceUnknown
);

CComPtr<ISdoServiceControl>  pSdoServiceControl;

hr = pServiceUnknown->QueryInterface(
    __uuidof(ISdoServiceControl),
    (void**) &pSdoServiceControl
);

Remarks

You must attach to a computer before you can call any of the ISdoMachine methods.

See Also

Attaching to an SDO-Enabled Computer, ISdoMachine::GetServiceSDO, ISdoServiceControl


Retrieving a User SDO

The following code retrieves a Server Data Object (SDO) for the Administrator.

BSTR bstrUserName = SysAllocString(L"Administrator");

CComPtr<IUnknown> pUserUnknown;
HRESULT hr = pSdoMachine->GetUserSDO (
    DATA_STORE_LOCAL,
    bstrUserName,
    (IUnknown**) &pUserUnknown
);

CComPtr<ISdo> pUserSDO;
hr = pUserUnknown->QueryInterface(
    __uuidof(ISdo),
    (void**) &pUserSDO
);

SysFreeString(bstrUserName);

See Also

Attaching to an SDO-Enabled Computer, ISdo, ISdoMachine, ISdoMachine::GetUserSDO, SysAllocString, SysFreeString


Retrieving a Collection

The following code retrieves the policies collection for the Internet Authentication Service (IAS) server.

CComPtr<ISdo>  pSdo;
HRESULT hr = pServiceSdo -> QueryInterface(
    __uuidof(ISdo),
    (void**) &pSdo
);

//
// Get the collection object
//
_variant_t  vtCollection;
hr = pSdo -> GetProperty(
    PROPERTY_IAS_POLICIES_COLLECTION,
    &vtCollection
);

//
// Get the ISdoCollection interface
// for the oject.
//
CComPtr<ISdoCollection>  pPolicies;
hr = vtCollection.pdispVal -> QueryInterface(
    __uuidof(ISdoCollection),
    (void **) &pPolicies
);

Remarks

The pServiceSdo variable contains a pointer to a Server Data Object for IAS. For more information, see the topic Retrieving a Service SDO.

The vtCollection variable is of type _variant_t. A _variant_t object encapsulates, or encloses, the VARIANT data type. The class manages resource allocation and deallocation, and makes function calls to VariantInit and VariantClear as appropriate.

After the call to pSdo->GetProperty(), the vtCollection variable specifies an object. The pdispVal member of vtCollection contains a pointer to the IDispatch interface for the object.

See Also

_variant_t, IASPROPERTIES, ISdo::GetProperty, ISdoCollection, Retrieving a Service SDO, VariantClear, VariantInit, VARIANT


Adding an Object to a Collection

The following code adds a new policy to the IAS policies collection. The variable pPolicies points to an ISdoCollection interface for the collection. See Retrieving a Collection for information on how to retrieve the collection object.

_bstr_t      bstrPolicyName = L"My First Policy";
VARIANT      vNameUnique;
VARIANT_BOOL vbNameUnique = VARIANT_FALSE;

hr = pPolicies -> IsNameUnique(bstrPolicyName, &vbNameUnique);

if (VARIANT_FALSE == vbNameUnique) {
    // Name is NOT unique
    break;
}

CComPtr<IDispatch> pDispatch;

hr = pPolicies -> Add(bstrPolicyName, &pDispatch);

See Also

_bstr_t, ISdoCollection::Add, ISdoCollection::IsNameUnique, Retrieving a Collection, VARIANT


Retrieving an Object from a Collection

The following code retrieves a policy from the IAS policies collection. The variable pPolicies points to an ISdoCollection interface for the collection. See Retrieving a Collection for information on how to retrieve the collection object.

CComPtr<IDispatch> pDispPolicy;
VARIANT            vPolicyName;

V_VT(&vPolicyName) = VT_BSTR;
V_BSTR(&vPolicyName) = SysAllocString(L"Test Policy");

hr = pPolicies -> Item(&vPolicyName, &pDispPolicy);
SysFreeString( V_BSTR(&vPolicyName));

See Also

ISdoCollection::Item, Retrieving a Collection, SysAllocString, SysFreeString, VARIANT


Enumerating Objects in a Collection

The following code enumerates the protocols in the IAS protocols collection.

//
// Retrieve the protocols collection object
//
_variant_t vtProtocolsCollection;
HRESULT hr = pSdo -> GetProperty(
    PROPERTY_IAS_PROTOCOLS_COLLECTION,
    &vtProtocolsCollection
);

//
// Retrieve the ISdoCollection interface
// for the object.
//
CComPtr<ISdoCollection> pProtocols;
hr = vtProtocolsCollection.pdispVal -> QueryInterface(
    __uuidof(ISdoCollection),
    (void **) &pProtocols
);

//
// Retrieve the enumeration interface, IEnumVARIANT
//
CComPtr<IUnknown> pUnknownProtocol;
hr = pProtocols -> get__NewEnum(&pUnknownProtocol);

CComPtr<IEnumVARIANT> pEnumProtocols;
hr = pUnknownProtocol -> QueryInterface(
    __uuidof(IEnumVARIANT),
    (void **) &pEnumProtocols
);

//
// Retrieve the first protocol from the collection
//
DWORD      dwRetrieved = 1;
_variant_t vtProtocol;
hr = pEnumProtocols->Next(1, &vtProtocol, &dwRetrieved);

while (hr != S_FALSE) {
    //
    // Retrieve the name of the protocol
    //
    CComPtr<ISdo> pLocalSdo;
    hr = (vtProtocol.pdispVal->QueryInterface(
        __uuidof(ISdo),
        (void**)&pLocalSdo
    );
    _variant_t vtName;
    hr = pLocalSdo -> GetProperty(PROPERTY_SDO_NAME, &vtName);

    vtProtocol.Clear();
    vtName.Clear();

    //
    // Retreive the next protocol from the collection
    //
    dwRetrieved = 1;
    hr = pEnumProtocols->Next(1, &vtProtocol, &dwRetrieved);
}

Remarks

The vtName and vtProtocol variables are of type _variant_t. A _variant_t object encapsulates, or encloses, the VARIANT data type. The class manages resource allocation and deallocation, and makes function calls to VariantInit and VariantClear as appropriate.

See Also

_variant_t, Adding a Client, IASCOMMONPROPERTIES, IEnumVARIANT, ISdo::GetProperty, Retrieving a Service SDO, VariantClear, VariantInit, VARIANT


SDO Tasks

The following sections provides sample code to accomplish specific tasks using the SDO API:

  • Listing Profiles, Policies, and Clients (VBScript)
  • Adding a Client (VB)
  • Changing Dial-In Settings (VBScript)


Listing Profiles, Policies, and Clients

The following VBScript code enumerates the profiles, policies, and clients on the local computer.

Option Explicit

Const DATA_STORE_LOCAL = 0
Const PROPERTY_SDO_NAME = 2

Const PROPERTY_IAS_POLICIES_COLLECTION = 1025
Const PROPERTY_IAS_PROFILES_COLLECTION = 1026

Const PROPERTY_IAS_PROTOCOLS_COLLECTION = 1027

Const PROPERTY_RADIUS_CLIENTS_COLLECTION = 1029

Const PROPERTY_CLIENT_REQUIRE_SIGNATURE = 1024
Const PROPERTY_CLIENT_SHARED_SECRET = 1026
Const PROPERTY_CLIENT_NAS_MANUFACTURER = 1027
Const PROPERTY_CLIENT_ADDRESS = 1028

Const PROPERTY_PROFILE_ATTRIBUTES_COLLECTION = 1024
Const PROPERTY_ATTRIBUTE_ID = 1024
Const PROPERTY_ATTRIBUTE_DISPLAY_NAME = 1035

Const PROPERTY_POLICY_CONSTRAINT = 1024
Const PROPERTY_POLICY_MERIT = 1025
Const PROPERTY_POLICY_PROFILE_NAME = 1028
Const PROPERTY_POLICY_ACTION = 1029
Const PROPERTY_POLICY_CONDITIONS_COLLECTION = 1030

Const PROPERTY_CONDITION_TEXT = 1024

Dim sdoMachine, sdoServiceSDO
Dim sdoCollProfiles, sdoCollProtocols, sdoCollClients, sdoCollPolicies
Dim sdoCollAttributes, sdoCollConditions
Dim sdoRADIUS
Dim vtProfile, vtProtocol, vtClient, vtPolicy, vtAttribute, vtCondition

Set sdoMachine = CreateObject("IAS.SdoMachine")
sdoMachine.Attach vbNullString
Set sdoServiceSDO = sdoMachine.GetServiceSDO(DATA_STORE_LOCAL, "IAS")

'
' List Profiles and Attributes
'
Set sdoCollProfiles = sdoServiceSDO.GetProperty(PROPERTY_IAS_PROFILES_COLLECTION)

WScript.Echo sdoCollProfiles.Count & " Profiles found."
For Each vtProfile in sdoCollProfiles
    WScript.Echo "- " & Chr(34) & vtProfile.GetProperty(PROPERTY_SDO_NAME) & Chr(34)
    set sdoCollAttributes = vtProfile.GetProperty(PROPERTY_PROFILE_ATTRIBUTES_COLLECTION)
    WScript.Echo sdoCollAttributes.Count & " Attributes found."
    For Each vtAttribute in sdoCollAttributes
        WScript.Echo " - " & Chr(34) & vtAttribute.GetProperty(PROPERTY_SDO_NAME) & Chr(34)
        WScript.Echo "   LDAPName " & Chr(34) & vtAttribute.GetProperty(PROPERTY_ATTRIBUTE_DISPLAY_NAME) & Chr(34)
        WScript.Echo "   Id " & Chr(34) & vtAttribute.GetProperty(PROPERTY_ATTRIBUTE_ID) & Chr(34)
    Next 'vtAttribute
Next 'vtProfile

'
' List Policies and Conditions
'
Set sdoCollPolicies = sdoServiceSDO.GetProperty(PROPERTY_IAS_POLICIES_COLLECTION)

WScript.Echo sdoCollPolicies.Count & " Policies found."
For Each vtPolicy in sdoCollPolicies
    WScript.Echo "- " & Chr(34) & vtPolicy.GetProperty(PROPERTY_SDO_NAME) & Chr(34)

    WScript.Echo "  Merit " & Chr(34) & vtPolicy.GetProperty(PROPERTY_POLICY_MERIT) & Chr(34)
    WScript.Echo "  Policy Name " & Chr(34) & vtPolicy.GetProperty(PROPERTY_POLICY_PROFILE_NAME) & Chr(34)

    set sdoCollConditions = vtPolicy.GetProperty(PROPERTY_POLICY_CONDITIONS_COLLECTION)
    WScript.Echo sdoCollConditions.Count & " Conditions found."
    For Each vtCondition in sdoCollConditions
        WScript.Echo " - " & Chr(34) & vtCondition.GetProperty(PROPERTY_SDO_NAME) & Chr(34)
        WScript.Echo "   Text " & Chr(34) & vtCondition.GetProperty(PROPERTY_CONDITION_TEXT) & Chr(34)
    Next 'vtCondition
Next 'vtPolicy

'
' List Clients
'
Set sdoCollProtocols = sdoServiceSDO.GetProperty(PROPERTY_IAS_PROTOCOLS_COLLECTION)
Set sdoRADIUS = sdoCollProtocols.Item("Microsoft Radius Protocol")
Set sdoCollClients = sdoRADIUS.GetProperty(PROPERTY_RADIUS_CLIENTS_COLLECTION)

WScript.Echo
WScript.Echo sdoCollClients.Count & " Clients found."
For Each vtClient in sdoCollClients
    WScript.Echo "- " & Chr(34) & vtClient.GetProperty(PROPERTY_SDO_NAME) & Chr(34)
    WScript.Echo " - Require Signature " & Chr(34) & vtClient.GetProperty(PROPERTY_CLIENT_REQUIRE_SIGNATURE) & Chr(34)
    WScript.Echo " - Shared Secret " & Chr(34) & vtClient.GetProperty(PROPERTY_CLIENT_SHARED_SECRET) & Chr(34)
    WScript.Echo " - NAS Manufacturer" & Chr(34) & vtClient.GetProperty(PROPERTY_CLIENT_NAS_MANUFACTURER) & Chr(34)
    WScript.Echo " - Address" & Chr(34) & vtClient.GetProperty(PROPERTY_CLIENT_ADDRESS) & Chr(34)
Next 'vtClient

See Also

CLIENTPROPERTIES, Enumerating Objects in a Collection, IASCOMMONPROPERTIES, IASPROPERTIES, ISdo, ISdoMachine RADIUSPROPERTIES


Adding a Client

The following Visual Basic code adds a new RADIUS client, and sets the address and shared secret for the client.

Option Explicit
Private Sub Command2_Click(Index As Integer)

    '
    ' Attach to the local computer
    '
    Dim sdomachine As New sdomachine
    sdomachine.Attach (vbNullString) 'local

    '
    ' Retrieve a service SDO
    '
    Dim ServiceSdo As ISdo
    Set ServiceSdo = sdomachine.GetServiceSDO(DATA_STORE_LOCAL, "IAS")

    '
    ' Retrieve the protocols collection
    '
    Dim ProtocolsCollection As ISdoCollection
    Set ProtocolsCollection = ServiceSdo.GetProperty(PROPERTY_IAS_PROTOCOLS_COLLECTION)

    '
    ' Retrieve the RADIUS protocol
    '
    Dim SdoRADIUS As ISdo
    Set SdoRADIUS = ProtocolsCollection.Item("Microsoft Radius Protocol")

    '
    ' Retrieve the clients collection
    '
    Dim ClientsCollection As ISdoCollection
    Set ClientsCollection = SdoRADIUS.GetProperty(PROPERTY_RADIUS_CLIENTS_COLLECTION)

    Dim ClientName
    ClientName = InputBox("Enter client's name:", "Client's Name")
    If (ClientName = "") Then Exit Sub

    '
    ' Verify that the name is unique
    '
    If Not ClientsCollection.IsNameUnique(ClientName) Then
        Dim Answer
        Answer = MsgBox("Client already exists", vbExclamation + vbOKOnly, "Add client Error")
        Exit Sub
    End If

    '
    ' Add the client
    '
    Dim ClientSdo As ISdo
    Call ClientsCollection.Add(ClientName, ClientSdo)

    '
    ' Set the address for the client
    '
    Dim ClientAddress
    ClientAddress = InputBox("Enter the client's address (IP or DNS):", "Client's Address")
    Call ClientSdo.PutProperty(PROPERTY_CLIENT_ADDRESS, ClientAddress)

    '
    ' Set the shared secret for the client
    '
    Dim ClientSecret
    ClientSecret = InputBox("Enter the client's shared secret:", "Client's shared Secret")
    Call ClientSdo.PutProperty(PROPERTY_CLIENT_SHARED_SECRET, ClientSecret)

    '
    ' Apply the changes
    '
    Call ClientSdo.Apply

End Sub

See Also

CLIENTPROPERTIES, Enumerating Objects in a Collection, IASPROPERTIES, ISdo, ISdoMachine RADIUSPROPERTIES


Changing Dial-In Settings

The following VBScript code sets the dial-in bit and callback number for a user.

Set shell = wscript.createobject ("WScript.Shell")
Set environment = shell.environment ("PROCESS")

userdomain    = environment.Item ("USERDOMAIN")
logonserver   = environment.Item ("LOGONSERVER")
userdnsdomain = environment.Item ("USERDNSDOMAIN")
computername  = environment.Item ("COMPUTERNAME")

commands=wscript.arguments.count

Dim user
Dim machine

server = ""
number = ""
name   = ""
dialin = ""

For Each command In wscript.arguments
    lccommand=lcase(command)
    If instr(lccommand,"/server:") Then server = Mid(command,9)
    If instr(lccommand,"/user:")   Then name   = Mid(command,7)
    If instr(lccommand,"/dialin:") Then dialin = Mid(command,9)
    If instr(lccommand,"/number:") Then number = Mid(command,9)
    If instr(lccommand,"?") or instr(lccommand,"/help") Then
        showhelp=True
    End If
Next

If (server = "") Then server = computername
If (name = "") Then showhelp = True
If (dialin = "") AND (number = "") Then showhelp = True
If (number = "NONE") Then number = ""

If showhelp Then
    wscript.echo "SETDIALINCALLBACK"
    wscript.echo "Set the Dialin value (Allow, Deny or RAS Policy) and callback number for a user"
    wscript.echo "Setdialincallback /user:<username> /server:<server> /dialin:<ALLOW|DENY|RAS> /number:<NONE|""number"">"
    wscript.echo ""
Else
    Initialize server, name
    If err <>0 Then
        Wscript.Echo "Failed to Initialize."
            If hex(err) = "800708AD" Then
                wscript.echo "(" & hex(err) & ") " & "The user name could not be found."
            Else
                wscript.echo "(" & hex(err) & ") " & err.description
                wscript.quit(err)
            End If
    End If

    If (dialin <> "") Then
        SetDialin dialin
        If err <>0 Then
            Wscript.Echo "Failed to Set the dialin."
            wscript.echo "(" & hex(err) & ") " & err.description
            wscript.quit(err)
        End If
    End If

    SetCallback number
    If err <>0 Then
        Wscript.Echo "Failed to Set the callback."
        wscript.echo "(" & hex(err) & ") " & err.description
        wscript.quit(err)
    End If

    RasInfo server, name
    If err <> 0 Then
        Wscript.Echo "Failed to get the user options."
        If hex(err) = "800708AD" Then
            wscript.echo "(" & hex(err) & ") " & "The user name could not be found."
        Else
            wscript.echo "(" & hex(err) & ") " & err.description
        End If
        wscript.quit(err)
    End If
End If

'
' Subroutine Definitions
'
Sub Initialize(server, name)

    Set machine = createobject("IAS.SDOMachine")
    machine.attach(server)
    Set user = machine.getusersdo(0,name) '0 for DATA_STORE_LOCAL

End Sub

Sub SetDialin(dialin)

    Select Case dialin
        case "ALLOW"                    ' "Allow access."
            user.putproperty 1032,true

        case "DENY"                     ' "Deny access."
            user.putproperty 1032,false

        case "RAS"                      ' "Control access through Remote Access Policy."
            user.putproperty 1032, Empty
    End Select

    user.Apply

End Sub

Sub SetCallback(number)

    Dim lValue

    If (number <> "") Then
        user.putproperty 1026,number    ' msRADIUSCallbackNumber
        user.putproperty 1029,number    ' msRASSavedCallbackNumber
                                        ' 1033 callback policy NP_CONSTRAINT or PROPERTY_USER_SERVICE_TYPE
        lValue = CLng(4)                ' 4 = always callback
        user.putproperty 1033, lValue
    Else
        user.putproperty 1026,lValue    ' msRADIUSCallbackNumber
        user.putproperty 1029,lValue    ' msRASSavedCallbackNumber
        user.putproperty 1033,lValue    ' no callback
    End If

    user.Apply

End Sub

Sub RasInfo(server,name)

    Dim novalue

    Set t = createobject("IAS.SDOMachine")
    t.attach(server)

    cid = Array(cidnumber)

    If cidnumber="NONE" Then cid=novalue

    Set mach1 = GetObject("WinNT://" & server & ",Computer")

    Set g1 = mach1.GetObject("Group","Users")
    Set g = g1.Members()

    Set u = t.getusersdo(0,Name)

    msg = "Name: " & u.getproperty(2) & vbcrlf
    msg = msg & "--------------------------------------" & vbcrlf

    '1032
    dperm=u.getproperty(1032)
    If dperm = True  Then dialin = "Allow access."
    If dperm = False Then dialin = "Deny access."
    If isempty (dperm) Then dialin = "Control access through Remote Access Policy."
    msg = msg & dialin & vbcrlf

    a=1024                                  'callerid. 1025 is saved value
    v=u.getproperty(a)

    If isarray(v) Then
        For Each e In v
            msg = msg & "VerIfy Caller-ID: " & e & vbcrlf
        next
    Else
        msg = msg & "VerIfy Caller-ID: " & vbcrlf
    End If

    a=1026                                  'callback. 1033 callback policy
    cbmode = "No Callback"
    If u.getproperty(1033) > 0 Then
        cbstring = u.getproperty(1026) & ""
        cbmode = "Always call back to: " & cbstring
        If  cbstring = "" Then cbmode = "Set by caller."
    End If
    msg = msg & cbmode

    wscript.echo msg

    Set mach = GetObject("WinNT://" & server & ",Computer")
    If IsEmpty (mach) Then
        wscript.echo "Can't get to computer " & machName & "."
        Exit Sub
    End If

    err.clear
    Set usr = mach.GetObject ("user",name)
    flags = Clng(usr.Get("UserFlags"))

    ADS_UF_SCRIPT                           =  &H0001&
    ADS_UF_ACCOUNTDISABLE                   =  &H0002&
    ADS_UF_HOMEDIR_REQUIRED                 =  &H0003&
    ADS_UF_LOCKOUT                          =  &H0010&
    ADS_UF_PASSWD_NOTREQD                   =  &H0020&
    ADS_UF_PASSWD_CANT_CHANGE               =  &H0040&
    ADS_UF_TEMP_DUPLICATE_ACCOUNT           =  &H0100&
    ADS_UF_NORMAL_ACCOUNT                   =  &H0200&
    ADS_UF_INTERDOMAIN_TRUST_ACCOUNT        =  &H0800&
    ADS_UF_WORKSTATION_TRUST_ACCOUNT        =  &H1000&
    ADS_UF_SERVER_TRUST_ACCOUNT             =  &H2000&
    ADS_UF_DONTEXPIREPASSWD                 =  &H10000&
    ADS_UF_MNS_LOGON_ACCOUNT                =  &H20000&
    ADS_UF_SMARTCARD_REQUIRED               =  &H40000&
    ADS_UF_TRUSTED_FOR_DELEGATION           =  &H80000&
    ADS_UF_NOT_DELEGATED                    =  &H100000&

    expired = usr.Get ("PasswordExpired")

    wscript.echo "User must change password: " & CBOOL(expired)
    wscript.echo "User cannot change password: " & CBOOL(flags AND ADS_UF_PASSWD_CANT_CHANGE)
    wscript.echo "Password never expires: " & CBOOL(flags AND ADS_UF_DONT_EXPIRE_PASSWD)
    wscript.echo "Account disabled: " & CBOOL(flags AND ADS_UF_ACCOUNTDISABLE)
    wscript.echo "Account locked out: " & CBOOL(flags AND ADS_UF_LOCKOUT)
    wscript.echo "Password not required: " & CBOOL(flags AND ADS_UF_PASSWD_NOTREQD)

End Sub

See Also

CLIENTPROPERTIES, Enumerating Objects in a Collection, IASPROPERTIES, ISdo, ISdoMachine RADIUSPROPERTIES


Server Data Objects Reference

The Server Data Object API provides the following Interfaces and Enumeration types.

  • Server Data Objects Interfaces
  • Server Data Objects Enumeration Types


Server Data Objects Interfaces

The Server Data Objects (SDO) API exposes the following interfaces.

Interface | Purpose
ISdo | Manipulate an SDO object.
ISdoCollection | Manipulate a collection of SDO objects.
ISdoDictionaryOld | Manipulate the attribute dictionary.
ISdoMachine | Manage the SDO computer, and retrieve SDO objects.
ISdoServiceControl | Manage the service being administered through SDO, that is, either Internet Authentication Service (IAS) or Remote Access Server (RAS).


ISdo

Use the ISdo interface to store, retrieve and update Server Data Objects (SDO) information.

Methods and Properties in Vtable Order

IUnknown Methods

IDispatch Methods

ISdo Methods | Description
GetPropertyInfo | Retrieves an information interface for the specified property.
GetProperty | Retrieves the value of the specified property.
PutProperty | Sets the value of the specified property.
ResetProperty | Resets the specified property to its default value.
Apply | Writes changes to the datastore for the object.
Restore | Restores the values of the object's properties from the datastore.
get_NewEnum | Retrieves an enumeration interface for the object's properties.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

Server Data Objects Reference, Server Data Objects Interfaces


ISdo::get__NewEnum

The ISdo::get__NewEnum method retrieves an IENumVARIANT interface for the Server Data Objects (SDO) properties.

HRESULT _NewEnum(
  IUnknown **ppEnumVARIANT    // Property enumerator
);

Parameters

ppEnumVARIANT
[out, retval] Pointer to a pointer that, on successful return, points to an IUnknown interface pointer. Use this IUnknown interface pointer with QueryInterface to obtain an IENumVARIANT interface.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Note Two underscores are used between "get" and "NewEnum" in the name of this method.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdo, IENumVARIANT


ISdo::Apply

The ISdo::Apply function writes to persistent storage the changes made by calls to the ISdo::PutProperty method.

HRESULT Apply (void);

Parameters

None.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

To cancel changes made by ISdo::PutProperty, call ISdo::Restore.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdo, ISdo::PutProperty, ISdo::Restore


ISdo::GetProperty

The ISdo::GetProperty method retrieves the value of the specified property.

HRESULT GetProperty(
  LONG Id,
  VARIANT *pValue
);

Parameters

Id
[in] Specifies the ID of an existing property.
pValue
[out, retval] Pointer to a VARIANT that contains the value of the property.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdo, ISdo::SetProperty, VARIANT


ISdo::GetPropertyInfo

The ISdo::GetPropertyInfo method retrieves a pointer to an ISdoPropertyInfo interface for the specified property.

HRESULT GetPropertyInfo(
  LONG Id,
  IUnknown **ppPropertyInfo
);

Parameters

Id
[in] Specifies the ID of an existing property.
ppPropertyInfo
[out, retval] Pointer to a pointer that receives the address of an ISdoPropertyInfo interface for the specified property.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Although Server Data Objects (SDO) exposes this method, you do not need it in order to use SDO. The use of this method is discouraged.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdo,


ISdo::ResetProperty

The ISdo::ResetProperty method resets the specified property to its default value.

HRESULT ResetProperty(
  LONG Id
);

Parameters

Id
Specifies the ID of an existing property.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdo, ISdo::PutProperty, ISdo::Restore


ISdo::Restore

The ISdo::Restore method reloads the values of the Server Data Objects (SDO) properties from persistent storage.

HRESULT Restore (void);

Parameters

None.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Use the ISdo::Restore method to cancel changes made by calls to the ISdo::PutProperty method.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdo, ISdo::Apply, ISdo::PutProperty


ISdoCollection

Use the ISdoCollection interface to manipulate a collection of SDO objects.

Methods and Properties in Vtable Order

IUnknown Methods

IDispatch Methods

ISdoCollection Methods | Description
get_Count | Retrieves a count of the number of items in the collection.
Add | Adds an item to the collection.
Remove | Removes an item from the collection.
RemoveAll | Removes all items from the collection.
Reload | Reloads all items in the collection from the underlying datastore.
IsNameUnique | Tests whether an item name is unique in the collection.
Item | Retrieves an item from the collection.
get_NewEnum | Returns an enumeration interface for the collection.

Remarks

To obtain a collection, call ISdo::GetProperty, specifying a collection's property. For more information, see Retrieving a Collection.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

Server Data Objects Reference, Server Data Objects Interfaces, Collections


ISdoCollection::get__NewEnum

The ISdoCollection::get__NewEnum method retrieves an IENumVARIANT interface for a Server Data Objects (SDO) collection.

HRESULT _NewEnum(
  IUnknown **ppEnumVARIANT
);

Parameters

ppEnumVARIANT
[out, retval] Pointer to an IUnknown interface pointer. On successful return the IUnknown interface pointer, points to an IENumVARIANT interface.

This parameter must not be NULL.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Initialize the SDO before calling this method.

Note: Two underscores are used between "get" and "NewEnum" in the name of this method.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoCollection


ISdoCollection::Add

The ISdoCollection::Add method adds an item to the Server Data Objects (SDO) collection.

HRESULT Add(
  BSTR bstrName,
  IDispatch **ppItem
);

Parameters

bstrName
[in] Specifies the name of the SDO Object. This parameter may be NULL.
ppItem
[in, out] Pointer to a IDispatch interface pointer for the Item to add. This parameter must not be NULL.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

If you specify the name of the object to add, ensure that the name is unique by calling ISdoCollection::IsNameUnique.

If the bstrName parameter is not specified, ISdoCollection::Add obtains it from the object specified by the ppItem parameter.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

Adding an Object to a Collection, ISdoCollection, ISdoCollection::IsNameUnique, BSTR, IDispatch


ISdoCollection::get_Count

The ISdoCollection::get_Count method returns the number of items in the collection.

HRESULT Count(
  long *pCount
);

Parameters

pCount
[out, retval] Pointer to a LONG that contains the number of items in the collection.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoCollection, ISdoCollection::get__NewEnum


ISdoCollection::IsNameUnique

The ISdoCollection::IsNameUnique method tests whether the specified name is unique in the collection.

HRESULT IsNameUnique(
  BSTR bstrName,
  VARIANT_BOOL *pBool
);

Parameters

bstrName
[in] Specifies the name to test.
pBool
[out, retval] Pointer to a VARIANT that specifies whether the name is unique. The returned value is VARIANT_TRUE is the name is unique, VARIANT_FALSE otherwise.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Neither of the parameters may be NULL.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

Adding an Object to a Collection, ISdoCollection, ISdoCollection::Add, VARIANT


ISdoCollection::Item

The ISdoCollection::Item method retrieves the specified item from the collection.

HRESULT Item(
  VARIANT *Name,
  IDispatch **pItem
);

Parameters

Name
[in] Pointer to a VARIANT. Store the name of the object in a BSTR in this VARIANT.
pItem
[out, retval] Pointer to an interface pointer that receives the address of an IDispatch interface for the object.

Return Values

If the method succeeds the return value is S_OK.

If the object is not found in the collection, the return value is DISP_E_MEMBERNOTFOUND.

Otherwise, if the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Neither of the parameters can be NULL.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoCollection, BSTR, IDispatch, VARIANT


ISdoCollection::Reload

The ISdoCollection::Reload method reloads all the objects in the collection from the underlying datastore.

HRESULT Reload (void);

Parameters

None.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoCollection


ISdoCollection::Remove

The ISdoCollection::Remove method removes the specified item from the collection.

HRESULT Remove(
  IDispatch *pItem
);

Parameters

pItem
[in] Pointer to an IDispatch interface that specifies the item to remove.

This parameter must not be NULL.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoCollection, ISdoCollection::Add, ISdoCollection::RemoveAll


ISdoCollection::RemoveAll

The ISdoCollection::RemoveAll method removes all the items from the collection.

HRESULT RemoveAll (void);

Parameters

None.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoCollection, ISdoCollection::Add, ISdoCollection::RemoveAll


ISdoDictionaryOld

Use the ISdoDictionaryOld interface to manipulate the dictionary of Remote Access Dial-In User Service (RADIUS) attributes.

Methods and Properties in Vtable Order

IUnknown Methods

IDispatch Methods

ISdoDictionaryOld Methods | Description
EnumAttributes | Retrieves the values of the specified attributes.
GetAttributeInfo | Retrieves the characteristics of the specified attribute.
EnumAttributeValues | Retrieves the values of an enumerable attribute.
CreateAttribute | Creates a new attribute object.
GetAttributeID | Retrieves the ID of the specified attribute.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

Server Data Objects Reference, Server Data Objects Interfaces


ISdoDictionaryOld::CreateAttribute

The ISdoDictionaryOld::CreateAttribute method creates a new attribute object and returns an IDispatch interface to it.

HRESULT CreateAttribute(
  ATTRIBUTEID Id,
  IDispatch **ppAttributeObject
);

Parameters

Id
[in] Specifies a value from the enumeration type ATTRIBUTEID. This value specifies the type of attribute to create.
ppAttributeObject
[out,retval] Pointer to a pointer to an IDispatch interface pointer for the created attribute object.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoDictionaryOld, ATTRIBUTEID


ISdoDictionaryOld::EnumAttributes

The ISdoDictionaryOld::EnumAttributes method retrieves the values of the specified attributes.

HRESULT EnumAttributes(
  VARIANT *Id,
  VARIANT *pValues
);

Parameters

Id
[in, out] On input, a pointer to a VARIANT that specifies the attributes to enumerate. If the type of this VARIANT, given by V_VT(Id), is VT_EMPTY, ISdoDictionaryOld::EnumAttributes enumerates all the attributes. If the type is VT_I4, then the value of the VARIANT is the ID of the attribute to enumerate.

On output, pointer to a SAFEARRAY that contains the IDs of the enumerated attributes.

pValues
[out,retval] Pointer to a SAFEARRAY that contains the values of the enumerated attributes.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

The parameters must not be NULL.

If VT(Id) = VT_EMPTY then all the attributes will be returned. Otherwise VT(Id) should be VT_I4 and only the attributes designed are retrieved.

When the function returns, Id is a SAFEARRAY of the Ids returned, and pValues is a SAFEARRAY of the values returned.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoDictionaryOld


ISdoDictionaryOld::EnumAttributeValues

The ISdoDictionaryOld::EnumAttributeValues method retrieves the values for an enumerable attribute.

HRESULT EnumAttributeValues(
  ATTRIBUTEID Id,
  VARIANT *pValueIds,
  VARIANT *pValuesDesc
);

Parameters

Id
[in] Specifies the ID of the attribute.
pValueIds
[out] On successful return points to a SAFEARRAY of value IDs for the enumerable attribute. If the attribute is not enumerable, points to a VT_EMPTY variant.
pValuesDesc
[out] On successful return points to a SAFEARRAY of value descriptions for the enumerable attribute. If the attribute is not enumerable, points to a VT_EMPTY variant.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

The return value is S_OK even if the attribute is not enumerable.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoDictionaryOld


ISdoDictionaryOld::GetAttributeID

The ISdoDictionaryOld::GetAttributeID method retrieves the ID for the specified attribute.

HRESULT GetAttributeID(
  BSTR bstrAttributeName,
  ATTRIBUTEID *pId
);

Parameters

bstrAttributeName
[in] Specifies the name of the attribute. This name is either the Lightweight Directory Access Protocol (LDAP) name, or the display name for the attribute.
pId
[out,retval] Pointer to an ATTRIBUTEID that receives the ID of the specified attribute.

Return Values

If the method succeeds the return value is S_OK.

If the method does not find the attribute, the return value is DISP_E_MEMBERNOTFOUND.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoDictionaryOld, ATTRIBUTEID, BSTR


ISdoDictionaryOld::GetAttributeInfo

The ISdoDictionaryOld::GetAttributeInfo retrieves information for the specified attribute.

HRESULT GetAttributeInfo(
  ATTRIBUTEID Id,
  VARIANT *pInfoIDs,
  VARIANT *pInfoValues
);

Parameters

Id
[in] Specifies the ID for the attribute.
pInfoIDs
[in] Pointer to an array of information IDs. This pointer cannot be NULL.
pInfoValues
[out,retval] Pointer to a SAFEARRAY of information values.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Although Server Data Objects (SDO) exposes this method, you do not need it in order to use SDO. The use of this method is discouraged.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoDictionaryOld, ATTRIBUTEINFO, SAFEARRAY, VARIANT


ISdoMachine

Use the ISdoMachine interface to attach to an SDO computer, obtain information about the SDO computer, and obtain interfaces to other SDO objects.

Methods and Properties in Vtable Order

IUnknown Methods

IDispatch Methods

ISdoMachine Methods | Description
Attach | Attaches to a computer in order to administer services on it through SDO.
GetDictionarySDO | Retrieves an interface for an attribute-dictionary SDO.
GetServiceSDO | Retrieves an interface for a service SDO, for example Internet Authentication Service (IAS).
GetUserSDO | Retrieves an interface for a user SDO.
GetOSType | Retrieves the type of operating system running on the SDO computer.
GetDomainType | Retrieves the type of domain, if any, in which the SDO computer resides.
IsDirectoryAvailable | Tests whether an Active Directory service is available on the SDO computer.
GetAttachedComputer | Retrieves the name of the currently attached computer, if any.
GetSDOSchema | Retrieves an interface to the schema SDO.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

Server Data Objects Reference, Server Data Objects Interfaces


ISdoMachine::Attach

The ISdoMachine::Attach method attaches to an SDO computer. Attaching to an SDO computer is the first step is using the SDO API to administer that computer.

HRESULT Attach(
  BSTR bstrComputerName
);

Parameters

bstrComputerName
[in] Specifies a BSTR variable that contains the name of the computer to which to attach. If this parameter specifies a NULL string, the local computer is attached.

Return Values

If the method succeeds the return value is S_OK.

If a computer is already attached, the return value is E_FAIL.

The method may also return one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Use the ISdoMachine::GetAttachedComputer method to determine if a computer is already attached.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoMachine, ISdoMachine::GetAttachedComputer


ISdoMachine::GetAttachedComputer

The ISdoMachine::GetAttachedComputer method retrieves the name of the computer that is currently attached as an SDO computer.

HRESULT GetAttachedComputer(
  BSTR *bstrComputerName
);

Parameters

bstrComputerName
[out, retval] Pointer to a BSTR that receives the name of the computer that is the currently-attached SDO computer.

Return Values

If the method succeeds the return value is S_OK.

If the no computer is currently attached, the return value is E_FAIL.

The method may also return one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

The ISdoMachine::GetAttachedComputer allocates the memory for the BSTR variable. The calling application should free this memory by calling SysFreeString.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoMachine, ISdoMachine::Attach


ISdoMachine::GetDictionarySDO

The ISdoMachine::GetDictionarySDO method retrieves an interface for an attribute-dictionary SDO.

HRESULT GetDictionarySDO(
  IUnknown **ppDictionarySDO
);

Parameters

ppDictionarySDO
[out, retval] Pointer to an ISdoDictionary.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Before calling this method, use the ISdoMachine::Attach method to attach to the SDO computer.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoMachine, ISdoMachine::Attach


ISdoMachine::GetDomainType

The ISdoMachine::GetDomainType retrieves the type of domain in which the SDO computer resides.

HRESULT GetDomainType(
  IASDOMAINTYPE *eDomainType
);

Parameters

eDomainType
[out, retval] Pointer to an IASDOMAINTYPE variable that receives the type of the domain in which the SDO computer resides.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Before calling this method, use the ISdoMachine::Attach method to attach to the SDO computer.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoMachine, ISdoMachine::Attach, IASDOMAINTYPE


ISdoMachine::GetOSType

The ISdoMachine::GetOSType method retrieves the type of operating system running on the SDO computer.

HRESULT GetOSType(
  IASOSTYPE *eOSType
);

Parameters

eOSType
[out, retval] Pointer to an IASOSTYPE variable that receives the type of the operating system on the SDO computer.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Before calling this method, use the ISdoMachine::Attach method to attach to the SDO computer.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoMachine, ISdoMachine::Attach, IASOSTYPE


ISdoMachine::GetSDOSchema

The ISdoMachine::GetSDOSchema method retrieves an ISdoSchema interface pointer.

HRESULT GetSDOSchema(
  IUnknown **ppSDOSchema
);

Parameters

ppSDOSchema
[out, retval] Pointer to a pointer that points to an ISdoSchema interface.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Before calling this method, use the ISdoMachine::Attach method to attach to the SDO computer.

Although Server Data Objects (SDO) exposes this method, you do not need it in order to use SDO. The use of this method is discouraged.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoMachine, ISdoMachine::Attach


ISdoMachine::GetServiceSDO

The ISdoMachine::GetServiceSDO method retrieves a Server Data Object (SDO) for the specified service.

HRESULT GetServiceSDO(
  IASDATASTORE eDataStore,
  BSTR bstrServiceName,
  IUnknown **ppServiceSDO
);

Parameters

eDataStore
[in] Specifies a value from the IASDATASTORE enumeration type.
bstrServiceName
[in] Specifies a BSTR that contains the service name. This parameter is one of the following values.
String Value | Meaning
"IAS" | Internet Authentication Service
"RemoteAccess" | Remote Access Service

ppServiceSDO
[out, retval] Pointer to a pointer that points to an IUnknown interface pointer. Use the QueryInterface method of this IUnknown interface to obtain an IDispatch interface for the ISdoServiceControl object.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Before calling this method, use the ISdoMachine::Attach method to attach to the SDO computer.

None of the parameters for this method can be NULL.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoMachine, ISdoMachine::Attach, Retrieving a Service SDO


ISdoMachine::GetUserSDO

The ISdoMachine::GetUserSDO method retrieves an interface to Server Data Object (SDO) for the specified user.

HRESULT GetUserSDO(
  IASDATASTORE eDataStore,
  BSTR bstrUserName,
  IUnknown **ppUserSDO
);

Parameters

eDataStore
[in] Specifies a value from the IASDATASTORE enumeration type.
bstrUserName
[in] Specifies a BSTR that contains the name of the user. The name can be in Light-weight Directory Access Protocol (LDAP) format, or in Security Accounts Manager (SAM) format.
ppUserSDO
[out, retval] Pointer to a pointer that points to an IUnknown interface pointer. Use the QueryInterface method of this IUnknown interface to obtain an IDispatch interface to an ISdo object for the specified user.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Before calling this method, use the ISdoMachine::Attach method to attach to the SDO computer.

If the SDO computer has a directory, then the ISdoMachine::GetUserSDO automatically uses the DATA_STORE_DIRECTORY value of IASDATASTORE instead of DATA_STORE_LOCAL.

None of the parameters can be NULL.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoMachine, ISdoMachine::Attach, Retrieving a User SDO, USERPROPERTIES


ISdoMachine::IsDirectoryAvailable

The ISdoMachine::IsDirectoryAvailable method tests whether an Active Directory service is available on the SDO computer.

HRESULT IsDirectoryAvailable(
  VARIANT_BOOL *boolDirectoryAvailable
);

Parameters

boolDirectoryAvailable
[out] Specifies whether the Active Directory is available. If the Active Directory is available, this parameter is TRUE. Otherwise, it is FALSE.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

Before calling this method, use the ISdoMachine::Attach method to attach to the SDO computer.

Important Always returns VARIANT_FALSE in the current implementation 08/02/1999.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoMachine, ISdoMachine::Attach


ISdoServiceControl

Use the ISdoServiceControl interface to control the service being administered on the SDO computer.

Methods and Properties in Vtable Order

IUnknown Methods

IDispatch Methods

ISdoServiceControl Methods | Description
StartService | Starts the service.
StopService | Stops the service.
GetServiceStatus | Retrieves the current status of the service.
ResetService | Resets the service.

Remarks

Use the ISdoMachine::GetServiceSDO method to retrieve a pointer to an ISdoServiceControl interface.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

Server Data Objects Reference, Server Data Objects Interfaces


ISdoServiceControl::GetServiceStatus

The ISdoServiceControl::GetServiceStatus method retrieves the status of the service being administered through SDO.

HRESULT GetServiceStatus(
  LONG *status
);

Parameters

status
[out, retval] Pointer to a LONG variable that contains the status of the service. The status is one of the following values.
Value | Meaning
SERVICE_STOPPED | The service is stopped.
SERVICE_START_PENDING | The service is starting.
SERVICE_STOP_PENDING | The service is shutting down.
SERVICE_RUNNING | The service is up and running.
SERVICE_CONTINUE_PENDING | The service is starting after being in a paused state.
SERVICE_PAUSE_PENDING | The service is pausing.
SERVICE_PAUSED | The service is paused.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoMachine::GetServiceSDO, ISdoServiceControl


ISdoServiceControl::ResetService

The ISdoServiceControl::ResetService method resets the service that is administered by the SDO API. Resetting the service causes the service to refresh its data.

HRESULT ResetService (void);

Parameters

None.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

The data refresh can take up to five seconds to complete.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoMachineGetServiceSDO, ISdoServiceControl


ISdoServiceControl::StartService

The ISdoServiceControl::StartService method starts the service that is administered through SDO.

HRESULT StartService (void);

Parameters

None.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoMachineGetServiceSDO, ISdoServiceControl, ISdoServiceControl::GetServiceStatus, ISdoServiceControl::StopService


ISdoServiceControl::StopService

The ISdoServiceControl::StopService shuts down the service that is administered through SDO.

HRESULT StopService (void);

Parameters

None.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdoMachineGetServiceSDO, ISdoServiceControl, ISdoServiceControl::GetServiceStatus, ISdoServiceControl::StartService


Server Data Objects Enumeration Types

The following enumeration types enumerate the properties and values used by server data objects.


Listing by Category

This topic lists the enumeration types under the following categories.

  • Accounting
  • Attributes
  • Collections


Accounting

Use the following enumeration types when administering accounting on the SDO computer.

ACCOUNTINGPROPERTIES

NEW_LOG_FILE_FREQUENCY


Attributes

Use the following enumeration types when manipulating RADIUS dictionary attributes on the SDO computer.

ATTRIBUTEID

ATTRIBUTEINFO

ATTRIBUTEPROPERTIES

ATTRIBUTERESTRICTIONS

ATTRIBUTESYNTAX

DICTIONARYPROPERTIES

POLICYPROPERTIES

PROFILEPROPERTIES


Collections

The values in the following enumeration types correspond to SDO collections.

DICTIONARYPROPERTIES

IASPROPERTIES

POLICYPROPERTIES

PROFILEPROPERTIES

PROTOCOLPROPERTIES

RADIUSPROPERTIES

RADIUSSERVERGROUPPROPERTIES

NAPPROPERTIES


Alphabetical Listing

This topic lists the SDO enumeration types in alphabetical order.

ACCOUNTINGPROPERTIES

ATTRIBUTEID

ATTRIBUTEINFO

ATTRIBUTEPROPERTIES

ATTRIBUTERESTRICTIONS

ATTRIBUTESYNTAX

CLIENTPROPERTIES

CONDITIONPROPERTIES

DICTIONARYPROPERTIES

EAPWRAPPROPERTIES

IASCOMMONPROPERTIES

IASCOMPONENTPROPERTIES

IASDATASTORE

IASDOMAINTYPE

IASOSTYPE

IASPROPERTIES

NAMESPROPERTIES

NAPPROPERTIES

NEW_LOG_FILE_FREQUENCY

NTEVENTLOGPROPERTIES

NTSAMPROPERTIES

POLICYPROPERTIES

PROFILEPROPERTIES

PROTOCOLPROPERTIES

RADIUSPROPERTIES

RADIUSPROXYPROPERTIES

RADIUSSERVERGROUPPROPERTIES

RADIUSSERVERPROPERTIES

SERVICE_TYPE

USERPROPERTIES

VENDORPROPERTIES


ACCOUNTINGPROPERTIES

The values of the ACCOUNTINGPROPERTIES type enumerate properties that control what types of packets are logged and characteristics of the log file.

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
}  ACCOUNTINGPROPERTIES;

Values

PROPERTY_ACCOUNTING_LOG_ACCOUNTING
Specifies whether accounting packets are logged.
PROPERTY_ACCOUNTING_LOG_ACCOUNTING_INTERIM
Specifies whether interim accounting packets are logged.
PROPERTY_ACCOUNTING_LOG_AUTHENTICATION
Specifies whether authentication packets are logged.
PROPERTY_ACCOUNTING_LOG_OPEN_NEW_FREQUENCY
Specifies how frequently a new log file is created.
PROPERTY_ACCOUNTING_LOG_OPEN_NEW_SIZE
Specifies the file size. When the log file reaches this size, the system creates a new log file.
PROPERTY_ACCOUNTING_LOG_FILE_DIRECTORY
The file-system path to the directory where the log file is located. This path does not include the filename. It also does not include a trailing backslash.
PROPERTY_ACCOUNTING_LOG_IAS1_FORMAT
Specifies whether the log should be in IAS format (TRUE) or database convertible format.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

NEW_LOG_FILE_FREQUENCY


ATTRIBUTEID

The ATTRIBUTEID enumeration type enumerates the RADIUS attributes supported by the SDO API.

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_NP_SESSIONS_ALLOWED,
  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,
  MS_ATTRIBUTE_ACCT_AUTH_TYPE,
  MS_ATTRIBUTE_ACCT_EAP_TYPE,
  IAS_ATTRIBUTE_PACKET_TYPE,
  IAS_ATTRIBUTE_AUTH_PROVIDER_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_
  // 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;

Values

ATTRIBUTE_UNDEFINED
Specifies a value equal to zero, and used as the NULL terminator in an array of attributes.
ATTRIBUTE_MIN_VALUE
Specifies the minimum value for values of this enumeration type.
RADIUS_ATTRIBUTE_USER_NAME
Specifies the name of the user to be authenticated. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_USER_PASSWORD
Specifies the password of the user to be authenticated. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_CHAP_PASSWORD
Specifies the password provided by the user in response to an MD5 Challenge Handshake Authentication Protocol (CHAP) challenge. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_NAS_IP_ADDRESS
Specifies the Network Access Server (NAS) IP address. An Access-Request should specify either an NAS IP address or an NAS identifier. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_NAS_PORT
Specifies the physical or virtual private network (VPN) through which the user is connecting to the NAS. Note that this value is not a port number in the sense of TCP or UDP. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_SERVICE_TYPE
Specifies the type of service the user has requested or the type of service to be provided. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_FRAMED_PROTOCOL
Specifies the type of framed protocol to use for framed access, for example SLIP, PPP, or ARAP (AppleTalk Remote Access Protocol). For more information, see RFC 2865.
RADIUS_ATTRIBUTE_FRAMED_IP_ADDRESS
Specifies the IP address that is configured for the user requesting authentication. This attribute is typically returned by the authentication provider. However, the NAS may use it in an authentication request to specify a preferred IP address. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_FRAMED_IP_NETMASK
Specifies the IP network mask for a user that is a router to a network. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_FRAMED_ROUTING
Specifies the routing method for a user that is a router to a network. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_FILTER_ID
Specifies the filter list for the user requesting authentication. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_FRAMED_MTU
Specifies the Maximum Transmission Unit (MTU) for the user. This attribute is used in cases where the MTU is not negotiated through some other means, such as PPP. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_FRAMED_COMPRESSION
Specifies a compression protocol to use for the connection. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_LOGIN_IP_HOST
Specifies the system with which to connect the user. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_LOGIN_SERVICE
Specifies the service to use to connect the user to the host specified by raatLoginIPHost. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_LOGIN_TCP_PORT
Specifies the port to which to connect the user. This attribute is present only if the raatLoginService attribute is present. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_UNASSIGNED1
This value is currently unassigned.
RADIUS_ATTRIBUTE_REPLY_MESSAGE
Specifies a message to display to the user. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_CALLBACK_NUMBER
Specifies a callback number. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_CALLBACK_ID
Specifies a location to call back. The value of this attribute is interpreted by the NAS. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_UNASSIGNED2
This value is currently unassigned. The value field in for this type is also undefined.
RADIUS_ATTRIBUTE_FRAMED_ROUTE
Specifies routing information to configure on the NAS for the user. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_FRAMED_IPX_NETWORK
Specifies the IPX network number to configure for the user. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_STATE
Specifies state information provided to the client by the server. Refer to RFC 2865 for detailed information about this value. The value field in for this type is a pointer.
RADIUS_ATTRIBUTE_CLASS
Specifies a value that is provided to the NAS by the authentication provider. The NAS should use this value when communicating with the accounting provider. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_VENDOR_SPECIFIC
Specifies a field for vendor-supplied extended attributes. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_SESSION_TIMEOUT
Specifies the maximum number of seconds for which to provide service to the user. After this time, the session is terminated. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_IDLE_TIMEOUT
Specifies the maximum number of consecutive seconds the session can be idle. If the idle time exceeds this value, the session is terminated. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_TERMINATION_ACTION
Specifies an action the server performs when time the connection terminates. Refer to the above-referenced files for detailed information about this value. The value field in for this type is 32-bit integral value. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_CALLED_STATION_ID
Specifies the number that the user dialed to connect to the NAS. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_CALLING_STATION_ID
Specifies the number from which the user is calling. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_NAS_IDENTIFIER
Specifies the NAS identifier. An Access-Request should specify either an NAS identifier or an NAS IP address. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_PROXY_STATE
Specifies a value that a proxy server includes when forwarding an authentication request. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_LOGIN_LAT_SERVICE
Specifies an attribute that is not currently used for authentication on Windows 2000. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_LOGIN_LAT_NODE
Specifies an attribute that is not currently used for authentication on Windows 2000. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_LOGIN_LAT_GROUP
Specifies an attribute that is not currently used for authentication on Windows 2000. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_FRAMED_APPLETALK_LINK
Specifies the AppleTalk network number for the user when the user is another router. The value field in for this type is 32-bit integral value. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_FRAMED_APPLETALK_NET
Specifies the AppleTalk network number that the NAS should use to allocate an AppleTalk node for the user. This attribute is used only when the user is not another router. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_FRAMED_APPLETALK_ZONE
Specifies the AppleTalk default zone for the user. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_ACCT_STATUS_TYPE
Specifies whether the accounting provider should start or stop accounting for the user. For more information, see Draft Radius Accounting v2 05.
RADIUS_ATTRIBUTE_ACCT_DELAY_TIME
Specifies the length of time that the client has been attempting to send the current request. For more information, see Draft Radius Accounting v2 05.
RADIUS_ATTRIBUTE_ACCT_INPUT_OCTETS
Specifies the number of octets that have been received during the current accounting session. For more information, see Draft Radius Accounting v2 05.
RADIUS_ATTRIBUTE_ACCT_OUTPUT_OCTETS
Specifies the number of octets that were sent during the current accounting session. For more information, see Draft Radius Accounting v2 05.
RADIUS_ATTRIBUTE_ACCT_SESSION_ID
Specifies a value to enable the identification of matching start and stop records within a log file. The start and stop records are sent in the raatAcctStatusType attribute. For more information, see Draft Radius Accounting v2 05.
RADIUS_ATTRIBUTE_ACCT_AUTHENTIC
Specifies, to the accounting provider, how the user was authenticated; for example by Windows 2000 Directory Services, RADIUS, or some other authentication provider. For more information, see Draft Radius Accounting v2 05.
RADIUS_ATTRIBUTE_ACCT_SESSION_TIME
Specifies the number of seconds that have elapsed in the current accounting session. For more information, see Draft Radius Accounting v2 05.
RADIUS_ATTRIBUTE_ACCT_INPUT_PACKETS
Specifies the number of packets that are received during the current accounting session. For more information, see Draft Radius Accounting v2 05.
RADIUS_ATTRIBUTE_ACCT_OUTPUT_PACKETS
Specifies the number of packets that are sent during the current accounting session. For more information, see Draft Radius Accounting v2 05.
RADIUS_ATTRIBUTE_ACCT_TERMINATE_CAUSE
Specifies how the current accounting session was terminated. For more information, see Draft Radius Accounting v2 05.
RADIUS_ATTRIBUTE_ACCT_MULTI_SSN_ID
Specifies a value to enable the identification of related accounting sessions within a log file. For more information, see Draft Radius Accounting v2 05.
RADIUS_ATTRIBUTE_ACCT_LINK_COUNT
Specifies the number of links if the current accounting session is using a multilink connection. For more information, see Draft Radius Accounting v2 05.
RADIUS_ATTRIBUTE_CHAP_CHALLENGE
Specifies the CHAP challenge sent by the NAS to a CHAP user. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_NAS_PORT_TYPE
Specifies the type of the port through which the user is connecting, for example, asynchronous, ISDN, virtual. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_PORT_LIMIT
Specifies the number of ports the NAS should make available to the user for multilink sessions. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_LOGIN_LAT_PORT
Specifies an attribute that is not currently used for authentication on Windows 2000. For more information, see RFC 2865.
RADIUS_ATTRIBUTE_TUNNEL_TYPE
Specifies the tunneling protocol used. The following table lists valid tunnel types.
Tunnel Type Value | Description
1 | Point-to-Point Tunneling Protocol (PPTP)
2 | Layer Two Forwarding (L2F)
3 | Layer Two Tunneling Protocol (L2TP)
4 | Ascend Tunnel Management Protocol (ATMP)
5 | Virtual Tunneling Protocol (VTP)
6 | IP Authentication Header in the Tunnel-mode
7 | IP-in-IP Encapsulation (IP-IP)
8 | Minimal IP-in-IP Encapsulation (MIN-IP-IP)
9 | IP Encapsulating Security Payload in the Tunnel-mode (ESP)
10 | Generic Route Encapsulation (GRE)
11 | Bay Dial Virtual Services (DVS)
12 | IP-in-IP Tunneling

RADIUS_ATTRIBUTE_TUNNEL_MEDIUM_TYPE
Specifies which transport medium to use when creating a tunnel for those protocols (such as L2TP) that can operate over multiple transports. The following table lists valid medium types.
Medium Type Value | Description
1 | IPv4 (IP version 4)
2 | IPv6 (IP version 6)
3 | OSI Network Service Access Points (NSAP) Signaling Protocol (see ISO 8348 and ITU-T X.213).
4 | High-Level Data Link Control (HDLC) Protocol (8-bit multidrop)
5 | Bolt Beranek and Newman, Inc. (BBN) Report 1822
6 | IEEE 802 (includes all 802 media plus Ethernet "canonical format")
7 | E.163 Plain Old Telephone Service (POTS))
8 | E.164 Switched Multimegabit Data Service (SMDS), Frame Relay, ATM
9 | F.69 (Telex)
10 | X.121 (X.25, Frame Relay)
11 | IPX
12 | Appletalk
13 | Decnet IV
14 | Banyan Vines
15 | E.164 with NSAP format subaddress

RADIUS_ATTRIBUTE_TUNNEL_CLIENT_ENDPT
Specifies the address of the initiator end of the tunnel.
RADIUS_ATTRIBUTE_TUNNEL_SERVER_ENDPT
Specifies to the address of the server end of the tunnel.
RADIUS_ATTRIBUTE_ACCT_TUNNEL_CONN
RADIUS_ATTRIBUTE_TUNNEL_PASSWORD
RADIUS_ATTRIBUTE_ARAP_PASSWORD
Specifies a password to use for AppleTalk Remote Access Protocol (ARAP) authentication. For more information, see RFC 2869.
RADIUS_ATTRIBUTE_ARAP_FEATURES
Specifies information that an NAS should send back to the user in an ARAP "feature flags" packet. For more information, see RFC 2869.
RADIUS_ATTRIBUTE_ARAP_ZONE_ACCESS
Specifies how to use the ARAP zone list for the user. For more information, see RFC 2869.
RADIUS_ATTRIBUTE_ARAP_SECURITY
Specifies an ARAP security module to use during a secondary authentication phase between the NAS and the user. The value field for this type is a 32-bit integral. For more information, see RFC 2869.
RADIUS_ATTRIBUTE_ARAP_SECURITY_DATA
Specifies the data to use with an ARAP security module. For more information, see RFC 2869.
RADIUS_ATTRIBUTE_PASSWORD_RETRY
Specifies the number of password retry attempts to permit the user access. The value field for this type is a 32-bit integral value.
RADIUS_ATTRIBUTE_PROMPT
Specifies whether the NAS should echo the user response to a challenge. For more information, see RFC 2869.
RADIUS_ATTRIBUTE_CONNECT_INFO
Specifies information about the type of connection the user is using. For more information, see RFC 2869.
RADIUS_ATTRIBUTE_CONFIGURATION_TOKEN
Specifies user-profile information in communications between RADIUS Proxy Servers and RADIUS Proxy Clients. For more information, see RFC 2869.
RADIUS_ATTRIBUTE_EAP_MESSAGE
Specifies that EAP information be sent directly between the user and the authentication provider. For more information, see RFC 2869.
RADIUS_ATTRIBUTE_SIGNATURE
Specifies a signature to include with CHAP, EAP, or ARAP packets. For more information, see RFC 2869.
RADIUS_ATTRIBUTE_TUNNEL_PVT_GROUP_ID
RADIUS_ATTRIBUTE_TUNNEL_ASSIGNMENT_ID
RADIUS_ATTRIBUTE_TUNNEL_PREFERENCE
RADIUS_ATTRIBUTE_ARAP_CHALLENGE_RESPONSE
Specifies the response to a Apple Remote Access Protocol (ARAP) challenge. In ARAP, either the server or the client can respond to challenges. For more information, see RFC 2869.
IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_IP_ADDRESS
This attribute is reserved for system use.
IAS_ATTRIBUTE_SAVED_RADIUS_CALLBACK_NUMBER
This attribute is reserved for system use.
IAS_ATTRIBUTE_NP_CALLING_STATION_ID
This attribute is reserved for system use.
IAS_ATTRIBUTE_SAVED_NP_CALLING_STATION_ID
This attribute is reserved for system use.
IAS_ATTRIBUTE_SAVED_RADIUS_FRAMED_ROUTE
This attribute is reserved for system use.
IAS_ATTRIBUTE_NP_SESSIONS_ALLOWED
This attribute is reserved for system use.
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
This attribute is reserved for system use.
IAS_ATTRIBUTE_CLIENT_IP_ADDRESS
This attribute is reserved for system use.
IAS_ATTRIBUTE_CLIENT_PACKET_HEADER
This attribute is reserved for system use.
IAS_ATTRIBUTE_TOKEN_GROUPS
This attribute is reserved for system use.
IAS_ATTRIBUTE_ALLOW_DIALIN
IAS_ATTRIBUTE_NP_CONSTRAINT
This attribute is reserved for system use.
IAS_ATTRIBUTE_MANIPULATION_TARGET
IAS_ATTRIBUTE_MANIPULATION_RULE
IAS_ATTRIBUTE_ORIGINAL_USER_NAME
This attribute is reserved for system use.
IAS_ATTRIBUTE_CLIENT_VENDOR_TYPE
This attribute is reserved for system use.
IAS_ATTRIBUTE_CLIENT_UDP_PORT
This attribute is reserved for system use.
MS_ATTRIBUTE_CHAP_CHALLENGE
This attribute is reserved for system use.
MS_ATTRIBUTE_CHAP_RESPONSE
This attribute is reserved for system use.
MS_ATTRIBUTE_CHAP_DOMAIN
This attribute is reserved for system use.
MS_ATTRIBUTE_CHAP_ERROR
This attribute is reserved for system use.
MS_ATTRIBUTE_CHAP_CPW1
This attribute is reserved for system use.
MS_ATTRIBUTE_CHAP_CPW2
This attribute is reserved for system use.
MS_ATTRIBUTE_CHAP_LM_ENC_PW
This attribute is reserved for system use.
MS_ATTRIBUTE_CHAP_NT_ENC_PW
This attribute is reserved for system use.
MS_ATTRIBUTE_CHAP_MPPE_KEYS
This attribute is reserved for system use.
IAS_ATTRIBUTE_AUTHENTICATION_TYPE
This attribute is reserved for system use.
IAS_ATTRIBUTE_CLIENT_NAME
This attribute is reserved for system use.
IAS_ATTRIBUTE_NT4_ACCOUNT_NAME
This attribute is reserved for system use.
IAS_ATTRIBUTE_FULLY_QUALIFIED_USER_NAME
This attribute is reserved for system use.
IAS_ATTRIBUTE_NTGROUPS
IAS_ATTRIBUTE_EAP_FRIENDLY_NAME
This attribute is reserved for system use.
MS_ATTRIBUTE_ACCT_AUTH_TYPE
This attribute is reserved for system use.
MS_ATTRIBUTE_ACCT_EAP_TYPE
This attribute is reserved for system use.
IAS_ATTRIBUTE_PACKET_TYPE
This attribute is reserved for system use.
IAS_ATTRIBUTE_AUTH_PROVIDER_TYPE
IAS_ATTRIBUTE_AUTH_PROVIDER_NAME
IAS_ATTRIBUTE_ACCT_PROVIDER_TYPE
IAS_ATTRIBUTE_ACCT_PROVIDER_NAME
MS_ATTRIBUTE_MPPE_SEND_KEY
This attribute is reserved for system use.
MS_ATTRIBUTE_MPPE_RECV_KEY
This attribute is reserved for system use.
IAS_ATTRIBUTE_REASON_CODE
MS_ATTRIBUTE_FILTER
See Request for Comments (RFC) 2548, Microsoft Vendor-specific RADIUS Attributes.
MS_ATTRIBUTE_CHAP2_RESPONSE
This attribute is reserved for system use.
MS_ATTRIBUTE_CHAP2_SUCCESS
This attribute is reserved for system use.
MS_ATTRIBUTE_CHAP2_CPW
This attribute is reserved for system use.
MS_ATTRIBUTE_RAS_VENDOR
See Request for Comments (RFC) 2548, Microsoft Vendor-specific RADIUS Attributes.
MS_ATTRIBUTE_RAS_VERSION
See Request for Comments (RFC) 2548, Microsoft Vendor-specific RADIUS Attributes.
IAS_ATTRIBUTE_NP_NAME
This attribute is reserved for system use.
MS_ATTRIBUTE_PRIMARY_DNS_SERVER
See Request for Comments (RFC) 2548, Microsoft Vendor-specific RADIUS Attributes.
MS_ATTRIBUTE_SECONDARY_DNS_SERVER
See Request for Comments (RFC) 2548, Microsoft Vendor-specific RADIUS Attributes.
MS_ATTRIBUTE_PRIMARY_NBNS_SERVER
See Request for Comments (RFC) 2548, Microsoft Vendor-specific RADIUS Attributes.
MS_ATTRIBUTE_SECONDARY_NBNS_SERVER
See Request for Comments (RFC) 2548, Microsoft Vendor-specific RADIUS Attributes.
IAS_ATTRIBUTE_PROXY_POLICY_NAME
This attribute is reserved for system use.
IAS_ATTRIBUTE_PROVIDER_TYPE
This attribute is reserved for system use.
IAS_ATTRIBUTE_PROVIDER_NAME
This attribute is reserved for system use.
IAS_ATTRIBUTE_REMOTE_SERVER_ADDRESS
This attribute is reserved for system use.
RAS_ATTRIBUTE_ENCRYPTION_TYPE
RAS_ATTRIBUTE_ENCRYPTION_POLICY
RAS_ATTRIBUTE_BAP_REQUIRED
Specifies whether bandwidth allocation protocol (BAP) is required.
RAS_ATTRIBUTE_BAP_LINE_DOWN_TIME
RAS_ATTRIBUTE_BAP_LINE_DOWN_LIMIT

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

Attributes, ISdoDictionaryOld


ATTRIBUTEINFO

The values of the ATTRIBUTEINFO type enumerate characteristics of a specified attribute.

typedef [public] enum _ATTRIBUTEINFO
{
    NAME = 1,
    SYNTAX,
    RESTRICTIONS,
    DESCRIPTION,
    VENDORID,
    LDAPNAME,
    VENDORTYPE,

}  ATTRIBUTEINFO;

Values

NAME
The name of the attribute.
SYNTAX
The syntax of the attribute.
RESTRICTIONS
Restrictions on how the attribute can be used.
DESCRIPTION
Description of the attribute.
VENDORID
The vendor ID for Vendor Specific Attributes (VSA).
LDAPNAME
The Lightweight Directory Access Protocol (LDAP) name for the attribute.
VENDORTYPE
The attribute type for Vendor Specific Attributes (VSA).

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

ISdoDictionaryOld::GetAttributeInfo, ATTRIBUTERESTRICTIONS, ATTRIBUTESYNTAX


ATTRIBUTEPROPERTIES

The values of the ATTRIBUTEPROPERTIES type enumerate properties for a RADIUS dictionary attribute.

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
}  ATTRIBUTEPROPERTIES;

Values

PROPERTY_ATTRIBUTE_ID
The ID of the attribute.
PROPERTY_ATTRIBUTE_VENDOR_ID
The vendor ID for Vendor Specific Attributes (VSA).
PROPERTY_ATTRIBUTE_VENDOR_TYPE_ID
The vendor-specific type ID for Vendor Specific Attributes (VSA).
PROPERTY_ATTRIBUTE_IS_ENUMERABLE
Specifies whether the attribute is enumerable.
PROPERTY_ATTRIBUTE_ENUM_NAMES
The IDs for an enumerable attribute.
PROPERTY_ATTRIBUTE_ENUM_VALUES
The values for an enumerable attribute.
PROPERTY_ATTRIBUTE_SYNTAX
Specifies the syntax of the attribute.
PROPERTY_ATTRIBUTE_ALLOW_MULTIPLE
Specifies whether multiple instances of this attribute are allowed.
PROPERTY_ATTRIBUTE_ALLOW_LOG_ORDINAL
Specifies the Open Database Connectivity (ODBC) ordinal.
PROPERTY_ATTRIBUTE_ALLOW_IN_PROFILE
Specifies whether this attribute is allowed in the profile for a Network Access Policy (NAP).
PROPERTY_ATTRIBUTE_ALLOW_IN_CONDITION
Specifies whether this attribute is allowed in a condition for a Network Access Policy (NAP).
PROPERTY_ATTRIBUTE_DISPLAY_NAME
The display name for the attribute.
PROPERTY_ATTRIBUTE_VALUE
Specifies the value for the attribute.
PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_PROFILE
Whistler: Specifies whether the attribute is allowed in an NAP profile for a network request proxy.
PROPERTY_ATTRIBUTE_ALLOW_IN_PROXY_CONDITION
Whistler: Specifies whether the attribute is allowed in an NAP condition for a network request proxy.

Remarks

The DICTIONARYPROPERTIES enumeration type contains the attributes collection property, PROPERTY_DICTIONARY_ATTRIBUTES_COLLECTION.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

ATTRIBUTEID, ATTRIBUTESYNTAX, DICTIONARYPROPERTIES


ATTRIBUTERESTRICTIONS

The values of the ATTRIBUTERESTRICTIONS enumeration type specify restrictions on how a particular attribute can be used.

typedef [public] enum _ATTRIBUTERESTRICTIONS
{
  MULTIVALUED             = 0x01,
  ALLOWEDINPROFILE        = 0x02,
  ALLOWEDINCONDITION      = 0x04,
  ALLOWEDINPROXYPROFILE   = 0x08,
  ALLOWEDINPROXYCONDITION = 0x10

} ATTRIBUTERESTRICTIONS;

Values

MULTIVALUED
Specifies whether the attribute is multivalued.
ALLOWEDINPROFILE
Specifies whether the attribute is allowed in a Network Access Policy (NAP) profile.
ALLOWEDINCONDITION
Specifies whether the attribute is allowed in an NAP condition.
ALLOWEDINPROXYPROFILE
Whistler: Specifies whether the attribute is allowed in an NAP profile for a network request proxy.
ALLOWEDINPROXYCONDITION
Whistler: Specifies whether the attribute is allowed in an NAP condition for a network request proxy.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

ATTRIBUTEINFO


ATTRIBUTESYNTAX

Each value from the ATTRIBUTESYNTAX enumeration type specifies a possible attribute syntax.

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;

Values

IAS_SYNTAX_BOOLEAN
The attribute is of type boolean.
IAS_SYNTAX_INTEGER
The attribute is of type integer.
IAS_SYNTAX_ENUMERATOR
The attribute is an enumerator.
IAS_SYNTAX_INETADDR
The attribute is an Internet address.
IAS_SYNTAX_STRING
The attribute is a text string.
IAS_SYNTAX_OCTETSTRING
The attribute is a byte (octet) string.
IAS_SYNTAX_UTCTIME
The attribute is a time in coordinated universal time format.
IAS_SYNTAX_PROVIDERSPECIFIC
The attribute and its type are vendor-specific.
IAS_SYNTAX_UNSIGNEDINTEGER
The attribute is of type unsigned integer.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

ATTRIBUTEINFO


CLIENTPROPERTIES

The values of the CLIENTPROPERTIES type enumerate the properties of a RADIUS client. The SDO computer is the RADIUS server.

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,
}  CLIENTPROPERTIES;

Values

PROPERTY_CLIENT_REQUIRE_SIGNATURE
Specifies whether the RADIUS server checks for a digital signature.

Note If client and server use Extensible Authentication Protocol (EAP), then they use digital signatures regardless of this property.

PROPERTY_CLIENT_UNUSED
This value indicates that the property is unused at this time.
PROPERTY_CLIENT_SHARED_SECRET
The secret shared by both the RADIUS client and RADIUS server.
PROPERTY_CLIENT_NAS_MANUFACTURER
The manufacturer of the Network Access Server (NAS), that is the RADIUS client.
PROPERTY_CLIENT_ADDRESS
The IP address of the RADIUS client.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

RADIUSPROPERTIES


CONDITIONPROPERTIES

The values of the CONDITIONPROPERTIES enumeration type specify the properties of a Network Access Policy (NAP) condition.

typedef [public] enum _CONDITIONPROPERTIES
{
  PROPERTY_CONDITION_TEXT = PROPERTY_SDO_START,
  // New Properties Here...

}  CONDITIONPROPERTIES;

Values

PROPERTY_CONDITION_TEXT
The text of the NAP condition.

Remarks

The POLICYPROPERTIES enumeration type contains the value PROPERTY_POLICY_CONDITIONS_COLLECTION, which is the property for the conditions collection.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

POLICYPROPERTIES


DICTIONARYPROPERTIES

The values of the DICTIONARYPROPERTIES properties type enumerate properties associated with the attribute dictionary.

typedef [public] enum _DICTIONARYPROPERTIES
{
  PROPERTY_DICTIONARY_ATTRIBUTES_COLLECTION = PROPERTY_SDO_START,
  PROPERTY_DICTIONARY_LOCATION

}  DICTIONARYPROPERTIES;

Values

PROPERTY_DICTIONARY_ATTRIBUTES_COLLECTION
The collection of all possible attributes.
PROPERTY_DICTIONARY_LOCATION
The location of the datastore that contains the dictionary. This property is read-only.

Remarks

The dictionary is the collection of all possible attributes. It includes some attributes that are reserved for system use.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

ISdo, ISdoMachine::GetDictionarySDO, ATTRIBUTEPROPERTIES


EAPWRAPPROPERTIES

The EAPWRAPPROPERTIES properties type enumerates properties related to extensible authentication protocol.

typedef [public] enum _EAPWRAPPROPERTIES
{
  PROPERTY_EAP_SESSION_TIMEOUT = PROPERTY_COMPONENT_START,
  PROPERTY_EAP_MAX_SESSIONS
  // New Properties Here...

}  EAPWRAPPROPERTIES;

Values

PROPERTY_EAP_SESSION_TIMEOUT
Specifies the timeout period for an EAP session.
PROPERTY_EAP_MAX_SESSIONS
Specifies the maximum number of EAP sessions.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.


IASCOMMONPROPERTIES

The values of the IASCOMMONPROPERTIES properties type enumerate properties that are present in all SDO objects.

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;

Values

PROPERTY_SDO_RESERVED
This property is reserved.
PROPERTY_SDO_CLASS
The program ID for the SDO object.
PROPERTY_SDO_NAME
The name of the SDO object.
PROPERTY_SDO_DESCRIPTION
Reserved for future use.
PROPERTY_SDO_ID
Reserved for future use.
PROPERTY_SDO_DATASTORE_NAME
The name of the datastore for the object.

Remarks

The following code snippet retrieves the name of the SDO object, if it exists. The variable pSdo is a pointer to an ISdo interface.

HRESULT hr;
_variant_t vtItemName;
hr = pSdo->GetProperty(PROPERTY_SDO_NAME, &vtItemName);

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

ISdo::GetProperty


IASCOMPONENTPROPERTIES

The values of the IASCOMPONENTPROPERTIES properties type enumerate identifiers for an SDO object.

typedef [public] enum _IASCOMPONENTPROPERTIES
{
  PROPERTY_COMPONENT_ID = PROPERTY_SDO_START,
  PROPERTY_COMPONENT_PROG_ID,
  // New Properties Here...

  PROPERTY_COMPONENT_START

}  IASCOMPONENTPROPERTIES;

Values

PROPERTY_COMPONENT_ID
The component ID for the SDO object.
PROPERTY_COMPONENT_PROG_ID
The program ID for the SDO object.

Remarks

The following code snippet demonstrates obtaining the component ID of an SDO object. The variable pSdo points to an ISdo interface.

HRESULT    hr;
_variant_t    vtProperty;
hr = pSdo->GetProperty(PROPERTY_COMPONENT_ID, &vtProperty);

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

ISdo, ISdo::GetProperty


IASDATASTORE

The values of the IASDATASTORE enumeration specifies whether the SDO data is stored on SDO computer or in the Active Directory.

typedef [public] enum _IASDATASTORE
{
  DATA_STORE_LOCAL,
  DATA_STORE_DIRECTORY,

}  IASDATASTORE, *PIASDATASTORE;

Values

DATA_STORE_LOCAL
The SDO data is stored locally on the SDO computer.
DATA_STORE_DIRECTORY
The SDO data is stored in the Active Directory.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

ISdoMachine::GetServiceSDO, ISdoMachine::GetUserSDO


IASDOMAINTYPE

The values of the IASDOMAINTYPE enumeration type specify whether the SDO computer is part of a domain, and if so, what type of domain.

typedef [public] enum _DOMAINTYPE
{
  DOMAIN_TYPE_NONE,   // Standalone
  DOMAIN_TYPE_NT4,
  DOMAIN_TYPE_NT5,
  DOMAIN_TYPE_MIXED

}  IASDOMAINTYPE, *PIASDOMAINTYPE;

Values

DOMAIN_TYPE_NONE
The SDO computer is running in stand-alone mode.
DOMAIN_TYPE_NT4
The SDO computer is part of a Windows NT 4.0 domain.
DOMAIN_TYPE_NT5
The SDO computer is part of a Windows 2000 domain running in native mode.
DOMAIN_TYPE_MIXED
The SDO computer is part of a Windows 2000 domain running in mixed mode.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

IASOSTYPE


IASOSTYPE

The values of the IASOSTYPE enumeration type specify what type of operating system the SDO computer is running.

typedef [public] enum _IASOSTYPE
{
  SYSTEM_TYPE_NT4_WORKSTATION,
  SYSTEM_TYPE_NT5_WORKSTATION,
  SYSTEM_TYPE_NT4_SERVER,
  SYSTEM_TYPE_NT5_SERVER

}  IASOSTYPE, *PIASOSTYPE;

Values

SYSTEM_TYPE_NT4_WORKSTATION
The SDO computer is running Windows NT 4.0 Workstation.
SYSTEM_TYPE_NT5_WORKSTATION
The SDO computer is running Windows 2000 Professional.
SYSTEM_TYPE_NT4_SERVER
The SDO computer is running Windows NT 4.0 Server.
SYSTEM_TYPE_NT5_SERVER
The SDO computer is running Windows 2000 Server.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

IASDOMAINTYPE


IASPROPERTIES

The values of the IASPROPERTIES properties type enumerate properties related to the Internet Authentication Service (IAS).

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;

Values

PROPERTY_IAS_RADIUSSERVERGROUPS_COLLECTION
The collection of RADIUS server groups.
PROPERTY_IAS_POLICIES_COLLECTION
The collection of Network Access Policies (NAP).
PROPERTY_IAS_PROFILES_COLLECTION
The collection of profiles for the network access policies.
PROPERTY_IAS_PROTOCOLS_COLLECTION
The collection of protocols used by IAS.
PROPERTY_IAS_AUDITORS_COLLECTION
The collection of auditors used by IAS.
PROPERTY_IAS_REQUESTHANDLERS_COLLECTION
The collection of request handlers used by IAS.
PROPERTY_IAS_PROXYPOLICIES_COLLECTION
Whistler: The collection of Network Access Policies for connection request processing.
PROPERTY_IAS_PROXYPROFILES_COLLECTION
Whistler: The collection of profiles for connection request processing.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

RADIUSPROXYPROPERTIES, RADIUSSERVERGROUPPROPERTIES


NAMESPROPERTIES

typedef [public] enum _NAMESPROPERTIES
{
  PROPERTY_NAMES_REALMS = PROPERTY_COMPONENT_START
  // New Properties Here...

}  NAMESPROPERTIES;

Values

PROPERTY_NAMES_REALMS

Remarks

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

Microsoft Platform SDK, February 2001 Edition.
This content last built on Thursday, February 01, 2001.


NAPPROPERTIES

The values of the NAPPROPERTIES enumeration type specify properties for Network Access Policies (NAP).

typedef [public] enum _NAPPROPERTIES
{
  PROPERTY_NAP_POLICIES_COLLECTION = PROPERTY_COMPONENT_START
  // New Properties Here...

}  NAPPROPERTIES;

Values

PROPERTY_NAP_POLICIES_COLLECTION
The network access policies collection.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

POLICYPROPERTIES


NEW_LOG_FILE_FREQUENCY

The values of the NEW_LOG_FILE_FREQUENCY enumeration type specify how frequently new log files are created.

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;

Values

IAS_LOGGING_UNLIMITED_SIZE
Allows the log file to grow without limit. Do not create new log files periodically.
IAS_LOGGING_DAILY
Creates a new log file each day.
IAS_LOGGING_WEEKLY
Creates a new log file each week.
IAS_LOGGING_MONTHLY
Creates a new log file each month.
IAS_LOGGING_WHEN_FILE_SIZE_REACHES
Creates a new log file when the log file reaches a particular size.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

ACCOUNTINGPROPERTIES


NTEVENTLOGPROPERTIES

The values of the NTEVENTLOGPROPERTIES properties type enumerate what types of events should be logged in the NT Event Log.

typedef [public] enum _NTEVENTLOGPROPERTIES
{
  PROPERTY_EVENTLOG_LOG_APPLICATION_EVENTS = PROPERTY_COMPONENT_START,
  PROPERTY_EVENTLOG_LOG_MALFORMED,
  PROPERTY_EVENTLOG_LOG_DEBUG
  // New Properties Here...

}  NTEVENTLOGPROPERTIES;

Values

PROPERTY_EVENTLOG_LOG_APPLICATION_EVENTS
PROPERTY_EVENTLOG_LOG_MALFORMED
Specifies whether discarded and rejected packets are logged.
PROPERTY_EVENTLOG_LOG_DEBUG
Specifies whether successful authentications are logged.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.


NTSAMPROPERTIES

The values of the NTSAMPROPERTIES enumeration type specify properties related to the NT Security Accounts Manager (SAM).

typedef [public] enum _NTSAMPROPERTIES
{
  PROPERTY_NTSAM_ALLOW_LM_AUTHENTICATION = PROPERTY_COMPONENT_START
  // New Properties Here...

}  NTSAMPROPERTIES;

Values

PROPERTY_NTSAM_ALLOW_LM_AUTHENTICATION
Specifies whether to allow NT LAN Manager (NTLM) authentication.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.


POLICYPROPERTIES

The values of the POLICYPROPERTIES properties type enumerate properties of a Network Access Policy (NAP).

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;

Values

PROPERTY_POLICY_CONSTRAINT
PROPERTY_POLICY_MERIT
PROPERTY_POLICY_UNUSED0
This property is reserved.
PROPERTY_POLICY_UNUSED1
This property is reserved.
PROPERTY_POLICY_PROFILE_NAME
Specifies the profile name.
PROPERTY_POLICY_ACTION
PROPERTY_POLICY_CONDITIONS_COLLECTION
Specifies the conditions for this network access policy.

Remarks

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

CONDITIONPROPERTIES


PROFILEPROPERTIES

The PROFILEPROPERTIES properties type enumerates properties associated with a profile.

typedef [public] enum _PROFILEPROPERTIES
{
  PROPERTY_PROFILE_ATTRIBUTES_COLLECTION = PROPERTY_SDO_START
  // New Properties Here...

}   PROFILEPROPERTIES;

Values

PROPERTY_PROFILE_ATTRIBUTES_COLLECTION
The attributes associated with the profile.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

IASPROPERTIES, NAPPROPERTIES


PROTOCOLPROPERTIES

The values of the PROTOCOLPROPERTIES properties type enumerate properties of an authentication protocol.

typedef [public] enum _PROTOCOLPROPERTIES
{
  PROPERTY_PROTOCOL_REQUEST_HANDLER = PROPERTY_COMPONENT_START,
  // New Properties Here...

  PROPERTY_PROTOCOL_START

}  PROTOCOLPROPERTIES;

Values

PROPERTY_PROTOCOL_REQUEST_HANDLER
The value is reserved for system use.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.


RADIUSPROPERTIES

The values of the RADIUSPROPERTIES properties type enumerate properties of the RADIUS server on the SDO computer.

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;

Values

PROPERTY_RADIUS_ACCOUNTING_PORT
The TCP port used for RADIUS accounting.
PROPERTY_RADIUS_AUTHENTICATION_PORT
The TCP port used for RADIUS authentication.
PROPERTY_RADIUS_CLIENTS_COLLECTION
The collection of clients for this RADIUS server.
PROPERTY_RADIUS_VENDORS_COLLECTION
The collection of vendors for this RADIUS server.

Remarks

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

CLIENTPROPERTIES, VENDORPROPERTIES


RADIUSPROXYPROPERTIES

The values in the RADIUSPROXYPROPERTIES properties type enumerate properties related to the RADIUS proxy service.

typedef [public] enum _RADIUSPROXYPROPERTIES
{
  PROPERTY_RADIUSPROXY_SERVERGROUPS = PROPERTY_COMPONENT_START
  // New Properties Here...

}  RADIUSPROXYPROPERTIES;

Values

PROPERTY_RADIUSPROXY_SERVERGROUPS
The collection of RADIUS proxy server groups.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

RADIUSSERVERGROUPPROPERTIES


RADIUSSERVERGROUPPROPERTIES

The values in the RADIUSSERVERGROUPPROPERTIES properties type enumerate properties of a RADIUS server group.

typedef [public] enum _RADIUSSERVERGROUPPROPERTIES
{
  PROPERTY_RADIUSSERVERGROUP_SERVERS_COLLECTION = PROPERTY_SDO_START,
  // New Properties Here...

}  RADIUSSERVERGROUPPROPERTIES;

Values

PROPERTY_RADIUSSERVERGROUP_SERVERS_COLLECTION
The collection of servers in the RADIUS server group.

Remarks

The IASPROPERTIES enumeration type contains the value PROPERTY_IAS_RADIUSSERVERGROUPS_COLLECTION, which corresponds to the collection of RADIUS server groups.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

IASPROPERTIES


RADIUSSERVERPROPERTIES

The values of the RADIUSSERVERPROPERTIES properties type enumerate the properties of the RADIUS server, that is the SDO computer.

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_FOWARD_ACCT_ONOFF,
  PROPERTY_RADIUSSERVER_PRIORITY,
  PROPERTY_RADIUSSERVER_WEIGHT,
  PROPERTY_RADIUSSERVER_TIMEOUT,
  PROPERTY_RADIUSSERVER_MAX_LOST,
  PROPERTY_RADIUSSERVER_BLACKOUT
  // New Properties Here...

}  RADIUSSERVERPROPERTIES;

Values

PROPERTY_RADIUSSERVER_AUTH_PORT
Comma separated list of the UDP ports over which RADIUS authentication packets are sent and received.
PROPERTY_RADIUSSERVER_AUTH_SECRET
The shared secret for authentication.
PROPERTY_RADIUSSERVER_ACCT_PORT
Comma separated list of the UDP ports over which RADIUS authentication packets are sent and received.
PROPERTY_RADIUSSERVER_ACCT_SECRET
The shared secret for accounting.
PROPERTY_RADIUSSERVER_ADDRESS
The IP address of the server, or a DNS name that corresponds to the server.
PROPERTY_RADIUSSERVER_FOWARD_ACCT_ONOFF
Specifies whether to forward, that is proxy, accounting packets.
PROPERTY_RADIUSSERVER_PRIORITY
Specifies the priority for server. Lower priorities have higher precedence.
PROPERTY_RADIUSSERVER_WEIGHT
Specifies the weight for the server. If two servers have the same priority, then weight is used to determine which server is used.
PROPERTY_RADIUSSERVER_TIMEOUT
Specifies the timeout for the server.
PROPERTY_RADIUSSERVER_MAX_LOST
The number of packets that can be dropped in a row before the server is considered unavailable.
PROPERTY_RADIUSSERVER_BLACKOUT
Number of seconds that are waited before checking if an unavailable server is available again.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

Microsoft Platform SDK, February 2001 Edition.
This content last built on Thursday, February 01, 2001.


SERVICE_TYPE

The values of the SERVICE_TYPE enumeration type specify the type of service administered from the SDO API.

typedef [public] enum _SERVICE_TYPE
{
  SERVICE_TYPE_IAS = 0,
  SERVICE_TYPE_RAS,
  //
  // New service type here...

  SERVICE_TYPE_MAX

}  SERVICE_TYPE;

Values

SERVICE_TYPE_IAS
The service is the Internet Authentication Service.
SERVICE_TYPE_RAS
The service is the Remote Access Service.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

ISdoMachine::GetServiceSDO


USERPROPERTIES

The values of the USERPROPERTIES properties type enumerate the user properties supported by the SDO API.

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;

Values

PROPERTY_USER_CALLING_STATION_ID
The number from which the user must call.
PROPERTY_USER_SAVED_CALLING_STATION_ID
The number stored in the user interface when calling-station ID is disabled.
PROPERTY_USER_RADIUS_CALLBACK_NUMBER
The number at which to callback this user.
PROPERTY_USER_RADIUS_FRAMED_ROUTE
Specifies static routes assigned to this user.
PROPERTY_USER_RADIUS_FRAMED_IP_ADDRESS
Specifies a static IP address assigned to this user.
PROPERTY_USER_SAVED_RADIUS_CALLBACK_NUMBER
The callback number stored in the user interface when callback is disabled.
PROPERTY_USER_SAVED_RADIUS_FRAMED_ROUTE
The routes stored in the user interface when static routes are disabled.
PROPERTY_USER_SAVED_RADIUS_FRAMED_IP_ADDRESS
The static IP address stored in the user interface when static IP addresses are disabled.
PROPERTY_USER_ALLOW_DIALIN
Specifies whether dial-in allowed, denied, or determined by policy.
PROPERTY_USER_SERVICE_TYPE
Specifies whether callback is enabled for this user. See RAS_USER_1 for more information about the possible values for this property.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

ISdo, ISdoMachine::GetUserSDO


VENDORPROPERTIES

The values of the VENDORPROPERTIES enumeration type specify properties of objects in the vendors collection.

typedef [public] enum _VENDORPROPERTIES
{
  PROPERTY_NAS_VENDOR_ID = PROPERTY_SDO_START
  // New Properties Here...

}   VENDORPROPERTIES;

Values

PROPERTY_NAS_VENDOR_ID
The SMI Network Management Private Enterprise Code assigned to this vendor by the Internet Assigned Numbers Authority (IANA).

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.

See Also

RADIUSPROPERTIES


Topic Not Found

No matching topic was found. Some possible reasons and remedies are as follows:

  • The file (.chm) that contains the destination topic is not in the expected location.

    Remedy: Rerun the MSDN Library Setup.

  • The file (.chm) that contains the current topic or destination topic is out-of-date and the link is no longer valid.

    Remedy: Install the latest version of the MSDN Library.

  • The MSDN Library CD is not in the CD-ROM drive.

    Remedy: Insert the MSDN Library CD into the CD-ROM drive.


ISdo::PutProperty

Platform SDK: Server Data Objects

ISdo::PutProperty

[This is preliminary documentation and subject to change.]

[This technology will work only on Windows 2000 and Whistler. Future versions of Windows will support an alternate API.]

The ISdo::PutProperty method sets the value of the specified property.

HRESULT PutProperty(
  LONG Id,
  VARIANT *pValue
);

Parameters

Id
[in] Specifies the ID of an existing property.
pValue
[in] Pointer to a VARIANT that contains the value for that property.

Return Values

If the method succeeds the return value is S_OK.

If the method fails, the return value is one of the following error codes.

Value | Meaning
E_ABORT | The operation was aborted.
E_FAIL | An unspecified error occurred.
E_INVALIDARG | One of the parameters is invalid.
E_NOINTERFACE | A specified interface is not supported.
E_NOTIMPL | A specified method is not implemented.
E_OUTOFMEMORY | The method was unable to allocate required memory.
E_POINTER | A pointer passed as a parameter is not valid.
E_UNEXPECTED | The method failed for unknown reasons.

Remarks

After you have set values using ISdo::PutProperty, call ISdo::Apply to write the changes to persistent storage.

The method fails if the property is READ_ONLY or if the value is invalid.

Requirements

Windows NT/2000 or later: Requires Windows 2000 or later.
Windows 95/98/Me: Unsupported.
Header: SdoIas.idl.
Library: Included as a resource in IasSdo.dll.

See Also

ISdo, ISdo::Apply, VARIANT