共用方式為


音訊驅動程序的規則

音訊 (PortCls) 迷你埠驅動程式的 DDI 合規性規則會驗證 PortCls.sys 與其迷你埠驅動程式之間的 DDI 介面。

本節中

主題 說明

PcAddAdapterDevice

PcAddAdapterDevice 規則會指定 PortCls 迷你埠驅動程式正確使用 PcAddAdapterDevice 函式,特別是 DeviceExtensionSize 應該是零 (0) 或不小於 PORT_CLASS_DEVICE_EXTENSION_SIZE。

PcAllocate和MapPages

PcAllocateAndMapPages 規則會指定 PortCls 迷你埠驅動程式會使用正確的參數呼叫下列介面:

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

PcAllocatedPages

PcAllocatedPages 規則會指定 PortCls 迷你埠驅動程式藉由呼叫 AllocatePagesForMdl 或 AllocateContiguousPagesForMdl 方法來釋放先前配置的頁面。

PcIrqlDDIs

PcIrqlDDIs 規則指定 PortCls 迷你埠驅動程式必須在正確的 IRQL 層級呼叫 PortCls DDI。

PcIrqlIport

PcIrqlIport 規則會指定 PortCls 迷你埠驅動程式必須在正確的 IRQL 層級呼叫 PortCls IPort 介面。

PcPoRequestPowerIrp

此規則會確認 PortCls 迷你埠驅動程式不應呼叫 PoRequestPowerIrp 並使用 IRP_MN_SET_POWER

Pc屬性請求

PcPropertyRequest 規則指定 PortCls 迷你埠驅動程式絕不應該呼叫 NtStatus 值為 STATUS_PENDING 的 PcCompletePendingPropertyRequest

PcRegisterAdapterPower

PcRegisterAdapterPower 規則指定 PortCls 迷你埠驅動程式不應該:

PcTimedWaveRtStreamSetState

PcTimedWaveRtStreamSetState 規則會指定 ProtCls 迷你埠驅動程式在必要的時間內透過 IMiniportWaveRTStream::SetState 進行狀態轉換。

釋放已配置的頁面

PcUnmapAllocatedPages 規則會指定:

  • PortCls 迷你埠驅動程式在未先取消目前的對應之前,不會對應已經對應的 MDL。
  • PortCls 迷你埠驅動程式會先取消對應記憶體,再使用 IMiniportWaveRTStream 介面釋放該記憶體。