Sdílet prostřednictvím


Určení výhradního přístupu k objektům zařízení

Pokud je povolený výhradní přístup k zařízení, může být současně otevřen pouze jeden popisovač zařízení. Aby správce vstupně-výstupních operací vynucoval výhradní přístup k zařízení, musí být pro pojmenovaný objekt zařízení v zásobníku zařízení nastavená exkluzivní vlastnost.

Pro zásobník zařízení WDM, který má jak PDO, tak FDO, lze výhradní vlastnost nastavit pouze souborem INF pomocí INF AddReg direktivy. PDO je pojmenovaný objekt v zásobníku, ale ovladač sběrnice (nikoli samotný ovladač funkce) vytvoří PDO jménem ovladače funkce. Jediným způsobem, jak nasměrovat řidiče autobusu, aby nastavil výhradní příznak pro PDO, je pomocí souboru INF třídy nebo zařízení. (Volání rutiny IoCreateDevice vytvoří FDO, přičemž nastavení výhradního příznaku pro FDO nemá žádný vliv.)

Ovladače, jejichž objekty zařízení nejsou skládané, například ovladače WDM a zařízení provozované v nezpracovaném režimu, můžou pomocí rutiny IoCreateDeviceSecure nastavit výhradní vlastnost pro pojmenovaný objekt zařízení.

Správce vstupně-výstupních operací vynucuje výlučnost na základě názvu pojmenovaných objektů zařízení bez ohledu na koncový název. Předpokládejme například, že objekt zařízení má název \Device\DeviceName. Poté správce vstupně-výstupních operací u požadavku vynucuje výhradní přístup k otevření "\Device\DeviceName\Filename1" a následně "\Device\DeviceName\Filename2". Pokud jsou dva objekty v zásobníku zařízení pojmenované (což se nedoporučuje), správce vstupně-výstupních operací umožňuje otevření jednoho popisovače pro každý objekt. V takové situaci musí řidiči sami zajistit výlučnost v rámci svých funkcí zpětného volání DRIVER_DISPATCH. Správce vstupně-výstupních operací také nevynucuje exkluzivitu při otevírání ve vztahu k jinému popisovači souboru. Další informace o požadavcích na otevírání souborů v oboru názvů zařízení najdete v tématu Řízení přístupu k oboru názvů zařízení.