Partager via


KsValidateConnectRequest, fonction (ks.h)

La fonction KsValidateConnectRequest valide une demande de connexion et retourne un pointeur vers la structure de connexion associée à la requête.

Cette fonction ne peut être appelée qu’à PASSIVE_LEVEL.

Syntaxe

KSDDKAPI NTSTATUS KsValidateConnectRequest(
  [in]  PIRP                   Irp,
  [in]  ULONG                  DescriptorsCount,
  [in]  const KSPIN_DESCRIPTOR *Descriptor,
  [out] PKSPIN_CONNECT         *Connect
);

Paramètres

[in] Irp

Pointeur vers un IRP spécifiant la demande de connexion.

[in] DescriptorsCount

Spécifie le nombre de descripteurs d’épingle passés.

[in] Descriptor

Spécifie un pointeur vers la liste des structures KSPIN_DESCRIPTOR.

[out] Connect

Spécifie un emplacement dans lequel placer un pointeur vers le pointeur KSPIN_CONNECT passé à la demande de création. Si KsValidateConnectRequest retourne la réussite, Connect+1 contient un pointeur vers le KSDATAFORMAT avec lequel la broche a été ouverte.

Valeur de retour

La fonction KsValidateConnectRequest retourne STATUS_SUCCESS si elle réussit, ou renvoie une erreur.

Remarques

La fonction KsValidateConnectRequest gère les exceptions d’accès à la structure de connexion de base et valide les exigences de communication, le moyen, le protocole et le format de données de base. La validation effectuée sur le format de données transmis est basée sur la liste de plages de données pour l’épingle spécifiée par rapport à laquelle une instance de broche doit être créée. La validation réussit dans trois instances : si un format principal de plage est un caractère générique, le format principal de plage correspond et le sous-format de plage est un caractère générique, ou le format principal de plage, la sous-mise en forme de plage et le spécificateur de plage correspondent tous.

La mémoire tampon est passée à une copie de la mémoire tampon d’entrée d’origine, si l’originateur n’était pas en mode noyau et est donc sûr d’accéder.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête ks.h (include Ks.h)
bibliothèque Ks.lib