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.
Každý ovladač funkce vytvoří objekt zařízení architektury pro všechna podporovaná zařízení, která v systému existují. Vzhledem k tomu, že tyto objekty zařízení jsou vytvořeny ovladači funkcí, označují se jako funkční objekty zařízení (FDO). Každý FDO je reprezentací zařízení ovladačem funkcí.
Ovladač funkce musí vytvořit objekt zařízení rámce pokaždé, když rámec zavolá zpětnou funkci EvtDriverDeviceAdd ovladače. Rámec volá tuto callback funkci, aby informoval ovladač, že v systému existuje jedno z jeho podporovaných zařízení.
Funkce zpětného volání ovladače EvtDriverDeviceAdd obdrží ukazatel na strukturu WDFDEVICE_INIT. Ovladač může volat sadu metod inicializace objektů zařízení framework, které ukládají informace ve struktuře WDFDEVICE_INIT. Ovladače funkcí mohou navíc volat metody inicializace rozhraní FDO .
Vytvoření objektu zařízení architektury v ovladači funkce obvykle zahrnuje následující kroky:
Registrace funkcí zpětného volání PnP, napájení a politiky napájení
Většina ovladačů funkcí volá WdfDeviceInitSetPnpPowerEventCallbacks k registraci funkcí PnP a zpětného volání napájení. Další informace o těchto funkcích zpětného volání naleznete v tématu Podpora PnP a Řízení spotřeby v ovladačích funkcí.
Pokud zařízení podporuje nečinnost s nízkým výkonem nebo má funkce probuzení, ovladač funkce obvykle volá také WdfDeviceInitSetPowerPolicyEventCallbacks k registraci funkcí zpětného volání zásad napájení. Další informace o těchto funkcích zpětného volání najdete v tématu Vlastnictví Power Policy.
Registrace funkcí pro zpětné volání specifické pro ovladač.
Některé ovladače funkcionalit volají WdfFdoInitSetEventCallbacks, pokud se musí podílet na specifikaci systémových hardwarových prostředků, které zařízení vyžaduje. Další informace o hardwarových prostředcích naleznete v tématu Hardwarové prostředky pro ovladače založené na frameworku.
Registrace funkcí zpětného volání souborových událostí
Pokud ovladač musí reagovat, když aplikace otevře nebo zavře soubor na zařízení, musí ovladač zavolat WdfDeviceInitSetFileObjectConfig, aby zaregistroval funkce zpětného volání pro rámcový objekt souboru. Další informace naleznete v tématu Using Framework File Objects.
Nastavení atributů vstupně-výstupních požadavků
Pokud váš ovladač přijme I/O požadavky z objektů front rozhraní, může zavolat WdfDeviceInitSetRequestAttributes, aby nastavil kontextovou paměť, kterou rámec přiřadí k požadavkovým objektům zařízení. Další informace najdete v tématu Použití kontextu objektu požadavku.
Nastavení vlastností zařízení
Ovladač funkce obvykle volá některé z následujících metod pro určení charakteristik zařízení:
- WdfDeviceInitSetDeviceType, k identifikaci typu hardwaru, který ovladač podporuje.
- WdfDeviceInitSetIoType, k identifikaci metody pro přístup k vyrovnávací paměti dat, pokud ovladač zpracovává vstupně-výstupní požadavky z aplikací.
- WdfDeviceInitSetCharacteristics, k nastavení vlastností zařízení, například zda je zařízení jen pro čtení nebo podporuje vyměnitelné médium.
- WdfDeviceInitSetExclusive, pokud zařízení vyžaduje výhradní přístup jednou aplikací najednou.
- WdfDeviceInitSetPowerInrush, pokud zařízení vyžaduje proudový náraz, když přechází ze stavu nízkého výkonu do svého funkčního stavu (D0).
- WdfDeviceInitSetPowerPageable nebo WdfDeviceInitSetPowerNotPageable, aby označil, zda ovladač musí přistupovat ke stránkovatelným datům, zatímco systém přechází mezi stavem spánku a pracovním stavem (S0).
- WdfDeviceInitAssignName, k přiřazení názvu objektu zařízení.
- WdfDeviceInitAssignSDDLString, přiřadit popisovač zabezpečení k objektu zařízení.
- WdfDeviceInitSetDeviceClass, k identifikaci třídy nastavení zařízení.
Získání vlastností zařízení
Ovladače funkcí někdy musí získat informace o vlastnostech zařízení, které ovladač pro sběrnici zařízení nebo jiný ovladač nižší úrovně nastavil. Ovladač může volat WdfFdoInitQueryProperty nebo WdfFdoInitAllocAndQueryProperty k získání těchto informací. Nové ovladače určené pro Windows 8.1 a novější můžou volat WdfFdoInitQueryPropertyEx a WdfFdoInitAllocAndQueryPropertyEx.
Přístup k klíči registru zařízení
Některé ovladače funkcí musí získat informace o zařízení nebo ovladači, který jiný ovladač, uživatel nebo instalační balíček umístil do registru. Ovladač může volat WdfFdoInitOpenRegistryKey, aby otevřel klíč registru zařízení nebo ovladače. Další informace naleznete v tématu Použití registru v Framework-Based ovladačích.
Vytvoření výchozí konfigurace podřízeného seznamu, která se má použít pro dynamické výčty
Pokud píšete funkční ovladač pro sběrnici a pokud váš ovladač provede dynamický výčet podřízených zařízení připojených ke sběrnici, musí volat WdfFdoInitSetDefaultChildListConfig. Další informace naleznete v tématu Výčet zařízení ve sběrnici.
Vytvoření objektu zařízení
Posledním krokem při vytváření objektu zařízení je volání WdfDeviceCreate.