Partager via


Règles pour les pilotes audio

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

Dans cette section

Sujet Descriptif

PcAddAdapterDevice

La règle PcAddAdapterDevice spécifie qu’un pilote de miniport PortCls utilise correctement la fonction PcAddAdapterDevice , en particulier que DeviceExtensionSize doit être égal à zéro (0) ou pas inférieur à 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 miniport PortCls libère les pages précédemment allouées en appelant les méthodes AllocatePagesForMdl ou AllocateContiguousPagesForMdl.

PcIrqlDDIs

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

PcIrqlIport

La règle PcIrqlIport spécifie qu’un pilote miniport PortCls doit appeler des interfaces IPort de 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 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 ce qui suit :

  • Un pilote miniport PortCls ne mappe pas un MDL qui est actuellement mappé sans le démapper au préalable.
  • Un pilote miniport PortCls démappe la mémoire avant de la libérer à l’aide de l’interface IMiniportWaveRTStream.