Aracılığıyla paylaş


AVStream Sürücüleri için Kurallar

AVStream miniport sürücüleri için DDI uyumluluk kuralları, çekirdek akış sürücüsü (ks.sys) ile onun miniport sürücüleri arasındaki DDI arabirim protokollerini doğrular.

Bu bölümde

Konu Açıklama

KsCallbackReturn

KsCallbackReturn kuralı, çekirdek akışı (KS) miniport sürücüsü geri çağırma işlevinin yalnızca izin verilen durum değerlerini döndürdüğünü belirtir.

KsDeviceMutex

KsDeviceMutex kuralı, bir çekirdek akış miniport sürücüsünün doğru sırada KsAcquireDevice ve KsReleaseDevice kullandığını belirtir. Başka bir ifadeyle, KsAcquireDevice'e yapılan her çağrının KsReleaseDevice'e karşılık gelen bir çağrısı olmalıdır.

KsFilterMutex

KsFilterMutex kuralı, bir KS miniport sürücüsünün filtre mutex'ini doğru sırada aldığını ve serbest bırakdığını belirtir.

KsIrqlDDIs

KsIrqlDDIs kuralı, bir çekirdek akışı (KS) miniport sürücüsünün doğru IRQL düzeyinde KS DDI'leri çağırdığını belirtir.

KsIrqlDeviceCallbacks

KsIrqlDeviceCallbacks kuralı, bir çekirdek akışı (KS) miniport sürücüsünün, çağrıldığı andaki IRQL ile aynı IRQL'le bir KS cihaz geri çağırma fonksiyonundan döndüğünü tanımlar.

KsInvalidStreamPointer

KsInvalidStreamPointer kuralı, KS miniport sürücüsünün fonksiyon argümanı olarak geçerli bir KS Akış İşaretçisi sağladığını kontrol eder.

KsIrqlFilterCallbacks

KsIrqlFilterCallbacks kuralı, bir çekirdek akışı (KS) miniport sürücüsünün, geri çağırma işlevi çağrıldığında sahip olduğu IRQL ile aynı IRQL'de olan bir KS filtre geri çağırma işlevinden döndüğünü belirtir.

KsMarkPendingIrp

KsMarkPendingIrp kuralı, bir çekirdek akış (KS) miniport sürücüsünün aşağıdaki geri çağırma işlevlerinden STATUS_PENDING döndürürken IRP'leri beklemede olarak işaretlemesi gerektiğini belirtir:

  • AVStrMiniFilterClose
  • AVStrMiniPinClose
  • AVStrMiniPinCreate

KsIrqlPinCallbacks

KsIrqlPinCallbacks kuralı, bir çekirdek akışı (KS) miniport sürücüsünün, çağrıldığında sahip olduğu IRQL ile aynı IRQL'e sahip olarak bir KS Pin callback fonksiyonundan döndürülmesi gerektiğini belirtir.

KsProcessingMutex

KsProcessingMutex kuralı, KS miniport sürücüsünün işlem mutex'ini doğru sırada kullandığını belirtir:

KsStreamPointerClone

KsStreamPointerClone kuralı, bir çekirdek akışı (KS) miniport sürücüsünün KsStreamPointerClone ve KsStreamPointerDelete işlevlerini doğru kullandığını belirtir.

KsStreamPointerLock

KsStreamPointerLock kuralı, bir çekirdek akışı (KS) miniport sürücüsünün doğru sırada KsStreamPointerLock ve KsStreamPointerUnlock işlevlerini kullandığını belirtir.

KsStreamPointerUnlock

KsStreamPointerUnlock kuralı, bir çekirdek akışı (KS) miniport sürücüsünün, sürücü yüklenmeden (veya cihaz durdurulmadan) önce tüm akış işaretçilerinin kilidini açdığını belirtir.

KsTimedDeviceCallbacks

KsTimedDeviceCallbacks kuralı, çekirdek akışı (KS) miniport sürücüsünün bir cihaz geri çağırma işlevinden 500 ms içinde dönmesini belirtir.

KsTimedFilterCallbacks

KsTimedFilterCallbacks kuralı, çekirdek akışı (KS) miniport sürücüsünün bir filtre geri çağırma işlevinden 500 ms içinde dönmesini belirtir.

KsTimedPinCallbacks

KsTimedPinCallbacks kuralı, bir çekirdek-akış (KS) miniport sürücüsünün, zamanlanmış bir pin geri çağırma işlevinden 500 ms içinde çıkmasını belirtir.

KsTimedPinSetDeviceState

KsTimedPinSetDeviceState kuralı, bir AVStream (KS) miniport sürücüsünün gerekli süre içinde AVStrMiniPinSetDeviceState yordamını kullanarak durum geçişleri yaptığını belirtir.

KsTimedProcessingMutex

KsTimedProcessingMutex kuralı, KS miniport sürücüsünün 100 milisaniyeden fazla işlem muteksi tutmaması gerektiğini belirtir.