Freigeben über


RADIUS_EXTENSION_CONTROL_BLOCK-Struktur (authif.h)

Hinweis Der Internetauthentifizierungsdienst (Internet Authentication Service, IAS) wurde ab Windows Server 2008 in Netzwerkrichtlinienserver (Network Policy Server, NPS) umbenannt. Der Inhalt dieses Themas gilt sowohl für IAS als auch für NPS. Im gesamten Text wird NPS verwendet, um auf alle Versionen des Diensts zu verweisen, einschließlich der Versionen, die ursprünglich als IAS bezeichnet wurden.
 
Die RADIUS_EXTENSION_CONTROL_BLOCK-Struktur enthält Informationen zur aktuellen RADIUS-Anforderung. Außerdem werden Funktionen zum Abrufen der der Anforderung zugeordneten Attribute und zum Festlegen der Disposition der Anforderung bereitgestellt.

Syntax

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;

Member

cbSize

Gibt die Größe der -Struktur an.

dwVersion

Gibt die Version der -Struktur an.

repPoint

Gibt einen Wert vom Typ RADIUS_EXTENSION_POINT an, der angibt, an welcher Stelle im Anforderungsprozess RadiusExtensionProcess2 aufgerufen wurde.

rcRequestType

Gibt einen Wert vom Typ RADIUS_CODE an, der den Typ der VOM Internetauthentifizierungsdienst-Server empfangenen RADIUS-Anforderung angibt.

rcResponseType

Gibt einen Wert vom Typ RADIUS_CODE an, der die Disposition der RADIUS-Anforderung angibt.

GetRequest

Zeiger auf die von NPS bereitgestellte GetRequest-Funktion . NPS legt den Wert dieses Members fest.

Die GetRequest-Funktion gibt die Attribute zurück, die im RADIUS-Anforderungsprozess empfangen wurden, sowie alle internen Attribute, die den Anforderungsstatus beschreiben.

Die Erweiterungs-DLL kann die Attribute in der RADIUS-Anforderung ändern. Wenn NPS beispielsweise als RADIUS-Proxy fungiert, könnte eine Erweiterungs-DLL filtern, welche Attribute an den RADIUS-Remoteserver weitergeleitet werden.

Um die Attribute zu ändern, verwendet die Erweiterungs-DLL die Funktionen, die als Member der RADIUS_ATTRIBUTE_ARRAY-Struktur bereitgestellt werden.

Diese

Zeiger auf eine RADIUS_EXTENSION_CONTROL_BLOCK-Struktur . NPS übergibt der Erweiterungs-DLL einen Zeiger auf diese Struktur, wenn die RadiusExtensionProcess2-Struktur aufgerufen wird.

GetResponse

Zeiger auf die von NPS bereitgestellte GetResponse-Funktion . NPS legt den Wert dieses Members fest.

Die GetRequest-Funktion gibt die Attribute zurück, die im RADIUS-Anforderungsprozess empfangen wurden, sowie alle internen Attribute, die den Anforderungsstatus beschreiben.

Eine Erweiterungs-DLL kann GetResponse verwenden, um die Attribute für jeden gültigen Antworttyp unabhängig von der aktuellen Anordnung der Anforderung abzurufen und zu ändern. Beispielsweise könnte eine Erweiterungs-DLL den Antworttyp auf rcAccessAccept festlegen, aber bei rcAccessReject zurückgegebenen Attributen hinzufügen. Die von der Erweiterungs-DLL angegebene Antwort (in diesem Beispiel rcAccessAccept) kann während der weiteren Verarbeitung überschrieben werden.

Um die Attribute zu ändern, verwendet die Erweiterungs-DLL die Funktionen, die als Member der RADIUS_ATTRIBUTE_ARRAY-Struktur bereitgestellt werden.

Diese

Zeiger auf eine RADIUS_EXTENSION_CONTROL_BLOCK-Struktur . NPS übergibt der Erweiterungs-DLL einen Zeiger auf diese Struktur, wenn die RadiusExtensionProcess2-Funktion aufgerufen wird.

rcResponseType

Gibt den Antworttyp an. Dieser Parameter muss einer der Werte sein, die vom RADIUS_CODE Enumerationstyp aufgezählt werden. Andernfalls schlägt die Funktion fehl und gibt NULL zurück.

SetResponseType

Zeiger auf die von NPS bereitgestellte SetResponseType-Funktion . NPS legt den Wert dieses Members fest.

Die SetResponseType-Funktion legt die endgültige Disposition der Anforderung fest.

Beachten Sie, dass die von der Erweiterungs-DLL festgelegte Disposition während der weiteren Verarbeitung überschrieben werden kann. Beispielsweise kann die Erweiterungs-DLL den Antworttyp auf rcAccessAccept festlegen, aber während der weiteren Verarbeitung kann die Antwort in rcAccessReject geändert werden.

Diese

Zeiger auf eine RADIUS_EXTENSION_CONTROL_BLOCK-Struktur . NPS übergibt der Erweiterungs-DLL einen Zeiger auf diese Struktur, wenn die RadiusExtensionProcess2-Funktion aufgerufen wird.

rcResponseType

Gibt den Antworttyp an. Dieser Parameter muss einer der Werte sein, die im RADIUS_CODE aufgezählten Typ enthalten sind, und ist mit dem rcRequestType-Element der RADIUS_EXTENSION_CONTROL_BLOCK-Struktur verknüpft. Wenn rcRequestTypegleich rcAccessRequest ist, kann dieser Wert rcAccessAccept, rcAccessReject, rcAccessChallenge oder rcDiscard sein. Wenn rcRequestType gleich rcAccountingRequest ist, kann dieser Wert rcAccountingResponse oder rcDiscard sein. Andernfalls schlägt die Funktion fehl und gibt ERROR_INVALID_PARAMETER zurück.

Hinweise

Die Erweiterungs-DLL darf diese Struktur nicht ändern. Änderungen am Array von Attributen sollten durch Aufrufen der Funktionen vorgenommen werden, die als Member dieser Struktur bereitgestellt werden.

NPS übergibt diese Struktur an die Erweiterungs-DLL, wenn die Implementierung von RadiusExtensionProcess2 der Erweiterungs-DLL aufgerufen wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows Server 2008
Kopfzeile authif.h

Weitere Informationen

GetRequest

Getresponse

RADIUS_ATTRIBUTE_ARRAY

SetResponseType