Objectnaamruimten
Een objectnaamruimte beschermt benoemde objecten tegen onbevoegde toegang. Door een privénaamruimte te maken, kunnen toepassingen en services een veiligere omgeving bouwen.
Een proces kan een privénaamruimte maken met behulp van de functie CreatePrivateNamespace. Voor deze functie moet u een grens opgeven die definieert hoe de objecten in de naamruimte moeten worden geïsoleerd. De aanroeper moet binnen de opgegeven grens vallen om de bewerking voor het maken te voltooien. Als u een grens wilt opgeven, gebruikt u de functies CreateBoundaryDescriptor en AddSIDToBoundaryDescriptor.
De parameter lpAliasPrefix parameter van CreatePrivateNamespace fungeert als de naam van de naamruimte. Elke naamruimte wordt uniek geïdentificeerd door de naam en grenzen. Het systeem ondersteunt meerdere privénaamruimten met dezelfde naam, zolang ze verschillende grenzen opgeven.
Stel dat een proces het maken van een naamruimte, NS1, aanvraagt die een grens definieert die twee elementen bevat: de beheerders-SID en het huidige sessienummer. De naamruimte wordt gemaakt als het proces wordt uitgevoerd onder het beheerdersaccount in de opgegeven sessie. Een ander proces heeft toegang tot deze naamruimte met behulp van de functie OpenPrivateNamespace. Zowel de opgegeven naam als de grens moeten overeenkomen als dit proces is om de naamruimte te openen die door het eerste proces is gemaakt. Houd er rekening mee dat een proces een bestaande naamruimte kan openen, zelfs als deze zich niet binnen de grens bevindt, tenzij de maker de toegang tot de naamruimte beperkt met behulp van de lpPrivateNamespaceAttributes parameter.
De objecten die in deze naamruimte zijn gemaakt, hebben namen van het formulier voorvoegsel\objectnaam. Het voorvoegsel is de naamruimtenaam die is opgegeven door de parameter lpAliasPrefix parameter van CreatePrivateNamespace. Als u bijvoorbeeld een gebeurtenisobject met de naam MyEvent in de NS1-naamruimte wilt maken, roept u de functie CreateEvent- aan met de parameter lpName ingesteld op NS1\MyEvent.
Het proces dat de naamruimte heeft gemaakt, kan de functie ClosePrivateNamespace gebruiken om de ingang te sluiten bij de naamruimte. De ingang wordt ook gesloten wanneer het proces dat de naamruimte heeft gemaakt, wordt beëindigd. Nadat de naamruimtegreep is gesloten, mislukken volgende aanroepen naar OpenPrivateNamespace, maar alle bewerkingen op objecten in de naamruimte zijn geslaagd.
Verwante onderwerpen