Freigeben über


KsPinGenerateEvents-Funktion (ks.h)

Die KsPinGenerateEvents-Funktion generiert Ereignisse eines angegebenen Typs, die in Ereignisliste"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, auf der Ereignisse generiert werden sollen.

[in, optional] EventSet

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

[in] EventId

Die Ereignis-ID, die übereinstimmen soll, um zu bestimmen, welche Ereignisse generiert werden sollen.

[in] DataSize

Die Größe in Byte der Daten, 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. Wenn NULL-, wird keine Rückrufüberprüfung ausgeführt, um festzustellen, 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 parameter CallBackContext 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 übergeben wird, CallBack-.

Rückgabewert

Nichts

Bemerkungen

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

Dies ist ein Inlinefunktionsaufruf für KsGenerateEvents, der die erforderliche Typecasting durchführt. Minidriver sollten diese Version in der Regel aufrufen, anstatt KsGenerateEventsdirekt aufzurufen.

Ein Ereignis wird generiert, wenn die folgenden drei Bedingungen enthalten sind:

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

  • EventSet- entspricht entweder der GUID des Ereignisses oder ist NULL-.

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

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Microsoft Windows XP und höheren Betriebssystemen und DirectX 8.0 und höher directX-Versionen.
Zielplattform- Desktop
Header- ks.h (enthalten Ks.h)
Library Ks.lib
IRQL- <=DISPATCH_LEVEL (Siehe Hinweise)

Siehe auch

KSEVENT_ENTRY

KsAddEvent-

KsFilterGenerateEvents

KsGenerateEvents