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.
Her işlev sürücüsü , sistemde bulunan desteklenen her cihaz için bir çerçeve cihaz nesnesi oluşturur. Bu cihaz nesneleri işlev sürücüleri tarafından oluşturulduğundan, bunlara işlevsel cihaz nesneleri (FDU) denir. Her FDO, bir cihazın işlev sürücüsünün gösterimidir.
Bir işlev sürücüsünün, çerçevenin EvtDriverDeviceAdd geri çağırma işlevini her çağırışında bir çerçeve cihaz nesnesi oluşturması gerekir. Çerçeve, sürücüye desteklenen cihazlarından birinin sistemde mevcut olduğunu bildirmek için bu geri çağırma işlevini çağırır.
Sürücünün EvtDriverDeviceAdd geri çağırma işlevi WDFDEVICE_INIT bir yapıya yönelik bir işaretçi alır. Sürücü, bilgileri WDFDEVICE_INIT yapısında depolayan bir çerçeve cihaz nesnesi başlatma yöntemleri kümesini çağırabilir. Ayrıca işlev sürücüleri çerçeve FDO başlatma yöntemlerini çağırabilir.
İşlev sürücüsünde çerçeve cihaz nesnesi oluşturma işlemi genellikle aşağıdaki adımları içerir:
PnP, güç ve güç politikası geri çağırma işlevlerini kaydetme.
İşlev sürücülerinin çoğu PnP ve güç geri çağırma işlevlerini kaydetmek için WdfDeviceInitSetPnpPowerEventCallbacks'i çağırır. Bu geri çağırma işlevleri hakkında daha fazla bilgi için bkz . İşlev Sürücülerinde PnP ve Güç Yönetimini Destekleme.
Cihaz düşük güçte boşta kalmayı destekliyorsa veya uyandırma özelliklerine sahipse, işlev sürücüsü genellikle güç ilkesi geri çağırma işlevlerini kaydetmek için WdfDeviceInitSetPowerPolicyEventCallbacks'i de çağırır. Bu geri çağırma fonksiyonları hakkında daha fazla bilgi için bkz. Power Policy Sahipliği.
İşlev sürücüsüne özgü geri çağırma işlevleri kaydediliyor.
Bazı işlev sürücüleri, bir cihazın gerektirdiği sistem donanım kaynaklarını belirtmeye katılmaları gerekiyorsa WdfFdoInitSetEventCallbacks'i çağırır. Donanım kaynakları hakkında daha fazla bilgi için bkz . Framework-Based Sürücüleri için Donanım Kaynakları.
Dosya olay geri çağrı işlevlerinin kaydedilmesi.
Bir uygulama bir cihazdaki bir dosyayı açtığında veya kapattığında sürücünüz yanıt vermesi gerekiyorsa, çerçeve dosyası nesnesi için geri çağırma işlevlerini kaydetmek için sürücü WdfDeviceInitSetFileObjectConfig'i çağırmalıdır. Daha fazla bilgi için bkz. Framework Dosya Nesnelerini Kullanma.
G/Ç isteği özelliklerini ayarlamak.
Sürücünüz çerçeve kuyruğu nesnelerinden G/Ç istekleri alacaksa, çerçevenin bir cihazın istek nesnelerine atayacağı bağlam belleğini ayarlamak için sürücü WdfDeviceInitSetRequestAttributes'ı çağırabilir. Daha fazla bilgi için bkz. İstek Nesnesi Bağlamı Kullanma.
Cihaz özelliklerini ayarlama.
İşlev sürücüsü genellikle bir cihazın özelliklerini belirtmek için aşağıdaki yöntemlerden bazılarını çağırır:
- WdfDeviceInitSetDeviceType, sürücünün desteklediği donanım türünü belirlemek için.
- WdfDeviceInitSetIoType, sürücü uygulamalardan gelen G/Ç isteklerini işlerse veri arabelleklerine erişmek için bir yöntem tanımlamak için.
- WdfDeviceInitSetCharacteristics, cihazın salt okunur olması veya çıkarılabilir medyayı desteklemesi gibi cihaz özelliklerini ayarlamak için.
- WdfDeviceInitSetExclusive, cihaz bir kerede bir uygulama tarafından özel erişim gerektiriyorsa.
- WdfDeviceInitSetPowerInrush, cihaz düşük güç durumundan çalışma (D0) durumuna geçtiğinde bir akım dalgalanması gerekiyorsa.
- WdfDeviceInitSetPowerPageable veya WdfDeviceInitSetPowerNotPageable, sistem uyku durumu ile çalışma (S0) durumu arasında geçiş yaparken sürücünün sayfalanabilir verilere erişmesi gerekip gerekmediğini belirtir.
- Cihaz nesnesine bir ad atamak için WdfDeviceInitAssignName.
- WdfDeviceInitAssignSDDLString, cihaz nesnesine bir güvenlik tanımlayıcısı atamak için.
- Cihazın kurulum sınıfını tanımlamak için WdfDeviceInitSetDeviceClass.
Cihaz özellikleri alınıyor.
Bazen işlev sürücülerinin, cihazın veri yolu sürücüsünün veya diğer alt düzey sürücünün ayarlandığı cihaz özellikleri hakkında bilgi alması gerekir. Sürücü bu bilgileri almak için WdfFdoInitQueryProperty veya WdfFdoInitAllocAndQueryProperty'yi çağırabilir. Windows 8.1 ve sonraki sürümleri hedefleyen yeni sürücüler WdfFdoInitQueryPropertyEx ve WdfFdoInitAllocAndQueryPropertyEx'i çağırabilir.
Cihazın kayıt defteri anahtarına erişme.
Bazı işlev sürücüleri, başka bir sürücünün, kullanıcının veya yükleme paketinin kayıt defterine yerleştirdiği cihaz veya sürücü hakkında bilgi edinmelidir. Sürücü, cihazın veya sürücünün kayıt defteri anahtarını açmak için WdfFdoInitOpenRegistryKey'i çağırabilir. Daha fazla bilgi için bkz. Framework-Based Sürücüleri'nde Kayıt Defterini Kullanma.
Dinamik numaralandırma için kullanılacak varsayılan bir alt liste yapılandırması oluşturma.
Bir veri yolu için işlev sürücüsü yazıyorsanız ve sürücünüz veri yolu ile bağlantılı alt cihazların dinamik numaralandırmasını gerçekleştirecekse, sürücünün WdfFdoInitSetDefaultChildListConfig çağrısı yapması gerekir. Daha fazla bilgi için bkz. Bus'ta Cihazları Numaralandırma.
Cihaz nesnesi oluşturuluyor.
Cihaz nesnesi oluşturmanın son adımı WdfDeviceCreate'ı çağırmaktır.