IInterruptSync::RegisterServiceRoutine 方法(portcls.h)

RegisterServiceRoutine 方法注册在发生中断时要调用的中断服务例程(ISR)。

语法

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

参数

[in] Routine

指向要调用的例程的指针。 此参数是 PINTERRUPTSYNCROUTINE 类型的函数指针(请参阅 IInterruptSync)。

[in] DynamicContext

指定在调用例程时传递给例程的上下文值。

[in] First

指定是否在 ISR 列表的头或尾添加例程。 如果 TRUE,则会在列表的头添加例程。 如果 FALSE,则会将其添加到尾部。

返回值

如果调用成功,RegisterServiceRoutine 返回STATUS_SUCCESS。 否则,该方法将返回适当的错误代码。

言论

此方法将指定的例程添加到同步对象的 ISR 列表中。 发生中断时,首先调用列表头上的例程,最后调用尾部的例程。

要求

要求 价值
目标平台 普遍
标头 portcls.h (包括 Portcls.h)
IRQL PASSIVE_LEVEL