다음을 통해 공유


RADIUS_EXTENSION_CONTROL_BLOCK 구조체(authif.h)

참고 IAS(인터넷 인증 서비스)의 이름이 Windows Server 2008부터 NPS(네트워크 정책 서버)로 바뀌었습니다. 이 항목의 내용은 IAS 및 NPS 모두에 적용됩니다. 텍스트 전체에서 NPS는 원래 IAS라고 하는 버전을 포함하여 서비스의 모든 버전을 참조하는 데 사용됩니다.
 
RADIUS_EXTENSION_CONTROL_BLOCK 구조는 현재 RADIUS 요청에 대한 정보를 제공합니다. 또한 요청과 연결된 특성을 가져오고 요청의 처리를 설정하는 함수도 제공합니다.

구문

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 멤버와 관련이 있어야 합니다. rcRequestTypercAccessRequest와 같으면 이 값은 rcAccessAccept, rcAccessReject, rcAccessChallenge 또는 rcDiscard일 수 있습니다. rcRequestTypercAccountingRequest와 같으면 이 값은 rcAccountingResponse 또는 rcDiscard일 수 있습니다. 그렇지 않으면 함수가 실패하고 ERROR_INVALID_PARAMETER 반환됩니다.

설명

확장 DLL은 이 구조를 수정해서는 안됩니다. 특성 배열은 이 구조체의 멤버로 제공된 함수를 호출하여 변경해야 합니다.

NPS는 확장 DLL의 RadiusExtensionProcess2 구현을 호출할 때 이 구조를 확장 DLL에 전달합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows Server 2008
머리글 authif.h

추가 정보

GetRequest

Getresponse

RADIUS_ATTRIBUTE_ARRAY

SetResponseType