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 構造体のメンバーとして提供される関数が使用されます。
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 と等しい場合、この値は rcAccessAccept、rcAccessReject、rcAccessChallenge、または rcDiscard のいずれかになります。 rcRequestType がrcAccountingRequest と等しい場合、この値には rcAccountingResponse または rcDiscard を指定できます。 それ以外の場合、関数は失敗し、 ERROR_INVALID_PARAMETERを返します。
注釈
拡張 DLL では、この構造体を変更することはできません。 属性の配列に対する変更は、この構造体のメンバーとして提供される関数を呼び出すことによって行う必要があります。
NPS は、拡張 DLL の RadiusExtensionProcess2 の実装を呼び出すときに、この構造体を拡張 DLL に渡します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows Server 2008 |
Header | authif.h |