Kesme Nesnesi Oluşturma (UMDF 1)

Uyarı

UMDF 2, UMDF'nin en son sürümüdür ve UMDF 1'in yerini alır. Tüm yeni UMDF sürücüleri UMDF 2 kullanılarak yazılmalıdır. UMDF 1'e yeni özellik eklenmiyor ve Windows 10'un daha yeni sürümlerinde UMDF 1 desteği sınırlı. Evrensel Windows sürücüleri UMDF 2 kullanmalıdır.

Arşivlenen UMDF 1 örnekleri, Windows 11, sürüm 22H2 - Mayıs 2022 Sürücü Örnekleri Güncelleştirme'de bulunabilir.

Daha fazla bilgi için bkz. UMDF ile Çalışmaya Başlama.

Bir cihazın donanım kesmelerini işleyen bir UMDF sürücüsünün, her cihazın destekleyebilecekleri her kesme için bir çerçeve kesme nesnesi oluşturması gerekir.

Genellikle, bir sürücü IDriverEntry::OnDeviceAdd içinde framework kesinti nesneleri oluşturur. Ancak, IPnpCallbackHardware2::OnPrepareHardware içinde kesme nesneleri de oluşturabilirsiniz.

Çerçeve kesme nesnesi oluşturmak için sürücünüzün bir WUDF_INTERRUPT_CONFIG yapısı başlatması ve bunu IWDFDevice3::CreateInterrupt yöntemine geçirmesi gerekir. Bu yöntem, sürücü tarafından sağlanan aşağıdaki olay geri çağırma işlevlerini kaydeder:

OnInterruptEnable
Donanım kesintisini etkinleştirir.

OnInterruptDisable
Donanım kesintisini devre dışı bırakır.

OnInterruptIsr
Kesme için kesme hizmeti yordamı (ISR).

OnInterruptWorkItem
Kesme için işlem rutini.

İsteğe bağlı olarak, sürücü ek kesme parametreleri belirtmek için IWDFInterrupt::SetPolicy veya IWDFInterrupt::SetExtendedPolicy çağrısı yapabilir.

Çerçeve, Tak ve Çalıştır (PnP) yöneticisi kesme vektörleri gibi sistem kaynaklarını cihaza atamadan önce sürücünün IDriverEntry::OnDeviceAdd geri çağırma işlevini çağırır. PnP yöneticisi kaynakları atadıktan sonra, çerçeve kesme kaynaklarını cihazın kesme nesnesinde depolar. (Tak ve Çalıştır'ı desteklemeyen sürücüler kesme nesnelerini kullanamaz.)

İleti sinyalli kesmeler (MSI) Windows Vista'da ve işletim sisteminin sonraki sürümlerinde desteklenir. İşletim sisteminin cihazınız için MSI'leri desteklemesini sağlamak için sürücünüzün INF dosyasının kayıt defterinde bazı değerler ayarlaması gerekir. Bu değerleri ayarlama hakkında bilgi için bkz. Kayıt Defteri'nde Mesaj İşaretli Kesme Etkinleştirilmesi.

Bir cihaz belirli sayıda MSI iletisini destekleyebilirse, PnP yöneticisi bu sayıda iletiyi cihaza atamayı dener. PnP yöneticisi, cihazın destekleyebileceği tüm iletileri atayamıyorsa cihaza yalnızca bir ileti atar.

Sürücünüz, cihazın destekleyebileceği her kesme vektörü veya MSI iletisi için bir çerçeve kesme nesnesi oluşturmalıdır. PnP yöneticisi cihaza cihazın destekleyebilecekleri tüm kesme kaynaklarını vermezse, ek kesme nesneleri kullanılmaz ve geri çağırma işlevleri çağrılmaz.