Udostępnij przez


QueryContextAttributes (Ogólne) — funkcja

Umożliwia aplikacji transportowej wykonywanie zapytań dotyczących pakietu zabezpieczeń dla niektórych atrybutówkontekstu zabezpieczeń.

Aby uzyskać informacje o korzystaniu z tej funkcji z określonym dostawcą obsługi zabezpieczeń (SSP), zobacz następujące tematy.

Temat Opis
QueryContextAttributes (CredSSP) Umożliwia aplikacji transportowej wykonywanie zapytań względem dostawcy obsługi zabezpieczeń poświadczeń (CredSSP) dla niektórych atrybutów kontekstu zabezpieczeń.
Atrybuty QueryContextAttributes (skrót) Umożliwia aplikacji transportowej wykonywanie zapytań dotyczących pakietu zabezpieczeń Szyfrowane dla niektórych atrybutów kontekstu zabezpieczeń.
QueryContextAttributes (Kerberos) Umożliwia aplikacji transportowej wykonywanie zapytań dotyczących pakietu zabezpieczeń Protokołu Kerberos dla niektórych atrybutów kontekstu zabezpieczeń.
QueryContextAttributes (Negocjuj) Umożliwia aplikacji transportowej wykonywanie zapytań dotyczących pakietu zabezpieczeń Negocjuj dla niektórych atrybutów kontekstu zabezpieczeń.
QueryContextAttributes (NTLM) Umożliwia aplikacji transportowej wykonywanie zapytań dotyczących pakietu zabezpieczeń NTLM dla niektórych atrybutów kontekstu zabezpieczeń.
QueryContextAttributes (Schannel) Umożliwia aplikacji transportowej wykonywanie zapytań dotyczących pakietu zabezpieczeń Schannel dla niektórych atrybutów kontekstu zabezpieczeń.

Składnia

SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
  _In_  PCtxtHandle phContext,
  _In_  ULONG       ulAttribute,
  _Out_ PVOID       pBuffer
);

Parametry

phContext [in]

Dojście do kontekstu zabezpieczeń do odpytowania.

ulAttribute [in]

Określa atrybut kontekstu, który ma zostać zwrócony. Ten parametr może być jedną z następujących wartości.

