Partager via


Règles pour les pilotes audio

Les règles de conformité DDI pour les pilotes de miniport audio (PortCls) vérifient l’interface DDI entre PortCls.sys et ses pilotes miniport.

Contenu de cette section

Rubrique Description

PcAddAdapterDevice

La règle PcAddAdapterDevice spécifie qu’un pilote miniport PortCls utilise correctement la fonction PcAddAdapterDevice , en particulier que DeviceExtensionSize doit être égal à zéro (0) ou à PORT_CLASS_DEVICE_EXTENSION_SIZE.

PcAllocateAndMapPages

La règle PcAllocateAndMapPages spécifie qu’un pilote miniport PortCls appelle les interfaces suivantes, à l’aide des paramètres appropriés :

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

PcAllocatedPages

La règle PcAllocatedPages spécifie qu’un pilote de miniport PortCls libère les pages allouées précédentes en appelant les méthodes AllocatePagesForMdl ou AllocateContiguousPagesForMdl.

PcIrqlDDIs

La règle PcIrqlDDIs spécifie qu’un pilote de miniport PortCls doit appeler les DDIs PortCls au niveau IRQL correct.

PcIrqlIport

La règle PcIrqlIport spécifie qu’un pilote de miniport PortCls doit appeler les interfaces IPort PortCls au niveau IRQL approprié.

PcPoRequestPowerIrp

Cette règle vérifie qu’un pilote miniport PortCls ne doit pas appeler PoRequestPowerIrp avec IRP_MN_SET_POWER.

PcPropertyRequest

La règle PcPropertyRequest spécifie qu’un pilote miniport PortCls ne doit jamais appeler le PcCompletePendingPropertyRequest avec une valeur NtStatus de STATUS_PENDING.

PcRegisterAdapterPower

La règle PcRegisterAdapterPower spécifie qu’un pilote de miniport PortCls ne doit pas :

PcTimedWaveRtStreamSetState

La règle PcTimedWaveRtStreamSetState spécifie qu’un pilote miniport ProtCls effectue des transitions d’état via IMiniportWaveRTStream::SetState dans le délai requis.

PcUnmapAllocatedPages

La règle PcUnmapAllocatedPages spécifie que :

  • Un pilote de miniport PortCls ne mappe pas une MDL actuellement mappée sans la désinscrire au préalable.
  • Un pilote miniport PortCls annule le mappage de la mémoire avant de la libérer à l’aide de l’interface IMiniportWaveRTStream .