SpExchangeMetaDataFn-Rückruffunktion (ntsecpkg.h)
Sendet Metadaten an einen Sicherheitsunterstützungsanbieter. Die von dieser Funktion gesendeten Metadaten werden durch einen vorherigen Aufruf der SpQueryMetaDataFn-Funktion abgerufen.
Syntax
SpExchangeMetaDataFn Spexchangemetadatafn;
NTSTATUS Spexchangemetadatafn(
[in] LSA_SEC_HANDLE CredentialHandle,
[in, optional] PUNICODE_STRING TargetName,
[in] ULONG ContextRequirements,
[in] ULONG MetaDataLength,
[in] 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 eine UNICODE_STRING , die den Namen des Ziels des Kontexts enthält.
[in] ContextRequirements
Flags, die die kontextspezifischen Attribute angeben, die vom Client benötigt werden.
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 Nachrichten in nicht ordnungsgemäßer Reihenfolge. |
|
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 vom Paket zugeordneten Arbeitsspeicher freizugeben. |
|
Der Aufrufer erwartet eine transaktionale gegenseitige Authentifizierung mit drei Beinen. |
|
Es sollte ein Kommunikationskanal vom Typ Datagramm 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, um an den Client zurückzusenden. |
|
Es sollte ein Kommunikationskanal vom Typ "Stream" verwendet werden. Weitere Informationen finden Sie unter Stream Kontexte. |
|
Die Pufferintegrität wird überprüft. Wiedergegebene und nicht sequenzbezogene Nachrichten werden jedoch nicht erkannt. |
[in] MetaDataLength
Die Größe des MetaData-Puffers in Zeichen.
[in] MetaData
Die zu sendenden Metadaten.
[in, out] ContextHandle
Ein Handle für das zu verwendende Sicherheitshandle. Wenn dieser Parameter bei der Eingabe auf NULL zeigt, ordnet und initialisiert diese Funktion einen Sicherheitskontext 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 den Fehler angibt. Weitere Informationen finden Sie in den Hinweisen.
Hinweise
Ein Zeiger auf die SpExchangeMetaDataFn-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 |