SpQueryMetaDataFn-Rückruffunktion (ntsecpkg.h)
Ruft Metadaten von einem Sicherheitsunterstützungsanbieter (Security Support Provider , SSP) ab, wenn dieser einen Sicherheitskontext initiiert.
Syntax
SpQueryMetaDataFn Spquerymetadatafn;
NTSTATUS Spquerymetadatafn(
[in] LSA_SEC_HANDLE CredentialHandle,
[in, optional] PUNICODE_STRING TargetName,
[in] ULONG ContextRequirements,
[out] PULONG MetaDataLength,
[out] PUCHAR *MetaData,
[in, out] PLSA_SEC_HANDLE ContextHandle
)
{...}
Parameter
[in] CredentialHandle
Ein Handle für die Anmeldeinformationen , die für den Sicherheitskontext verwendet werden sollen. Wenn der ContextHandle-Parameter bei der Eingabe auf NULL zeigt, verwendet diese Funktion den Wert dieses Parameters, um einen Sicherheitskontext zu erstellen.
Der Wert dieses Parameters darf nicht NULL sein, wenn der ContextHandle-Parameter bei der Eingabe auf NULL zeigt.
[in, optional] TargetName
Ein Zeiger auf einen UNICODE_STRING , der den Namen des Ziels des Kontexts enthält.
[in] ContextRequirements
Flags, die die vom Client benötigten Kontextattribute angeben.
Die folgenden Werte sind gültig. Werte können mithilfe eines logischen OR-Vorgangs kombiniert werden.
Wert | Bedeutung |
---|---|
|
Der Server darf die Identität des Clients annehmen. |
|
Sowohl der Client als auch der Server müssen ihre Identität nachweisen. |
|
Der Sicherheitskontext unterstützt die Erkennung von wiedergegebenen Paketen. |
|
Der Sicherheitskontext unterstützt die Erkennung von ungeordneten Nachrichten. |
|
Ein neuer Sitzungsschlüssel muss ausgehandelt werden. |
|
Wenn der Client ein interaktiver Benutzer ist, muss das Paket den Benutzer nach Möglichkeit zur Eingabe der entsprechenden Anmeldeinformationen auffordern. |
|
Der Eingabepuffer enthält paketspezifische Anmeldeinformationen, die zum Authentifizieren der Verbindung verwendet werden sollen. |
|
Das Paket muss Arbeitsspeicher zuweisen. Der Aufrufer muss schließlich die FreeContextBuffer-Funktion aufrufen, um den vom Paket zugewiesenen Arbeitsspeicher freizugeben. |
|
Der Aufrufer erwartet eine Transaktion zur gegenseitigen Authentifizierung mit drei Beinen. |
|
Es sollte ein Kommunikationskanal vom Typ Datagram verwendet werden. Weitere Informationen finden Sie unter Datagrammkontexte. |
|
Es sollte ein Verbindungstypkommunikationskanal verwendet werden. Weitere Informationen finden Sie unter Verbindungsorientierte Kontexte. |
|
Wenn der Kontext fehlschlägt, generieren Sie eine Fehlermeldung, die an den Client zurück gesendet wird. |
|
Es sollte ein Streamtypkommunikationskanal verwendet werden. Weitere Informationen finden Sie unter Stream Kontexte. |
|
Die Pufferintegrität wird überprüft. Es werden jedoch keine wiedergegebenen und nicht wiedergegebenen Nachrichten erkannt. |
[out] MetaDataLength
Die Größe des MetaData-Puffers in Zeichen.
[out] MetaData
Die Metadaten, die der SSP bereitstellt.
[in, out] ContextHandle
Ein Handle für das zu verwendende Sicherheitshandle. Wenn dieser Parameter bei der Eingabe auf NULL verweist, weist diese Funktion einen Sicherheitskontext zu und initialisiert diesen mithilfe der Werte der Parameter CredentialHandle und TargetName .
Wenn dieser Parameter bei der Eingabe auf NULL zeigt, kann CredentialHandle nicht NULL sein.
Rückgabewert
Wenn die Funktion erfolgreich ist, geben Sie STATUS_SUCCESS oder einen informationellen status Code zurück.
Wenn die Funktion fehlschlägt, geben Sie einen NTSTATUS-Fehlercode zurück, der den Grund für einen Fehler angibt. Weitere Informationen finden Sie in den Hinweisen.
Hinweise
Ein Zeiger auf die SpQueryMetaDataFn-Funktion ist in der SECPKG_FUNCTION_TABLE Struktur verfügbar, die von der SpLsaModeInitialize-Funktion empfangen wird.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | ntsecpkg.h |