Freigeben über


KsPinAttemptProcessing-Funktion (ks.h)

Die KsPinAttemptProcessing-Funktion wird verwendet, um die Verarbeitung auf einem bestimmten Pin auf einem pinzentrierten Filter fortzusetzen. Sie versucht, die Verarbeitung an Pin- zu initiieren, indem sie einen Verarbeitungsweiterleitungsaufruf an Verarbeitungsobjektanheften.

Syntax

void KsPinAttemptProcessing(
  [in] PKSPIN  Pin,
  [in] BOOLEAN Asynchronous
);

Parameter

[in] Pin

Ein Zeiger auf eine KSPIN--Struktur, die das AVStream-Pinobjekt darstellt, für das die Verarbeitung versucht werden soll.

Warnung

Dieser Parameter ist obligatorisch. Wenn Sie KsPinAttemptProcessing mit einem Pin- Wert von NULL-aufrufen, kann die Systeminstabilität dazu führen.

[in] Asynchronous

Dieser Parameter gibt die Einstellung des Minidrivers an, ob die Verarbeitung synchron oder asynchron erfolgen soll. Wenn TRUEist, ist die Verarbeitung immer asynchron. Synchrone Verarbeitung erfolgt jedoch nur unter bestimmten Umständen. Weitere Informationen finden Sie im Abschnitt "Hinweise" weiter unten.

Rückgabewert

Nichts

Bemerkungen

Ein Minidriver muss möglicherweise KsPinAttemptProcessing aufrufen, um die Verarbeitung in verschiedenen Situationen fortzusetzen. Wenn der Client beispielsweise das Verarbeitungssteuerungsgate mit KsGateTurnInputOffbeendet hat, rufen Sie diese Funktion auf, wenn sie zum Verarbeiten bereit ist. Beachten Sie, dass dies nur dann zu einer Verarbeitungssendung führt, wenn sich das Prozesskontrollgate im offenen Zustand befindet. Eine weitere Situation betrifft den Minidriver, der zuvor STATUS_PENDING an einen Verarbeitungsversand zurückgibt. Weitere Details finden Sie unter Neustartverarbeitung in AVStream und Flusssteuerungsgates in AVStream.

Der Verarbeitungsversand erfolgt entweder synchron oder asynchron, und nur, wenn das Verarbeitungssteuerungsgate geöffnet ist. Das Asynchrones Flag gibt die Einstellung des Minidrivers an. Wenn der Minidriver eine asynchrone Prozessverteilung anfordert, ist der Verteiler immer asynchron. Selbst wenn der Aufrufer jedoch asynchronen auf FALSE-festlegt, tritt nur ein synchroner Dispatch auf, wenn das System derzeit unter einem IRQL ausgeführt wird, das kleiner als die maximal verarbeitete IRQL ist. Anders ausgedrückt: Wenn der Minidriver keine Verarbeitung der Verteilerebene angibt und der Aufruf bei IRQL = DISPATCH_LEVEL erfolgt, erfolgt der Aufruf in einer asynchronen Arbeitsaufgabe bei PASSIVE_LEVEL unabhängig vom Wert asynchronen. Weitere Informationen finden Sie unter Filter-Centric Verarbeitung und Pin-Centric Verarbeitung.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- ks.h (enthalten Ks.h)
Library Ks.lib
IRQL- <=DISPATCH_LEVEL (Siehe Hinweise)

Siehe auch

KSFILTER_DISPATCH

KsFilterAttemptProcessing-

KsGateCaptureThreshold