Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La función KsFilterGenerateEvents genera eventos de un tipo indicado que está presente en Filtrola lista de eventos.
Sintaxis
void KsFilterGenerateEvents(
[in] PKSFILTER Filter,
[in, optional] const GUID *EventSet,
[in] ULONG EventId,
[in] ULONG DataSize,
[in] PVOID Data,
[in, optional] PFNKSGENERATEEVENTCALLBACK CallBack,
[in, optional] PVOID CallBackContext
);
Parámetros
[in] Filter
Puntero a una estructura de KSFILTER en la que se van a generar eventos.
[in, optional] EventSet
Puntero al GUID del conjunto de eventos para que coincida con la determinación de los eventos que se van a generar. Si este parámetro es NULL, no se tiene en cuenta el GUID del conjunto de eventos para determinar los eventos coincidentes.
[in] EventId
Identificador de evento que se va a buscar para determinar qué eventos se van a generar.
[in] DataSize
Tamaño del de datos de en bytes.
[in] Data
Puntero a un búfer de datos. Especifique si genera un evento de datos.
[in, optional] CallBack
Puntero a una función especificada por el llamador que se llama para determinar si se debe generar un evento determinado. Si es NULL, no se realiza ninguna comprobación de devolución de llamada para determinar si se debe generar un evento (solo se usan EventSet y EventId ). Para obtener más información, vea la sección Comentarios a continuación.
[in, optional] CallBackContext
Puntero opcional a un contexto especificado por el autor de la llamada que se pasa a la función de devolución de llamada CallBack. Para obtener más información, vea la sección Comentarios a continuación.
Valor devuelto
Ninguno
Observaciones
Al llamar a esta función, un minidriver debe colocar Data y callBackContext en un segmento de datos bloqueado y no paginable. Además, tenga en cuenta que el de devolución de llamada se realiza en DISPATCH_LEVEL. La función de devolución de llamada debe estar en un segmento bloqueado y debe estar preparada para ejecutarse en IRQL = DISPATCH_LEVEL. Tenga en cuenta que hay un problema adicional en DX8 solo: EventSet debe estar en un segmento de datos bloqueado.
Se trata de una llamada de función insertada a KsGenerateEvents que realiza la difusión de tipos necesaria. Los minidrivers normalmente deben llamar a esta versión en lugar de llamar directamente a KsGenerateEvents.
Se genera un evento si se mantienen las condiciones siguientes:
El evento está presente en Filterla lista de eventos y EventId coincide con el identificador del evento.
EventSet coincide con el GUID establecido del evento o null
callBack es NULL o autoriza la coincidencia.
callBack es una devolución de llamada especificada por el autor de llamada que se usa para determinar coincidencias adicionales. Se crea un prototipo de la siguiente manera:
BOOLEAN CallBack (IN PVOID Context, IN PKSEVENT_ENTRY EventEntry);
AVStream pasa el contenido del KsFilterGenerateEvents parámetro de la rutina callBackContext en el parámetro Context de esta devolución de llamada. eventEntry es un puntero a una estructura KSEVENT_ENTRY que especifica el evento que se generaría. La función de devolución de llamada debe devolver TRUE si se debe generar este evento.
Para obtener más información, vea control de eventos en avStream y eventos KS.
Requisitos
| Requisito | Valor |
|---|---|
| cliente mínimo admitido | Disponible en Microsoft Windows XP y sistemas operativos posteriores y DirectX 8.0 y versiones posteriores de DirectX. |
| de la plataforma de destino de | Escritorio |
| encabezado de | ks.h (incluya Ks.h) |
| biblioteca de | Ks.lib |
| irQL | <=DISPATCH_LEVEL (consulte la sección Comentarios). |