Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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.
Sürücü, geri çağırma işlevlerinin çerçeve tarafından nasıl çağrılacağını belirtebilir. Sürücü, cihaz için bir cihaz nesnesi oluşturmak üzere IWDFDriver::CreateDevice yöntemini çağırmadan önce cihaz için eşitleme (veya kilitleme) modunu belirtir. Eşitleme modunu belirtmek için, sürücü IWDFDeviceInitialize::SetLockingConstraint yöntemini çağırmalıdır. Sürücü, cihazı sisteme eklemek için IDriverEntry::OnDeviceAdd yöntemi çağrıldığında IWDFDeviceInitialize arabirimine yönelik bir işaretçi alır.
Sürücü, kilitleme modunu tanımlamak için IWDFDeviceInitialize::SetLockingConstraintlockType parametresindeki WDF_CALLBACK_CONSTRAINT numaralandırma türünden aşağıdaki değerlerden birini belirtebilir. Belirtilen kısıtlama (veya kilitleme) türü, donanım cihazının ne kadar paralellikten yararlanabileceğine ve sürücünün ne kadarını işleyebileceğine bağlıdır.
| Değer | Anlamı |
|---|---|
Hiçbiri (0) |
Sürücüyle ilgili hiçbir geri çağırma işlevinin eşitlenmediğini gösterir. |
WdfDeviceLevel (1) |
Sürücüdeki tüm kuyruk geri çağırma işlevlerinin eşitlendiğini gösterir. |
Not Sürücü bir değer belirtmek için IWDFDeviceInitialize::SetLockingConstraint çağrısı yapmazsa, çerçeve bu özelliğin varsayılan değerini WdfDeviceLevel olarak ayarlar.
Kısıtlamalar yalnızca kuyruk geri çağırma işlevleri için geçerlidir; Tak Çalıştır (PnP) ve güç yönetimi geri çağırma işlevleri için geçerli değildir. Kuyruk geri çağırma işlevleri şunları içerir:
IQueueCallbackRead::OnRead ve IQueueCallbackWrite::OnWrite gibi otomatik gönderme geri çağırma işlevleri. Daha fazla bilgi için bkz. G/Ç Kuyruğu Olay Geri Çağırma İşlevleri.
Kuyruk durumu, IQueueCallbackStateChange::OnStateChange gibi geri çağırma işlevlerini değiştirir.
İptal geri çağırma işlevlerini talep edin, örneğin IRequestCallbackCancel::OnCancel gibi.
IFileCallbackCleanup::OnCleanupFile ve IFileCallbackClose::OnCloseFile gibi dosya temizleme ve geri çağırma işlevlerini kapatın.
İstek tamamlama geri çağırma işlevleri (IRequestCallbackRequestCompletion::OnCompletion) kuyruk geri çağırma işlevleri değildir. Bu nedenle, senkronize değiller.