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.
Mnoho ovladačů vytváří více než jeden druh objektu zařízení voláním IoCreateDevice. Některé ovladače vytvářejí objekty řídicího zařízení v rutinách DriverEntry , aby aplikace mohly komunikovat s ovladačem, a to i předtím, než ovladač vytvoří objektY FDO. Například ovladače systému souborů vytvářejí objekty zařízení pro zpracování oznámení systému souborů, když se zaregistrují jako systémy souborů v IoRegisterFileSystem.
Ovladač by měl být připravený na IRP_MJ_CREATE žádosti o jakýkoli objekt zařízení, který vytvoří. Po dokončení požadavku se stavem úspěchu by měl ovladač očekávat, že obdrží všechny uživatelsky přístupné I/O požadavky na vytvořený objekt souboru. Každý ovladač, který vytvoří více než jeden objekt zařízení, proto musí zkontrolovat, který objekt zařízení určuje každý vstupně-výstupní požadavek.
Předpokládejme například, že ovladač vytvoří objekty zařízení celkového řízení v DriverEntry a pak vytvoří další sadu objektů zařízení v jeho rutině AddDevice . Předpokládejme, že rutina AddDevice inicializuje rozšíření zařízení s informacemi o ovladačích nižší úrovně, ale řídicí objekty zařízení tyto informace neobsahují. V takovém případě musí být všechny odesílací rutiny opatrné při kontrolování každého objektu zařízení, který obdrží. Jinak může při pokusu o použití informací o rozšíření zařízení dojít k chybovému ukončení ovladače.