structure RADIUS_EXTENSION_CONTROL_BLOCK (authif.h)
Syntaxe
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;
Membres
cbSize
Spécifie la taille de la structure.
dwVersion
Spécifie la version de la structure.
repPoint
Spécifie une valeur de type RADIUS_EXTENSION_POINT qui indique à quel moment du processus de requête RadiusExtensionProcess2 a été appelé.
rcRequestType
Spécifie une valeur de type RADIUS_CODE qui spécifie le type de requête RADIUS reçue par le serveur du service d’authentification Internet.
rcResponseType
Spécifie une valeur de type RADIUS_CODE qui indique la disposition de la requête RADIUS.
GetRequest
Pointeur vers la fonction GetRequest fournie par NPS. NPS définit la valeur de ce membre.
La fonction GetRequest retourne les attributs reçus dans le processus de requête RADIUS et tous les attributs internes décrivant l’état de la requête.
La DLL d’extension peut modifier les attributs dans la requête RADIUS. Par exemple, si NPS agit comme un proxy RADIUS, une DLL d’extension peut filtrer les attributs qui sont transférés vers le serveur RADIUS distant.
Pour modifier les attributs, la DLL d’extension utilise les fonctions fournies en tant que membres de la structure RADIUS_ATTRIBUTE_ARRAY .
Cette
Pointeur vers une structure RADIUS_EXTENSION_CONTROL_BLOCK . NPS transmet à la DLL d’extension un pointeur vers cette structure lorsqu’il appelle la structure RadiusExtensionProcess2 .
GetResponse
Pointeur vers la fonction GetResponse fournie par NPS. NPS définit la valeur de ce membre.
La fonction GetRequest retourne les attributs reçus dans le processus de requête RADIUS et tous les attributs internes décrivant l’état de la requête.
Une DLL d’extension peut utiliser GetResponse pour récupérer et modifier les attributs de n’importe quel type de réponse valide, quelle que soit la disposition actuelle de la requête. Par exemple, une DLL d’extension peut définir le type de réponse sur rcAccessAccept, mais toujours ajouter des attributs à ceux retournés dans le cas d’un rcAccessReject. La réponse spécifiée par la DLL d’extension (rcAccessAccept dans cet exemple) peut être remplacée pendant le traitement ultérieur.
Pour modifier les attributs, la DLL d’extension utilise les fonctions fournies en tant que membres de la structure RADIUS_ATTRIBUTE_ARRAY .
Cette
Pointeur vers une structure RADIUS_EXTENSION_CONTROL_BLOCK . NPS transmet à la DLL d’extension un pointeur vers cette structure lorsqu’il appelle la fonction RadiusExtensionProcess2 .
rcResponseType
Spécifie le type de réponse. Ce paramètre doit être l’une des valeurs énumérées par le type d’énumération RADIUS_CODE . Dans le cas contraire, la fonction échoue, retournant NULL.
SetResponseType
Pointeur vers la fonction SetResponseType fournie par NPS. NPS définit la valeur de ce membre.
La fonction SetResponseType définit la disposition finale de la requête.
Notez que la disposition définie par la DLL d’extension peut être remplacée pendant le traitement ultérieur. Par exemple, la DLL d’extension peut définir le type de réponse sur rcAccessAccept, mais au cours d’un traitement ultérieur, la réponse peut être remplacée par rcAccessReject.
Cette
Pointeur vers une structure RADIUS_EXTENSION_CONTROL_BLOCK . NPS transmet à la DLL d’extension un pointeur vers cette structure lorsqu’il appelle la fonction RadiusExtensionProcess2 .
rcResponseType
Spécifie le type de réponse. Ce paramètre doit être l’une des valeurs contenues dans le RADIUS_CODE type énuméré et est lié au membre rcRequestType de la structure RADIUS_EXTENSION_CONTROL_BLOCK . Si rcRequestType est égal à rcAccessRequest, cette valeur peut être rcAccessAccept, rcAccessReject, rcAccessChallenge ou rcDiscard. Si rcRequestType est égal à rcAccountingRequest, cette valeur peut être rcAccountingResponse ou rcDiscard. Sinon, la fonction échoue, renvoyant ERROR_INVALID_PARAMETER.
Remarques
La DLL d’extension ne doit pas modifier cette structure. Les modifications apportées au tableau d’attributs doivent être effectuées en appelant les fonctions fournies en tant que membres de cette structure.
NPS transmet cette structure à la DLL d’extension lorsqu’il appelle l’implémentation de RadiusExtensionProcess2 de la DLL d’extension.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Aucun pris en charge |
Serveur minimal pris en charge | Windows Server 2008 |
En-tête | authif.h |