Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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) |