Freigeben über


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.
Mit Ausnahme dieser Unterschiede funktionieren KsPinDataIntersection und KsPinDataIntersectionEx ähnlich.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile ks.h (ks.h einschließen)

Weitere Informationen

KStrIntersectHandlerEx