Aracılığıyla paylaş


Donanım kaynakları

Donanım kaynakları, çevre birimi cihazlarının ve sistem işlemcilerinin birbirleriyle iletişim kurmasına olanak sağlayan atanabilir, adreslenebilir veri yoludur. Donanım kaynakları genellikle G/Ç bağlantı noktası adreslerini, kesme vektörlerini ve veri yolu ile ilgili bellek adres bloklarını içerir.

Sistemin bir cihaz örneğiyle iletişim kurabilmesi için PnP yöneticisinin, hangi kaynakların kullanılabilir olduğu ve cihaz örneğinin hangilerini kullanabileceğine ilişkin bilgilere göre cihaz örneğine donanım kaynakları ataması gerekir. Kaynaklar, cihaz ağacındaki her cihaz düğümüne atanır (temsil edilen cihazın kaynaklara ihtiyacı olduğu ve bu kaynakların kullanılabilir olduğu varsayılır). PnP yöneticisi, cihaz düğümleriyle ilişkilendirdiği listeleri kullanarak donanım kaynaklarını izler. İki tür liste kullanır:

Kaynak Gereksinimleri Listesi
Cihazlar genellikle kaynak atama aralıkları içinde çalışacak şekilde tasarlanmıştır. Örneğin, bir cihaz yalnızca bir kesme vektöru gerektirebilir, ancak bir dizi vektörden herhangi birini kullanabilir. Her cihaz örneği için PnP yöneticisi, cihazın çalışabileceği tüm donanım kaynakları aralıklarını belirten bir kaynak gereksinimleri listesi tutar. Listenin adı, PnP yöneticisinin bunları cihaza atarken bu listeden kaynak seçmek için gerekli olmasından kaynaklanır.