Wartość Znaczenie
SECPKG_ATTR_ACCESS_TOKEN
18
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_AccessToken .
Zwraca dojście do tokenu dostępu.
SECPKG_ATTR_APP_DATA
0x5e
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_SessionAppData .
Zwraca lub określa dane aplikacji dla sesji.
Ten atrybut jest obsługiwany tylko przez pakiet zabezpieczeń Schannel.
SECPKG_ATTR_AUTHORITY
6
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_Authority .
Wysyła zapytanie do nazwy urzędu uwierzytelniającego.
SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
27
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_ClientSpecifiedTarget , która reprezentuje nazwę główną usługi (SPN) początkowego celu dostarczonego przez klienta.
Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: Ta wartość nie jest obsługiwana.
SECPKG_ATTR_CONNECTION_INFO
0x5a
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_ConnectionInfo .
Zwraca szczegółowe informacje o nawiązaniu połączenia.
Ten atrybut jest obsługiwany tylko przez pakiet zabezpieczeń Schannel.
SECPKG_ATTR_CREDS_2
0x80000086
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_ClientCreds , która określa poświadczenia klienta.
Jeśli poświadczenie klienta to nazwa użytkownika i hasło, bufor jest spakowanym KERB_INTERACTIVE_LOGON strukturą.
Jeśli poświadczenie klienta to nazwa użytkownika i numer PIN karty inteligentnej, bufor jest zapakowaną strukturą KERB_CERTIFICATE_LOGON .
Jeśli poświadczenie klienta jest poświadczenie tożsamości online, bufor jest strukturą SEC_WINNT_AUTH_IDENTITY_EX2 marshaled.
Ten atrybut jest obsługiwany tylko na serwerze CredSSP.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: Ta wartość nie jest obsługiwana.
SECPKG_ATTR_DCE_INFO
3
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_DceInfo .
Zapytania dotyczące danych autoryzacji używanych przez usługi DCE.
SECPKG_ATTR_ENDPOINT_BINDINGS
26
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_Bindings , która określa informacje o powiązaniu kanału.
Ten atrybut jest obsługiwany tylko przez pakiet zabezpieczeń Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: Ta wartość nie jest obsługiwana.
SECPKG_ATTR_EAP_KEY_BLOCK
0x5b
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_EapKeyBlock .
Zapytania dotyczące kluczowych danych używanych przez protokół TLS protokołu EAP.
Ten atrybut jest obsługiwany tylko przez pakiet zabezpieczeń Schannel.
SECPKG_ATTR_FLAGS
14
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_Flags .
Zwraca informacje o wynegocjowanych flagach kontekstu.
SECPKG_ATTR_ISSUER_LIST_EX
0x59
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_IssuerListInfoEx .
Zwraca listę wystawców certyfikatów akceptowanych przez serwer.
Ten atrybut jest obsługiwany tylko przez pakiet zabezpieczeń Schannel.
SECPKG_ATTR_KEY_INFO
5
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_KeyInfo .
Wysyła informacje o kluczach używanych w kontekście zabezpieczeń.
SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
30
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_LastClientTokenStatus , która określa, czy token z ostatniego wywołania funkcji InitializeSecurityContext jest ostatnim tokenem od klienta.
Ta wartość jest obsługiwana tylko przez pakiety zabezpieczeńNegotiate, Kerberos i NTLM.
Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: Ta wartość nie jest obsługiwana.
SECPKG_ATTR_LIFESPAN
2
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_Lifespan .
Wykonuje zapytania dotyczące okresu życia kontekstu.
SECPKG_ATTR_LOCAL_CERT_CONTEXT
0x54
Parametr pBuffer zawiera wskaźnik do struktury PCCERT_CONTEXT.
Znajduje kontekst certyfikatu, który zawiera certyfikat lokalny.
Ten atrybut jest obsługiwany tylko przez pakiet zabezpieczeń Schannel.
SECPKG_ATTR_LOCAL_CRED
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_LocalCredentialInfo . (przestarzałe)
Zastąpione przez SECPKG_ATTR_LOCAL_CERT_CONTEXT.
SECPKG_ATTR_NAMES
1
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_Names .
Wysyła zapytanie do nazwy skojarzonej z kontekstem.
SECPKG_ATTR_NATIVE_NAMES
13
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_NativeNames .
Zwraca nazwę główną (CNAME) z biletu wychodzącego.
SECPKG_ATTR_NEGOTIATION_INFO
12
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_NegotiationInfo .
Zwraca informacje o pakiecie zabezpieczeń , który ma być używany z procesem negocjacji i bieżącym stanem negocjacji w celu użycia tego pakietu.
SECPKG_ATTR_PACKAGE_INFO
10
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_PackageInfo .
Zwraca informacje dotyczące dostawcy usług udostępnionych w użyciu.
SECPKG_ATTR_PASSWORD_EXPIRY
8
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_PasswordExpiry .
Zwraca informacje o wygaśnięciu hasła.
SECPKG_ATTR_REMOTE_CERT_CONTEXT
0x53
Parametr pBuffer zawiera wskaźnik do struktury PCCERT_CONTEXT.
Znajduje kontekst certyfikatu, który zawiera certyfikat końcowy dostarczony przez serwer.
Ten atrybut jest obsługiwany tylko przez pakiet zabezpieczeń Schannel.
SECPKG_ATTR_ROOT_STORE
0x55
Parametr pBuffer zawiera wskaźnik do HCERTCONTEXT. Znajduje kontekst certyfikatu zawierający certyfikat dostarczony przez magazyn główny.
SECPKG_ATTR_SESSION_KEY
9
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_SessionKey .
Zwraca informacje o kluczach sesjis.
SECPKG_ATTR_SESSION_INFO
0x5d
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_SessionInfo .
Zwraca informacje o sesji.
Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: Ta wartość nie jest obsługiwana.
Ten atrybut jest obsługiwany tylko przez pakiet zabezpieczeń Schannel.
SECPKG_ATTR_SIZES
0
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_Sizes .
Wykonuje zapytania dotyczące rozmiarów struktur używanych w funkcjach poszczególnych komunikatów.
SECPKG_ATTR_STREAM_SIZES
4
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_StreamSizes .
Wykonuje zapytanie o rozmiary różnych części strumienia używanego w funkcjach poszczególnych komunikatów.
Ten atrybut jest obsługiwany tylko przez pakiet zabezpieczeń Schannel.
SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
124
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_SubjectAttributes .
Ta wartość zwraca informacje o atrybutach zabezpieczeń dla połączenia.
Ta wartość jest obsługiwana tylko na serwerze CredSSP.
Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: Ta wartość nie jest obsługiwana.
SECPKG_ATTR_SUPPORTED_SIGNATURES
0x66
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_SupportedSignatures .
Ta wartość zwraca informacje o typach podpisów obsługiwanych dla połączenia.
Ta wartość jest obsługiwana tylko przez ograniczone delegowanie Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: Ta wartość nie jest obsługiwana.
SECPKG_ATTR_TARGET_INFORMATION
17
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_TargetInformation .
Zwraca informacje o nazwie serwera zdalnego.
SECPKG_ATTR_UNIQUE_BINDINGS
25
Parametr pBuffer zawiera wskaźnik do struktury SecPkgContext_Bindings , która określa informacje o powiązaniu kanału.
Ta wartość jest obsługiwana tylko przez ograniczone delegowanie Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 i Windows XP: Ta wartość nie jest obsługiwana.

 

