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
요청 프로세스 RadiusExtensionProcess2가 호출된 시점을 나타내는 형식 RADIUS_EXTENSION_POINT 값을 지정합니다.
rcRequestType
인터넷 인증 서비스 서버에서 수신한 RADIUS 요청의 형식을 지정하는 형식 RADIUS_CODE 값을 지정합니다.
rcResponseType
RADIUS 요청의 처리를 나타내는 형식 RADIUS_CODE 값을 지정합니다.
GetRequest
NPS에서 제공하는 GetRequest 함수에 대한 포인터입니다. NPS는 이 멤버의 값을 설정합니다.
GetRequest 함수는 RADIUS 요청 프로세스에서 받은 특성과 요청 상태를 설명하는 내부 특성을 반환합니다.
확장 DLL은 RADIUS 요청에서 특성을 수정할 수 있습니다. 예를 들어 NPS가 RADIUS 프록시 역할을 하는 경우 확장 DLL은 원격 RADIUS 서버에 전달되는 특성을 필터링할 수 있습니다.
특성을 수정하기 위해 확장 DLL은 RADIUS_ATTRIBUTE_ARRAY 구조체의 멤버로 제공된 함수를 사용합니다.
이번
RADIUS_EXTENSION_CONTROL_BLOCK 구조체에 대한 포인터입니다. NPS는 RadiusExtensionProcess2 구조체를 호출할 때 확장 DLL에 이 구조체에 대한 포인터를 전달합니다.
GetResponse
NPS에서 제공하는 GetResponse 함수에 대한 포인터입니다. NPS는 이 멤버의 값을 설정합니다.
GetRequest 함수는 RADIUS 요청 프로세스에서 받은 특성과 요청 상태를 설명하는 내부 특성을 반환합니다.
확장 DLL은 GetResponse 를 사용하여 요청의 현재 처리에 관계없이 유효한 응답 형식의 특성을 검색하고 수정할 수 있습니다. 예를 들어 확장 DLL은 응답 형식 을 rcAccessAccept로 설정할 수 있지만 rcAccessReject의 경우 반환된 특성에 특성을 추가할 수 있습니다. 확장 DLL(이 예제의 rcAccessAccept)에서 지정한 응답은 추가 처리 중에 재정의될 수 있습니다.
특성을 수정하기 위해 확장 DLL은 RADIUS_ATTRIBUTE_ARRAY 구조체의 멤버로 제공된 함수를 사용합니다.
이번
RADIUS_EXTENSION_CONTROL_BLOCK 구조체에 대한 포인터입니다. NPS는 RadiusExtensionProcess2 함수를 호출할 때 확장 DLL에 이 구조체에 대한 포인터를 전달합니다.
rcResponseType
응답 유형을 지정합니다. 이 매개 변수는 RADIUS_CODE 열거형 형식으로 열거된 값 중 하나여야 합니다. 그렇지 않으면 함수가 실패하고 NULL이 반환됩니다.
SetResponseType
NPS에서 제공하는 SetResponseType 함수에 대한 포인터입니다. NPS는 이 멤버의 값을 설정합니다.
SetResponseType 함수는 요청의 최종 처리를 설정합니다.
확장 DLL에서 설정한 처리는 추가 처리 중에 재정의할 수 있습니다. 예를 들어 확장 DLL은 응답 형식을 rcAccessAccept로 설정할 수 있지만 추가 처리 중에 응답을 rcAccessReject로 변경할 수 있습니다.
이번
RADIUS_EXTENSION_CONTROL_BLOCK 구조체에 대한 포인터입니다. NPS는 RadiusExtensionProcess2 함수를 호출할 때 확장 DLL에 이 구조체에 대한 포인터를 전달합니다.
rcResponseType
응답 유형을 지정합니다. 이 매개 변수는 RADIUS_CODE 열거형 형식 내에 포함된 값 중 하나여야 하며 RADIUS_EXTENSION_CONTROL_BLOCK 구조체의 rcRequestType 멤버와 관련이 있어야 합니다. rcRequestType이 rcAccessRequest와 같으면 이 값은 rcAccessAccept, rcAccessReject, rcAccessChallenge 또는 rcDiscard일 수 있습니다. rcRequestType이 rcAccountingRequest와 같으면 이 값은 rcAccountingResponse 또는 rcDiscard일 수 있습니다. 그렇지 않으면 함수가 실패하고 ERROR_INVALID_PARAMETER 반환됩니다.
설명
확장 DLL은 이 구조를 수정해서는 안됩니다. 특성 배열은 이 구조체의 멤버로 제공된 함수를 호출하여 변경해야 합니다.
NPS는 확장 DLL의 RadiusExtensionProcess2 구현을 호출할 때 이 구조를 확장 DLL에 전달합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 지원되는 버전 없음 |
지원되는 최소 서버 | Windows Server 2008 |
머리글 | authif.h |