KsPinDataIntersectionEx-Funktion (ks.h)
Die KsPinDataIntersectionEx-Funktion verarbeitet die KSPROPERTY_PIN_DATAINTERSECTION über eine Rückruffunktion.
Syntax
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
);
Parameter
[in] Irp
Gibt den IRP an, der die Eigenschaftsanforderung beschreibt.
[in] Pin
Gibt die spezifische Eigenschaft an, die abgefragt wird.
[out] Data
Gibt die für die Pin-Eigenschaft spezifischen Daten an.
[in] DescriptorsCount
Gibt die Anzahl der Deskriptorstrukturen an.
[in] Descriptor
Gibt den Zeiger auf die Liste der Pininformationsstrukturen an.
[in] DescriptorSize
Größe der Deskriptorstrukturen in Bytes.
[in, optional] IntersectHandler
Enthält die optionale minidriver-definierte KStrIntersectHandlerEx-Rückruffunktion zum Vergleichen von Datenbereichen.
[in, optional] HandlerContext
Optionaler Kontext, der für den Handler bereitgestellt wird.
Rückgabewert
Gibt STATUS_SUCCESS zurück. Andernfalls ein Fehler, der für die -Eigenschaft spezifisch ist, die behandelt wird.
Hinweise
KsPinDataIntersectionEx ist KsPinDataIntersection sehr ähnlich, mit Ausnahme einiger der folgenden geringfügigen Unterschiede:
- In KsPinDataIntersectionEx wird die Größe des Deskriptors übergeben, ein Feature, das erweiterte Deskriptoren zulässt.
- Die Rückruffunktion für die Daten schnittmenge wird in der erweiterten Version (NTSTATUS-Rückruf (Context, Irp, Pin, DataRange, MatchingDataRange, DataBufferSize, Data, DataSize)) im Vergleich zu KsPinDataIntersection (NTSTATUS-Rückruf (Irp, Pin, DataRange, Data)) unterschiedlich prototypisiert.
- Die Länge des Ausgabepuffers (Daten) wird als Parameter an die Datenüberschneidungsrückruffunktion (DataBufferSize) übergeben, anstatt aus dem aktuellen E/A-Stapelspeicherort extrahiert zu werden.
- Der Datenüberschneidungsrückruffunktion wird ein Context-Parameter übergeben (derselbe Context-Parameter , der an KsPinDataIntersectionEx übergeben wird).
- Die Größe des resultierenden Formats wird in DataSize anstelle von Irp->IoStatus.Information zurückgegeben.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | ks.h (ks.h einschließen) |