Partager via


KsPinDataIntersection, fonction (ks.h)

La fonction KsPinDataIntersection gère la propriété KSPROPERTY_PIN_DATAINTERSECTION via une fonction de rappel et effectue une grande partie de la validation initiale des paramètres passés. KsPinDataIntersection appelle la fonction de rappel KStrIntersectHandler définie par minidriver avec chaque plage de données potentielle après l’avoir mise en correspondance avec la liste des plages de données attribuées à cette fabrique de broches.

Syntaxe

KSDDKAPI NTSTATUS KsPinDataIntersection(
  [in]            PIRP                   Irp,
  [in]            PKSP_PIN               Pin,
  [out, optional] PVOID                  Data,
  [in]            ULONG                  DescriptorsCount,
  [in]            const KSPIN_DESCRIPTOR *Descriptor,
  [in]            PFNKSINTERSECTHANDLER  IntersectHandler
);

Paramètres

[in] Irp

Spécifie l’IRP qui décrit la demande de propriété.

[in] Pin

Spécifie la propriété spécifique en cours d’interrogation.

[out, optional] Data

Spécifie les données spécifiques à la propriété de broche.

[in] DescriptorsCount

Spécifie le nombre de structures de descripteur.

[in] Descriptor

Spécifie le pointeur vers la liste des structures d’informations de broche.

[in] IntersectHandler

Spécifie la fonction de rappel KStrIntersectHandler définie par minidriver pour comparer une plage de données.

Valeur retournée

La fonction KsPinDataIntersection retourne STATUS_SUCCESS si une plage correspondante est trouvée, STATUS_NO_MATCH si aucune plage correspondante n’a été trouvée ou une erreur spécifique à la propriété gérée. Le gestionnaire d’intersection KStrIntersectHandler défini par minidriver fourni à KsPinDataIntersection est appelé avec chaque plage de données fournie par l’appelant jusqu’à ce qu’une correspondance soit trouvée ou qu’une erreur se produise.

Notez que la fonction de rappel KStrIntersectHandler définie par minidriver a son propre jeu de valeurs de retour.

Remarques

Une correspondance peut se produire dans trois conditions : si le format principal de la plage passée est un caractère générique ou correspond à une plage de fabrique de broches, si le sous-format est un caractère générique ou correspond, et si le spécificateur est un caractère générique ou correspond. Étant donné que la taille de la plage de données peut être variable, elle n’est pas validée au-delà de la vérification qu’elle correspond au moins à la taille d’une structure KSDATARANGE .

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ks.h (inclure Ks.h)
Bibliothèque Ks.lib

Voir aussi

KSDATARANGE

KStrIntersectHandler