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 |