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 Überprüfung der übergebenen Parameter durch. KsPinDataIntersection ruft die minidriverdefinierte KStrIntersectHandler Rückruffunktion mit jedem potenziellen Datenbereich auf, nachdem sie mit der Liste der Datenbereiche übereinstimmen, die dieser Pinfactory 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 das IRP an, das 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 Pininformationsstrukturen an.
[in] IntersectHandler
Gibt die minidriverdefinierte KStrIntersectHandler Rückruffunktion an, um einen Datenbereich zu vergleichen.
Rückgabewert
Die KsPinDataIntersection-Funktion gibt STATUS_SUCCESS zurück, wenn ein übereinstimmender Bereich gefunden wird, STATUS_NO_MATCH, wenn kein übereinstimmender Bereich gefunden wurde, oder einen Fehler, der für die behandelte Eigenschaft spezifisch ist. Der minidriverdefinierte KStrIntersectHandler Schnittpunkthandler, der für KsPinDataIntersection bereitgestellt wird, wird mit jedem vom Aufrufer bereitgestellten Datenbereich aufgerufen, bis eine Übereinstimmung gefunden wird oder ein Fehler auftritt.
Beachten Sie, dass die minidriverdefinierte KStrIntersectHandler Rückruffunktion über einen eigenen Satz von Rückgabewerten verfügt.
Bemerkungen
Eine Übereinstimmung kann unter drei Bedingungen auftreten: Wenn das Hauptformat des übergebenen Bereichs ein Wildcard ist oder einem Pin-Factory-Bereich entspricht, wenn das Unterformat ein Wildcard oder Übereinstimmungen ist und der Bezeichner ein Wildcard oder Übereinstimmung ist. Da die Größe des Datenbereichs variabel sein kann, wird sie nicht überprüft, um zu überprüfen, ob es sich mindestens um die Größe einer KSDATARANGE- Struktur handelt.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | ks.h (enthalten Ks.h) |
Library | Ks.lib |