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。 |
有关这三种模式的详细说明,请参阅 中断同步对象。
OutInterruptSync、OuterUnknown 和 ResourceList 参数遵循 COM 对象的引用计数约定。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 通用 |
标头 | portcls.h (包括 Portcls.h) |
Library | Portcls.lib |
IRQL | PASSIVE_LEVEL |