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.
User-Mode Driver Framework (UMDF) Verze 1.11 a 2.0
Pokud byl ovladač User-Mode Driver Framework (UMDF) sestavený s verzí 1.11 nebo 2.0 a používá se ve Windows 8 nebo novějším, vytvoří architektura jednu instanci Wudfhost, která může hostovat více zásobníků zařízení. Tato technika se nazývá sdružování zařízení . Hlavní výhodou sdružování zařízení je snížení spotřeby paměti v prostředí s několika zařízeními UMDF.
Pokud selže zařízení ve fondu, systém ukončí instanci Wudfhost a pokusí se restartovat všechna zařízení, která byla dříve ve fondu. Pokud se zařízení při sdružování znovu nezdaří, vytvoří rozhraní pro zařízení samostatný proces Wudfhost a pokusí se zařízení znovu spustit.
Pokud zařízení selže v samostatném hostitelském procesu, architektura se pokusí ho restartovat až pětkrát. Rozhraní resetuje počet chyb zařízení na jeden, když uplynulo třicet minut od posledního selhání.
Pokud se systém restartuje, architektura znovu zařazuje zařízení s výjimkou těch, které selhaly při spuštění v samostatném procesu.
Pokud chcete zakázat sdružování zařízení pro konkrétní zařízení, použijte direktivu UmdfHostProcessSharing ve WDF-specifické části INF DDInstall. Informace o UmdfHostProcessSharingnaleznete v tématu Určení direktiv WDF v souborech INF.
Pokud ovladač používá přímé vstupně-výstupní, musíte nastavit UmdfHostProcessSharing na ProcessSharingDisabled. Jinak se váš ovladač nemusí spustit. Pokud je vybrán WdfDeviceIoBufferedOrDirect a zařízení je ve fondu, framework změní metodu přístupu k vyrovnávací paměti na vyrovnávací I/O. Pokud je vybrán WdfDeviceIoBufferedOrDirect a zařízení není ve fondu, architektura změní metodu přístupu k vyrovnávací paměti na přímé vstupně-výstupní operace.
Chcete-li vybrat metodu přístupu k vyrovnávací paměti, musí váš ovladač zavolat metodu IWDFDeviceInitialize2::SetIoTypePreference ve své zpětné volací funkci IDriverEntry::OnDeviceAdd. Pro informace o metodách přístupu nahlédněte do Přístup k datovým bufferům v UMDF-Based Ovladače.
UmDF verze 1.9 a starší
Pokud byl váš ovladač sestaven s verzí UMDF 1.9 nebo starší, architektura vytvoří samostatnou instanci hostitelského procesu (Wudfhost) pro každý zásobník zařízení.
Pokud se zařízení nepodaří spustit, architektura se pokusí ho restartovat až pětkrát. Rozhraní resetuje počet chyb zařízení na jeden, když uplynulo třicet minut od posledního selhání.
Pokud více zásobníků zařízení sdílí stejný ovladač UMDF v nefondujícím prostředí:
- Každý zásobník zařízení se načítá v samostatném procesu WudfHost.
- Framework volá metody IDriverEntry::OnInitialize a IDriverEntry::OnDeinitialize jednou pro každý zásobník zařízení.
- Architektura volá metodu ovladače IDriverEntry::OnDeviceAdd jednou pro každý zásobník zařízení. Každý objekt zařízení je přidružený k samostatnému objektu ovladače.
Pokud ve sdíleném prostředí sdílí více zásobníků zařízení stejný ovladač uživatelského režimu:
- Každý device stack se načte ve stejném procesu WudfHost.
- Rámec volá metody IDriverEntry::OnInitialize a IDriverEntry::OnDeinitialize ovladače pouze jednou.
- Architektura volá metodu IDriverEntry::OnDeviceAdd ovladače jednou pro každý hardwarový zásobník. Každý objekt zařízení je přidružený ke stejnému objektu ovladače.
Vzhledem k tomu, že ve fondu konfigurace existuje pouze jeden objekt ovladače, nesmí ovladač ukládat žádný kontext pro každé zařízení v globálních proměnných ani v objektech, které jsou sdíleny na zařízeních, jako je například objekt zpětného volání ovladače. Místo toho musí ovladač ukládat kontext jednotlivých zařízení do objektu, který není sdílen mezi zásobníky zařízení, jako je například objekt zpětného volání zařízení ovladače.