estructura de RADIUS_EXTENSION_CONTROL_BLOCK (authif.h)

Nota A partir de Windows Server 2008, se cambió el nombre del servicio de autenticación de Internet (IAS). El contenido de este tema se aplica tanto a IAS como a NPS. A lo largo del texto, NPS se usa para hacer referencia a todas las versiones del servicio, incluidas las versiones conocidas originalmente como IAS.
 
La estructura RADIUS_EXTENSION_CONTROL_BLOCK proporciona información sobre la solicitud RADIUS actual. También proporciona funciones para obtener los atributos asociados a la solicitud y para establecer la disposición de la solicitud.

Sintaxis

typedef struct _RADIUS_EXTENSION_CONTROL_BLOCK {
  DWORD                    cbSize;
  DWORD                    dwVersion;
  RADIUS_EXTENSION_POINT   repPoint;
  RADIUS_CODE              rcRequestType;
  RADIUS_CODE              rcResponseType;
  PRADIUS_ATTRIBUTE_ARRAY()(_RADIUS_EXTENSION_CONTROL_BLOCK *This) * GetRequest;
  PRADIUS_ATTRIBUTE_ARRAY()(_RADIUS_EXTENSION_CONTROL_BLOCK *This,RADIUS_CODE rcResponseType) * GetResponse;
  DWORD()(_RADIUS_EXTENSION_CONTROL_BLOCK *This,RADIUS_CODE rcResponseType)                   * SetResponseType;
} RADIUS_EXTENSION_CONTROL_BLOCK, *PRADIUS_EXTENSION_CONTROL_BLOCK;

Miembros

cbSize

Especifica el tamaño de la estructura.

dwVersion

Especifica la versión de la estructura.

repPoint

Especifica un valor de tipo RADIUS_EXTENSION_POINT que indica en qué momento se llamó al proceso de solicitud RadiusExtensionProcess2 .

rcRequestType

Especifica un valor de tipo RADIUS_CODE que especifica el tipo de solicitud RADIUS recibida por el servidor del servicio de autenticación de Internet.

rcResponseType

Especifica un valor de tipo RADIUS_CODE que indica la disposición de la solicitud RADIUS.

GetRequest

Puntero a la función GetRequest proporcionada por NPS. NPS establece el valor de este miembro.

La función GetRequest devuelve los atributos recibidos en el proceso de solicitud RADIUS y los atributos internos que describen el estado de la solicitud.

El archivo DLL de extensión puede modificar los atributos de la solicitud RADIUS. Por ejemplo, si NPS actúa como proxy RADIUS, un archivo DLL de extensión podría filtrar qué atributos se reenvía al servidor RADIUS remoto.

Para modificar los atributos, el archivo DLL de extensión usa las funciones proporcionadas como miembros de la estructura RADIUS_ATTRIBUTE_ARRAY .

Este

Puntero a una estructura de RADIUS_EXTENSION_CONTROL_BLOCK . NPS pasa al ARCHIVO DLL de extensión un puntero a esta estructura cuando llama a la estructura RadiusExtensionProcess2 .

GetResponse

Puntero a la función GetResponse proporcionada por NPS. NPS establece el valor de este miembro.

La función GetRequest devuelve los atributos recibidos en el proceso de solicitud RADIUS y los atributos internos que describen el estado de la solicitud.

Un archivo DLL de extensión puede usar GetResponse para recuperar y modificar los atributos de cualquier tipo de respuesta válido independientemente de la disposición actual de la solicitud. Por ejemplo, un archivo DLL de extensión podría establecer el tipo de respuesta en rcAccessAccept, pero seguir agregando atributos a los devueltos en el caso de un rcAccessReject. La respuesta especificada por el archivo DLL de extensión (rcAccessAccept en este ejemplo) se podría invalidar durante el procesamiento posterior.

Para modificar los atributos, el archivo DLL de extensión usa las funciones proporcionadas como miembros de la estructura RADIUS_ATTRIBUTE_ARRAY .

Este

Puntero a una estructura de RADIUS_EXTENSION_CONTROL_BLOCK . NPS pasa al archivo DLL de extensión un puntero a esta estructura cuando llama a la función RadiusExtensionProcess2 .

rcResponseType

Especifica el tipo de respuesta. Este parámetro debe ser uno de los valores enumerados por el tipo de enumeración RADIUS_CODE . De lo contrario, se produce un error en la función y se devuelve NULL.

SetResponseType

Puntero a la función SetResponseType proporcionada por NPS. NPS establece el valor de este miembro.

La función SetResponseType establece la disposición final de la solicitud.

Tenga en cuenta que la disposición establecida por el archivo DLL de extensión se puede invalidar durante el procesamiento posterior. Por ejemplo, el archivo DLL de extensión puede establecer el tipo de respuesta en rcAccessAccept, pero durante el procesamiento posterior, la respuesta se puede cambiar a rcAccessReject.

Este

Puntero a una estructura de RADIUS_EXTENSION_CONTROL_BLOCK . NPS pasa al archivo DLL de extensión un puntero a esta estructura cuando llama a la función RadiusExtensionProcess2 .

rcResponseType

Especifica el tipo de respuesta. Este parámetro debe ser uno de los valores contenidos en el tipo enumerado RADIUS_CODE y está relacionado con el miembro rcRequestType de la estructura RADIUS_EXTENSION_CONTROL_BLOCK . Si rcRequestType es igual a rcAccessRequest, este valor puede ser rcAccessAccept, rcAccessReject, rcAccessChallenge o rcDiscard. Si rcRequestType es igual a rcAccountingRequest, este valor puede ser rcAccountingResponse o rcDiscard. De lo contrario, se produce un error en la función y se devuelve ERROR_INVALID_PARAMETER.

Comentarios

El archivo DLL de extensión no debe modificar esta estructura. Los cambios en la matriz de atributos se deben realizar llamando a las funciones proporcionadas como miembros de esta estructura.

NPS pasa esta estructura al archivo DLL de extensión cuando llama a la implementación del archivo DLL de extensión de RadiusExtensionProcess2.

Requisitos

Requisito Value
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows Server 2008
Encabezado authif.h

Consulte también

GetRequest

GetResponse

RADIUS_ATTRIBUTE_ARRAY

SetResponseType