Regeln für Audiotreiber

Die DDI-Konformitätsregeln für Audio-Miniporttreiber (PortCls) überprüfen die DDI-Schnittstelle zwischen PortCls.sys und den zugehörigen Miniporttreibern.

In diesem Abschnitt

Thema BESCHREIBUNG

PcAddAdapterDevice

Die PcAddAdapterDevice-Regel gibt an, dass ein PortCls-Miniporttreiber die Funktion PcAddAdapterDevice ordnungsgemäß verwendet, insbesondere, dass die DeviceExtensionSize entweder null (0) oder nicht kleiner als PORT_CLASS_DEVICE_EXTENSION_SIZE sein sollte.

PcAllocateAndMapPages

Die PcAllocateAndMapPages-Regel gibt an, dass ein PortCls-Miniporttreiber die folgenden Schnittstellen mit den richtigen Parametern aufruft:

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

PcAllocatedPages

Die PcAllocatedPages-Regel gibt an, dass ein PortCls-Miniporttreiber vorherige zugeordnete Seiten durch Aufrufen der Methoden AllocatePagesForMdl oder AllocateContiguousPagesForMdl freigibt.

PcIrqlDDIs

Die PcIrqlDDIs-Regel gibt an, dass ein PortCls-Miniporttreiber PortCls-DDIs auf der richtigen IRQL-Ebene aufrufen muss.

PcIrqlIport

Die PcIrqlIport-Regel gibt an, dass ein PortCls-Miniporttreiber PortCls-IPort-Schnittstellen auf der richtigen IRQL-Ebene aufrufen muss.

PcPoRequestPowerIrp

Diese Regel überprüft, ob ein PortCls-Miniporttreiber PoRequestPowerIrp nicht mit IRP_MN_SET_POWER aufrufen soll.

PcPropertyRequest

Die PcPropertyRequest-Regel gibt an, dass ein PortCls-Miniporttreiber niemals den PcCompletePendingPropertyRequest mit dem NtStatus-Wert STATUS_PENDING aufrufen soll.

PcRegisterAdapterPower

Die PcRegisterAdapterPower-Regel gibt an, dass ein PortCls-Miniporttreiber nicht:

PcTimedWaveRtStreamSetState

Die PcTimedWaveRtStreamSetState-Regel gibt an, dass ein ProtCls-Miniporttreiber Zustandsübergänge über IMiniportWaveRTStream::SetState innerhalb der erforderlichen Zeit vornimmt.

PcUnmapAllocatedPages

Die PcUnmapAllocatedPages-Regel gibt Folgendes an:

  • Ein PortCls-Miniporttreiber zuordnen keine MDL, die derzeit zugeordnet ist, ohne sie zuvor zu entpacken.
  • Ein PortCls-Miniporttreiber hebt die Zuordnung des Arbeitsspeichers auf, bevor er über die IMiniportWaveRTStream-Schnittstelle freigegeben wird.