RADIUS_ATTRIBUTE_ARRAY structure (authif.h)

Note  Internet Authentication Service (IAS) was renamed Network Policy Server (NPS) starting with Windows Server 2008. The content of this topic applies to both IAS and NPS. Throughout the text, NPS is used to refer to all versions of the service, including the versions originally referred to as IAS.
 
The RADIUS_ATTRIBUTE_ARRAY structure represents an array of attributes.

Syntax

typedef struct _RADIUS_ATTRIBUTE_ARRAY {
  DWORD                  cbSize;
  DWORD((_RADIUS_ATTRIBUTE_ARRAY *This, const RADIUS_ATTRIBUTE *pAttr)                 * )Add;
  const RADIUS_ATTRIBUTE  )(const _RADIUS_ATTRIBUTE_ARRAY *This,DWORD dwIndex) *(*AttributeAt;
  DWORD()(const _RADIUS_ATTRIBUTE_ARRAY *This)                 * GetSize;
  DWORD((_RADIUS_ATTRIBUTE_ARRAY *This,DWORD dwIndex, const RADIUS_ATTRIBUTE *pAttr)                 * )InsertAt;
  DWORD()(_RADIUS_ATTRIBUTE_ARRAY *This,DWORD dwIndex)                 * RemoveAt;
  DWORD((_RADIUS_ATTRIBUTE_ARRAY *This,DWORD dwIndex, const RADIUS_ATTRIBUTE *pAttr)                 * )SetAt;
} RADIUS_ATTRIBUTE_ARRAY, *PRADIUS_ATTRIBUTE_ARRAY;

Members

cbSize

Specifies the size of the structure.

Add

Pointer to the Add function provided by NPS. NPS sets the value of the member.

This

Pointer to the RADIUS_ATTRIBUTE_ARRAY structure that represents the array of attributes to which to append the specified attribute.

The GetRequest and GetResponse functions return pointers to RADIUS_ATTRIBUTE_ARRAY structures.

pAttr

Pointer to a RADIUS_ATTRIBUTE structure for the attribute to append to the array.

AttributeAt

Pointer to the AttributeAt function provided by NPS. NPS sets the value of the member.

The AttributeAt function returns a const pointer to the specified attribute within the array.

This

Pointer to the RADIUS_ATTRIBUTE_ARRAY structure that represents the array of attributes from which to retrieve the specified attribute.

The GetRequest and GetResponse functions return pointers to RADIUS_ATTRIBUTE_ARRAY structures.

dwIndex

Specifies the index of the attribute to retrieve. The function returns NULL if this index is out of range.

Use the GetSize function to determine the size of the array. The largest index is one less than the size of the array.

GetSize

Pointer to the GetSize function provided by NPS. NPS sets the value of the member.

The GetSize function returns the size of the attribute array.

The GetSize function returns the size of the attribute array, not the largest index. Because attribute arrays use zero-based indexes, the size of the array is one greater than the largest index.

This

Pointer to the RADIUS_ATTRIBUTE_ARRAY structure that represents the array of attributes for which to retrieve the size.

The GetRequest and GetResponse functions return pointers to RADIUS_ATTRIBUTE_ARRAY structures.

InsertAt

Pointer to the InsertAt function provided by NPS. NPS sets the value of the member.

The InsertAt function inserts the specified attribute at the specified index in the array.

When the InsertAt function inserts a new attribute into the array, it increments the index of the pre-existing attribute at this index. Similarly, it increments the index of any pre-existing attributes at higher indexes.

To append an attribute to the end of the attribute array, use the Add function.

This

Pointer to the RADIUS_ATTRIBUTE_ARRAY structure that represents the array of attributes in which to insert the specified attribute.

The GetRequest and GetResponse functions return pointers to RADIUS_ATTRIBUTE_ARRAY structures.

dwIndex

Specifies the index at which to insert the specified attribute.

Use the GetSize function to determine the size of the array. The largest index is one less than the size of the array.

pAttr

Pointer to a RADIUS_ATTRIBUTE structure for the attribute to insert into the array.

RemoveAt

Pointer to the RemoveAt function provided by NPS. NPS sets the value of the member.

The RemoveAt function removes the attribute at the specified index in the array.

When the RemoveAt function removes an attribute from the array, it decrements the index of any pre-existing attributes at higher indexes.

This

Pointer to the RADIUS_ATTRIBUTE_ARRAY structure that represents the array of attributes from which to remove the specified attribute.

The GetRequest and GetResponse functions return pointers to RADIUS_ATTRIBUTE_ARRAY structures.

dwIndex

Specifies the index of the attribute to remove.

Use the GetSize function to determine the size of the array. The largest index is one less than the size of the array.

SetAt

Pointer to the SetAt function provided by NPS. NPS sets the value of the member.

The SetAt function replaces the attribute at the specified index with the specified attribute.

This

Pointer to the RADIUS_ATTRIBUTE_ARRAY structure that represents the array of attributes that contains the attribute to replace.

The GetRequest and GetResponse functions return pointers to RADIUS_ATTRIBUTE_ARRAY structures.

dwIndex

Specifies the index of the attribute to replace.

Use the GetSize function to determine the size of the array. The largest index is one less than the size of the array.

pAttr

Pointer to a RADIUS_ATTRIBUTE structure. The attribute represented by this structure replaces the attribute at the specified index.

Remarks

The Extension DLL must not modify this structure. Changes to the array of attributes should be made by calling the functions provided as members of this structure.

This structure is used by Extension DLLs that export RadiusExtensionProcess2. The functions that add attributes to the array:

Add InsertAt copy the contents of the caller-supplied RADIUS_ATTRIBUTE structure. Therefore, Extension DLLs that export RadiusExtensionProcess2 need not export RadiusExtensionFreeAttributes.

This structure is returned by the functions GetRequest and GetResponse.

Requirements

Requirement Value
Minimum supported client None supported
Minimum supported server Windows Server 2008
Header authif.h

See also

About NPS Extensions

NPS Extensions Reference

NPS Extensions Structures

RADIUS_EXTENSION_CONTROL_BLOCK

RadiusExtensionProcess2