структура RADIUS_EXTENSION_CONTROL_BLOCK (authif.h)
Синтаксис
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;
Члены
cbSize
Задает размер структуры.
dwVersion
Указывает версию структуры.
repPoint
Задает значение типа RADIUS_EXTENSION_POINT , указывающее, в какой момент в процессе запроса был вызван RadiusExtensionProcess2 .
rcRequestType
Задает значение типа RADIUS_CODE , указывающее тип запроса RADIUS, полученного сервером службы проверки подлинности в Интернете.
rcResponseType
Задает значение типа RADIUS_CODE , указывающее ликвидацию запроса RADIUS.
GetRequest
Указатель на функцию GetRequest , предоставляемую NPS. NPS задает значение этого элемента.
Функция GetRequest возвращает атрибуты, полученные в процессе запроса RADIUS, и все внутренние атрибуты, описывающие состояние запроса.
Библиотека DLL расширения может изменять атрибуты в запросе RADIUS. Например, если NPS выступает в качестве прокси-сервера RADIUS, библиотека DLL расширения может фильтровать, какие атрибуты перенаправляются на удаленный сервер RADIUS.
Чтобы изменить атрибуты, библиотека DLL расширения использует функции, предоставляемые в качестве членов структуры RADIUS_ATTRIBUTE_ARRAY .
This
Указатель на структуру RADIUS_EXTENSION_CONTROL_BLOCK . NPS передает библиотеке DLL расширения указатель на эту структуру при вызове структуры RadiusExtensionProcess2 .
GetResponse
Указатель на функцию GetResponse , предоставляемую NPS. NPS задает значение этого элемента.
Функция GetRequest возвращает атрибуты, полученные в процессе запроса RADIUS, и все внутренние атрибуты, описывающие состояние запроса.
Библиотека DLL расширения может использовать GetResponse для получения и изменения атрибутов для любого допустимого типа ответа независимо от текущей ликвидации запроса. Например, библиотека DLL расширения может задать тип ответа rcAccessAccept, но по-прежнему добавлять атрибуты к тем, которые возвращаются в случае rcAccessReject. Ответ, указанный библиотекой DLL расширения (rcAccessAccept в этом примере), может быть переопределен во время дальнейшей обработки.
Чтобы изменить атрибуты, библиотека DLL расширения использует функции, предоставляемые в качестве членов структуры RADIUS_ATTRIBUTE_ARRAY .
This
Указатель на структуру RADIUS_EXTENSION_CONTROL_BLOCK . NPS передает библиотеке DLL расширения указатель на эту структуру при вызове функции RadiusExtensionProcess2 .
rcResponseType
Указывает тип ответа. Этот параметр должен быть одним из значений, перечисляемых типом перечисления RADIUS_CODE . В противном случае функция завершается сбоем, возвращая значение NULL.
SetResponseType
Указатель на функцию SetResponseType , предоставляемую NPS. NPS задает значение этого элемента.
Функция SetResponseType задает окончательную ликвидацию запроса.
Обратите внимание, что ликвидацию, заданную библиотекой DLL расширения, можно переопределить во время дальнейшей обработки. Например, библиотека DLL расширения может задать для типа ответа rcAccessAccept, но во время дальнейшей обработки ответ можно изменить на rcAccessReject.
This
Указатель на структуру RADIUS_EXTENSION_CONTROL_BLOCK . NPS передает библиотеке DLL расширения указатель на эту структуру при вызове функции RadiusExtensionProcess2 .
rcResponseType
Указывает тип ответа. Этот параметр должен быть одним из значений, содержащихся в RADIUS_CODE перечислимом типе, и связан с элементом rcRequestTypeструктуры RADIUS_EXTENSION_CONTROL_BLOCK . Если параметр rcRequestType равен rcAccessRequest, это может быть значение rcAccessAccept, rcAccessReject, rcAccessChallenge или rcDiscard. Если rcRequestType равно rcAccountingRequest, это значение может быть rcAccountingResponse или rcDiscard. В противном случае функция завершается сбоем, возвращая ERROR_INVALID_PARAMETER.
Комментарии
Библиотека DLL расширения не должна изменять эту структуру. Изменения в массив атрибутов следует вносить путем вызова функций, предоставленных в качестве членов этой структуры.
NPS передает эту структуру в библиотеку DLL расширения, когда вызывает реализацию RadiusExtensionProcess2 в библиотеке DLL расширения.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows Server 2008 |
Верхняя часть | authif.h |