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

指定類型 為 RADIUS_EXTENSION_POINT 的值,指出呼叫要求進程 RadiusExtensionProcess2 中的哪個時間點。

rcRequestType

指定類型 RADIUS_CODE 的值,指定因特網驗證服務伺服器收到的RADIUS要求類型。

rcResponseType

指定 RADIUS_CODE類型的 值,指出RADIUS要求的處置。

GetRequest

NPS 所提供 GetRequest 函式的指標。 NPS 會設定這個成員的值。

GetRequest 函式會傳回 RADIUS 要求程式中收到的屬性,以及描述要求狀態的任何內部屬性。

擴充 DLL 可以修改 RADIUS 要求中的屬性。 例如,如果 NPS 做為 RADIUS Proxy,延伸模組 DLL 可以篩選哪些屬性會轉送到遠端 RADIUS 伺服器。

若要修改屬性,擴充 DLL 會使用提供做為 RADIUS_ATTRIBUTE_ARRAY 結構成員的函式。

This

RADIUS_EXTENSION_CONTROL_BLOCK 結構的指標。 NPS 會在呼叫 RadiusExtensionProcess2 結構時,將指標傳遞給這個結構。

GetResponse

NPS 提供的 GetResponse 函式指標。 NPS 會設定這個成員的值。

GetRequest 函式會傳回 RADIUS 要求程式中收到的屬性,以及描述要求狀態的任何內部屬性。

不論要求的目前處置為何,擴充 DLL 都可以使用 GetResponse 來擷取和修改任何有效回應類型的屬性。 例如,擴充 DLL 可以將 回應類型設定 為 rcAccessAccept,但仍會在 rcAccessReject 的情況下將屬性新增至傳回的屬性。 在此範例中,延伸模組 DLL 所指定的回應 (rcAccessAccept) 可以在進一步處理期間覆寫。

若要修改屬性,擴充 DLL 會使用提供做為 RADIUS_ATTRIBUTE_ARRAY 結構成員的函式。

This

RADIUS_EXTENSION_CONTROL_BLOCK 結構的指標。 NPS 會在呼叫 RadiusExtensionProcess2 函式時,將指標傳遞給此結構。

rcResponseType

指定回應類型。 此參數必須是 RADIUS_CODE 列舉類型所列舉的其中一個值。 否則,函式會失敗,並傳回 NULL

SetResponseType

NPS 提供的 SetResponseType 函式指標。 NPS 會設定這個成員的值。

SetResponseType 函式會設定要求的最終處置。

請注意,延伸模組 DLL 所設定的處置可以在進一步處理期間覆寫。 例如,擴充 DLL 可能會將回應類型設定為 rcAccessAccept,但在進一步處理期間,可以將回應變更為 rcAccessReject

This

RADIUS_EXTENSION_CONTROL_BLOCK 結構的指標。 NPS 會在呼叫 RadiusExtensionProcess2 函式時,將指標傳遞給此結構。

rcResponseType

指定回應類型。 此參數必須是RADIUS_CODE列舉型別中包含的其中一個值,而且與RADIUS_EXTENSION_CONTROL_BLOCK 結構的 rcRequestType 成員相關。 如果 rcRequestType 等於 rcAccessRequest,此值可能是 rcAccessAcceptrcAccessRejectrcAccessChallengercDiscard。 如果 rcRequestType 等於 rcAccountingRequest,此值可以是 rcAccountingResponsercDiscard。 否則,函式會失敗,傳回 ERROR_INVALID_PARAMETER

備註

延伸模組 DLL 不得修改這個結構。 呼叫提供做為這個結構成員的函式,即可變更屬性陣列。

NPS 會在呼叫 RadiusExtensionProcess2 的 Extension DLL 實作時,將此結構傳遞至延伸模組 DLL。

規格需求

需求
最低支援的用戶端 都不支援
最低支援的伺服器 Windows Server 2008
標頭 authif.h

另請參閱

GetRequest

GetResponse

RADIUS_ATTRIBUTE_ARRAY

SetResponseType