Freigeben über


Regeln für Audiotreiber

Die DDI-Konformitätsregeln für Audio-Miniporttreiber (PortCls) validieren die DDI-Schnittstelle zwischen PortCls.sys und seinen Miniporttreibern.

In diesem Abschnitt

Thema BESCHREIBUNG

PcAddAdapterDevice

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

PcAllocateAndMapPages

Die PcAllocateAndMapPages-Regel gibt an, dass ein PortCls-Miniporttreiber die folgenden Schnittstellen aufruft, wobei die richtigen Parameter verwendet werden:

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

PcAllocatedPages

Die PcAllocatedPages-Regel gibt an, dass ein PortCls-Miniporttreiber vorherige zugeordnete Seiten freigibt, indem "AllocatePagesForMdl" oder "AllocateContiguousPagesForMdl"-Methoden aufgerufen werden.

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 mit IRP_MN_SET_POWER nicht aufrufen soll.

PcPropertyRequest

Die PcPropertyRequest-Regel gibt an, dass ein PortCls-Miniporttreiber niemals den PcCompletePendingPropertyRequest mit einem NtStatus-Wert von 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 macht.

PcUnmapAllocatedPages

Die PcUnmapAllocatedPages-Regel gibt Folgendes an:

  • Ein PortCls-Miniporttreiber ordnet ein MDL, das derzeit zugeordnet ist, nicht zu, ohne es zuerst aufzuheben.
  • Ein PortCls-Miniporttreiber hebt die Zuordnung des Speichers auf, bevor er diesen mithilfe der IMiniportWaveRTStream-Schnittstelle freigibt.