Sdílet prostřednictvím


Hardwarové prostředky

Hardwarové prostředky jsou přiřaditelné adresovatelné cesty sběrnice, které umožňují vzájemné komunikaci periferních zařízení a systémových procesorů. Hardwarové prostředky obvykle zahrnují adresy portů vstupně-výstupních operací, vektory přerušení a bloky adres paměti relativních pro sběrnici.

Aby systém mohl komunikovat s instancí zařízení, musí správce PnP přiřadit hardwarové prostředky instanci zařízení na základě znalostí, které prostředky jsou k dispozici a které instance zařízení může používat. Prostředky se přiřazují ke každému uzlu zařízení ve stromu zařízení (za předpokladu, že reprezentované zařízení potřebuje prostředky a tyto prostředky jsou k dispozici). Správce PnP sleduje hardwarové prostředky pomocí seznamů, které přidruží k uzlům zařízení. Používá dva typy seznamů:

Seznam požadavků na prostředky
Zařízení jsou obvykle navržená tak, aby fungovala v rámci rozsahů přiřazení zdrojů. Například zařízení může vyžadovat pouze jeden vektor přerušení, ale může být schopen použít libovolný z rozsahu vektorů. Pro každou instanci zařízení správce PnP udržuje seznam požadavků na prostředky , který určuje všechny rozsahy hardwarových prostředků, ve kterých může zařízení fungovat. Název seznamu vychází ze skutečnosti, že správce PnP musí při přiřazování k zařízení vybrat prostředky z tohoto seznamu.

Kód v režimu jádra určuje seznamy požadavků na prostředky pomocí IO_RESOURCE_REQUIREMENTS_LIST struktur (jako vstup do rutin systému nebo v reakci na protokoly IRPs). Kód v uživatelském režimu určuje seznamy požadavků na prostředky pomocí struktur správce konfigurace PnP jako vstupu do funkcí správce konfigurace PnP.

Seznam zdrojů
Když správce PnP přiřadí k zařízení prostředky, sleduje tato přiřazení vytvořením seznamu přiřazených prostředků pro každou instanci zařízení. Tyto seznamy můžou být označovány jako seznamy přiřazení zdrojů, ale tento název je obvykle zkrácený na seznamy zdrojů. Správce PnP může měnit obsah seznamu prostředků, protože zařízení se přidávají do systému nebo odebírají ze systému a prostředky se následně relokují. (Prostředky mohou být také přiřazeny systémem PnP BIOS. Instalační software může pomocí souborů INF nebo vstupu uživatele přinutit správce PnP přiřadit zařízení konkrétní prostředky.)

Kód v režimu jádra určuje seznamy prostředků pomocí CM_RESOURCE_LIST struktur (jako vstup do rutin systému nebo v reakci na irps). Kód v uživatelském režimu určuje seznamy prostředků pomocí struktur správce konfigurace PnP jako vstupu do funkcí správce konfigurace PnP.

Správce PnP ukládá seznamy požadavků na prostředky a seznamy prostředků v registru, kde je lze zobrazit pomocí Regedit.exe. Ovladače mohou k těmto seznamům přistupovat nepřímo prostřednictvím rutin Plug and Play a dílčích IRP Plug and Play. Aplikace v uživatelském režimu můžou používat funkce správce konfigurace PnP. (Ovladače a aplikace nesmí k těmto seznamům přistupovat přímo pomocí funkcí registru, protože formát úložiště se může v budoucí verzi změnit.)

Logické konfigurace

Seznamy požadavků na prostředky i seznamy prostředků obsahují jednu nebo více logických konfigurací. Každá logická konfigurace identifikuje buď rozsah přijatelných prostředků, nebo sadu konkrétních prostředků pro konkrétní instanci zařízení. Každá logická konfigurace instance zařízení navíc patří do jednoho z logických typů konfigurace. Typy konfigurace jsou uvedené níže. Ke každé instanci zařízení může být přiřazeno několik logických konfigurací se stejnými nebo různými typy.

