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.
Sistem, sürücü kullanımı için üç geri çağırma nesnesi tanımlar:
\Callback\SetSystemTime
\Callback\PowerState
\Callback\ProcessorAdd
Sistem saatini kullanan sürücüler (örneğin, dosya sistemi sürücüleri) \Callback\SetSystemTime geri çağırma nesnesine kaydolabilir. Bu geri arama, sistem saati değiştiğinde bildirim sağlar.
\Callback\PowerState geri çağırma nesnesi, aşağıdakilerden biri gerçekleştiğinde bildirim sağlar:
Sistem AC'den DC'ye veya tam tersine geçiş yapar.
Sistem güç ilkesi, bir kullanıcı veya uygulama isteğinin sonucu olarak değişir.
Sistem uyku veya kapatma durumuna geçiş çok yakın. Bir sürücü, kapatmayı tahmin eden bir şekilde kodu belleğe kilitleyebilmesi için bildirim isteyebilir. Geri çağırma yordamları, güç yöneticisi sistemi güç ayarlama IRP'sini göndermeden önce bildirilir.
\Callback\ProcessorAdd geri çağrısı, sisteme yeni bir işlemci eklendiğinde bildirim sağlar.
Sistem tanımlı bir geri çağırma kullanmak için, sürücü geri çağırmanın adını kullanarak bir öznitelik blokunu InitializeObjectAttributes ile başlatır, ardından callback nesnesini açar (ExCreateCallback), tıpkı sürücü tanımlı bir geri çağırma için olduğu gibi. Sürücü geri çağırma nesnesinin oluşturulmasını istememelidir.
ExCreateCallback tarafından döndürülen tanıtıcıyla, sürücü bir bildirim rutinini kaydetmek için ExRegisterCallback'i çağırır ve belirli bir bağlama işaretçi ile rutinine işaretçi geçirir. Bir sürücü, geri çağırma rutinini istediği zaman kaydedebilir. Belirtilen koşul oluştuğunda, sistem IRQL<=DISPATCH_LEVEL'da kayıtlı geri çağırma yordamını çağırır.
Sürücü artık bildirim gerektirmediğinde, kayıtlı geri çağırmalar listesinden geri çağırma yordamını silmek ve geri çağırma nesnesine başvurusunu kaldırmak için ExUnregisterCallback çağrısı yapmalıdır.