Sdílet prostřednictvím


Použití knihovny WMI k registraci bloků

Ovladač může použít knihovnu WMI ke zpracování IRP_MN_REGINFO a IRP_MN_REGINFO_EX požadavků, pokud registruje bloky, které nepoužívají dynamické názvy instancí nebo používají statické názvy instancí na základě primárního názvu nebo řetězce základního názvu definovaného ovladačem. V tomto případě ovladač:

  1. Volá WmiSystemControl s ukazatelem na ovladač zařízení, ukazatelem na strukturu WMILIB_CONTEXT a ukazatelem na IRP.

    Struktura WMILIB_CONTEXT označuje počet bloků pro registraci (GuidCount) a odkazuje na seznam struktur WMIGUIDREGINFO (GuidList), které určují identifikátor GUID, počet instancí a příznaky registrace, které se týkají odpovídajícího bloku. Definuje také vstupní body pro požadované a volitelné rutiny zpětného volání DpWmiXxx .

  2. Když rozhraní WMI volá rutinu DpWmiQueryReginfo ovladače, ovladač určuje cestu registru, název prostředku MOF, příznaky registrace, které se týkají všech jeho bloků, a informace, které WMI používá k pojmenování instancí datových bloků ovladače, což může být buď ukazatel na objekt fyzického zařízení předaný rutině AddDevice ovladače, nebo řetězec, na jehož základě se vytvářejí názvy statických instancí.

Ovladač musí inicializovat vstupní body pro své rutiny zpětného volání DpWmiXxx ve struktuře WMILIB_CONTEXT před voláním WmiSystemControl, ale může odložit inicializaci GuidCount a GuidList ve struktuře WMILIB_CONTEXT , dokud rozhraní WMI nevolá rutinu DpWmiQueryReginfo ovladače.