Kernelobjektum-névterek
A Windows több névtérrel rendelkezik a következő elnevezett kernelobjektumokhoz: események, szemaphorok, mutexek, várakozó időzítők, fájlleképezési objektumok, feladatobjektumok és szimbolikus csatolási objektumok. Van egy globális névtér, amelyet elsősorban az ügyfél-/kiszolgálóalkalmazások szolgáltatásai használnak. Emellett minden munkamenetnek külön névtere van ezekhez az objektumokhoz.
A különálló munkamenet-névterek lehetővé teszik több ügyfél számára, hogy ugyanazokat az alkalmazásokat futtassa anélkül, hogy zavarják egymást. Az ügyfél-munkamenetben elindított folyamatok esetében a rendszer alapértelmezés szerint az ügyfél-munkamenet névterét használja. Ezek a folyamatok azonban használhatják a globális névteret úgy, hogy a "Global\" előtagot az objektum nevére elővetik. A következő kód például meghívja CreateEvent, és létrehoz egy CSAPP nevű eseményobjektumot a globális névtérben:
CreateEventW( NULL, FALSE, FALSE, L"Global\\CSAPP" );
A szolgáltatásalkalmazások alapértelmezés szerint a globális névteret használják.
Jegyzet
A globális névtér nem érhető el Windows Áruházbeli alkalmazásokhoz.
A zéró munkamenetet csak a szolgáltatások üzemeltetésére használják, és a Windows Vista előtti windowsos verzióktól eltérően nincs konzolmunkamenet.
A globális névtér lehetővé teszi, hogy több ügyfél-munkameneten lévő folyamatok kommunikáljanak egy szolgáltatásalkalmazással. Előfordulhat például, hogy egy ügyfél-kiszolgáló alkalmazás egy mutex objektumot használ a szinkronizáláshoz. A kiszolgálómodul létrehozhatja a mutex objektumot a globális névtérben. Ezután az ügyfél munkamenete a "Global\" előtaggal nyithatja meg a mutex objektumot.
A globális névtér egy másik használata azoknak az alkalmazásoknak, amelyek nevesített objektumokat használnak annak észlelésére, hogy az alkalmazásnak már van egy példánya a rendszerben az összes munkamenetben. Ezt az elnevezett objektumot a munkamenetenkénti névtér helyett a globális névtérben kell létrehozni vagy megnyitni. Az alkalmazás munkamenetenként egyszer történő futtatásának gyakoribb esete alapértelmezés szerint támogatott, mivel az elnevezett objektum munkamenet-névtérenként jön létre.
A "Global\" előtag mellett az ügyfélfolyamatok a "Local\" előtaggal explicit módon hozhatnak létre objektumot a munkamenet-névtérben. Ezek a kulcsszavak megkülönböztetik a kis- és nagybetűket.
A "Session\" előtag rendszerhasználatra van fenntartva, és nem szabad kernelobjektumok nevében használni.
A gyors felhasználói váltás munkamenetek használatával valósul meg. Az első bejelentkező felhasználó az első munkamenetet használja, a következő felhasználó pedig a második munkamenetet használja, és így tovább. A kernelobjektumok nevének a Távoli asztali szolgáltatásokra vonatkozó irányelveket kell követnie, hogy az alkalmazások több felhasználót is támogassanak.
Egy fájlleképezési objektum vagy szimbolikus hivatkozásobjektum létrehozása a globális névtérben, például a CreateFileMappinghasználatával, a nulla munkamenettől eltérő munkamenetből kiemelt művelet. Emiatt egy alkalmazásnak engedélyezve kell lennie SeCreateGlobalPrivilege ahhoz, hogy fájlleképezési objektumot vagy szimbolikus hivatkozásobjektumot hozzon létre a globális névtérben. A jogosultság-ellenőrzés ezeknek az objektumoknak a létrehozására korlátozódik, és nem vonatkozik a meglévők megnyitására. Ha például egy szolgáltatás vagy a rendszer létrehoz egy fájlleképezési objektumot a globális névtérben, bármely munkamenetben futó folyamat hozzáférhet a fájlleképezési objektumhoz, feltéve, hogy a folyamat rendelkezik a szükséges hozzáféréssel.