KsPinGenerateEvents-Funktion (ks.h)

Die KsPinGenerateEvents-Funktion generiert Ereignisse eines angegebenen Typs, die in der Ereignisliste von Pin vorhanden sind.

Syntax

void KsPinGenerateEvents(
  [in]           PKSPIN                     Pin,
  [in, optional] const GUID                 *EventSet,
  [in]           ULONG                      EventId,
  [in]           ULONG                      DataSize,
  [in, optional] PVOID                      Data,
  [in, optional] PFNKSGENERATEEVENTCALLBACK CallBack,
  [in, optional] PVOID                      CallBackContext
);

Parameter

[in] Pin

Ein Zeiger auf die KSPIN-Struktur , für die Ereignisse generiert werden sollen.

[in, optional] EventSet

Ein Zeiger auf die zu übereinstimmende Ereignissatz-GUID, um zu bestimmen, welche Ereignisse generiert werden sollen. Wenn dieser Parameter NULL ist, wird die festgelegte GUID nicht berücksichtigt, um übereinstimmende Ereignisse zu bestimmen.

[in] EventId

Die abzugleichende Ereignis-ID, um zu bestimmen, welche Ereignisse generiert werden sollen.

[in] DataSize

Die Größe der Daten in Bytes, mit denen das Datenereignis generiert werden soll.

[in, optional] Data

Ein Zeiger auf einen Datenpuffer. Geben Sie an, ob ein Datenereignis generiert wird.

[in, optional] CallBack

Ein Zeiger auf eine vom Aufrufer angegebene Funktion, die aufgerufen wird, um zu bestimmen, ob ein bestimmtes Ereignis generiert werden soll. Bei NULL wird keine Rückrufüberprüfung durchgeführt, um zu bestimmen, ob ein Ereignis generiert werden soll (es werden nur *EventSet * und EventId verwendet). Prototyp wie folgt:

BOOLEAN CallBack
(IN PVOID Context,
    IN PKSEVENT_ENTRY EventEntry);

KsPinGenerateEvents übergibt den CallBackContext-Parameter unverändert als Context-Parameter für den Rückruf. Die Rückruffunktion gibt TRUE zurück, wenn EventEntry generiert werden soll. Andernfalls wird FALSE zurückgegeben.

[in, optional] CallBackContext

Ein Zeiger auf einen vom Aufrufer angegebenen Kontext, der an die Rückruffunktion CallBack übergeben wird.

Rückgabewert

Keine

Bemerkungen

Beim Aufrufen dieser Funktion muss ein Minidriver Data und CallBackContext in einem gesperrten, nicht ausstellbaren Datensegment platzieren. Der Rückruf erfolgt bei DISPATCH_LEVEL. Die Rückruffunktion muss sich in einem gesperrten Segment befindet und für die Ausführung unter IRQL = DISPATCH_LEVEL vorbereitet sein. Beachten Sie, dass nur in DX8 ein zusätzliches Problem vorliegt: EventSet muss sich in einem gesperrten Datensegment befinden.

Dies ist ein Inlinefunktionsaufruf von KsGenerateEvents, der die erforderliche Typecasting-Funktion ausführt. Minidriver sollten in der Regel diese Version aufrufen, anstatt KsGenerateEvents direkt aufzurufen.

Ein Ereignis wird generiert, wenn die folgenden drei Bedingungen erfüllt sind:

  • Das Ereignis ist in der *Ereignisliste von *Pin vorhanden, und *EventId * entspricht der ID des Ereignisses.

  • EventSet entspricht entweder der GUID des Ereignissatzes oder ist NULL.

  • *CallBack * ist entweder NULL oder autorisiert die Übereinstimmung.

Weitere Informationen finden Sie unter Ereignisbehandlung in AVStream - und KS-Ereignissen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows XP und höheren Betriebssystemen sowie DirectX 8.0 und höher DirectX-Versionen.
Zielplattform Desktop
Kopfzeile ks.h (ks.h einschließen)
Bibliothek Ks.lib
IRQL <=DISPATCH_LEVEL (siehe Hinweise)

Weitere Informationen

KSEVENT_ENTRY

KsAddEvent

KsFilterGenerateEvents

KsGenerateEvents