Fonction de rappel SpQueryMetaDataFn (ntsecpkg.h)
Obtient des métadonnées d’un fournisseur de support de sécurité (SSP) lorsqu’il lance un contexte de sécurité.
Syntaxe
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
)
{...}
Paramètres
[in] CredentialHandle
Handle des informations d’identification à utiliser pour le contexte de sécurité. Si le paramètre ContextHandle pointe vers NULL en entrée, cette fonction utilise la valeur de ce paramètre pour créer un contexte de sécurité.
La valeur de ce paramètre ne peut pas être NULL si le paramètre ContextHandle pointe vers NULL lors de l’entrée.
[in, optional] TargetName
Pointeur vers un UNICODE_STRING qui contient le nom de la cible du contexte.
[in] ContextRequirements
Indicateurs qui indiquent les attributs de contexte requis par le client.
Les valeurs valides sont les suivantes. Les valeurs peuvent être combinées à l’aide d’une opération LOGIQUE OR .
Valeur | Signification |
---|---|
|
Le serveur est autorisé à emprunter l’identité du client. |
|
Le client et le serveur doivent prouver leur identité. |
|
Le contexte de sécurité prend en charge la détection des paquets relus. |
|
Le contexte de sécurité prend en charge la détection des messages en désordre. |
|
Une nouvelle clé de session doit être négociée. |
|
Si le client est un utilisateur interactif, le package doit, si possible, demander à l’utilisateur les informations d’identification appropriées. |
|
La mémoire tampon d’entrée contient des informations d’identification spécifiques au package qui doivent être utilisées pour authentifier la connexion. |
|
Le package doit allouer de la mémoire. L’appelant doit finalement appeler la fonction FreeContextBuffer pour libérer la mémoire allouée par le package. |
|
L’appelant attend une transaction d’authentification mutuelle à trois étapes. |
|
Un canal de communication de type datagramme doit être utilisé. Pour plus d’informations, consultez Contextes de datagramme. |
|
Un canal de communication de type connexion doit être utilisé. Pour plus d’informations, consultez Contextes orientés connexion. |
|
Si le contexte échoue, générez un message de réponse d’erreur à renvoyer au client. |
|
Un canal de communication de type flux doit être utilisé. Pour plus d’informations, consultez contextes Stream. |
|
L’intégrité de la mémoire tampon est vérifiée ; Toutefois, les messages relus et hors séquence ne sont pas détectés. |
[out] MetaDataLength
Taille, en caractères, de la mémoire tampon MetaData .
[out] MetaData
Métadonnées que le fournisseur de services partagés fournit.
[in, out] ContextHandle
Handle du handle de sécurité à utiliser. Si ce paramètre pointe vers NULL lors de l’entrée, cette fonction alloue et initialise un contexte de sécurité à l’aide des valeurs des paramètres CredentialHandle et TargetName .
Si ce paramètre pointe sur NULL lors de l’entrée, credentialHandle ne peut pas être NULL.
Valeur retournée
Si la fonction réussit, retournez STATUS_SUCCESS ou un code de status d’information.
Si la fonction échoue, retournez un code d’erreur NTSTATUS qui indique la raison de son échec. Pour plus d'informations, consultez la section Notes.
Remarques
Un pointeur vers la fonction SpQueryMetaDataFn est disponible dans la structure SECPKG_FUNCTION_TABLE reçue de la fonction SpLsaModeInitialize .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | ntsecpkg.h |