Compartir a través de


Reglas para controladores de audio

Las reglas de cumplimiento de DDI para los controladores de miniporte de audio (PortCls) comprueban la interfaz DDI entre PortCls.sys y sus controladores de miniport.

En esta sección

Tema Descripción

PcAddAdapterDevice

La regla PcAddAdapterDevice especifica que un controlador de miniporte PortCls usa correctamente la función PcAddAdapterDevice , específicamente que DeviceExtensionSize debe ser cero (0) o no menor que PORT_CLASS_DEVICE_EXTENSION_SIZE.

PcAllocateAndMapPages

La regla PcAllocateAndMapPages especifica que un controlador de miniport portCls llama a las interfaces siguientes mediante los parámetros correctos:

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

PcAllocatedPages

La regla PcAllocatedPages especifica que un controlador de miniporte PortCls libera páginas asignadas anteriores llamando a los métodos AllocatePagesForMdl o AllocateContiguousPagesForMdl.

PcIrqlDDIs

La regla PcIrqlDDIs especifica que un controlador de miniport portCls debe llamar a los DDIs de PortCls en el nivel IRQL correcto.

PcIrqlIport

La regla PcIrqlIport especifica que un controlador de miniport PortCls debe llamar a las interfaces IPort de PortCls en el nivel IRQL correcto.

PcPoRequestPowerIrp

Esta regla comprueba que un controlador de miniport de PortCls no debe llamar a PoRequestPowerIrp con IRP_MN_SET_POWER.

PcPropertyRequest

La regla PcPropertyRequest especifica que un controlador de miniport PortCls nunca debe llamar al PcCompletePendingPropertyRequest con un valor NtStatus de STATUS_PENDING.

PcRegisterAdapterPower

La regla PcRegisterAdapterPower especifica que un controlador de miniporte PortCls no debe:

PcTimedWaveRtStreamSetState

La regla PcTimedWaveRtStreamSetState especifica que un controlador de miniporte de ProtCls realiza transiciones de estado a través de IMiniportWaveRTStream::SetState dentro del tiempo necesario.

PcUnmapAllocatedPages

La regla PcUnmapAllocatedPages especifica que:

  • Un controlador miniport de PortCls no mapea un MDL que esté mapeada actualmente sin primero desmapearla.
  • Un controlador de miniporte PortCls desasigna la memoria antes de liberarla mediante la interfaz IMiniportWaveRTStream.