Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Instance bloku rozhraní WMI obsahuje data poskytnutá konkrétním fyzickým zařízením nebo softwarovým komponentou. Stejně jako identifikátor GUID bloku jednoznačně identifikuje blok, název instance jednoznačně identifikuje instanci bloku. Klientské aplikace WMI používají názvy instancí k přidružení informací vrácených v datovém bloku k zařízení nebo komponentě, která data zadala. WMI používá názvy instancí k určení zařízení, do kterého zařízení se má odeslat požadavek. Důrazně doporučujeme, aby ovladače při definování názvů instancí používaly svůj primární název domény.
Ovladač může definovat názvy instancí bloku jedním ze dvou způsobů:
Ovladač předá seznam názvů statických instancí službě WMI při registraci bloku.
Po registraci bloku ovladač i rozhraní WMI určují název instance podle jeho indexu do tohoto seznamu. Názvy statických instancí mohou být založeny na ID instance zařízení primárního názvu ovladače nebo na základě základního názvu definovaného ovladačem; nebo ovladač může definovat seznam řetězců názvů instancí. Názvy statických instancí zůstávají zachovány, dokud je ovladač explicitně nezmění opětovnou registrací bloku.
Ovladač generuje dynamické názvy instancí při vytváření instancí.
Ovladač označuje, že při registraci bloku vygeneruje dynamické názvy instancí bloku. Po registraci bloku ovladač i rozhraní WMI předávají dynamické názvy instancí jako řetězce ve vyrovnávací paměti v Parameters.WMI.Buffer.
Ovladač by měl generovat dynamické názvy instancí pouze v případě, že se počet instancí nebo názvů instancí datového bloku často mění za běhu. Ovladač může například používat ID procesů nebo IP adresy připojení TCP/IP jako názvy instancí. Takové názvy instancí by měly být dynamické; Pokud by byly statické, ovladač by způsoboval značné režijní náklady, protože by musel volat IoWMIRegistrationControl , aby aktualizoval počet a názvy instancí pokaždé, když došlo ke změně.
Ve většině případů jsou názvy statických instancí vhodnější než dynamické názvy instancí z následujících důvodů:
Názvy statických instancí zlepšují výkon ovladače, protože ovladač nemusí v reakci na požadavky rozhraní WMI vracet řetězce názvů instancí, jako musí pro dynamické názvy instancí.
Rozhraní WMI dokáže detekovat kolize názvů statických instancí při registraci a v případě potřeby automaticky upravit názvy instancí tak, aby všechny názvy instancí byly jedinečné pro daný blok bez ohledu na to, kolik ovladačů blok registruje.
Rozhraní WMI nemůže rozpoznat kolize názvů instancí u dynamických názvů instancí, takže ovladač zodpovídá za generování jedinečných názvů pomocí ioWMIAllocateInstanceIds.
Ovladač může použít rutiny knihovny WMI ke zpracování IRPs pro blok, který používá statické názvy instancí, pokud jsou názvy založeny na PDO ovladače nebo základním názvu definovaném ovladačem.
Ovladač nemůže použít rutiny knihovny WMI ke zpracování irPs pro datový blok, který používá dynamické názvy instancí.
Ovladač označuje, zda blok používá statické nebo dynamické názvy instancí a typ statických názvů instancí nastavením nebo vymazáním WMIREG_FLAG_XXX ve struktuře WMIREGGUID nebo WMIGUIDREGINFO , která se předává do rozhraní WMI při registraci bloku. Další informace najdete v tématu Registrace jako zprostředkovatele dat WMI.