RADIUS_EXTENSION_CONTROL_BLOCK構造体 (authif.h)

メモ Windows Server 2008 以降、インターネット認証サービス (IAS) の名前がネットワーク ポリシー サーバー (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 構造体のメンバーとして提供される関数が使用されます。

This

RADIUS_EXTENSION_CONTROL_BLOCK構造体へのポインター。 NPS は、 RadiusExtensionProcess2 構造体を呼び出すときに、拡張機能 DLL にこの構造体へのポインターを渡します。

GetResponse

NPS によって提供される GetResponse 関数へのポインター。 NPS は、このメンバーの値を設定します。

GetRequest 関数は、RADIUS 要求プロセスで受信した属性と、要求の状態を記述する内部属性を返します。

拡張 DLL では 、GetResponse を 使用して、要求の現在の処理に関係なく、有効な応答の種類の属性を取得および変更できます。 たとえば、拡張 DLL では 応答の種類を rcAccessAccept に設定できますが、rcAccessReject の場合は返される属性に属性を追加できます。 拡張 DLL (この例では rcAccessAccept) で指定された応答は、それ以降の処理中にオーバーライドできます。

属性を変更するために、拡張 DLL では、 RADIUS_ATTRIBUTE_ARRAY 構造体のメンバーとして提供される関数が使用されます。

This

RADIUS_EXTENSION_CONTROL_BLOCK構造体へのポインター。 NPS は、 RadiusExtensionProcess2 関数を呼び出すときに、拡張機能 DLL にこの構造体へのポインターを渡します。

rcResponseType

応答の種類を指定します。 このパラメーターは、 RADIUS_CODE 列挙型によって列挙される値のいずれかである必要があります。 それ以外の場合、関数は失敗し、 NULL を返します。

SetResponseType

NPS によって提供される SetResponseType 関数へのポインター。 NPS は、このメンバーの値を設定します。

SetResponseType 関数は、要求の最終的な処理を設定します。

拡張 DLL によって設定された処理は、それ以降の処理中にオーバーライドできることに注意してください。 たとえば、拡張 DLL では応答の種類を rcAccessAccept に設定できますが、それ以降の処理中に、応答を rcAccessReject に変更できます。

This

RADIUS_EXTENSION_CONTROL_BLOCK構造体へのポインター。 NPS は、 RadiusExtensionProcess2 関数を呼び出すときに、拡張機能 DLL にこの構造体へのポインターを渡します。

rcResponseType

応答の種類を指定します。 このパラメーターは、RADIUS_CODE列挙型に含まれる値のいずれかである必要があり、RADIUS_EXTENSION_CONTROL_BLOCK構造体の rcRequestType メンバーに関連しています。 rcRequestType がrcAccessRequest と等しい場合、この値は rcAccessAcceptrcAccessRejectrcAccessChallenge、または rcDiscard のいずれかになります。 rcRequestType がrcAccountingRequest と等しい場合、この値には rcAccountingResponse または rcDiscard を指定できます。 それ以外の場合、関数は失敗し、 ERROR_INVALID_PARAMETERを返します。

注釈

拡張 DLL では、この構造体を変更することはできません。 属性の配列に対する変更は、この構造体のメンバーとして提供される関数を呼び出すことによって行う必要があります。

NPS は、拡張 DLL の RadiusExtensionProcess2 の実装を呼び出すときに、この構造体を拡張 DLL に渡します。

要件

要件
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows Server 2008
Header authif.h

こちらもご覧ください

GetRequest

Getresponse

RADIUS_ATTRIBUTE_ARRAY

SetResponseType