WsGetSecurityTokenProperty-Funktion (webservices.h)

Extrahiert ein Feld oder eine Eigenschaft aus einem Sicherheitstoken. Wenn die abgefragte Eigenschaft den Heapparameter nicht verwendet, sind die zurückgegebenen Daten im Besitz des Sicherheitstokens und bleiben gültig, solange das Sicherheitstoken selbst gültig bleibt. Insbesondere für Sicherheitstoken, die aus einer empfangenen Nachricht extrahiert wurden, sind das Sicherheitstoken und die daraus extrahierten Felder nur gültig, solange die Nachricht nicht zurückgesetzt oder freigegeben wird.

Wenn der Heapparameter für die -Eigenschaft erforderlich ist, werden die zurückgegebenen Daten auf dem Heap gespeichert, wobei die Lebensdauer vom zugrunde liegenden Token getrennt ist.

Syntax

HRESULT WsGetSecurityTokenProperty(
  [in]           WS_SECURITY_TOKEN             *securityToken,
  [in]           WS_SECURITY_TOKEN_PROPERTY_ID id,
                 void                          *value,
  [in]           ULONG                         valueSize,
  [in, optional] WS_HEAP                       *heap,
  [in, optional] WS_ERROR                      *error
);

Parameter

[in] securityToken

Das Sicherheitstoken, aus dem die Eigenschaft extrahiert werden soll.

[in] id

Die ID der abzurufenden Eigenschaft.

value

Der Speicherort, an dem die abgerufene Eigenschaft gespeichert werden soll. Der Zeiger muss über eine Ausrichtung verfügen, die mit dem Typ der Eigenschaft kompatibel ist.

[in] valueSize

Die Anzahl der Bytes, die vom Aufrufer zum Speichern der abgerufenen Eigenschaft zugewiesen werden.

[in, optional] heap

Heap zum Speichern zusätzlicher Eigenschaftendaten. Dieser Parameter muss nicht NULL sein, wenn die abgefragte Eigenschaft WS_SECURITY_TOKEN_PROPERTY_SYMMETRIC_KEY und andernfalls NULL sein muss.

[in, optional] error

Gibt an, wo zusätzliche Fehlerinformationen gespeichert werden sollen, wenn die Funktion fehlschlägt.

Rückgabewert

Diese Funktion kann einen dieser Werte zurückgeben.

Rückgabecode Beschreibung
E_INVALIDARG
Die Eigenschafts-ID wurde für dieses Objekt nicht unterstützt, oder der angegebene Puffer war nicht groß genug für den Wert.
E_OUTOFMEMORY
Der Arbeitsspeicher ist nicht mehr vorhanden.
Andere Fehler
Diese Funktion gibt möglicherweise andere Fehler zurück, die oben nicht aufgeführt sind.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile webservices.h
Bibliothek WebServices.lib
DLL WebServices.dll