Çekirdek modu kodu , IO_RESOURCE_REQUIREMENTS_LIST yapıları kullanan kaynak gereksinimleri listelerini belirtir (sistem yordamlarına giriş olarak veya IRP'lere yanıt olarak). Kullanıcı modu kodu , PnP yapılandırma yöneticisi işlevlerine giriş olarak PnP yapılandırma yöneticisi yapılarını kullanan kaynak gereksinimleri listelerini belirtir.

Kaynak Listesi
PnP yöneticisi bir cihaza kaynak atadığında, her cihaz örneği için atanan kaynakların listesini oluşturarak bu atamaları izler. Bu listeler kaynak atama listeleri olarak adlandırılabilir, ancak bu ad genellikle kaynak listelerine kısalır. Cihazlar bir sisteme eklendikçe veya sistemden kaldırıldığında ve kaynaklar daha sonra yeniden tahsis edildiğinde, PnP yöneticisi kaynak listesi içeriğini değiştirebilir. (Kaynaklar bir PnP BIOS tarafından da atanabilir. Ayrıca, INF dosyalarını veya kullanıcı girişini kullanarak yükleme yazılımı, PnP yöneticisini belirli kaynakları bir cihaza atamaya zorlayabilir.)

Çekirdek modu kodu , CM_RESOURCE_LIST yapıları kullanarak kaynak listelerini belirtir (sistem yordamlarına giriş olarak veya IRP'lere yanıt olarak). Kullanıcı modu kodu , PnP yapılandırma yöneticisi işlevlerine giriş olarak PnP yapılandırma yöneticisi yapılarını kullanan kaynak listelerini belirtir.

PnP yöneticisi, kaynak gereksinimleri listelerini ve kaynak listelerini kayıt defterinde depolar ve burada Regedit.exekullanılarak görüntülenebilir. Sürücüler bu listelere Tak Çalıştır yordamları ve Tak Çalıştır Minör IRP'leri aracılığıyla dolaylı olarak erişebilir. Kullanıcı modu uygulamaları PnP yapılandırma yöneticisi işlevlerini kullanabilir. (Depolama biçimi gelecekteki bir sürümde değişebileceğinden sürücüler ve uygulamalar kayıt defteri işlevlerini kullanarak bu listelere doğrudan erişmemelidir.)

Mantıksal yapılandırmalar

Hem kaynak gereksinimleri listeleri hem de kaynak listeleri bir veya daha fazla mantıksal yapılandırma içerir. Her mantıksal yapılandırma, kabul edilebilir bir kaynak aralığını veya belirli bir cihaz örneği için belirli bir kaynak kümesini tanımlar. Ayrıca, bir cihaz örneği için her mantıksal yapılandırma mantıksal yapılandırma türlerinden birine aittir. Yapılandırma türleri aşağıda listelenmiştir. Her cihaz örneğine aynı veya farklı türlerde çeşitli mantıksal yapılandırmalar atanabilir.

Kaynak gereksinimleri listeleri için mantıksal yapılandırma türleri

Temel Yapılandırma
Tak Çalıştır cihazı tarafından sağlanan kaynak aralıklarını tanımlayan kaynak gereksinimleri listesi. Bir sürücü IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP'sini aldığında bu listeyi döndürmelidir. (PnP olmayan bir cihazın temel yapılandırması bir INF dosyasında açıklanabilir. Bu durumda, cihaz yükleme yazılımı INF dosyasını okur ve bir gereksinim listesi oluşturmak için PnP yapılandırma yöneticisi işlevlerini çağırır.)

Filtrelenmiş Yapılandırma
IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP'ye yanıt olarak bir sürücü yığınına verilmiş, muhtemelen değiştirilmiş, sonrasında sürücü yığını tarafından geri döndürülen bir kaynak gereksinimleri listesi. PnP yöneticisi, kaynakları ayırmak için temel olarak sonuçta elde edilen filtrelenmiş yapılandırmayı kullanır.

Yapılandırmayı Geçersiz Kıl
Temel yapılandırmaları geçersiz kılan bir kaynak gereksinimleri listesi. Genellikle, cihazın INF dosyası bir INF DDInstall.LogConfigOverride bölümü içeriyorsa, cihaz yükleyicisi bir geçersiz kılma yapılandırması oluşturur. Cihaz sistemden fiziksel olarak kaldırılsa bile geçersiz kılma yapılandırması kaldırılmaz.

Kaynak listeleri için mantıksal yapılandırma türleri

Önyükleme Yapılandırması
Sistem önyüklendiğinde bir cihaz örneğine atanan kaynakları tanımlayan kaynak listesi. (PnP cihazları için bu, BIOS tarafından sağlanan yapılandırmadır; PnP olmayan cihazlar için bu kaynaklar kart üzerindeki atlamacılar tarafından seçilebilir.) Bir sürücü , IRP_MN_QUERY_RESOURCES IRP'sini aldığında bu kaynak listesini döndürmelidir. (BIOS bir cihaz tarafından kullanılan tüm kaynakları belirleyemiyorsa önyükleme yapılandırması kısmen boş olabilir.) Bir cihaz kaldırılır veya yeniden başlatılırsa PnP yöneticisi bu listeyi değiştirebilir. PnP olmayan cihazlarda, bu yapılandırma türü zorlamalı yapılandırma yerine kullanılabilir ve bu durumda eşdeğer zorlamalı yapılandırmadan daha düşük yapılandırma önceliğine sahiptir. Her cihaz örneği için yalnızca bir önyükleme yapılandırması bulunabilir.

Zorlamalı Yapılandırma
Bir cihaz örneğinin kullanması gereken kaynakları tanımlayan kaynak listesi. Zorlamalı yapılandırma, PnP yöneticisinin cihaz örneğine başka kaynaklar atamasını engeller. Cihaz yükleyicisi, INF'de yer alan veya bir kullanıcıdan alınan bilgilere göre zorunlu bir yapılandırma oluşturabilir. Cihaz kendi sisteminden fiziksel olarak kaldırılsa bile zorunlu yapılandırma kaldırılmaz. Her cihaz örneği için yalnızca bir zorlamalı yapılandırma bulunabilir.

Ayrılmış Yapılandırma
Bir cihaz örneği tarafından kullanılmakta olan kaynakları tanımlayan kaynak listesi. Her cihaz örneği için yalnızca bir ayrılmış yapılandırma bulunabilir.

Cihaz sürücüleri PnP uyumlu bir cihazın temel yapılandırmasını, filtrelenmiş yapılandırmasını ve önyükleme yapılandırmasını belirlemek ve bu bilgileri PnP yöneticisi tarafından gönderilen IRP'lere yanıt olarak döndürmekten sorumludur. (Daha fazla bilgi için bkz. Çalışan Sisteme PnP Cihazı Ekleme.) Sürücü yükleme yazılımı geçersiz kılma yapılandırmaları, zorlamalı yapılandırmalar ve PnP olmayan cihazlar için önyükleme yapılandırmaları oluşturabilir. PnP yöneticisi, her cihaz örneğinin ayrılmış yapılandırmasını korur.

Oluşturulduğunda her yapılandırmaya bir öncelik atanır. PnP yöneticisi, bir cihaz örneğine aynı türde birkaç mantıksal yapılandırma atandığını bulursa, önce en yüksek önceliğe sahip olanı kullanmayı dener. Bu yapılandırma kaynak çakışmalarıyla sonuçlanırsa, yapılandırmayı bir sonraki düşük önceliğe sahip olarak dener. (Yapılandırma önceliklerinin listesi için bkz. CM_Add_Empty_Log_Conf.)