KsPinDataIntersectionEx, fonction (ks.h)
La fonction KsPinDataIntersectionEx gère les KSPROPERTY_PIN_DATAINTERSECTION via une fonction de rappel.
Syntaxe
KSDDKAPI NTSTATUS KsPinDataIntersectionEx(
[in] PIRP Irp,
[in] PKSP_PIN Pin,
[out] PVOID Data,
[in] ULONG DescriptorsCount,
[in] const KSPIN_DESCRIPTOR *Descriptor,
[in] ULONG DescriptorSize,
[in, optional] PFNKSINTERSECTHANDLEREX IntersectHandler,
[in, optional] PVOID HandlerContext
);
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] 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] DescriptorSize
Taille des structures de descripteur, en octets.
[in, optional] IntersectHandler
Contient la fonction de rappel KStrIntersectHandlerEx définie par minidriver facultative pour comparer les plages de données.
[in, optional] HandlerContext
Contexte facultatif fourni au gestionnaire.
Valeur retournée
Retourne STATUS_SUCCESS ; sinon, une erreur spécifique à la propriété en cours de traitement.
Remarques
KsPinDataIntersectionEx est très similaire à KsPinDataIntersection, à l’exception de certaines des légères différences suivantes :
- Dans KsPinDataIntersectionEx, la taille du descripteur est passée, une fonctionnalité qui autorise les descripteurs étendus.
- La fonction de rappel d’intersection de données est prototype différemment dans la version étendue (NTSTATUS Callback (Context, Irp, Pin, DataRange, MatchingDataRange, DataBufferSize, Data, DataSize)) et KsPinDataIntersection (NTSTATUS Callback (Irp, Pin, DataRange, Data)).
- La longueur de la mémoire tampon de sortie (Données) est passée en tant que paramètre à la fonction de rappel d’intersection de données (DataBufferSize) au lieu d’être extraite de l’emplacement actuel de la pile d’E/S.
- La fonction de rappel d’intersection de données reçoit un paramètre Context (le même paramètre context passé à KsPinDataIntersectionEx).
- La taille du format résultant est renvoyée dans DataSize au lieu d’Irp->IoStatus.Information.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ks.h (inclure Ks.h) |