Método IPortWaveCíclico::Notify (portcls.h)
El Notify
método notifica al controlador de puerto que se ha producido una interrupción que indica el progreso del puntero DMA. Se debe llamar desde la rutina de servicio de interrupción (ISR) del controlador de miniporte.
Sintaxis
void Notify(
[in] PSERVICEGROUP ServiceGroup
);
Parámetros
[in] ServiceGroup
Puntero al objeto IServiceGroup del controlador de miniporte.
Valor devuelto
None
Observaciones
Este método es fundamental para una sincronización precisa. Los controladores de minipuerto suelen llamar a este método en respuesta a una interrupción de notificación después de haber borrado el origen de la interrupción. Aunque el controlador de minipuerto es libre de usar otros métodos para determinar cuándo llamar a este método, es importante el tiempo preciso y debe mantenerse.
Cuando un controlador de adaptador instala un ISR, envía un parámetro ServiceContext junto con el punto de entrada del ISR (para obtener más información, vea Proporcionar información de contexto de ISR). Cuando se produce la interrupción, el sistema operativo llama al ISR y pasa ServiceContext como parámetro de llamada al ISR. Aunque el significado del parámetro ServiceContext solo se conoce para el desarrollador del controlador, normalmente es un puntero al objeto miniport. El ISR usa este puntero para obtener acceso a la información sobre el objeto miniport.
El controlador de puerto llama al método IMiniportWaveCyclicStream::SetNotificationFreq para especificar la frecuencia con la que el ISR debe llamar al Notify
método . En todas las versiones actuales de Windows, el controlador de puerto especifica un intervalo regular de 10 milisegundos entre notificaciones sucesivas. Este valor puede cambiar en una versión futura.
El parámetro ServiceGroup sigue las convenciones de recuento de referencias para objetos COM.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | portcls.h (incluir Portcls.h) |
IRQL | Cualquier nivel |