pBuffer [out]

Wskaźnik do struktury, która odbiera atrybuty. Typ struktury wskazywany na zależy od wartości określonej w parametrze ulAttribute .

Wartość zwracana

Jeśli funkcja powiedzie się, zwracana wartość jest SEC_E_OK.

Jeśli funkcja zakończy się niepowodzeniem, zwracana wartość jest kodem błędu nonzero.

Uwagi

Struktura wskazywana przez parametr pBuffer różni się w zależności od badanego atrybutu. Obiekt wywołujący musi przydzielić samą strukturę pBuffer , ale dostawca usług udostępnionych przydziela dowolną pamięć wymaganą do przechowywania składowych o zmiennym rozmiarze struktury pBuffer . Pamięć przydzielona przez dostawcę usług udostępnionych może zostać zwolniona przez wywołanie funkcji FreeContextBuffer .

Po odczytaniu wartości SECPKG_ATTR_REMOTE_CERT_CONTEXT lub SECPKG_ATTR_LOCAL_CERT_CONTEXT element członkowski hCertStore zostanie ustawiony na dojście do magazynu certyfikatów zawierającego certyfikaty pośrednie, jeśli istnieje. Ponadto aplikacja jest odpowiedzialna za wywołanie elementu CertFreeCertificateContext w celu zwolnienia pamięci używanej przez kontekst certyfikatu.

Wymagania

Wymaganie Wartość
Minimalny obsługiwany klient
Windows XP [tylko aplikacje klasyczne]
Minimalny obsługiwany serwer
Windows Server 2003 [tylko aplikacje klasyczne]
Nagłówek
Sspi.h (include Security.h)
Biblioteka
Secur32.lib
DLL
Secur32.dll
Nazwy Unicode i ANSI
QueryContextAttributesW (Unicode) i QueryContextAttributesA (ANSI)

Zobacz też

funkcji SSPI

Obsługa rozszerzonej ochrony uwierzytelniania (EPA) w usłudze

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_ConnectionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes