MS-DOS eszköznév definiálása
Az MS-DOS eszköz neve olyan csomópont, amely egy MS-DOS eszköz útvonalára mutat. Ezek a csomópontok alkotják az eszköz MS-DOS névterét. Hívja meg a DefineDosDevice és SetVolumeMountPoint függvényt a csomópontok létrehozásához és módosításához. DeleteVolumeMountPoint törli SetVolumeMountPointáltal létrehozott csomópontot, és DefineDosDevice törli az általa létrehozott csomópontokat.
A MS-DOS eszköznév definiálásakor az összes folyamat számára látható marad.
- A Windows egy hitelesítési azonosítón keresztül azonosítja az összes MS-DOS eszközt. Minden bejelentkezési munkamenethez egy LUID (helyileg egyedi azonosító) van társítva, amely a munkamenet létrejöttekor jön létre.
- Az MS-DOS eszköznév láthatósága globális vagy helyi besorolású, és a globális MS-DOS eszköz- és helyi MS-DOS eszköznévterekbe való belefoglalása határozza meg. A globális névtérben lévő MS-DOS eszközök tartalmát minden felhasználó elérheti, és a helyi névtérben lévő MS-DOS eszközök tartalmát csak az a felhasználó érheti el, akinek a hozzáférési jogkivonata tartalmazza az adott helyi MS-DOS eszköznévtérhez társított AuthenticationID azonosítót.
Egyszerre és egy gépen több helyi MS-DOS eszköznévtér és csak egy globális MS-DOS eszköznévtér létezhet.
Vegye figyelembe, hogy csak a LocalSystem környezetben futó folyamatok hívhatják meg DefineDosDevice, hogy MS-DOS eszközt hozzanak létre a globális MS-DOS eszköznévtérben. Az adott authenticationID-nek megfelelő helyi MS-DOS eszköznévtér is törlődik, amikor a rendszer eltávolítja az adott hitelesítési azonosítóra mutató utolsó hivatkozást.
Amikor a kód lekérdez egy meglévő MS-DOS eszköznevet QueryDosDevicemeghívásával, először a Helyi MS-DOS eszköznévtérben keres. Ha nem található ott, a függvény ezután a globális MS-DOS eszköznévtérben keres. Amikor a kód lekérdezi az összes meglévő MS-DOS eszköznevet ezen a függvényen keresztül, a visszaadott nevek listája attól függ, hogy a LocalSystem környezetben fut-e. Ha igen, a rendszer csak a globális MS-DOS eszköznévtérben szereplő MS-DOS eszközneveket adja vissza. Ha nem, a rendszer visszaadja a globális és helyi MS-DOS eszköznévterek eszközneveinek összefűződését. Ha mindkét névtérben létezik eszköznév, QueryDosDevice a Helyi MS-DOS eszköznévtérben adja vissza a bejegyzést. Ez az GetLogicalDrives és GetLogicalDriveStringsáltal visszaadott MS-DOS eszköznevek listájára is vonatkozik.
Vegye figyelembe, hogy a következő forgatókönyv fordulhat elő:
- Az A felhasználó, aki nem a LocalSystem környezetben fut, létrehoz egy eszköznevet a megfelelő Helyi MS-DOS eszköznévtérben, és ez az eszköznév nem létezik a globális MS-DOS eszköznévtérben.
- A LocalSystem környezetben futó B felhasználó ugyanazt az eszköznevet hozza létre a globális MS-DOS eszköznévtérben.
Ebben az esetben az A felhasználó csak akkor férhet hozzá az eszköz nevéhez a globális MS-DOS eszköznévtérben, ha eltávolítja vagy átnevezi az eszköz nevét a helyi MS-DOS eszköznévtérben. A forgatókönyv előfordulásának valószínűségének csökkentése érdekében MS-DOS meghajtóbetűjeleket a globális MS-DOS eszköznévtérben kell lefoglalni C:-vel kezdődő és Z:-vel végződő helyen. Ezt a sorrendet meg kell fordítani a MS-DOS meghajtóbetűjelek lefoglalásához a helyi MS-DOS eszköznévtérben.
Ha nem a LocalSystem környezetben fut, a DefineDosDevice nem engedélyezi eszköznév megadását a helyi MS-DOS eszköz névtérben, ha az az eszköznév már létezik a helyi vagy globális MS-DOS eszköz névterekben. A DefineDosDevice hívása előtt hívja meg QueryDosDevice, és állapítsa meg, hogy a definiálni kívánt eszköznév létezik-e az MS-DOS eszköznévterekben.
Kapcsolódó témakörök