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) |