QueryContextAttributesA-Funktion (sspi.h)

Mit der Funktion QueryContextAttributes (CredSSP) kann eine Transportanwendung das CredSSP-Sicherheitspaket (Credential Security Support Provider) für bestimmte Attribute eines Sicherheitskontexts abfragen.

Syntax

SECURITY_STATUS SEC_ENTRY QueryContextAttributesA(
  [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 entweder Benutzername und Kennwort oder Benutzername und smarte 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 Online-Identitätsanmeldeinformationen handelt, handelt es sich bei dem Puffer um eine gemarshallte 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">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"->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öße 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, wird SEC_E_OK zurückgegeben.

Wenn die Funktion fehlschlägt, können die folgenden Fehlercodes zurückgegeben werden.

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, ordnet der SSP alle Arbeitsspeicher zu, die zum Speichern von Membern mit variabler Größe der pBuffer-Struktur erforderlich sind. Der vom SSP zugeordnete 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 Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
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