音频驱动程序的规则

音频(PortCls)微型端口驱动程序的 DDI 符合性规则验证 PortCls.sys 与其微型端口驱动程序之间的 DDI 接口。

本部分内容

主题 DESCRIPTION

PcAddAdapterDevice

PcAddAdapterDevice 规则指定 PortCls 微型端口驱动程序正确使用 PcAddAdapterDevice 函数,特别是 DeviceExtensionSize 应为零(0)或不超过PORT_CLASS_DEVICE_EXTENSION_SIZE。

PcAllocateAndMapPages

PcAllocateAndMapPages 规则指定 PortCls 微型端口驱动程序使用正确的参数调用以下接口:

  • IPortWaveRTStream::AllocatePagesForMdl
  • IPortWaveRTStream::AllocateContiguousPagesForMdl
  • IPortWaveRTStream::MapAllocatedPages

PcAllocatedPages

PcAllocatedPages 规则指定 PortCls 微型端口驱动程序通过调用 AllocatePagesForMdl 或 AllocateContiguousPagesForMdl 方法释放以前分配的页面。

PcIrqlDDIs

PcIrqlDDIs 规则规定 PortCls 微型端口驱动程序必须在正确的 IRQL 级别调用 PortCls DDIs。

PcIrqlIport

PcIrqlIport 规则指定 PortCls 微型端口驱动程序必须在正确的 IRQL 级别调用 PortCls IPort 接口。

PcPoRequestPowerIrp

此规则验证,PortCls 微型端口驱动程序不应使用 PoRequestPowerIrp 调用 IRP_MN_SET_POWER

PcPropertyRequest

PcPropertyRequest 规则规定 PortCls 微型端口驱动程序绝不应调用 PcCompletePendingPropertyRequestNtStatus 值为 STATUS_PENDING。

PcRegisterAdapterPower

PcRegisterAdapterPower 规则指定 PortCls 微型端口驱动程序不应:

PcTimedWaveRtStreamSetState

PcTimedWaveRtStreamSetState 规则指定 ProtCls 微型端口驱动程序在所需时间内通过 IMiniportWaveRTStream::SetState 进行状态转换。

PcUnmapAllocatedPages

PcUnmapAllocatedPages 规则指定:

  • PortCls 微型端口驱动程序无法映射当前映射的 MDL,必须解除映射后才能重新映射。
  • PortCls 微型端口驱动程序在使用 IMiniportWaveRTStream 接口释放内存之前,先取消映射内存。