PcNewInterruptSync 函数 (portcls.h)

PcNewInterruptSync 函数创建并初始化中断同步对象。

语法

PORTCLASSAPI NTSTATUS PcNewInterruptSync(
  [out]          PINTERRUPTSYNC    *OutInterruptSync,
  [in, optional] PUNKNOWN          OuterUnknown,
  [in]           PRESOURCELIST     ResourceList,
  [in]           ULONG             ResourceIndex,
  [in]           INTERRUPTSYNCMODE Mode
);

参数

[out] OutInterruptSync

此函数创建的中断同步对象的输出指针。 此参数指向调用方分配的指针变量,函数将引用输出到新创建的 IInterruptSync 对象。 为此参数指定有效的非 NULL 指针值。

[in, optional] OuterUnknown

指向需要聚合对象的对象的 IUnknown 接口的指针。 除非需要聚合,否则请将此参数设置为 NULL

[in] ResourceList

指向初始化期间提供给微型端口驱动程序的 IResourceList 对象的指针。 端口驱动程序将检查此资源列表,但不会对其进行修改。

[in] ResourceIndex

指定资源列表中的中断资源的索引。 如果 IResourceList::NumberOfEntriesOfType 方法 为 CmResourceTypeInterrupt 类型返回 N 的计数, 则 ResourceIndex 必须是介于 0 到 N-1 之间的值。

[in] Mode

指定处理多个 ISR 的方式。 将此参数设置为 INTERRUPTSYNCMODE 枚举值之一。 有关更多信息,请参见下面的“备注”部分。

返回值

如果调用成功,PcNewInterruptSync 将返回STATUS_SUCCESS。 否则,它将返回相应的错误代码。

注解

Mode 参数设置为下表中的 INTERRUPTSYNCMODE 枚举值之一。

含义
InterruptSyncModeNormal 调用列表中的每个 ISR,直到其中一个返回STATUS_SUCCESS。
InterruptSyncModeAll 只调用列表中的每个 ISR 一次,而不考虑各种 ISR 的返回代码。
InterruptSyncModeRepeat 遍历整个 ISR 列表,直到发生列表行程,其中列表中没有 ISR 返回STATUS_SUCCESS。
 

有关这三种模式的详细说明,请参阅 中断同步对象

OutInterruptSyncOuterUnknownResourceList 参数遵循 COM 对象的引用计数约定

要求

要求
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 通用
标头 portcls.h (包括 Portcls.h)
Library Portcls.lib
IRQL PASSIVE_LEVEL

另请参阅

IInterruptSync

IResourceList

IResourceList::NumberOfEntriesOfType