Compartir a través de


Función KsPinGenerateEvents (ks.h)

La función KsPinGenerateEvents genera eventos de un tipo indicado que están presentes en la lista de eventos de Pin.

Sintaxis

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

Parámetros

[in] Pin

Puntero a la estructura KSPIN en la que se van a generar eventos.

[in, optional] EventSet

Puntero al GUID del conjunto de eventos que debe coincidir para determinar qué eventos se van a generar. Si este parámetro es NULL, no se tiene en cuenta el GUID establecido para determinar los eventos coincidentes.

[in] EventId

Identificador de evento que debe coincidir para determinar qué eventos se van a generar.

[in] DataSize

Tamaño en bytes de los datos con los que se va a generar el evento de datos.

[in, optional] 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 ). Prototipo de la siguiente manera:

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

KsPinGenerateEvents pasa el parámetro CallBackContext sin cambios como el parámetro Context de la devolución de llamada. La función de devolución de llamada devuelve TRUE si se debe generar EventEntry . De lo contrario, devuelve FALSE.

[in, optional] CallBackContext

Puntero a un contexto especificado por el llamador que se pasa a la función de devolución de llamada CallBack.

Valor devuelto

None

Observaciones

Al llamar a esta función, un minidriver debe colocar Data y CallBackContext en un segmento de datos no paginable bloqueado. La 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 solo en DX8: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. Normalmente, los minidrivers deben llamar a esta versión en lugar de llamar directamente a KsGenerateEvents.

Se genera un evento si las tres condiciones siguientes contienen:

  • El evento está presente en la *lista de eventos *Pin y *EventId *coincide con el identificador del evento.

  • EventSet coincide con el GUID establecido del evento o es NULL.

  • *CallBack *es NULL o autoriza la coincidencia.

Para obtener más información, vea Control de eventos en AVStream y eventos KS.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Microsoft Windows XP y en sistemas operativos posteriores y DirectX 8.0 y versiones posteriores de DirectX.
Plataforma de destino Escritorio
Encabezado ks.h (incluye Ks.h)
Library Ks.lib
IRQL <=DISPATCH_LEVEL (ver comentarios)

Consulte también

KSEVENT_ENTRY

KsAddEvent

KsFilterGenerateEvents

KsGenerateEvents