Поделиться через


Правила для драйверов AVStream

Правила соответствия DDI для драйверов мини-портов AVStream проверяют протоколы интерфейса DDI между драйвером потоковой передачи ядра (ks.sys) и его драйверами мини-порта.

В этом разделе

Раздел Описание

KsCallbackReturn

Правило KsCallbackReturn указывает, что функция обратного вызова драйвера для потоковой передачи ядра (KS) возвращает только допустимые значения состояния.

KsDeviceMutex

Правило KsDeviceMutex указывает, что драйвер мини-порта потоковой передачи ядра использует KsAcquireDevice и KsReleaseDevice в правильной последовательности. То есть каждый вызов KsAcquireDevice должен иметь соответствующий вызов KsReleaseDevice.

KsFilterMutex

Правило KsFilterMutex указывает, что драйвер KS miniport получает и освобождает мьютекс фильтра в правильной последовательности.

KsIrqlDIs

Правило KsIrqlDIs указывает, что драйвер минипорта потоковой передачи ядра (KS) вызывает DDIs KS на правильном уровне IRQL.

KsIrqlDeviceCallbacks

Правило KsIrqlDeviceCallbacks указывает, что драйвер минипорта для потоковой передачи ядра (KS) возвращается из функции обратного вызова устройства KS с той же функцией IRQL, что и при вызове.

KsInvalidStreamPointer

Правило KsInvalidStreamPointer проверяет, предоставляет ли драйвер минипорта KS допустимый указатель потока KS в качестве аргумента функции.

KsIrqlFilterCallbacks

Правило KsIrqlFilterCallbacks указывает, что драйвер минипорта потоковой передачи ядра (KS) возвращается из функции обратного вызова фильтра KS с тем же IRQL, что и при вызове функции обратного вызова.

KsMarkPendingIrp

Правило KsMarkPendingIrp указывает, что драйвер мини-порта потока ядра (KS) должен помечать IRP как ожидающие при возврате с STATUS_PENDING из следующих функций обратного вызова:

  • AVStrMiniFilterClose
  • AVStrMiniPinClose
  • AVStrMiniPinCreate

KsIrqlPinCallbacks

Правило KsIrqlPinCallbacks указывает, что драйвер минипорта потока ядра (KS) возвращается из функции обратного вызова KS Pin с тем же IRQL, что и при вызове.

KsProcessingMutex

Правило KsProcessingMutex указывает, что драйвер KS miniport использует мьютекс обработки в правильной последовательности:

KsStreamPointerClone

Правило KsStreamPointerClone указывает, что драйвер мини-порта потока ядра (KS) правильно использует функции KsStreamPointerClone и KsStreamPointerDelete .

KsStreamPointerLock

Правило KsStreamPointerLock указывает, что драйвер минипорта для потоковой передачи ядра (KS) использует функции KsStreamPointerLock и KsStreamPointerUnlock в правильной последовательности.

KsStreamPointerUnlock

Правило KsStreamPointerUnlock указывает, что драйвер минипорта для потоковой передачи ядра (KS) разблокирует все указатели потока перед выгрузкой драйвера (или остановкой устройства).

KsTimedDeviceCallbacks

Правило KsTimedDeviceCallbacks указывает, что драйвер мини-порта потоковой передачи ядра (KS) возвращается из функции обратного вызова устройства в течение 500 мс.

KsTimedFilterCallbacks

Правило KsTimedFilterCallbacks указывает, что драйвер мини-порта потоковой передачи ядра (KS) возвращается из функции обратного вызова фильтра в течение 500 мс.

KsTimedPinCallbacks

Правило KsTimedPinCallbacks указывает, что драйвер мини-порта потоковой передачи ядра (KS) возвращается из функции обратного вызова пин-кода в течение 500 мс.

KsTimedPinSetDeviceState

Правило KsTimedPinSetDeviceState указывает, что драйвер мини-порта AVStream (KS) выполняет переходы состояния с помощью подпрограммы AVStrMiniPinSetDeviceState в течение необходимого времени.

KsTimedProcessingMutex

Правило KsTimedProcessingMutex указывает, что драйвер KS miniport не должен хранить мьютекс обработки более 100 миллисекундах.