Share via


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
ISC_REQ_DELEGATE
Le serveur est autorisé à emprunter l’identité du client.
ISC_REQ_MUTUAL_AUTH
Le client et le serveur doivent prouver leur identité.
ISC_REQ_REPLAY_DETECT
Le contexte de sécurité prend en charge la détection des paquets relus.
ISC_REQ_SEQUENCE_DETECT
Le contexte de sécurité prend en charge la détection des messages en désordre.
ISC_REQ_USE_SESSION_KEY
Une nouvelle clé de session doit être négociée.
ISC_REQ_PROMPT_FOR_CREDS
Si le client est un utilisateur interactif, le package doit, si possible, demander à l’utilisateur les informations d’identification appropriées.
ISC_REQ_USE_SUPPLIED_CREDS
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.
ISC_REQ_ALLOCATE_MEMORY
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.
ISC_REQ_USE_DCE_STYLE
L’appelant attend une transaction d’authentification mutuelle à trois étapes.
ISC_REQ_DATAGRAM
Un canal de communication de type datagramme doit être utilisé. Pour plus d’informations, consultez Contextes de datagramme.
ISC_REQ_CONNECTION
Un canal de communication de type connexion doit être utilisé. Pour plus d’informations, consultez Contextes orientés connexion.
ISC_REQ_EXTENDED_ERROR
Si le contexte échoue, générez un message de réponse d’erreur à renvoyer au client.
ISC_REQ_STREAM
Un canal de communication de type flux doit être utilisé. Pour plus d’informations, consultez contextes Stream.
ISC_REQ_INTEGRITY
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