Función de devolución de llamada PFNKSPINIRP (ks.h)
Se llama a la rutina de un minidriver 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 de 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 realice correctamente. Devuelve STATUS_SUCCESS o STATUS_PENDING.
Observaciones
IRP | Descripción |
---|---|
IRP_MJ_CREATE | Normalmente, los minidrivers usan esta rutina que desean inicializar el contexto y los recursos asociados con el pin. El minidriver especifica la dirección de esta rutina en el miembro Crear de su estructura de KSPIN_DISPATCH. Se llama a esta rutina cuando se crea un pin. En el punto en el 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 desean 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 punto en el que se llama a la rutina, se han liberado todos 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 exclusiones mutuas, consulte Exclusión mutua en AVStream. Esta rutina es opcional. |
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Escritorio |
encabezado de | ks.h (incluya Ks.h) |
irQL | PASSIVE_LEVEL (consulte la sección Comentarios) |