RADIUS_ATTRIBUTE_ARRAY结构 (authif.h)

注意 从 Windows Server 2008 开始, (IAS) 的 Internet 身份验证服务 (NPS) 重命名为网络策略服务器。 本主题的内容适用于 IAS 和 NPS。 在整个文本中,NPS 用于引用服务的所有版本,包括最初称为 IAS 的版本。
 
RADIUS_ATTRIBUTE_ARRAY 结构表示属性数组。

语法

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;

成员

cbSize

指定结构的大小。

Add

指向 NPS 提供的 Add 函数的指针。 NPS 设置成员的值。

指向 RADIUS_ATTRIBUTE_ARRAY 结构的指针,该结构表示要向其追加指定属性的属性数组。

GetRequestGetResponse 函数返回指向RADIUS_ATTRIBUTE_ARRAY结构的指针。

pAttr

指向要追加到数组的属性 RADIUS_ATTRIBUTE 结构的指针。

AttributeAt

指向 NPS 提供的 AttributeAt 函数的指针。 NPS 设置成员的值。

AttributeAt 函数返回指向数组中指定属性的常数指针。

指向 RADIUS_ATTRIBUTE_ARRAY 结构的指针,该结构表示要从中检索指定属性的属性数组。

GetRequestGetResponse 函数返回指向RADIUS_ATTRIBUTE_ARRAY结构的指针。

dwIndex

指定要检索的属性的索引。 如果此索引在范围外,函数将返回 NULL

使用 GetSize 函数确定数组的大小。 最大索引小于数组大小的 1。

GetSize

指向 NPS 提供的 GetSize 函数的指针。 NPS 设置成员的值。

GetSize 函数返回属性数组的大小。

GetSize 函数返回属性数组的大小,而不是最大索引。 由于属性数组使用从零开始的索引,因此数组的大小比最大索引大 1。

指向 RADIUS_ATTRIBUTE_ARRAY 结构的指针,该结构表示要检索其大小的属性数组。

GetRequestGetResponse 函数返回指向RADIUS_ATTRIBUTE_ARRAY结构的指针。

InsertAt

指向 NPS 提供的 InsertAt 函数的指针。 NPS 设置成员的值。

InsertAt 函数在数组中的指定索引处插入指定的属性。

InsertAt 函数将新属性插入数组时,它会递增此索引处预先存在的属性的索引。 同样,它会在更高的索引处递增任何预先存在的属性的索引。

若要将属性追加到属性数组的末尾,请使用 Add 函数。

指向 RADIUS_ATTRIBUTE_ARRAY 结构的指针,该结构表示要在其中插入指定属性的属性数组。

GetRequestGetResponse 函数返回指向RADIUS_ATTRIBUTE_ARRAY结构的指针。

dwIndex

指定插入指定属性的索引。

使用 GetSize 函数确定数组的大小。 最大索引小于数组大小的 1。

pAttr

指向 插入数组的属性RADIUS_ATTRIBUTE结构的指针。

RemoveAt

指向 NPS 提供的 RemoveAt 函数的指针。 NPS 设置成员的值。

RemoveAt 函数删除数组中指定索引处的属性。

RemoveAt 函数从数组中删除属性时,它会递减位于较高索引处任何预先存在的属性的索引。

指向 RADIUS_ATTRIBUTE_ARRAY 结构的指针,该结构表示要从中删除指定属性的属性数组。

GetRequestGetResponse 函数返回指向RADIUS_ATTRIBUTE_ARRAY结构的指针。

dwIndex

指定要删除的属性的索引。

使用 GetSize 函数确定数组的大小。 最大索引小于数组大小的 1。

SetAt

指向 NPS 提供的 SetAt 函数的指针。 NPS 设置成员的值。

SetAt 函数将指定索引处的属性替换为指定的属性。

指向 RADIUS_ATTRIBUTE_ARRAY 结构的指针,该结构表示包含要替换的属性的属性数组。

GetRequestGetResponse 函数返回指向RADIUS_ATTRIBUTE_ARRAY结构的指针。

dwIndex

指定要替换的属性的索引。

使用 GetSize 函数确定数组的大小。 最大索引小于数组大小的 1。

pAttr

指向 RADIUS_ATTRIBUTE 结构的指针。 此结构表示的属性替换指定索引处的属性。

注解

扩展 DLL 不得修改此结构。 应通过调用作为此结构的成员提供的函数来更改特性数组。

此结构由导出 RadiusExtensionProcess2 的扩展 DLL 使用。 向数组添加特性的函数:

添加InsertAt 复制调用方提供的 RADIUS_ATTRIBUTE 结构的内容。 因此,导出 RadiusExtensionProcess2 的扩展 DLL 不需要导出 RadiusExtensionFreeAttributes

此结构由 函数 GetRequestGetResponse 返回。

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2008
标头 authif.h

另请参阅

关于 NPS 扩展

NPS 扩展参考

NPS 扩展结构

RADIUS_EXTENSION_CONTROL_BLOCK

RadiusExtensionProcess2