PFNKSPIN-Rückruffunktion (ks.h)

Die Rückrufroutine eines AVStream-Minidrivers wird in folgenden Fällen aufgerufen:

  • Es stehen Daten für eine KSPIN-Struktur zur Verarbeitung zur Verfügung. Verwenden Sie diese Routine, um die pinzentrische Verarbeitung auszuführen.
  • Der entsprechende KSPIN dient als Senkennadel und ist mit einem AVStream-Quellstift verbunden.

Syntax

PFNKSPIN Pfnkspin;

NTSTATUS Pfnkspin(
  [in] PKSPIN Pin
)
{...}

Parameter

[in] Pin

Zeiger auf den KSPIN , für den Framedaten zur Verarbeitung verfügbar sind.

Rückgabewert

Geben Sie STATUS_SUCCESS zurück, um die Verarbeitung fortzusetzen. Geben Sie STATUS_PENDING zurück, um die Verarbeitung bis zum nächsten auslösenden Ereignis anzuhalten.

Hinweise

Informationen zu AVStrMiniPinProcess

Der Minidriver gibt die Adresse dieser Routine im Prozesselement der KSPIN_DISPATCH-Struktur an.

Geben Sie an, dass ein Filter pinzentrische Verarbeitung verwendet, indem Sie diese Dispatchfunktion bereitstellen. Der Minidriver legt Anheftflags in der relevanten KSPIN_DESCRIPTOR_EX-Struktur fest, die bestimmen, wann AVStream AVStrMiniPinProcess aufruft. Wenn der Minidriver keine Flags im Deskriptor festlegt, ist das Standardverhalten, dass AVStream AVStrMiniPinProcess aufruft, wenn neue Daten in einer zuvor leeren Warteschlange eintreffen. Weitere Informationen zu Verarbeitungstriggern finden Sie unter Pin-Centric Verarbeitung.

Nach der Verarbeitung kann der Minidriver verhindern, dass der Frame abgeschlossen wird, indem der führende Streamzeiger klont. Rufen Sie hierzu KsStreamPointerClone auf. Weitere Informationen finden Sie unter Führende und nachgestellte Stream-Edgezeiger.

Alternativ können Sie eine bestimmte nachgestellte Kante angeben, indem Sie KSPIN_FLAG_DISTINCT_TRAILING_EDGE auf KSPIN_DESCRIPTOR_EX festlegen. Eine dritte Option besteht darin, den Führenden Streamzeiger nicht weiterzuverschärfen.

Der Prozessversand erfolgt entweder am Standard IRQL = PASSIVE_LEVEL oder möglicherweise am DISPATCH_LEVEL, wenn der Minidriver KSPIN_FLAG_DISPATCH_LEVEL_PROCESSING im relevanten KSPIN_DESCRIPTOR_EX angegeben hat.

Diese Routine ist optional.

Informationen zu AVStrMiniPinConnect

Der Minidriver gibt die Adresse dieser Routine im Connect-Element der KSPIN_DISPATCH-Struktur an.

Geben Sie STATUS_SUCCESS oder den Fehler zurück, der beim Versuch, eine Verbindung herzustellen, zurückgegeben wurde. Geben Sie keine STATUS_PENDING zurück.

Diese Routine ist optional.

Siehe auch KS-Pins.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows XP und höheren Betriebssystemen und DirectX 8.0 und höher DirectX-Versionen.
Zielplattform Desktop
Kopfzeile ks.h (einschließlich Ks.h)
IRQL (Siehe Abschnitt "Hinweise")

Weitere Informationen

Filterorientierte Verarbeitung

KSPIN_DESCRIPTOR_EX

KSPIN_DISPATCH

KsStreamPointerClone

Pinzentriert verarbeitet