Aracılığıyla paylaş


Geri Çağırma Eşitleme Modu Belirtme

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:

İstek tamamlama geri çağırma işlevleri (IRequestCallbackRequestCompletion::OnCompletion) kuyruk geri çağırma işlevleri değildir. Bu nedenle, senkronize değiller.