Seznamy logických typů konfigurace pro seznamy požadavků na prostředky

Základní konfigurace
Seznam požadavků na prostředky identifikující rozsahy prostředků poskytované zařízením Plug and Play Ovladač by měl tento seznam vrátit, když obdrží IRP_MN_QUERY_RESOURCE_REQUIREMENTS IRP . (Základní konfigurace pro jiné zařízení než PnP je možné popsat v souboru INF. V tomto případě instalační software zařízení přečte soubor INF a volá funkce správce konfigurace PnP k vytvoření seznamu požadavků.)

Filtrovaná konfigurace
Seznam požadavků na prostředky, který byl předán do zásobníku ovladačů, mohl být upraven, a poté vrácen zásobníkem ovladačů jako reakce na IRP_MN_FILTER_RESOURCE_REQUIREMENTS IRP. Správce PnP používá výslednou filtrovanou konfiguraci jako základ pro přidělování prostředků.

Přepsání konfigurace
Seznam požadavků na prostředky, který má přednost před základními konfiguracemi. Instalační program zařízení obvykle vytvoří konfiguraci přepsání, pokud soubor INF zařízení obsahuje oddíl INF DDInstall.LogConfigOverride. Konfigurace přepsání se neodebere, pokud je její zařízení fyzicky odebráno ze systému.

Logické typy konfigurace pro seznamy prostředků

Konfigurace spouštění
Seznam prostředků identifikující prostředky přiřazené instanci zařízení při spuštění systému (U zařízení PnP se jedná o konfiguraci dodávanou systémem BIOS. U zařízení, která nejsou systémem PnP, mohou být tyto prostředky vybrány přeskakováním na kartě.) Ovladač by měl tento seznam prostředků vrátit, když obdrží IRP_MN_QUERY_RESOURCES IRP . (Konfigurace spouštění může být částečně prázdná, pokud systém BIOS nedokáže určit všechny prostředky používané zařízením.) Správce PnP může tento seznam upravit, pokud je zařízení odebráno nebo restartováno. Pro jiná zařízení než PnP lze tento typ konfigurace použít místo vynucené konfigurace, v takovém případě má nižší prioritu konfigurace než ekvivalentní vynucená konfigurace. Pro každou instanci zařízení může existovat pouze jedna konfigurace spuštění.

Vynucená konfigurace
Seznam prostředků identifikující prostředky, které musí instance zařízení používat. Vynucená konfigurace brání správci PnP v přiřazování dalších prostředků k instanci zařízení. Instalační program zařízení může vytvořit vynucenou konfiguraci na základě informací obsažených v INF nebo přijatých od uživatele. Vynucená konfigurace se neodebere, pokud je jeho zařízení fyzicky odebráno ze systému. Pro každou instanci zařízení může existovat pouze jedna vynucená konfigurace.

Přidělená konfigurace
Seznam prostředků identifikující prostředky, které aktuálně používá instance zařízení. Pro každou instanci zařízení může existovat pouze jedna přidělená konfigurace.

Ovladače zařízení zodpovídají za určení základní konfigurace, filtrované konfigurace a konfigurace spouštění zařízení kompatibilního s PnP a za vrácení informací v reakci na protokoly IRP odeslané správcem PnP. (Další informace naleznete v tématu Přidání zařízení PnP do spuštěného systému.) Instalační software ovladače může vytvářet přepsání konfigurace, vynucené konfigurace a spouštěcí konfigurace pro zařízení, která nejsou PnP. Správce PnP udržuje přidělenou konfiguraci každé instance zařízení.

Při vytváření se každé konfiguraci přiřadí priorita. Pokud správce PnP zjistí, že instance zařízení má přiřazenou několik logických konfigurací stejného typu, pokusí se použít jednu s nejvyšší prioritou jako první. Pokud tato konfigurace vede ke konfliktům prostředků, pokusí se o konfiguraci s další nižší prioritou. (Seznam priorit konfigurace najdete v tématu CM_Add_Empty_Log_Conf.)