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


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

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

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

Тема Описание

KsCallbackReturn

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

KsDeviceMutex

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

KsFilterMutex

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

KsIrqlDDIs

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

KsIrqlDeviceCallbacks

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

KsInvalidStreamPointer

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

KsIrqlFilterCallbacks

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

KsMarkPendingIrp

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

  • AVStrMiniFilterClose
  • AVStrMiniPinClose
  • AVStrMiniPinCreate

KsIrqlPinCallbacks

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

KsProcessingMutex

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

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 AVStream в течение требуемого времени.

KsTimedProcessingMutex

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