QueryContextAttributesW-Funktion (sspi.h)

Mit der Funktion QueryContextAttributes (CredSSP) kann eine Transportanwendung das CredSSP-Sicherheitspaket (Credential Security Support Provider) nach bestimmten Attributen eines Sicherheitskontexts abfragen.

Syntax

KSECDDDECLSPEC SECURITY_STATUS SEC_ENTRY QueryContextAttributesW(
  [in]  PCtxtHandle   phContext,
  [in]  unsigned long ulAttribute,
  [out] void          *pBuffer
);

Parameter

[in] phContext

Ein Handle für den abzufragenden Sicherheitskontext.

[in] ulAttribute

Das Attribut des zurückzugebenden Kontexts. Dieser Parameter kann einen der folgenden Werte annehmen. Sofern nicht anders angegeben, gelten die Attribute sowohl für den Client als auch für den Server.

Wert Bedeutung
SECPKG_ATTR_C_ACCESS_TOKEN
0x80000012
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_AccessToken-Struktur , die das Zugriffstoken für den aktuellen Sicherheitskontext angibt.

Dieses Attribut wird nur auf dem Server unterstützt.

SECPKG_ATTR_C_FULL_ACCESS_TOKEN
0x80000082
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_AccessToken-Struktur , die das Zugriffstoken für den aktuellen Sicherheitskontext angibt.

Dieses Attribut wird nur auf dem Server unterstützt.

SECPKG_ATTR_CERT_TRUST_STATUS
0x80000084
Der pBuffer-Parameter enthält einen Zeiger auf eine CERT_TRUST_STATUS-Struktur , die Vertrauensinformationen zum Zertifikat angibt.

Dieses Attribut wird nur auf dem Client unterstützt.

SECPKG_ATTR_CREDS
0x80000080
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_ClientCreds-Struktur , die Clientanmeldeinformationen angibt.

Die Clientanmeldeinformationen können benutzername und kennwort oder benutzername und smart Karte PIN sein.

Dieses Attribut wird nur auf dem Server unterstützt.

SECPKG_ATTR_CREDS_2
0x80000086
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_ClientCreds-Struktur , die Clientanmeldeinformationen angibt.

Wenn die Clientanmeldeinformationen Benutzername und Kennwort sind, ist der Puffer eine gepackte KERB_INTERACTIVE_LOGON Struktur.

Wenn die Clientanmeldeinformationen benutzername und smart Karte PIN sind, ist der Puffer eine gepackte KERB_CERTIFICATE_LOGON Struktur.

Wenn es sich bei den Clientanmeldeinformationen um Onlineidentitätsanmeldeinformationen handelt, handelt es sich bei dem Puffer um eine gemarstische SEC_WINNT_AUTH_IDENTITY_EX2-Struktur .

Dieses Attribut wird nur auf dem CredSSP-Server unterstützt.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

SECPKG_ATTR_NEGOTIATION_PACKAGE
0x80000081
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_PackageInfo Struktur, die den Namen des vom Microsoft Negotiate-Anbieter ausgehandelten Authentifizierungspakets angibt.
SECPKG_ATTR_PACKAGE_INFO
10
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_PackageInfo-Struktur .

Gibt Informationen zum verwendeten SSP zurück.

SECPKG_ATTR_SERVER_AUTH_FLAGS
0x80000083
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_Flags-Struktur , die Informationen zu den Flags im aktuellen Sicherheitskontext angibt.

Dieses Attribut wird nur auf dem Client unterstützt.

SECPKG_ATTR_SIZES
0x0
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_Sizes-Struktur .

Fragt die Größen der Strukturen ab, die in den Nachrichtenfunktionen und Authentifizierungsaustauschen verwendet werden.

SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
124
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_SubjectAttributes-Struktur .

Dieser Wert gibt Informationen zu den Sicherheitsattributen für die Verbindung zurück.

Dieser Wert wird nur auf dem CredSSP-Server unterstützt.

Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.

[out] pBuffer

Ein Zeiger auf eine Struktur, die die Attribute empfängt. Der Strukturtyp hängt vom Wert des ulAttribute-Parameters ab.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie SEC_E_OK zurück.

Wenn die Funktion fehlschlägt, kann sie die folgenden Fehlercodes zurückgeben.

Rückgabecode/-wert BESCHREIBUNG
SEC_E_INVALID_HANDLE
0x80100003
Fehler bei der Funktion. Der parameter phContext gibt ein Handle für einen unvollständigen Kontext an.
SEC_E_UNSUPPORTED_FUNCTION
0x80090302
Fehler bei der Funktion. Der Wert des ulAttribute-Parameters ist ungültig.

Hinweise

Die Struktur, auf die der pBuffer-Parameter verweist, hängt vom abgefragten Attribut ab.

Während der Aufrufer die pBuffer-Struktur selbst zuordnen muss, weist der SSP allen Arbeitsspeicher zu, der für die Aufnahme von Mitgliedern mit variabler Größe der pBuffer-Struktur erforderlich ist. Der vom SSP zugewiesene Arbeitsspeicher muss durch Aufrufen der FreeContextBuffer-Funktion freigegeben werden.

Hinweis

Der sspi.h-Header definiert QueryContextAttributes als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile sspi.h (einschließlich Security.h)
Bibliothek Secur32.lib
DLL Secur32.dll

Weitere Informationen

CERT_CONTEXT

FreeContextBuffer

SSPI-Funktionen

SecPkgContext_ClientCreds

SecPkgContext_Sizes