Función de devolución de llamada PFNKSPINIRP (ks.h)
Se llama a una rutina de minidriver de AVStream cuando se realiza una actividad en el pin y recibe estos IRP:
Sintaxis
PFNKSPINIRP Pfnkspinirp;
NTSTATUS Pfnkspinirp(
[in] PKSPIN Pin,
[in] PIRP Irp
)
{...}
Parámetros
[in] Pin
Puntero al KSPIN que se acaba de crear.
[in] Irp
Puntero al IRP para Pin.
Valor devuelto
Si la rutina se realiza correctamente, se garantiza que la operación se realiza correctamente. Devuelve STATUS_SUCCESS o STATUS_PENDING.
Comentarios
IRP | Descripción |
---|---|
IRP_MJ_CREATE | Normalmente, los minidrivers usan esta rutina que quieren inicializar el contexto y los recursos asociados con la patilla. El minidriver especifica la dirección de esta rutina en el miembro Create de su estructura de KSPIN_DISPATCH . Se llama a esta rutina cuando se crea un pin. En el momento en que se llama a esta rutina, el objeto de archivo tiene un contexto asociado y se ha asignado el encabezado del objeto KS. Normalmente, los minidrivers que quieran inicializar el contexto y los recursos asociados con el pin proporcionarán esta función. La exclusión mutua del control de filtro se mantiene mientras se encuentra en esta función. Se llamará a la función en IRQL = PASSIVE_LEVEL. Esta rutina es opcional. Si la rutina se realiza correctamente, se garantiza que la operación de creación se realice correctamente. Devuelve STATUS_SUCCESS o STATUS_PENDING. Si un minidriver devuelve STATUS_PENDING, AVStream no completará el IRP_MJ_CREATE inmediatamente. Sin embargo, antes de devolver STATUS_PENDING, el minidriver debe llamar a IoMarkIrpPending. Una vez completado el procesamiento de la creación, el minidriver debe establecer el código de estado del IRP y, a continuación, llamar a KsCompletePendingRequest. |
IRP_MJ_CLOSE | El minidriver especifica la dirección de esta rutina en el miembro Close de su estructura de KSPIN_DISPATCH . En el momento en el que se llama a la rutina, se han liberado los eventos registrados en el pin, pero el objeto está intacto. La exclusión mutua del control de filtro se mantiene mientras se encuentra en esta función. Para obtener más información sobre las exclusión mutuas, consulte Exclusión mutua en AVStream. Esta rutina es opcional. |
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | ks.h (incluya Ks.h) |
IRQL | PASSIVE_LEVEL (consulte la sección Comentarios) |