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,直到其中一个 ISR 返回STATUS_SUCCESS。 |
InterruptSyncModeAll | 无论各种 ISR 的返回代码如何,都完全调用列表中的每个 ISR 一次。 |
InterruptSyncModeRepeat | 遍历整个 ISR 列表,直到列表的行程发生时,列表中没有 ISR 返回STATUS_SUCCESS。 |
有关这三种模式的详细说明,请参阅 中断同步对象。
OutInterruptSync、OuterUnknown,ResourceList 参数遵循 COM 对象的 引用计数约定。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 普遍 |
标头 | portcls.h (包括 Portcls.h) |
库 | Portcls.lib |
IRQL | PASSIVE_LEVEL |