Share via


Método IInterruptSync::RegisterServiceRoutine (portcls.h)

El RegisterServiceRoutine método registra una rutina de servicio de interrupción (ISR) a la que se va a llamar cuando se produce una interrupción.

Sintaxis

NTSTATUS RegisterServiceRoutine(
  [in] PINTERRUPTSYNCROUTINE Routine,
  [in] PVOID                 DynamicContext,
  [in] BOOLEAN               First
);

Parámetros

[in] Routine

Puntero a la rutina a la que se va a llamar. Este parámetro es un puntero de función de tipo PINTERRUPTSYNCROUTINE (consulte IInterruptSync).

[in] DynamicContext

Especifica un valor de contexto que se pasa a la rutina cuando se llama a .

[in] First

Especifica si la rutina se agrega en la cabeza o cola de la lista de ISR. Si es TRUE, la rutina se agrega al encabezado de la lista. Si es FALSE, se agrega en la cola.

Valor devuelto

RegisterServiceRoutine devuelve STATUS_SUCCESS si la llamada se realizó correctamente. De lo contrario, el método devuelve un código de error adecuado.

Comentarios

Este método agrega la rutina especificada a la lista de ISR del objeto de sincronización. Cuando se produce una interrupción, primero se llama a la rutina en la cabeza de la lista y se llama a la rutina en la cola en último lugar.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado portcls.h (incluir Portcls.h)
IRQL PASSIVE_LEVEL