KsPinDataIntersection-Funktion (ks.h)

Die KsPinDataIntersection-Funktion verarbeitet die KSPROPERTY_PIN_DATAINTERSECTION-Eigenschaft über eine Rückruffunktion und führt einen Großteil der anfänglichen Validierung der übergebenen Parameter durch. KsPinDataIntersection ruft die minidriver-definierte KStrIntersectHandler-Rückruffunktion mit jedem potenziellen Datenbereich auf, nachdem sie mit der Liste der Datenbereiche übereinstimmt, die dieser Pin Factory zugewiesen sind.

Syntax

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
);

Parameter

[in] Irp

Gibt den IRP an, der die Eigenschaftsanforderung beschreibt.

[in] Pin

Gibt die spezifische Eigenschaft an, die abgefragt wird.

[out, optional] Data

Gibt die pin-eigenschaftsspezifischen Daten an.

[in] DescriptorsCount

Gibt die Anzahl der Deskriptorstrukturen an.

[in] Descriptor

Gibt den Zeiger auf die Liste der Anheftungsinformationsstrukturen an.

[in] IntersectHandler

Gibt die minidriver-definierte KStrIntersectHandler-Rückruffunktion an, um einen Datenbereich zu vergleichen.

Rückgabewert

Die KsPinDataIntersection-Funktion gibt STATUS_SUCCESS zurück, wenn ein übereinstimmenden Bereich gefunden wird, STATUS_NO_MATCH, wenn kein übereinstimmenden Bereich gefunden wurde, oder einen fehlerspezifisch für die zu behandelnde Eigenschaft. Der für KsPinDataIntersection bereitgestellte KStrIntersectHandler-Kreuzungshandler wird mit jedem vom Aufrufer bereitgestellten Datenbereich aufgerufen, bis entweder eine Übereinstimmung gefunden wird oder ein Fehler auftritt.

Beachten Sie, dass die vom Minidriver definierte KStrIntersectHandler-Rückruffunktion über einen eigenen Satz von Rückgabewerten verfügt.

Hinweise

Eine Übereinstimmung kann unter drei Bedingungen auftreten: wenn das Hauptformat des übergebenen Bereichs ein Feldhalter ist oder einem Pin factory-Bereich entspricht, wenn das Unterformat ein Feldhalter oder übereinstimmungt, und wenn der Bezeichner ein Feldhalter oder übereinstimmungt. Da die Datenbereichsgröße variabel sein kann, wird nicht überprüft, ob es sich mindestens um die Größe einer KSDATARANGE-Struktur handelt .

Anforderungen

Anforderung Wert
Zielplattform Universell
Header ks.h (einschließlich Ks.h)
Bibliothek Ks.lib

Weitere Informationen

KSDATARANGE

KStrIntersectHandler